摘要:近年来,深度神经网络应用于广泛的问题。在这项工作中,卷积神经网络(CNN)应用于从单个摄像机图像(单眼深度)确定深度的问题。设计八个不同的网络来执行深度估计,每个网络适合于特征级别。具有不同池大小的网络确定不同的功能级别。在设计一组网络之后,可以使用图优化技术将这些模型组合成单个网络拓扑。这种“半并行深度神经网络(SPDNN)”消除了重复的公共网络层,并且可以通过重新训练进一步优化,以实现与单个拓扑相比的改进模型。在本研究中,对四个SPDNN模型进行了培训,并在KITTI数据集的两个阶段进行了评估。实验的第一部分中的地面实况图像由基准提供,而对于第二部分,地面实况图像是应用最先进的立体匹配方法产生的深度图。该评估的结果表明,使用后处理技术来细化网络的目标增加了对单个单声道图像的深度估计的准确性。第二次评估表明,将原始数据旁边的分割数据用作输入可以将深度估计结果改善到性能与立体深度估计相当的点。本研究还讨论了计算时间。
关键词:深度神经网络,深度估计,单目相机,机器学习。
1简介
计算像素深度值为理解图像的3D几何结构提供了基础。正如在最近的研究中所呈现的那样,由于具有本地对应的优点,使用立体图像提供了精确的深度;然而,这些方法的处理时间仍然是一个悬而未决的问题。为了解决这个问题,已经建议使用单个图像来计算深度值,但是从单眼图像中提取深度需要从图像中的全局和局部信息中提取大量的线索。在工业应用中使用单个相机更方便。立体摄像机需要详细的校准和许多工业用例。
使用单个相机 - 例如安全监控,汽车和消费者视觉系统,以及智能城市交通和行人管理的摄像基础设施。这些和其他智能视觉应用可以从精确的单眼深度分析中获益。这项挑战已经研究了十年,仍然是一个开放的研究问题。
最近,使用神经网络来解决这个问题的想法引起了人们的注意。在本文中,我们通过采用深度神经网络(DNN)来解决这个问题,该神经网络利用我们最近发布的差异后处理方法配备了语义像素分割。
本文还介绍了半并行深度神经网络(SPDNN)的使用。 SPDNN是使用一组独立优化的CNN的图论优化而开发的半并行网络拓扑,每个CNN针对更一般分类问题的特定方面。在2 3中讨论了SPDNN方法对增加收敛和改进模型泛化的影响。对于单眼视觉问题的深度,针对精细特征优化的全连接拓扑与一系列最大池化拓扑(2×2,4×4和8×8)相结合,每个拓扑针对较粗糙的图像特征进行了优化。优化的SPDNN拓扑在完整的训练数据集上重新训练,并收敛到一组改进的网络权重。
值得一提的是,该网络设计策略不仅限于“单眼视觉深度”问题,还将在一系列未来出版物中开发进一步的应用实例和改进,目前正在出版中。
1.1 Depth Map
从一组2D点导出对象的3D结构是计算机视觉中的基本问题。从2D到3D空间的大多数转换都基于深度值为每个2D点计算。在深度图中,每个像素不是由颜色定义,而是由物体和相机之间的距离定义。通常,深度计算方法分为两类:
1-主动方法
2被动方法
主动方法涉及通过与对象和环境交互来计算场景中的深度。存在不同类型的主动方法,例如基于光的深度估计,其使用主动光照射来估计到不同物体的距离。超声和飞行时间(ToF)是主动方法的其他示例。这些方法使用已知的波速来测量发射脉冲到达图像传感器所花费的时间。
被动方法利用捕获图像的光学特征。这些方法涉及通过计算图像处理提取深度信息。在被动方法的类别中,存在两种主要方法:a)多视图深度估计,例如来自立体声的深度,以及b)单目深度估计。
1.2立体视觉深度
立体匹配算法可用于计算来自多个图像的深度信息。通过使用相机的校准信息,可以生成深度图像。该深度信息提供用于识别和检测场景中的对象的有用数据。
近年来,引入了许多应用,包括飞行时间,结构光和Kinect,以从立体图像计算深度。立体视觉算法通常分为两类:局部和全局。引入局部算法作为统计方法,其使用像素周围的局部信息来确定给定的深度值像素。如果有效地实现这些方法,则可以将这些方法用于实时应用。全局算法试图通过各种优化技术优化能量函数以满足深度估计问题。
在计算方面,全局方法比本地方法更复杂,并且它们对于实时应用程序通常是不切实际的。尽管存在这些缺点,但它们具有比局部方法更精确的优点。最近这一优势在学术文献11,12中引起了相当大的关注。
例如,11中提出的全局立体模型通过将图像转换为具有相邻顶点的一组2D三角形来工作。稍后,通过计算视差值将2D顶点转换为3D网格。为了解决深度不连续性的问题,采用了双层马尔可夫随机场(MRF)。这些层与能量函数融合,允许该方法处理深度不连续性。该方法已经在新的Middlebury 3.0基准测试12上进行了评估,并且根据不良2.0指数的平均权重,它在论文发表时被评为最准确。
13中提出的另一种全局立体匹配算法利用了图像的纹理和边缘信息。通过利用颜色强度来解决小纹理非纹理区域中的大的视差差异的问题。此外,CNN产生的主要匹配成本函数使用相同的基于颜色的成本来增强。使用5×5中值滤波器和双边滤波器对最终结果进行后处理。这种自适应平滑滤波技术是该算法在Middlebury 3.0基准测试12中的优秀性能和位置的主要原因。
已经提出了许多其他方法用于立体声深度,例如PMSC 12,GCSVR 12,INTS
图14,MDP 15,ICSG 16,其全部旨在提高从立体声估计的深度的精度
视觉,或引入一种新的方法来估计立体声对的深度。然而,在立体视觉算法的准确度和速度之间总是存在折衷。
表1最准确的立体匹配算法之间的性能时间比较
Algorithm |
Time/MP (s) |
W × H (ndisp) |
Programming Platform |
Hardware |
PMSC 12 |
453 |
1500 × 1000 (<= 400) |
C++ |
i7-6700K, 4GHz-GTX TITAN X |
MeshStereoExt 11 |
121 |
1500 × 1000 (<= 400) |
C, C++ |
8 Cores-NVIDIA TITAN X |
APAP-Stereo 12 |
97.2 |
1500 × 1000 (<= 400) |
Matlab+Mex |
i7 Core 3.5GHz, 4 Cores |
NTDE 13 |
114 |
1500 × 1000 (<= 400) |
n/a |
i7 Core, 2.2 GHz-Geforce GTX TITAN X |
MC-CNN-acrt 17 |
112 |
1500 × 1000 (<= 400) |
n/a |
NVIDIA GTX TITAN Black |
MC-CNN+RBS 18 |
140 |
1500 × 1000 (<= 400) |
C++ |
Intel(R) Xeon(R) CPU E5-1650 0, 3.20GHz, 6 Cores- 32 GB RAM-NVIDIA GTX TITAN X |
SNP-RSM 12 |
258 |
1500 × 1000 (<= 400) |
Matlab |
i5, 4590 CPU, 3.3 GHz |
MCCNN_Layout 12 |
262 |
1500 × 1000 (<= 400) |
Matlab |
i7 Core, 3.5GHz |
MC-CNN-fst 17 |
1.26 |
1500 × 1000 (<= 400) |
n/a |
NVIDIA GTX TITAN X |
LPU 12 |
3523 |
1500 × 1000 (<= 400) |
Matlab |
Core i5, 4 Cores- 2xGTX 970 |
MDP 15 |
58.5 |
1500 × 1000 (<= 400) |
n/a |
4 i7 Cores, 3.4 GHz |
MeshStereo 11 |
54 |
1500 × 1000 (<= 400) |
C++ |
i7-2600, 3.40GHz, 8 Cores |
SOU4P-net 12 |
678 |
1500 × 1000 (<= 400) |
n/a |
i7 Core, 3.2GHz-GTX 980 |
INTS 14 |
127 |
1500 × 1000 (<= 400) |
C, C++ |
i7 Core, 3.2 GHz |
GCSVR 12 |
4731 |
1500 × 1000 (<= 400) |
C++ |
i7 Core, 2.8GHz-Nvidia GTX 660Ti |
JMR 12 |
11.1 |
1500 × 1000 (<= 400) |
C++ |
Core i7, 3.6 GHz-GTX 980 |
LCU 12 |
9572 |
750 × 500 (<= 200) |
Matlab, C++ |
1 Core Xeon CPU, E5-2690, 3.00 GHz |
TMAP 19 |
1796 |
1500 × 1000 (<= 400) |
Matlab |
i7 Core, 2.7GHz |
SPS 12 |
49.4 |
3000 × 2000 (<= 800) |
C, C++ |
1 i7 Core, 2.8GHz |
IDR 20 |
0.36 |
1500 × 1000 (<= 400) |
CUDA C++ |
NVIDIA GeForce TITAN Black |
表1显示了最精确的立体匹配算法的像素数(秒/百万像素)的平均归一化时间的概述,因为它们基于“差2.0”度量由Middlebury 3.0基准进行排名。排名是测试密集。该比较说明从立体声对获得精确的深度需要大量的处理能力。这些结果表明,如今,由于对处理资源的需求,这些方法对于诸如街道感测或自主导航的实时应用来说太过资源密集。
为了降低立体匹配算法的处理能力,研究人员最近开始研究单眼图像的深度。这种算法在保持处理能力低的同时估计来自单个相机的深度。
1.3深入学习
DNN(深度神经网络)是模式识别科学中最新的方法之一,能够处理分类和回归中的高度非线性问题。这些模型使用连续的非线性信号处理单元,以混合和重新定向其输入数据,以提供最具代表性的结果。 DNN结构从输入中学习,然后将它学到的内容概括为它在21之前从未见过的数据样本。典型的深度神经网络模型由一个或多个卷积,汇集和完全连接的层组成,伴随着不同的正则化任务。每个单位如下:
卷积层:此层通常将3D图像conv与4D内核conv卷积
并为其添加3D偏差项输出由下式给出:
P = I * W + b
其中*运算符是nD卷积,在训练过程中,内核和偏置参数以优化网络输出的错误功能的方式更新。
池化层:池化层在输入图像上应用(通常)非线性变换(注意平均池是线性变换,但更流行的最大池操作是非线性的),这减小了空间大小。操作后的数据表示。
通常在每个卷积层之后放置池化层。减小空间尺寸可以减少计算量并防止过度拟合。减小的空间大小也提供一定量的平移不变性。
完全连接层:完全连接的层与经典神经网络(NN)层相同,其中层中的所有神经元都连接到其后续层中的所有神经元。神经元给出它们的输入的总和,乘以它们的权重,通过它们的激活函数。
正则化:正则化通常用于防止神经网络的过度拟合。人们可以通过正规化训练更复杂的网络(更多参数)并防止过度拟合。已经提出了不同种类的正则化方法。最重要的是权重正则化,退出和批量归一化,每种正则化技术都适用于特定应用,并且没有一种技术适用于每项任务。
1.4眼睛视力深度
单个图像的深度估计是计算机视觉中的基本问题,并且在机器人,场景理解和3D重建中具有潜在的应用。这个问题仍然具有挑战性,因为没有可靠的提示来推断单个图像的深度。例如,这些图像中缺少时间信息和立体对应。
作为最近研究的结果,深度卷积神经网络(CNN)正在为各种视觉应用创造新的记录。通过将深度估计重新构造为连续条件随机场(CRF)学习问题,已经在24中呈现了用于从单个图像估计深度的深度卷积神经场模型。本研究中使用的CNN由5个卷积层和4个完全连接层组成。在算法的第一阶段,输入图像被过度分割成超像素。裁剪
以其质心为中心的图像补丁被用作CNN的输入。对于一对相邻的超像素,考虑了许多相似性并将其用作完全连接层的输入。然后将这两部分的输出用作CRF损耗层的输入。因此,在配备有6GB内存的NVIDIA GTX 780 GPU的台式PC上,使用训练模型从单个图像估计深度所需的时间减少到1.1秒。
已经发现24的超级推进技术不是从单声道图像初始化视差估计的好选择,因为在图像的某些部分缺少单眼视觉线索,例如纹理变化和梯度,散焦或颜色/雾度。 。为了解决这个问题,已经实现了MRF学习算法以捕获这些单眼线索中的一些捕获的线索与立体声系统集成,以获得更好的深度估计
单独的立体声系统。该方法使用立体声+单声道深度估计的融合。
在小距离处,该算法更依赖于立体视觉,这比单眼视觉更准确。然而,在更远的距离,立体声的性能降低;并且算法更依赖于单眼视觉。
研究了单眼图像的深度估计问题,其中网络设计有两个分量。首先,估计场景的全局结构,然后使用本地信息进行细化。虽然这种方法能够使用CNN估计单眼深度的早期想法,但输出深度图并不能清楚地表示场景的几何结构。
在另一种方法中,训练无监督卷积编码器以估计来自单眼图像的深度。考虑两个图像之间的小运动(立体设置为输入和目标)来估计深度。之后,生成目标图像的反向扭曲
使用预测的深度和相机之间的已知位移,这导致重建源图像。在类似的研究中,通过利用对极几何约束来估计来自单个图像的视差来训练无监督的CNN。该想法是通过利用校准的双目相机来学习能够从另一个重建一个图像的功能。还引入了左右视差一致性损失,其组合了平滑度,重建和左右视差一致性项,并且保持了相对于左图像和右图像产生的视差之间的一致性。
1.5纸张概述
在本文中,提出了DNN来估计单目相机的深度。估计立体组的深度图,并且它们用作训练网络的目标,同时使用来自单个图像(立体组中的左图像)的信息作为输入。训练和评估四个模型以估计来自单个相机图像的深度。所有模型的网络结构都是相同的。在第一种情况下,输入只是原始图像。在第二种情况下,第一个通道是原始图像,第二个通道是其分割图。对于这两种情况中的每一种,使用两种不同目标中的一种;图1显示了本文中使用的一般方法的概述。
图1本文中训练模型的概述。语义分割仅用于两个实验
2 Methodology
2.1网络结构
2.1.1半并行深度神经网络(SPDNN)
本文介绍了SPDNN概念,其灵感来自图优化技术。在这种方法中,几个深度神经网络被并行化并以一种新颖的方式合并,这有利于每个神经网络的优势。最终模型针对该问题进行了训练。图2显示与替代方案相比,使用该方法增加了模型的收敛性和泛化。
在当前深度映射问题的上下文中描述了使用SPDNN的多个网络的合并。在这个特殊的问题中,设计了八个不同的网络深度估算任务。
然而,人们注意到,每个网络在这项任务的某些方面往往表现良好,而在其他方面则失败。这导致了这样的想法:组合多个单独的网络并在并行化的架构中训练它们将是有利的。我们的实验表明,通过合并网络然后同时训练它们可以实现更好的输出。
2.1.1.1组合模型/体系结构
在图2所示的最终模型中,输入图像首先在具有不同池大小的四个并行完全卷积子网络中处理。 这提供了具有不同池大小的不同网络的优点。 这四个子网络的输出以两种不同的形式连接起来; 一个用于将较大的图像汇集到与前一个部分中的最小图像相同的尺寸,另一个用于将前一部分的较小图像取消汇集为与最大图像相同的尺寸。
图2为单眼图像深度估计而设计的模型。
在合并这些输出之后,数据被引导到2个不同的网络。一个是完全卷积网络,用于加深学习并释放更多抽象的输入特征,另一个网络是具有不同编码器和解码器架构的自动编码器网络。
在网络中具有完全连接的层对于合理估计图像深度是至关重要的,这是在自动编码器的瓶颈中提供的。自动编码器和完全卷积子网络的结果再次合并,以便在应用单信道卷积层之后给出单个输出。
为了使网络正规化,防止过度拟合并增加收敛,在每个卷积层之后应用批量归一化,并且在完全连接的层中使用退出技术。本文的实验表明,在完全连通层中使用权重正则化会使收敛速度变慢;因此,这种正规化从最终设计中消除了。网络中的所有非线性都是ReLU非线性,它广泛用于深度神经网络,除了输出层,它利用了S形非线性。由于自动编码器子网络的解码器部分中的对应汇集层的非特异性,在非汇集层中使用值重复技术。
图3未汇集层中使用的重复技术。
图3中所示的值重复技术涉及重复来自前一层的值以获得未合并的图像。该图显示了2×2非池化,并且该过程对于其他非池化大小是相同的。
2.2Database
在本文中,KITTI Stereo 2012,2015数据集用于网络的培训和评估。通过垂直和水平翻转来扩充数据库,以将总大小扩展到33,096个图像。该数据集的70%用于培训,20%用于验证,10%用于测试。针对两组输入样本和两组输出目标训练每个模型。输入和目标准备将在以下部分中介绍。
2.2.1数据准备
2.2.1.1输入准备
已经使用两个不同的集合作为网络的输入。第一组包括左相机给出的可见图像。第二组是可见图像+相应输入的语义分割。这提供了研究分段对深度估计问题的影响的机会。通过采用众所周知的模型“SegNet”来计算每个图像的分割图。该模型是DNN用于语义像素方式图像分割的最成功的最近实现之一,并且在实现的准确性和简单性方面已超过完全卷积网络(FCN)的其他配置。
在我们的实验中,SegNet使用随机梯度下降(SGD)进行训练,学习率为0.1,动量为0.9。在本文中,SegNet的Caffe实现已经实现
用于培训目的灰色CamVid道路场景数据库(360×480)已用于训练步骤。
2.2.1.2目标准备
使用具有重启算法的自适应随机游走从立体声信息生成用于训练网络的目标。立体匹配算法的输出遭受若干伪像的影响,这些伪像通过后处理方法来解决和解决。实验中,两个深度图(在后处理之前和后处理之后)被独立地用作目标。后处理过程基于RGB图像(用作参考图像)和初始估计深度图像的互信息。通过保留深度图中的边缘和角落并填充缺失的部分,该方法已被用于提高立体视觉中的深度估计的准确性。在撰写论文时,将该方法与Middlebury基准12中的前8种深度估计方法进行了比较。七个指标,包括均方误差(MSE),均方根误差(RMSE),峰值信噪比(PSNR),信噪比(SNR),平均绝对误差(MAE),结构相似指数(SSIM)和结构相异指数(DSSIM)用于评估每种方法的性能。评估将该方法评为5个指标中的第1个,其他指标中的第2个和第3个
2.3培训
如第2.2.1.1节和第2.2.1.2节所述,有两个独立的集合作为输入,两个独立的集合作为培训过程的目标。这将总共进行四个实验如下:
1-实验1:输入:左可见图像+像素分段图像。 目标:发布处理深度图
2-实验2:输入:左可见图像。 目标:后处理深度图。
3-实验3:输入:左可见图像+像素分段图像。 目标:深度地图。
4-实验4:输入:左可见图像。 目标:深度图。
在整个过程中,图像的大小调整为80×264像素。 培训是在a标准桌面,配备NVIDIA GTX 1080 GPU,内存为8GB。
在所提出的实验中,网络输出之间的均方误差值并且目标值已被用作损失函数和Nestrov动量技术学习率为0.01且动量为0.9已被用于训练网络。 培训每个实验的验证损失分别如图4和图5所示。
这些数据显示,使用后处理深度图作为目标会导致较低的损失值,这意味着网络能够在这些实验中学习更好的特征,而语义分割仅略微减少误差
3结果和评估
本文的评估分为4部分。在前两部分中,给出了不同的基本事实,将第2.3节中给出的四个实验相互比较。第三部分将所提方法与立体匹配方法进行了比较,最后一部分与现有技术的单目深度估计方法进行了比较。出于评估目的,8个指标包括PSNR,MSE(0到1之间),RMSE(0到1之间),SNR,
MAE(0到1之间),结构相似性指数(SSIM)(0到1之间)37,通用质量指数(UQI)(0到1之间)38和Pearson相关系数(PCC)(-1和1之间)39使用。对于度量PSNR,SNR,SSIM,UQI和PCC,值越大表示性能越好,对于MSE,RMSE和MAE,值越低表示性能越好。 PSNR,MSE,RMSE,MAE和SNR表示两个对象之间的一般相似性。 UQI和SSIM是结构相似性指标,PCC代表两个样本之间的相关性。据我们所知,在KITTI基准测试中没有其他尝试估计单声道相机的深度。
3.1比较实验给出基准地面真相
KITTI数据库附带了由LIDAR扫描仪生成的深度图基础事实。
表2给出基准的基本事实的模型的数字比较
|
Exp. 1 |
Exp. 2 |
Exp. 3 |
Exp. 4 |
PSNR |
14.3424 |
13.7677 |
13.8333 |
13.8179 |
MSE |
0.0382 |
0.0436 |
0.0435 |
0.0439 |
RMSE |
0.1937 |
0.2069 |
0.206 |
0.2066 |
SNR |
4.4026 |
3.8279 |
6.1952 |
6.1798 |
MAE |
0.1107 |
0.1212 |
0.1236 |
0.1234 |
SSIM |
0.9959 |
0.9955 |
0.9955 |
0.9955 |
UQI |
0.9234 |
0.9252 |
0.9053 |
0.9064 |
PCC |
0.7687 |
0.8485 |
0.7702 |
0.7729 |
测试集已经通过在四个实验中训练的四个不同模型向前传播,并且网络的输出已经与基准地面实况进行了比较。 结果显示在表2中。每个度量的最佳值以粗体显示。
图 图6-8表示由训练模型使用所提出的DNN计算的颜色编码深度图,其中暗红色和深蓝色部分分别表示与相机最近和最远的点。 在每个图的右上角,说明了基准给出的基本事实。 出于可视化目的,本节中呈现的所有图像都是使用联合双边上采样40进行上采样。结果表明,使用语义分割和可见图像作为输入将略微改善模型。 在训练阶段使用后处理目标有助于模型收敛到更真实的结果。
图6来自训练模型的估计深度图 - 示例1
如图1和图2所示。如图6-8所示,与其他实验相比,实验1中生成的深度图包含更多结构细节,并且更精确,更少缺陷深度水平。
一般而言,本文中提出的模型能够处理不同深度水平的遮挡和不连续性。
3.2比较实验给出立体匹配的基本真理
在本节中,比较所提出的模型,以查看哪一个产生了与目标值更接近的结果。这给出了在单声道相机上使用深度学习技术是否可以产生合理结果的想法。
表3给出了立体匹配的基本事实的模型的数值比较
|
Exp. 1 |
Exp. 2 |
Exp. 3 |
Exp. 4 |
PSNR |
15.0418 |
14.1895 |
13.3819 |
14.0491 |
MSE |
0.0378 |
0.0447 |
0.0535 |
0.0441 |
RMSE |
0.1854 |
0.203 |
0.2223 |
0.2039 |
SNR |
8.822 |
7.9696 |
5.4271 |
6.0943 |
MAE |
0.1442 |
0.1581 |
0.1673 |
0.153 |
SSIM |
0.9952 |
0.9943 |
0.994 |
0.9951 |
UQI |
0.8401 |
0.8369 |
0.7951 |
0.8178 |
PCC |
0.8082 |
0.795 |
0.704 |
0.6919 |
测试集中的图像已经通过在第2.3节中训练的模型向前传播,并且输出与由29生成的深度图进行比较。数值结果显示在表3中。
每个指标的最佳值以粗体显示。图9-11表示由训练模型使用所提出的DNN计算的颜色编码深度图,其中暗红色和深蓝色部分分别表示与相机最近和最远 的点。在每个图的右上方,表示出了由计算的地面实况。出于可视化目的,本节中呈现的所有图像都是使用联合双边上采样40进行上采样。结果表明,使用语义分割和可见图像作为输入将略微改善模型。在训练阶段使用后处理目标有助于模型收敛到更真实的结果。
Fig. 9 Estimated depth maps from the trained models – example 1
Fig. 10 Estimated depth maps from the trained models – example 2
Fig. 11 Estimated depth maps from the trained models – example 3
4结论与讨论
在本文中,我们介绍了半并行深度神经网络(SPDNN)方法的使用。 SPDNN是使用一组独立优化的CNN的图论优化而开发的网络拓扑,每个CNN针对更一般分类问题的特定方面。对于单眼设置的深度估计,包括针对精细特征优化的全连接拓扑的模型与一系列最大拓扑结合。优化的SPDNN拓扑在完整的训练数据集上重新训练,并收敛到一组改进的网络权重。在这里,我们使用这种设计策略来训练一个准确的模型来估计单眼图像的深度。
在这项工作中,使用SPDNN方法混合并合并了8个不同的深度神经网络,以便利用每个网络的质量。然后,在四个单独的场景中训练混合网络架构,其中每个场景在训练期间使用不同的输入和目标集。已培训了四种不同的模型。 KITTI基准用于培训和实验目的。
每个模型分两部分进行评估,首先针对基准测试提供的基本事实,然后针对立体匹配方法(第3.1和3.2节)计算的视差图。结果表明,使用后处理深度图来训练网络导致更精确的模型,并且将输入帧的语义分段添加到输入有助于网络保留输出深度图中的结构信息。 Sec 3.2中的结果表明使用单声道摄像机提出的深度估计与立体匹配方法的接近程度。语义分段信息有助于网络收敛到立体匹配结果,尽管在这种情况下改进是微不足道的。第3.3节中第三次比较的结果显示采用立体匹配技术获得的精度略高,但我们的结果表明,所提出的DNN训练的模型的深度与立体匹配计算的值之间没有很大差异。该评估的数值结果显示了使用DNN方法的单声道相机与立体匹配方法之间的相似性,以及所提出的方法在保留输出深度图中的结构信息方面的功效。
这些模型的一个重要优点是处理时间约为1.23秒/ MP。对于i7 2600 CPU @ 3.4 GHz和16GB RAM上的大小(80×264)的输入图像,这等于38 fps。这使得该模型适合于实时提供深度估计。这种性能可与立体方法MC-CNN-fst 17和JMR 12相媲美,相同尺寸的图像分别为37 fps和4 fps,利用GPU计算能力(分别为NVIDIA GTX TITAN X和GTX 980) 。通过使用NVIDIA GeForce TITAN Black GPU和CUDA C ++实现,IDR方法20可以为相同的图像大小提供高达131 fps,但作者没有给出CPU上的性能,因此与此方法的任何比较都是不公平的。
使用像素分割作为网络的输入之一略微提高了模型的准确性,并且还帮助模型保留了输入图像的结构细节。然而,它也带来了一些瑕疵,例如表面上的错误深度补丁。评估结果还说明了模型的更高精度,其中后处理深度图被用作训练过程中的目标。
4.1未来的工作和改进
该工作中呈现的模型仍然是在低功率消费电子设备(例如,手持设备)中实现的大模型。未来的工作将包括一个较小的设计能够表现出与所呈现的模型一样好。当前方法的另一个考虑因素是训练数据大小(这始终是深度学习方法的最大考虑因素)。数据库中可用的立体数据量通常不足以训练深度神经网络。增强技术可以帮助扩展数据库,但它们提供的额外信息量有限。提供具有精确深度图的更大集合将显着改善结果。
SPDNN方法目前正在解决其他问题,并且在分类和回归问题上都给出了有希望的结果。