在过去的几年里,随着图形图像处理设备性能的大幅提高,深度学习席卷了计算机视觉大部分领域。目前为止,运动恢复结构(Structure From Motion, SFM)是计算机视觉中少数还是由传统方法占据优势的领域之一。
传统SFM算法[1]大多数依赖于精确的特征点匹配,并且经过多年的研究与优化已经能获得非常好的结果,但是在有些特定的场景难以得到好的结果,比如低纹理、遮挡和非刚性。得益于卷积神经网络强大的学习能力和巨大的数据集,深度学习在提取图像特征和发现其中潜在关系的能力上要优于传统方法[2]。此外,与深度学习结合的深度估计方法[2-5]能够实现对传统方法来说非常有挑战性的单目深度估计。
近年来,自监督学习方法[2-8]证明了深度可以从一张单目图片上估计得到。整体训练过程只需要连续的单目视频[5]或者双目图片对[9],而不需要用特殊的硬件设备或者人工标注标签,这让自监督学习方法非常具有经济性,可以用于部署低成本的传感器。
在深度估计的问题上,传统SFM方法倾向于忽略图片的内容而将其视为一个几何问题。然而,Dijk等[9]认为神经网络在估计物体的深度时会用物体在图片中的垂直高度和物体下方的阴影作为线索。此外,在图片的定位和理解上,注意力机制的作用在许多任务上得到验证[10]。因此,为了选择性地强调图片中有用的信息,以及弱化无用的信息,本文在基于自监督深度学习的深度估计方法中引入自适应重新校准特征图的方法以加强深度估计的精度。
为了生成更精准的深度图,现有的方法在系统中加入了一个额外的光流网[3, 5, 11]或者语义分割网络[12],又或是用一个更复杂的网络结构[13]。虽然以上方法在深度估计的精度上有所提高,但同时也消耗了许多额外的计算资源。而为了增强深度估计网络的表达能力,提高深度估计的精度,本文引入了通道注意力机制,使得深度估计网络能够学习运用全局信息选择性地强调有用的信息和弱化较为无用的信息。具体来说,从两个方面引入通道注意力机制:(1) 深度估计网络中的编码器部分由SE模块和残差网络组合而成。(2) 在解码器部分,设计了一个多尺度融合通道注意力模块,用于获得更多的上下文信息和重新校准通道之间的权重。
在KITTI数据集上完成的消融实验清楚地显示了本文方法的作用。此外,实验表明本文方法在单目、双目和单目双目混合的3种训练条件下都优于文中对比的方法。图1展示了本文方法与其他方法对单张图片的深度估计对比,可以看出本文方法生成的深度图细节上更加精确。
|
图 1 单张图片的深度估计 Figure 1 Depth estimation from a single image |
深度估计一直是场景感知和三维重建等任务的重要部分。传统方法主要用特征向量和概率模型来提供单目线索。近年来,随着深度学习的发展,前人尝试用有监督深度学习[13-14]或自监督的双目视觉方法[8, 15-16]来解决这个问题,但是人工标注大量的数据和双目视觉校准是非常困难的。
为了解决以上问题,文献[4, 17]提出了一种基于无监督学习的单目深度估计方法。Zhou等[4]首先提出用单目视频将相机位移和深度估计联合训练。Dharmasiri等[18]提出一个深度预测系统,并扩展到预测光流和相机位移。Zhan等[19]、Li等[20]将双目图像序列用在训练中以解决尺度模糊和不一致的问题。Yin等[3]将一个额外的光流网引入联合训练的系统中。Bian等[21]引入几何一致性损失用于减轻文献[4]中尺度不一致的问题。为了解决由物体或相机移动引起的遮挡问题,Monodepth2[2]用最小重投影损失代替原来的平均损失。此外,还利用一种自动掩模以消除与相机相对静止的像素对损失函数的影响。Xue等[22]提出了密集几何约束和密集连接预测层,分别用于绝对尺度恢复和更好的目标深度估计。Zhan等[23]重温了视觉里程计的基本知识,提出了一个将对极几何和PnP(Perspective-n-Point) 与深度学习结合的方法。而文献[6]跟文献[23]有类似的想法,用光流预测网代替位姿预测网,并且将刚性流引入损失函数中联合训练光流预测网和深度预测网。本文在Monodepth2[2]的方法上进行扩展,引入了通道注意力机制。
2 算法本文的系统架构由深度估计网络和位姿估计网络组成,训练过程中同时学习深度估计网络和位姿估计网络。位姿估计网络用于提供帧间的刚性特征对应关系。关键思想是基于通过学习得到深度和位姿将相邻的视图投影重建到目标视图来构建光度误差损失函数。
本章节将介绍基于自监督学习的单目深度估计算法的统一公式和多尺度融合通道注意力模块的结构与原理。
2.1 基于自监督学习的深度估计图2描述了基于视图合成的自监督单目深度估计过程。视图合成指的是将单目图片序列中的其中一帧转换为它的一个相邻帧。具体来说,用深度估计网络得到的预测深度和位姿估计网络得到的预测位姿将源视图投影到目标视图的平台上,得到一个合成视图。设
|
图 2 基于自监督深度学习的单目深度估计的整体过程 Figure 2 Overview of self-supervised monocular depth estimation pipeline |
| $ {I}_{t+1\to t}\sim {D}_{t}{(I}_{t+1}) {T}_{t\to t+1}{K}^{-1}{I}_{t+1} $ | (1) |
式中:
对于基于自监督学习的单目深度估计方法,作为从无标签的视频序列中学习的监督信号就是光度一致性约束。在光度一致性约束的假设中,在不同帧之中的同一个场景点的像素值应该是相同的,所以就引出下面的光度误差损失。
基本的光度误差损失只是比较像素之间的值,而引入结构相似性算法 (Structural Similarity Index Measure, SSIM) [24]这样一个额外的约束,可以有效地增强鲁棒性。SSIM的定义为
| $ {s} \left({I}_{a},{I}_{b}\right) =\frac{\left(2{\mu }_{a}{\mu }_{b}\right) ({\sigma }_{ab}+\epsilon) }{\left({{\mu }_{a}}^{2}+{{\mu }_{b}}^{2}\right) \left({{\sigma }_{a}}^{2}+{{\sigma }_{b}}^{2}\right) +\epsilon} $ | (2) |
式中:
| $ p\left({I}_{a},{I}_{b}\right) =\alpha \times \frac{1-s\left({I}_{a},{I}_{b}\right) }{2}+\left(1-\alpha \right) {\|{I}_{a}-{I}_{b}\|}_{1} $ | (3) |
式中:
为了消除由于相机或物体移动造成的遮挡问题,本文取不同源帧与目标帧之间的光度误差最小值。因此,像素的最小光度误差为
| $ {L}_{p}=\underset{{I}{{'}}}{\mathrm{min}}\left(p\right({I}{{'}},{I}_{t}\left) \right) $ | (4) |
式中:
| $ {L}_{\mathrm{s}\mathrm{m}\mathrm{o}\mathrm{o}\mathrm{t}\mathrm{h}}=\left|{\partial }_{x}{d}_{t}^{*}\right|{\mathrm{e}}^{-\left|{{\partial }_{x}I}_{t}\right|}+\left|{\partial }_{y}{d}_{t}^{*}\right|{\mathrm{e}}^{-\left|{{\partial }_{y}I}_{t}\right|} $ | (5) |
式中:
| $ {L}_{i}={\sum }_{i}\left(\mu {L}_{p,i}+\lambda {\omega }_{i}{L}_{\mathrm{s}\mathrm{m}\mathrm{o}\mathrm{o}\mathrm{t}\mathrm{h},i}\right) $ | (6) |
式中:
在训练过程中有一个重要假设就是除了摄像机是移动的,摄像机拍到的所有场景都是静止的。因为在相机运动过程中与相机保持相对静止的物体会破坏相机运动的假设,从而污染损失函数,进而影响训练效果。因此,掩盖相对静止的物体是必要的,
| $ \mu =\left[\mathop {\min }\limits_{{I}'}\left(p\right({I}_{t},{I}_{{t}{{'}}\to t}\left) \right) < \mathop {\min }\limits_{{I}'}\left(p\right({I}_{t},{I}_{{t}{{'}}}\left) \right) \right] $ | (7) |
方括号为艾佛森括号,满足括号内条件为1,否则为0。
2.2 多尺度融合通道注意力模块以往的方法[2, 4]采用多尺度深度预测的办法解决局部最小值和双线性采用引起的局部梯度问题,这种方法独立地使用解码器中不同尺度的特征图预测深度,会使一些生成的深度图产生深度伪影。受文献[22]的启发,本文将解码器中不同尺度的特征图融合得到多尺度融合的特征图
|
图 3 多尺度融合通道注意模块的整体结构 Figure 3 Overall architecture of Channel Attention Dense Connection (CADC) block |
卷积神经网络中的每一个filter都只能在局部区域进行操作,无法使用区域外的上下文信息。为了解决这个问题,用“压缩”操作将全局空间信息嵌入一个通道描述器中。具体来说,用全局平均池化生成一个包含通道域信息的向量
| $ {{\boldsymbol{v}}}_{c}={F}_{{\rm{sq}}}\left({{\boldsymbol{u}}}_{c}\right) =\frac{1}{H\times W}{\sum} _{i=1}^{H}{\sum} _{j=1}^{W}{{\boldsymbol{u}}}_{c}\left(i,j\right) $ | (8) |
式中:
“激发”操作指的是用“压缩”得到的通道描述器
| ${t}={F}_{{\rm{ex}}}\left({\boldsymbol{v}},{\boldsymbol{\alpha}} \right) ={F_{\rm{sig}}}\left({{\boldsymbol{\alpha}} }_{2}\delta \left({{\boldsymbol{\alpha}} }_{1}{\boldsymbol{v}}\right) \right) $ | (9) |
式中:
该模块的最终输出为重新校准权重的多尺度特征图
| $ \widetilde{{{\boldsymbol{u}}}_{c}}={F}_{\mathrm{s}\mathrm{c}\mathrm{a}\mathrm{l}\mathrm{e}}\left({{\boldsymbol{u}}}_{c},{t}_{c}\right) ={t}_{c}\cdot {{\boldsymbol{u}}}_{c} $ | (10) |
式中:
本章节介绍本方法的实现细节,以及在KTTI数据集上与目前主流算法的对比。精度对比结果见表1,深度图对比展示见图4。
| 表 1 KITTI数据集上的深度估计精度对比 Table 1 Qualitative results of the proposed method compared with existing methods |
|
图 4 KITTI数据集的深度预测图对比 Figure 4 Qualitative comparison of depth on the KITTI Eigen split |
在本文提出的深度估计网络中,整体结构为U-Net[27]的网络架构,是一个编码器−解码器的结构并带有跳跃连接以消除模糊输出的问题。本文从不同的解码器中提取特征层以形成不同大小的输出。
为了从不同尺度的特征图中获得更多上下文信息,本文的编码器由SE模块[28]嵌入残差网络[29]组成,用于提取特征。跟目前的主流方法[3, 7, 22]一样,本文使用在ImageNet[30]中预训练得到的参数,能在一定程度上提高精度。本文使用了Adam优化器,学习率设为
KITTI数据集是自动驾驶领域最重要的测试数据集之一。该数据集用于评估在汽车行驶过程中不同计算机视觉技术的表现。KITTI包含在城市、山谷、高速等多个场景下的单目、双目和3D雷达数据,由车载设备采集所得。每张图片最多可包含多达15辆汽车和30个行人。
本文延续zhou等[4]的处理方法,在训练之前将测试集和静态序列也就是平均光流小于1个像素的图片序列剔除。经过处理之后,得到39810张图片用于训练和4424张图片用于测试。
由于单目深度估计方法无法像双目方法一样根据两个摄像头之间的基线计算深度的尺度因子,本文将预测得到的深度图与尺度因子
表1为不同方法精度对比结果。本文与主流方法[2-8]保持一致,用Eigen[15]的深度估计测试指标与其他方法进行对比。在训练的设置方面,M表示自监督单目训练,S表示自监督双目训练,MS则是单目和双目的混合,D*表示有深度辅助训练。如表1所示,本文提出的方法在M、S和MS 3种训练方式下的误差指标和准确度指标均优于目前的主流方法。其中在单目的训练方式下的Abs Rel,Sq Rel,RMSE指标中分别比原来减少了4%,7%,4%的误差,可见激发通道信息以及多尺度融合通道注意力模块对深度估计精度是有一定提升的。虽然本文方法的优化主要针对单目深度估计,但是在双目和单双目混合的训练方式下也有不错的效果,其中单双目混合提高的准确度最高,这在均方根误差(RMSE)指标下尤为明显。
在图4的深度图视觉化对比中,本文提出的方法生成的深度图在细节和清晰程度上优于目前的主流方法。得益于多尺度融合的效果,本文的深度图中的伪影比以往的方法要少,并且由于通道注意力能抑制背景等无用信息,强调物体和纹理信息,如图4所示,第1列中阴影中的路牌、树丛的形状,第2列中汽车窗户的轮廓,第3列中电动单车的清晰轮廓还有第4列中树上叶子的形状等在本文方法生成的深度图中都很好地还原出来,相比于其他方法清晰准确。
3.4 消融实验为了更清楚直观地体现出本文的贡献,本文通过改变模型中的部件在KITTI数据集上完成了消融实验。实验结果见表2和图5。
| 表 2 深度估计对比的消融实验 Table 2 Ablation study |
|
图 5 模型中不同部件的深度图对比。A代表Monodepth2[2]生成的深度图,A+B是加上多尺度融合通道注意力模块,A+C是在残差网络中插入SE模块,ABC则是本文提出的完整的网络结构 Figure 5 Comparing different components of the network architecture. A is the baseline Monodepth2[2]. A+B is baseline with CADC block. A+C is baseline with SE block injection. ABC is the complete network architecture |
(1) 多尺度融合通道注意力模块的作用。
在深度估计网络的解码器中,为了重新校准通道间的权重和融合不同尺度的特征,本文引入了通道注意力以及对不同像素层的特征图进行了连接融合。由表2可见,表中的第2行证明了多尺度融合通道注意力(CADC)模块可以让深度估计的精度得到明显提高。如图5所示,Monodepth2[2]对第2列中汽车的上部分出现了误判,而在加入CADC模块之后修复了这个问题,并且对与第1列中树木的轮廓和第3列中的树丛的预测跟原来相比有了更多的细节。证明了CADC模块在加强物体边缘轮廓和局部细节预测的作用。
(2) 插入SE模块的作用。
目前主流的方法大多使用残差网络作为深度估计网络的编码器。残差网络具有结构简单、功能强大的优点。本文在残差网络中插入SE模块让网络能够自适应地调整通道间的权重以提高网络的表达能力。并且只需要增加少量的计算资源消耗,根据文献[28]中的实验,插入SE模块后的残差网络只比原来提升了大概10%的参数量。如表2所示,SE模块的插入让精度比原来有一定程度的提升。由图5可见,在加入SE模块之后,预测的深度图跟原来相比有更丰富准确的物体细节,比如第3列货车上的货柜和第4列树丛的覆盖范围。
4 结论本文提出了一种新的自监督单目深度估计方法,通过引入通道注意力机制提升深度估计网络的表达能力,在深度估计的精度和深度图的细节准确度都有所提升。本文的改进主要在于两个方面:(1) 将深度估计网络的编码器改为残差网络与SE模块的结合。(2) 在解码器中设计了一个多尺度融合通道注意力模块,以融合多尺度的上下文信息和重新校准通道间的权重。在KITTI数据集中的实验表明本文提出的方法在单目、双目和单目双目混合的3种训练方式下均优于文中对比的方法。
| [1] |
MUR-ARTAL R, TARDóS J D. Orb-slam 2: an open-source slam system for monocular, stereo, and rgb-d cameras[J].
IEEE Transactions on Robotics, 2017, 33(5): 1255-62.
DOI: 10.1109/TRO.2017.2705103. |
| [2] |
GODARD C, MAC AODHA O, FIRMAN M, et al. Digging into self-supervised monocular depth estimation[C]// IEEE/CVF International Conference on Computer Vision. Seoul: IEEE. doi:10.1109/ICCV.2019.00393.
|
| [3] |
YIN Z, SHI J. Geonet: Unsupervised learning of dense depth, optical flow and camera pose[C]// IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE. doi:10.1109/CVPR.2018.00212.
|
| [4] |
ZHOU T, BROWN M, SNAVELY N, et al. Unsupervised learning of depth and ego-motion from video[C]//IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA: IEEE. doi: 10.1109/CVPR.2017.700
|
| [5] |
LUO C, YANG Z, WANG P, et al. Every pixel counts++: joint learning of geometry and motion with 3d holistic understanding[J].
IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019, 42(10): 2624-41.
|
| [6] |
ZHAO W, LIU S, SHU Y, et al. Towards better generalization: Joint depth-pose learning without posenet[C]//IEEE Conference on Computer Vision and Pattern Recognition. Seattle, WA, USA: IEEE. doi:10.1109/CVPR42600.2020.00917.
|
| [7] |
PATIL V, VAN GANSBEKE W, DAI D, et al. Don’t forget the past: recurrent depth estimation from monocular video[J].
IEEE Robotics and Automation Letters, 2020, 5(4): 6813-20.
DOI: 10.1109/LRA.2020.3017478. |
| [8] |
GODARD C, MAC AODHA O, BROSTOW G J. Unsupervised monocular depth estimation with left-right consistency [C]//IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA: IEEE. doi: 10.1109/CVPR.2017.699.
|
| [9] |
DIJK T V, CROON G D. How do neural networks see depth in single images? [C]//IEEE/CVF International Conference on Computer Vision. Seoul, Korea (South) : IEEE. doi: 10.1109/ICCV.2019.00227.
|
| [10] |
CAO C, LIU X, YANG Y, et al. Look and think twice: capturing top-down visual attention with feedback convolutional neural networks [C]//IEEE International Conference on Computer Vision (ICCV) . Santiago, Chile: IEEE. doi: 10.1109/ICCV.2015.338.
|
| [11] |
RANJAN A, JAMPANI V, BALLES L, et al. Competitive collaboration: joint unsupervised learning of depth, camera motion, optical flow and motion segmentation [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) . Long Beach, CA, USA: IEEE. doi: 10.1109/CVPR.2019.01252.
|
| [12] |
JIAO J , YING C , SONG Y , et al. Look deeper into depth: monocular depth estimation with semantic booster and attention-driven loss[C]// European Conference on Computer Vision. Cham: Springer, 2018: 55-71.
|
| [13] |
FU H, GONG M, WANG C, et al. Deep ordinal regression network for monocular depth estimation [C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE. doi: 10.1109/CVPR.2018.00214.
|
| [14] |
EIGEN D, PUHRSCH C, FERGUS R J A P A. Depth map prediction from a single image using a multi-scale deep network [C]//Conference on Neural Information Processing Systems. La Jolla, USA: Neural Information Processing Systems. Foundation, 2014: 2366-2374.
|
| [15] |
ZBONTAR J, LECUN Y J J M L R. Stereo matching by training a convolutional neural network to compare image patches[J].
IEEE Geoscience and Remote Sensing Letters, 2020(99): 1-5.
|
| [16] |
UMMENHOFER B, ZHOU H, UHRIG J, et al. Demon: depth and motion network for learning monocular stereo [C]//IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA: IEEE. doi: 10.1109/CVPR.2017.596.
|
| [17] |
GARG R, BG V K, CARNEIRO G, et al. Unsupervised cnn for single view depth estimation: geometry to the rescue[C]// European Conference on Computer Vision. Cham, Switzerland: Springer, 2016: 740-756.
|
| [18] |
DHARMASIRI T, SPEK A, DRUMMOND T. Eng: end-to-end neural geometry for robust depth and pose estimation using cnns[C]// Asian Conference on Computer Vision. Cham, Switzerland: Springer, 2018: 625-642.
|
| [19] |
ZHAN H, GARG R, WEERASEKERA C S, et al. Unsupervised learning of monocular depth estimation and visual odometry with deep feature reconstruction [C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA: IEEE. doi: 10.1109/CVPR.2018.00043.
|
| [20] |
LI R, WANG S, LONG Z, et al. Undeepvo: monocular visual odometry through unsupervised deep learning [C]// IEEE International Conference on Robotics and Automation. Brisbane, QLD, Australia: IEEE. doi: 10.1109/ICRA.2018.8461251.
|
| [21] |
BIAN J, LI Z, WANG N, et al. Unsupervised scale-consistent depth and ego-motion learning from monocular video[J].
Advances in Neural Information Processing Systems, 2019, 32: 35-45.
|
| [22] |
XUE F, ZHUO G, HUANG Z, et al. Toward hierarchical self-supervised monocular absolute depth estimation for autonomous driving applications [C]// IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Las Vegas: IEEE. doi: 10.1109/IROS45743.2020.9340802.
|
| [23] |
ZHAN H, WEERASEKERA C S, BIAN J-W, et al. Visual odometry revisited: what should be learnt?[C]// IEEE International Conference on Robotics and Automation (ICRA) . Paris, France: IEEE. doi: 10.1109/ICRA40945.2020.9197374.
|
| [24] |
WANG Z, BOVIK A C, SHEIKH H R, et al. Image quality assessment: from error visibility to structural similarity[J].
IEEE Transactions on Image Processing, 2004, 13(4): 600-12.
DOI: 10.1109/TIP.2003.819861. |
| [25] |
POGGI M, TOSI F, MATTOCCIA S. Learning monocular depth estimation with unsupervised trinocular assumptions [C]//International Conference on 3D Vision (3DV) . Verona, Italy: IEEE. doi: 10.1109/3DV.2018.00045.
|
| [26] |
PILLAI S, AMBRUŞ R, GAIDON A. Superdepth: self-supervised, super-resolved monocular depth estimation[C]//International Conference on Robotics and Automation (ICRA). Montreal, QC, Canada: IEEE. doi: 10.1109/ICRA.2019.8793621.
|
| [27] |
RONNEBERGER O, FISCHER P, BROX T. U-net: convolutional networks for biomedical image segmentation[C]//International Conference on Medical Image Computing and Computer-assisted Intervention. Cham: Springer, 2015: 234-241.
|
| [28] |
HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE. doi: 10.1109/CVPR.2018.00745.
|
| [29] |
HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE. doi: 10.1109/CVPR.2016.90.
|
| [30] |
RUSSAKOVSKY O, DENG J, SU H, et al. Imagenet large scale visual recognition challenge[J].
International Journal of Computer Vision, 2015, 115(3): 211-252.
DOI: 10.1007/s11263-015-0816-y. |
2023, Vol. 40

