标题:R-MSFM: Recurrent Multi-Scale Feature Modulation for Monocular Depth Estimating(ICCV-2021)
作者:Zhongkai Zhou, Xinnan Fan, Pengfei , Yuanxue Xin
单位:College of Internet of Things Engineering; Hohai University, Changzhou, China
链接:https://openaccess.thecvf.com/content/ICCV2021/papers/Zhou_R-MSFM_Recurrent_Multi-Scale_Feature_Modulation_for_Monocular_Depth_Estimating_ICCV_2021_paper.pdf
代码:https://github.com/jsczzzk/R-MSFM
来自河海大学物联网工程学院的周仲凯博士发表在ICCV2021上的工作,该方案在单目无监督深度估计中取得了SOTA结果。

摘要

RMSFM提取每像素特征,构建多尺度特征调制模块,并通过固定分辨率的参数共享解码器迭代更新逆深度(深度的倒数,高斯分布)。这种结构使我们的R-MSFM能够在空间上更精确的同时保持更丰富的表示,并避免了在该领域广泛使用的传统u-net类粗到细结构造成的错误传播,从而产生强泛化和高效的参数计数。实验结果证明了我们提出的R-MSFM在模型大小和推理速度方面都具有优越性,并在KITTI基准上显示了最新的结果。

01引言

深度估计的目的是确定图像中每个像素的深度。从计算机视觉的早期阶段开始,对图像的深度估计就一直是研究者面临的主要挑战之一。深度估计作为一项低级任务,需要完成高级任务,包括三维重建[23]、自动驾驶[6]、三维目标检测[36]、水下图像恢复[43]等。
深度估计传统上被认为是左右图像之间的立体匹配问题,主要是一种手工制作的优化[18]、监督[4]或自监督方式[24]。尽管几十年的发展已经显著提高了其准确性,但耗时的匹配过程不可避免地限制了部署的范围。
受传统结构领域的启发,来自于运动(SFM)[38]已经证明了使用自监督的光度重建损失从单个图像估计深度作为视觉合成问题的可行性。遵循这种成功的新设计范式,最近的工作主要集中在特定损失函数[28,14]的设计,以及对目前广泛使用的U-Net的改进,如从粗到细的体系结构[19,15]。
本文受光流[37]领域的启发,我们引入了循环多尺度特征调制(RMSFM),这是一种新的有效的轻量级深度学习体系结构,以扩展单目深度估计的体系结构选择。R-MSFM最大的三个最显著的优势如下:
  • 轻量级架构:R-MSFM将Monodepth2的参数减少了73%,从14.3M减少到3.8M,适用于内存有限的场景。
  • 最先进的精度:R-MSFM实现了最先进的性能,在KITTI特征分割测试集上比Monodepth2(4.701)低4.470RMSE。
  • 合理的推理速度。:R-MSFM在RTX2060GPU上以每秒44帧的速度处理640×192个视频。它可以灵活地选择更新号,并在速度和精度之间进行权衡,占总更新的一半,以每秒72帧的速度运行,但仍然优于Monodepth2。
R-MSFM由四个主要组件组成:i)一个深度编码器,从ResNet18中提取每像素表示,产生多尺度特征;ii)参数共享深度解码器,迭代更新初始化为零的逆深度,避免粗糙级的空间不精度传播到精细部分;iii)一个参数学习的上采样模块,它自适应地对估计的逆深度进行上采样,保持其运动边界;iv)一个多尺度特征调制模块,跨多尺度特征图调制内容,为每个迭代更新保持语义更丰富,同时空间更精确的表示。
在每次迭代更新中,R-MSFM在固定的1/8输入分辨率下维护和细化一个单一的逆深度,然后用学习到的掩模将其直接上采样到全分辨率。这与传统的U-Net不同,比如之前的粗到细的架构,首先以粗分辨率(1/32输入分辨率)估计深度,然后逐步上采样和细化,直到完全分辨率。通过在固定的精细分辨率下的逐步细化,R-MSFM克服了从粗到细的体系结构的几个限制:从粗分辨率到细分辨率的误差传播,描绘小对象的困难,多尺度解码器的独立性。实验结果表明,RMSFM在合理的推理速度下,在精度和模型尺寸上都取得了最先进的性能。

02相关工作

深度估计是理解三维世界的重要组成部分,它对机器人系统和许多视觉任务[29,16,7,1]有重大影响。对于传统的计算机视觉方法,从单个图像的深度估计是一个不适定问题,而不依赖于第二个输入帧。然而,人类可以通过与现实世界的互动,学习到大量关于3D场景理解的先验知识。因此,即使只有一只眼睛,他们仍然可以得到场景的绝对深度。随着模拟人脑机制的深度学习技术的发展,许多工作都致力于从单目图像中提取场景深度。我们将在下一节中回顾这些相关的方法。

