引用自:基于深度学习的单目视觉深度估计研究综述 郭继峰,白成超,郭 爽

1 引言

​        传统获取高精度的目标深度信息常采用激光雷达实现,但因其价格昂贵,目前多用于技术研发和测试阶段,距离大规模市场化应用还有一定的距离;除此之外,近些年随着人工智能技术的快速发展,视觉逐渐成为研究的热点,同时也暴露出一些弊端,其中基于双目视觉的深度估计受基线长度限制,导致设备体积与载具平台不能很好的匹配;基于RGB-D的深度估计量程较短,在实际应用中能力有限,同时在室外环境中的表现也不尽理想,受环境变化影响较大。而单目相机具有价格低廉,获取信息内容丰富,体积小等优点,可以有效克服上述传感器的诸多不足。因此,利用单目相机获取深度信息具有重要的研究意义,且已逐渐成为当前计算机视觉领域的研究热点之一。

​         一方面,近年来几何视觉的理论体系逐渐完备,其在增强现实和视觉SLAM中的应用已日趋成熟,寻求理论上的重大突破有较大难度。另一方面,深度学习的发展掀起了计算机视觉领域的又一次发展狂潮,大量文献表明,深度学习在解决目标识别、目标跟踪和图像分割等传统计算机视觉问题中发挥了巨大的作用,在效率和精度上均有大幅度提升。立体视觉与学习视觉形成了各自的理论体系,有着各自的适应场景。在这样的背景下,人们开始将目光转向了二者的交叉与融合,利用单目相机提取深度信息就是其中一个重要的研究方向。

​         通过整理分析,本文将基于深度学习进行单目深度估计的方法分为以下六种:监督学习、无监督学习、半监督学习、基于随机条件场(CRF)的方法、联合语义信息、引入其他信息辅助深度估计。在实际的应用当中,上述六种方法相互交叉,并没有严格的界限,为了更加清晰的梳理研究框架,本文将基于上述分类进行逐一阐述。

2 现状分析

2.1 有监督方式训练神经网络

2.1.1 真实深度图作监督+直接拟合

​         文献[1-2]用于神经网络训练的数据集均是原始图像和与其对应的深度图。文献[1]中DavidE等首次提出用CNN卷积神经网络进行单目深度估计,基本思想是用一个多尺度神经网络对深度图进行估计。网络架构主要为两部分,分别是全局粗略尺度网络(Global Coarse-Scale Network)和局部精细尺度网络(Local Fine-Scale Network)。前者得到一个低分辨率的粗略深度图,再用后者去改善前者的输出得到最后的精细深度图。值得注意的是,此文采用的是具有真实深度的数据集进行有监督训练,然而在实际场景中深度图的获取是比较困难的,因此此类数据集制作难度较大,数量也很少,算法的适应场景和泛化能力受到数据集的限制。

​        文献[2]在文献[1]的基础上做出了一些改进:(1)增加了第三个尺度的网络,可以输出更高分辨率的图片(分辨率从文献[1]的55×77 提高到109×147);(2)网络训练思路有所不同,文献[1]采用的方式是,先训练尺度1 的网络,训练完成后,以网络的输出作为尺度2 网络的输入。此文所采用的方式是:尺度1 网络和尺度2 网络联合训练,固定这两个尺度的网络之后,再训练尺度3 网络,其目的仍然是对前面网络估计出的粗略深度图进行改善。

​         Jun L[3]等在此基础上进行了一些改进,主要的贡献在于:(1)在文献[2]的基础上加入了多尺度网络之间的跳跃连接,可以加速网络的收敛。(2)提出了一种新的图像损失函数构造方式,使得经过数据增强后所得相关图像估计深度的差异最小化,即使由相同的数据生成的训练数据恢复得到的深度也要尽可能接近,损失函数更好地利用了增强的数据,并增强了网络的泛化能力。(3)联合估计深度和深度的梯度,并将二者融合之后输出最终的深度图,有效提高了估计精度。

​        Iro L等[4]提出了一种包含残差学习网络的全卷积网络结构对单目图像和深度图之间的模糊映射进行建模的方法。为了提高输出分辨率,作者还提出了一种在网络中通过向上采样对卷积后得到的特征图(Feature Map)进行高效学习的新方法,并引入了反向Huber 损失函数进行优化,结果表明这个形式的损失函数特别适合于深度映射的问题。主要贡献在于:(1)在深度预测网络中引入了一种全卷积的结构,包含升采样模块,可以输出高精度密集深度图;同时该网络结构具有比当时其他网络少一个数量级的训练参数,需要的训练数据更少。(2)新颖地使用反向Huber函数作为损失函数对网络进行优化训练,并从理论和实验上论证了为什么更适合于深度映射问题。