2.1 全监督的单目深度估计

全监督的单目深度估计网络采用激光雷达的标签真实值作为监督信号进行深度回归。在训练过程中,该网络可以在真实标签的引导下学习深度信息。Eigen等人[9]首先利用深度学习技术构建了单目深度估计器,从单个输入图像中推断出相应的深度。该估计器由一个全局估计层和一个局部细化层组成。因此,该估计器保留了图像边缘的深度值,并在那一年的纽约大学深度[35]和KITTI[11]基准测试上取得了最先进的结果。但是,全局估计层和局部细化层需要单独训练,这增加了训练过程的难度。为了解决上述问题,Evan等[33]将专门为语义分割设计的全卷积网络[25]扩展到单目深度估计任务,使训练过程能够端到端进行,同时提高精度。由于深度残差学习在图像识别[17]中的成功,Laina等[21]将其引入单目深度估计领域,用反向Huber损失[47]代替L2损失,从而进一步稳定了训练过程,提高了网络的精度。虽然使用真实标签训练的单目深度估计网络具有较高的精度,但从不同场景获得真实标签仍然限制了这些方法在现实世界中的应用。

2.2 自监督的单目深度估计

调整在全监督方法中使用的真实标签的限制,许多工作集中于由在现实世界中普遍存在的摄像机,在帧之间的几何约束作为监督信号。R.Garg等人,[10]首先以自监督的方式使用立体训练对从单个图像中推断出相应的深度。他们合成了一种新的视图来获得一个监督信号,其中包括在左输入图像和扭曲的右图像之间的光度损失。Clement Godard等人[13]通过引入一种新的网络架构,提高了单目深度估计的训练损失,包括左右视差一致性损失和单尺度SSIM项[41],进一步提高了单目深度估计的精度。由于在现实世界中,连续的图像比立体的图像对更容易获得,因此适合直接使用它们作为单目深度估计网络的训练集。Zhou等人[46]首先联合训练了一个单独的姿态网络和一个深度估计网络,使用由光度损失自监督的连续图像和一个额外的运动解释掩模。虽然这项工作证明了从单个图像中估计深度的可行性,但其鲁棒性仍然存在遮挡和移动目标的影响。经过仔细分析,Godard等[14]表明,设计良好的损失函数比复杂的体系结构更有效。他们提出了i)一种策略,将光度损失最小,而不是对每个像素进行平均,以解决单目训练中连续图像中的遮挡。ii)一种在连续帧之间自动将像素标记为静态或相对静态的方法。iii)多尺度光度损失,对中间层的所有深度进行采样,以获得全分辨率,以便更好的监督。受[40,20]的启发,AdrianJohnston等人[19]将自注意机制和离散视差预测引入单目深度估计领域,使网络在非相邻区域和运动边界上更具有鲁棒性。虽然自监督单目深度估计的精度有了显著的提高,但仍远非完全监督的方法。在本工作中,我们证明了基于多尺度特征调制模块和参数共享解码器在固定分辨率下的迭代深度细化的优越性。

03方法

图1 整体架构 (a):输入帧由ResNet18(没有最后两个块)进行编码,以产生具有1/2、1/4和1/8输入分辨率的多尺度特征图。然后,将这些特征图统一为相同的大小,并按顺序输入到一个参数共享的深度解码器,以迭代地更新一个逆深度。此外,我们使用MSFM模块来在迭代更新期间保持语义更丰富,同时空间上更精确的表示。最后,我们学习了一个凸掩模,在每次更新中对估计的逆深度进行上采样到全分辨率。(b)输入帧的连接由PoseNet计算,得到一个单一的6自由度相对姿态。
在本一节中,我们描述了我们提出的R-MSFM的细节,该RMSFM使用单个RGB图像来产生相应的深度,以及让我们的网络从未标记的单目视频中学习的自监督策略。我们的模型的概述如图1所示。

3.1深度编码器

3.2深度解码器

我们的深度解码器采用了一个参数共享结构,它在固定的1/8输入分辨率下工作,以避免传统的粗到精细结构造成的错误传播。深度解码器通过五个连续的卷积层输出逆深度(输出处用Sigmoid激活函数,其他地方LeakyReLU)。特别地,我们对估计的逆深度映射本身应用两个卷积层来生成深度特征映射。因此,第三个卷积层的输入是来自前一个卷积层的输出和深度特征映射的连接。