​         值得一提的是,该方法经作者改进后融合到单目SLAM技术当中[5],提出了一种将卷积神经网络预测的密集深度图与直接法单目SLAM的深度测量相结合的方法。这种融合方法可以在传统单目SLAM方法容易失效的位置(如缺少纹理特征的区域)进行深度预测,并利用深度预测估计地图重建的绝对尺度,克服了单目SLAM 缺少尺度信息的局限性。

2.1.2 基于相对深度的标记数据集

​         此类方法从人类是如何对深度进行估计的角度出发,思考并得出了“ 比起估计准确的量化数据而言,人们更善于估计场景中各点之间、各种特征之间的相对关系”的结论,亮度和深度等特征都具有这个特点。例如,人们在观察远处的两座山时,很难判断出这两座山的实际距离是多少,却可以很轻松地说出哪一座山距离自己更近;亮度也具有同样的特点,人们很难量化地估计出场景中的某个景物有多亮,却可以很容易判断场景中各个点的亮度关系。由此便产生了一种深度估计的思路,用经过相对深度标记的数据集训练神经网络从而使网络具备估计深度的能力。

​         Daniel Z[6]等提出了一个框架,通过学习顺序关系推断图像某些特征。该系统没有直接估计特征的度量值,而是对输入图像中的各点两两之间的相对关系进行估计。之后再将这些相对关系的稀疏概率测量序列在全局层面上进行汇总,从而输出连续度量的密集深度映射图。与特征度量值估计相比,估计每一对点之间的相对顺序关系有几个优点:估计点对的相对关系比直接估计度量值相对简单且模型更加清晰明确,这种做法相当于将复杂问题简单化;人类在相对关系判断的问题上做得的更好,因此训练所需数据集的标记不依赖激光雷达等深度传感器,人工即可高效完成,所以数据收集更容易;各点对之间的相对顺序关系对数据的单调变换是不变的,从而增加了系统的鲁棒性。

​         Chen W F[7]等构建了一个相对深度的数据库,每张图片仅仅标注两个随机点之间的相对远近关系,通过一个神经网络的训练就能得到输入图像之中的相对深度信息。其将研究重点放在了室外的单目图像深度感知,即场景中存在深度值较大的景物( 如天空、远山等),这是现有深度传感器量程所不能达到的。作者提出了一种新的数据集——Depth in the Wild,通过在室外场景的图像中标注随机点对之间的相对深度关系构造数据集。文章提出了一种新的算法,首先训练分类器预测图像中两点之间的顺序关系,给定一幅输入图像,反复使用该分类器预测稀疏点对之间的顺序关系( 主要是相邻超像素之间的关系);再通过求解二次约束优化从预测的顺序关系中重构深度图,该优化强制附加平滑约束,并可协调各点对之间可能存在的相互矛盾的顺序关系,以此来使得到的深度图更加平滑。

​         这类基于相对深度标注的训练网络的方法相当于引入了一种“QA问答”机制,训练神经网络使其具备回答“ 给定图像上任意两个点,谁距离相机更近?”的能力,思路使人眼前一亮。并且模型清晰明确,与人类估计深度的方式更加接近。但是由于其训练过程中始终未包含有关真实深度的信息,所以这种方法得到的深度图只是相对深度图,与真实深度图仍然相差一个尺度信息。

2.2 无监督方式训练神经网络

2.2.1 采用单目相机图片作为训练集

​         Zhou T H[8]等提出了利用一段由单目相机拍摄的图片序列作为训练集,采用无监督的方式训练神经网络进行单目深度估计的方法,这也是此类方法的代表作。文中网络架构由两部分组成,即深度估计网络(Depth CNN)和相机位姿估计网络(PoseCNN),利用未做标记的单目图片序列来实现对单目深度网络和相机姿态估计网络的训练。

​         值得一提的是文章中提出的损失函数的构造方式:用神经网络估计出的深度和相机姿态从图片序列的某幅图像恢复出与其相邻的另一幅图像,将恢复出的图像与真实图像之间的像素差作为无监督训练的损失函数,通过最小化损失函数使网络收敛。这种视图合成的方法也被很多无监督训练单目深度估计网络所采用。需要指出的是,该文章中采用单目图片序列作为数据集训练得到的深度估计网络输出的深度图仅为相对深度图,与真实深度图之间相差一个倍数。这是因为单目数据集中不包含深度信息,因此无法用此网络得到绝对深度图,只能计算其与真实深度图的相对误差。在自动驾驶等实际场景中,绝对深度是必不可少的导航信息,所以这种方法在机器人导航领域难以得到实际应用。