3.3参数-学习式上采样模块

我们采用参数学习的上采样模块[37],而不是双线性插值,在固定的1/8输入分辨率下自适应地将估计的逆深度上采样到全分辨率。上采样模块将每个像素的全分辨率逆深度视为1/8输入分辨率下邻近的3×3网格的凸组合。它从深度解码器中的第三个卷积层获取特征映射,然后利用两个连续的卷积层产生一个凸掩模。然后在Softmax上执行凸掩模,以1/8输入分辨率控制9个邻域的权值,并用于检索全分辨率下检索逆深度。

3.4 迭代更新

其中ConvH和ConvR分别是可分离卷积,不共享参数权重。由于深度编码器有三个尺度的特征图,我们自然地更新了逆深度三次。特别是,我们可以在每个尺度上对由MSFM模块调制的特征映射应用一个额外的卷积层,从而对逆深度进行6次更新。

3.5 自监督

04实验

我们使用Eigen等人[8]的数据分割来训练和评估我们的模型。在训练之前,我们按照Zhou等人的[46]从训练集中删除静态图像。这些结果是39810个训练序列,其中包括三个连续帧的单目训练和一个额外的立体计数器的混合训练,以及4424个验证序列。为了恢复尺度信息,我们采用了每幅图像的中值标签尺度[46]。在评估我们的模型时,我们将深度估计限制在0米到80米之间的固定深度范围内,并通过[9]中提出的五个广泛使用的评估指标将其与其他最先进的方法进行性能:AbsRel、SqRel、RMSE、RMSElog和精度进行比较,公式如下:
我们用不同的学习集(单目triplets(M)和单目+立体quadruplets(MS))、更新和输入分辨率,以自我监督学习的方式训练我们的模型,从而导致我们的模型的不同变体。我们将我们的模型与其他最先进的方法进行了比较,并发现它们以最少的模型参数获得了令人满意的结果,如表1所示。

4.1 部署细节

4.2 KITTI结果

表1. 将我们的模型与现有的在KITTI特征分割[8]上的方法进行了比较。每个度量的最佳结果以粗体显示,第二个结果用下划线表示。表中记录了使用Train列中看到的两种不同策训练模型的结果:M表示模型只使用自监督单目监督训练,MS表示模型同时使用自监督单目和立体监督训练。
图2 KITTI特征分割[8]检验集的定性结果。我们的模型可以稳健地估计在反射和颜色饱和区域的复杂物体的更清晰的深度。
在KITTI Eigen特征测试集[8])上的实验结果如表1所示。与其他采用自监督训练策略的最先进的方法相比,我们的方法在显著降低模型参数的同时产生了类似的结果。从表1中可以看出,我们的方法使用四分之一的参数就显著优于基线Monodepth2[14],并且仅使用3%的参数就接近当前最先进的PackNet-SfM[15]。此外,我们在之前的工作[14]之后进行了高分辨率(1024×320)的训练,该操作导致我们的模型在相同的训练计划[14]下优于所有现有的方法。此外,我们还可以得到与特征深度[34]类似的结果,它利用了鲁棒的特征度量自监督监督和更强的ResNet50编码器。总体的定性结果如图2所示。可以看出,我们的方法对三种方法及其变体的弱纹理区域(第1和第4列)和薄结构(第2列、第3和第4列)得到了满意的结果。这些定量和定性的结果证明了我们的方法的优越性。此外,这意味着我们的RMSFM从迭代更新中获益更多,这迫使网络从高级特征图中学习粗糙的逆深度,然后从低级特征图中细化其边界区域。然而,当场景中有移动的物体时,我们的R-MSFM无法学习良好的深度,就像所有自监督深度估计方法一样,如图4所示。这受到自我监督损失的限制,它在与移动物体一起的区域断裂。

4.3 KITTI消融研究

表2 对我们的R-MSFM体系结构的消融研究,在640×192分辨率的KITTI特征[8]测试集上。我们评估了参数共享深度解码器、多尺度特征调制(MSFM)和迭代更新的影响。开始和中间表示我们嵌入MSFM模块的位置。所有的模型都在相同的设置下进行训练。
表3迭代更新的量化。在KITTI特征分割测试集上不同迭代更新下模型的每次更新结果[8]。
图3 迭代更新的可视化。我们展示了从第一次更新的估计深度和从后续更新的剩余改进。像素的亮度值表示细化的幅度,其中像素越亮,细化的程度越大。红框区域中的像素表明,细化随着更新次数的增加而减少,并在五次更新后趋于饱和。
表2显示了我们提出的R-MSFM的消融研究,其中我们首先从基线Monodepth2[14](第一行)开始。接下来,通过删除其深度编码器中的最后两个块,并使用参数共享深度解码器对逆深度执行三次更新,我们得到了我们的R-MSFM3-A模型(第二行)。然后,通过应用一个额外的MSFM模块,我们分别得到了我们的模型的三个变体:R-MSFM3-B、R-MSFM3-C、R-MSFM3-D,它们只在应用该模块的位置上有所不同。R-MSFM3-B模型(第三行)在深度解码器的第三层之后应用模块,R-MSFM3-C模型(第4行)在深度解码器开始应用模块,R-MSFM3-D模型(第5行)在两个位置应用模块。最后,通过对R-MSFM3-C进行三次额外的更新,我们得到了我们的R-MSFM6-C模型。与基线模型Monodepth2相比,上述所有模型都显示出其优越性。
参数共享深度解码器的优点:基线Monodepth2[14]采用粗到细的架构,逐渐降低输入图像的分辨率聚合强大的低级表示深度编码器,然后相应地提高其分辨率,直到全分辨率推断多尺度深度的几个深度解码器。这种体系结构在大多数情况下都工作得很好,但是,它受到过多的参数和错误传播的限制。由于参数共享深度解码器,我们的R-MSFM-A获得了与Monodepth2相似的结果,但其参数仅为Monodepth2的20%,证明了我们的体系结构的有效性。
MSFM模块的优点:将我们的MSFM模块应用于R-MSFM-A模型总是能提高性能。如表2所示,R-MSFM3-C, 它在深度解码器的开始嵌入MSFM模块,以最低的计算成本提供最大增量的性能增益。此外,添加一个额外的MSFM模块并不会导致性能改进,因为它的结构复杂性。
迭代更新的好处: 更多的更新总是会导致我们的模型的性能改进,如表1所示。特别是在输入高分辨率输入图像时,模型的精度显著提高。一个原因是,使用高分辨率特征图进行额外的更新比低分辨率的能为解码器提供更多的信息。表3和图3说明了迭代更新的好处,表明第一次更新负责粗估计,而其余的更新负责逐步细化,特别是在包含复杂对象的区域。然而,应该注意的是,在更新6时,精度是饱和的,这主要集中在小的边界上,而不是大的目标。最后,运行比训练的模型更多的迭代会降低性能。由于其余的多尺度特征图并不直接参与参数共享解码器和基于GRU的MSFM模块的优化过程。

4.4成分分析

图4 失败情况。移动物体对于单眼深度估计一直具有挑战性,它通常会正确地接近地面,随着它的上升精度会下降。
单目深度估计系统的灵活性使其具有实际部署。因此,有必要对其复杂性进行分析。与现有的基于类似unet的粗到细架构的模型[14,15,45]不同,我们的R-MSFM具有传统编码器的一小部分(不包括最后两个计算量很大的块),如ResNet18和一个参数共享解码器。表4详细说明了我们模型的每个部分的状态,包括推理速度、浮点操作(FLOPs)和所使用的参数,并将它们与其他最先进的方法进行了比较。可以看出,从ResNet18中排除最后两个计算重块显著减少了使用的参数,与Monodepth2[14]相比减少了94%。另一方面,ResNet中的残差加法不可避免地限制了推理速度,导致其加速度比Monodepth2提高了48%。当涉及到解码器部分时,迭代更新的过程不可避免地会增加计算开销(FLOPs)。但是,我们的解码器的普通拓扑没有残差加法使推理计算高效,每次更新大约需要4.75B FLOP和3ms。最后,参数经济、计算高效和准确的架构使我们的 R-MSFM 适合在嵌入式平台上部署。

05总结

我们提出了R-MSFM-循环多尺度特征调制-一种新的端到端可训练的自监督单目深度估计模型。它利用从深度编码器中提取的多尺度特征图,通过参数共享深度解码器迭代更新反向深度,避免了从低分辨率到高分辨率的误差传播。此外,R-MSFM在深度解码器的开始处嵌入了一个多尺度特征调制(MSFM)模块,在迭代更新期间保持语义上更丰富,同时在空间上更精确的表示。此外,它采用参数学习上采样器代替双线性插值对估计的逆深度进行上采样,保持其运动边界。高精度和轻量级的特性表明,我们的R-MSFM适用于实际应用。

参考文献

重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近5000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
 圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~

继续阅读
阅读原文