​         Yin Z C[9]在以上基础上进行了改进,增加了对光流进行估计的部分,在各个模块的预测中提取几何关系,再将它们合并从而进行图像重建,融合了深度、相机运动与光流三部分的信息进行联合估计。

​         Reza M[10]提出了一种使用三维几何约束的非监督学习单目图像深度和运动估计方法。其主要贡献是:明确地考虑场景的三维特征,维持连续帧之间三维点云的一致性,提出一个新的反向传播算法进行三维结构重建。文章使用深度和运动估计,将这种新的三维损失和基于每一帧的影像质量二维损失结合起来,同时使用了掩码去除一些无用信息存在的区域。为了证明方法的普适性,文献[10]使用了未校准的自制手持式摄像头所采集的视频进行训练,并在KITTI数据集上进行了测试。

2.2.2 采用双目相机图片作为训练集

​         Clement G[11]等利用图像重建损失对网络进行训练,之后由神经网络输出视差图,再利用预测出的视差图计算深度图。与文献[8]不同,文献[11]采用双目相机的图片序列作为数据集,因为双目相机的数据包含场景的深度信息,所以由此训练出的网络输出的视差图进而计算出的深度图为绝对深度,包含场景的尺度信息。

​        如图9 所示,神经网络仅接收双目相机的左图为输入,便可输出左右两幅视差图,再加上左右两幅原图即可合成出左右原图的估计图,再与数据集中的原图进行比较构造损失函数使网络趋于收敛。需要注意训练集中的右图仅在训练中使用,训练之后的网络仅需左图作为输入,就完成从单张图片估计深度的任务。除此之外,文章在损失函数中引入了左右一致性检验,强制左右视差图中对应点的视差保持一致,进一步提高了对视差图的估计质量,从而更准确地计算出深度图。

​         Zhang Y D等[12]的研究重点在于解决无监督学习的尺度不确定问题,采用双目数据联合训练深度估计和视觉里程计网络。研究提出了联合学习深度估计和视觉里程计的无监督框架,不存在尺度不确定性问题;利用了左右图像对在时空上的约束,在现有技术基础上改进了单目深度估计的性能;设计了一种基于帧到帧的视觉里程计,性能显著优于同类无监督学习方法;除图像重构的颜色及光度误差损失之外,还考虑了基于深层特征的重建损失,显著提高了深度估计和视觉里程计的精度。

2.3 半监督方式训练神经网络

​         在单目深度估计的问题上,有监督学习的方法往往受限于真实深度难以获取,训练样本不足,而无监督学习的方法却受限于缺少尺度信息,估计精度难以保证。结合二者的优势,提出了半监督学习的方式训练神经网络。

​         Yevhen K[13]提出了使用稀疏的真实深度对神经网络进行监督,从而形成半监督学习的单目图像深度估计的方法。在损失函数的构造上,共分为三部分:有监督损失(Supervised Loss)、无监督损失( U n s u p e r v i s e d L o s s )和正则化损失(Regularization Loss)。其中有监督损失即为上文提到的使用稀疏的真实深度与预测的深度值之间的差距形成;无监督损失的构造方式与文献[11]中利用左右图像的视图重建的方法一致;最后一部分是将梯度的正则化损失作为约束。此外,文献[14-16]同样是用半监督学习的思想训练神经网络。

2.4 基于条件随机场(CRF)的方法

       ​ 条件随机场(CRF)在图像语义分割领域一直都有着非常优秀的表现,考虑到深度值的连续性特点,可用连续CRF 公式化学习,因此人们开始将CRF 应用在解决深度估计问题上,近年来取得了一些成果。Liu F Y[17]等将卷积神经网络与连续CRF相结合,提出了一种深度卷积神经场模型。深度值具有连续性的特点,因此可以解析计算概率密度函数中的配分函数,从而求对数似然的最优解,在反向传播训练中可以精确地计算出梯度。除此之外,由于存在封闭形式的解,可以有效解决预测深度的映射问题。

       ​ Xu D[18]等提出了一种融合了来自多个卷积神经网络输出的互补信息的深度模型。将连续条件场平均后积分,提出了两种变体,一种是基于多个CRF 联级,另一种基于统一的图模型。提供了两种方案通过连续CRF 积分多层联级输出实现融合多个尺度特征,一是多个尺度CRF 模型,二是级联特定尺度的CRF。

2.5 联合语义分割进行深度估计

​         文献[19-22]将语义分割与深度估计联合起来,利用深度和语义信息之间的相似关系,使二者相辅相成,达到性能提升的目的。Arsalan M[19]等提出了一种新的模型,对单个RGB 图像同时进行深度估计和语义分割。作者为每个任务分别训练一部分模型,然后利用单个损失函数将两个模型组合成一个完整的模型并进行微调。此外,作者还将深层卷积神经网络与全连接的CRF连接在一起,可以捕获语义和深度信息之间的相互顺序关系,提高了二者的准确性。

​         与此类似,Zhang Z Y等[20]研究了单目图像的物体级分割和深度排序问题,在精确分割的基础上,通过MRF(马尔科夫随机场)对局部深度排序进行整合,形成完整的深度图。深度估计与语义分割都是图像场景理解与分析的重要内容,二者具有很强的相关性。将它们联合起来,相互辅助校正的思想,还具有较大的研究价值。

2.6 引入其他信息辅助深度估计

​         还有一些其他可从单张图片中提取出的,与深度包含相似信息的特征可以帮助我们更加准确便捷地估计深度。Pratul P S等[23]提出用相机孔径效应作为监督信息预测单张图的深度。在网络里用一个可微分的孔径绘制函数,可以训练一个神经网络从一张全聚焦图像回归一个深度图。Qi X J等[24]从RGB图像中联合估计深度和表面法线,表面法线可由三维点云估计,深度由表面法线解线性方程组推算。其中,作者利用了平面区域表面法线变化不大的几何规律,来辅助和优化单目深度估计。

       ​ 文献[25-26]引入物体表面法线辅助深度估计, Zhang Y D等[12]通过从颜色上预测法线,然后求深度,进而在RGB-D图像的深度通道中填充较大的缺失区域,使用经过真实深度填补的深度相机拍摄的深度图和RGB 图片作为训练集。引入了颜色信息,补充深度相机图片缺失深度的部分,扩展了单目深度估计的实际应用。文献[27-28] 把深度估计问题当成一个由远到近层层分离的问题,按照分类问题的思想来研究。

## 参考文献

[1] David E,Christian P,Rob F. Depth map prediction from a single image using a multi-scale deep network[C]. The 28th Conference on Neural Information Processing Systems, Montréal,Canada,December 8-13,2014.
[2] David E,Rob F. Predicting depth,surface normals and semantic labels with a common multi-scale convolutional architecture[C]. The 15th International Conference on Computer Vision,Santiago,Chile,December 13-16,2015.
[3] Jun L,Reinhard K,Angela Y. A two-streamed network for estimating fine-scaled depth maps from single RGB images
[C]. The 16 th International Conference on Computer Vision,Santiago,Chile,October 22-29,2017.
[4] Iro L,Christian R,Vasileios B. Deeper depth prediction with fully convolutional residual networks[C]. The 4th International Conference on 3D Vision,CA,USA, October 25-28,2016.
[5] Keisuke T,Federico T ,Iro L,et al. CNN-SLAM: Real-time dense monocular SLAM with learned depth prediction[C]. The 30th IEEE Conference on Computer Vision and Pattern Recognition,Hawaii,USA,July 22-25,2017.
[6] Daniel Z,Phillip I,Dilip K,et al. Learning ordinal relationships for mid-level vision [C]. The 15 th International Conference on Computer Vision,Santiago, Chile,December 13-16,2015.
[7] Chen W F,Fu Z,Yang D W,et al. Single-image depth perception in the wild[C]. The 30 th Conference on Neural Information Processing Systems,Barcelona,Spain, December 5-10,2016.
[8] Zhou T H,Matthew B,Noah S,et al. Unsupervised learning of depth and ego-motion from video[C]. The 30th IEEE Conference on Computer Vision and Pattern Recognition, Hawaii,USA,July 22-25,2017.
[9] Yin Z C,Shi J P. GeoNet: unsupervised learning of dense depth,optical flow and camera pose[ C]. The 31th IEEE Conference on Computer Vision and Pattern Recognition, Salt Lake City,USA,June 19-21,2018.
[10] Reza M,Martin W,Anelia A. Unsupervised learning of depth and ego-motion from monocular video using 3D geometric con-straints[C]. The 31th IEEE Conference on Computer Vision and Pattern Recognition,Salt Lake City, USA,June 19-21,2018.
[11] Clement G,Oisin M A,Gabriel J B. Unsupervised monocular depth estimation with left-right consistency[C]. The 29th IEEE Conference on Computer Vision and Pattern Recognition,Salt Lake City,USA,June 19-21,2016.
[12] Zhang Y D,Ravi G,Chamara S W,et al. Unsupervised learning of monocular depth estimation and visual odometry with deep feature reconstruction[C]. The 31th IEEE Conference on Computer Vision and Pattern Recognition, Salt Lake City,USA,June 19-21,2018.
[13] Yevhen K,Jorg S,Bastian L. Semi-supervised deep learning for monocular depth map prediction[C]. The 30th IEEE Conference on Computer Vision and Pattern Recognition,Hawaii,USA,July 22-25,2017.
[14] Yang N,Wang R,Jorg S,et al. Deep virtual stereo odometry: leveraging deep depth prediction for monocular direct sparse odometry[C]. The 15th European Conference on Computer Vision Munich,Germany,September 8-14,2018.
[15] Tulyakov S,Ivanov A,Fleuret F. Semi-supervised learning of deep metrics for stereo reconstruction[J]. arXiv Preprint,2016.
[16] Stepan T,Anton I. Weakly supervised learning of deep metrics for stereo reconstruction[C]. The 16 th International Conference on Computer Vision,Santiago, Chile,October 22-29,2017.
[17] Liu F Y,Shen C H,Lin G S. Deep convolutional neural fields for depth estimation from a single image[C]. The 28th IEEE Conference on Computer Vision and Pattern Recognition,Boston,USA,June 8-10,2015.
[18] Xu D,Elisa R,Ouyang W L,et al. Multi-scale continuous CRFs as sequential deep networks for monocular depth estimation [C]. The 30th IEEE Conference on Computer Vision and Pattern Recognition,Hawaii,USA,July 22-25,2017.
[19] Arsalan M,Hamed P,Jana K. Joint semantic segmentation and depth estimation with deep convolutional etworks[C]. The 4th International Conference on 3D Vision,CA,USA, October 25-28,2016.
[20] Zhang Z Y,Alexander G S,Sanja F,et al. Monocular object instance segmentation and depth ordering with CNNs[C]. The 15th International Conference on Computer Vision, Santiago,Chile,December 13-16,2015.
[21] Liu B Y,Stephen G,Stephen G. Single image depth estimation from predicted semantic labels[C]. The 23th IEEE Conference on Computer Vision and Pattern Recognition,San Francisco,USA,June 13-18,2010.
[22] Wang P,Shen X H,Lin Z,et al. Towards unified depth and semantic prediction from a single image[C]. The 28th IEEE Conference on Computer Vision and Pattern Recognition,Boston,USA,June 8-10,2015.
[23] Pratul P S,Rahul G,Neal W,et al. Aperture supervision for monocular depth estimation[C]. The 31 th IEEE Conference on Computer Vision and Pattern Recognition, Salt Lake City,USA,June 19-21,2018.
[24] Qi X J,Liao R J,Liu Z Z,et al. GeoNet: Geometric neural network for joint depth and surface normal estimation[C]. The 31th IEEE Conference on Computer Vision and Pattern Recognition,Salt Lake City,USA,June 19-21,2018.
[25] Zhang Y D,Thomas F. Deep depth completion of a single RGB-D image[C]. The 31 th IEEE Conference on Computer Vision and Pattern Recognition,Salt Lake City, USA,June 19-21,2018.
[26] Wang P,Shen X H,Bryan R,et al. SURGE: Surface regularized geometry estimation from a single image[C]. The 30th Conference on Neural Information Processing Systems,Barcelona,Spain,December 5-10,2016.
[27] Li B,Dai Y,Chen H,et al. Single image depth estimation by dilated deep residual convolutional neural network and soft-weight-sum inference[J]. arXiv Preprint ,2017.
[28] Cao Y Z,Wu Z F,Shen C H. Estimating depth from monocular images as classification using deep fully convolutional residual networks[ J]. IEEE Transactions on Circuits and Systems for Video Technology,2018,28 (11): 3174 - 3182.

Logo

学大模型,用大模型上飞桨星河社区!每天8点V100G算力免费领!免费领取ERNIE 4.0 100w Token >>>

更多推荐