Fine-grained Semantics-aware Representation Enhancement for Self-supervised Monocular Depth Estimation
用于自监督单目深度估计的细粒度语义感知表示增强
0 Abstract
??自监督单目深度估计由于其实用价值和最近的一些有前途的改进从而得到了人们广泛的关注。然而,大多数研究工作忍受着光度损失的有限性,尤其是在弱纹理和对象边界。为了克服这一缺点,本文提出了一种跨域的语义辅助手段,本文目的在于通过隐士语义知识增强几何表示。提出了两种方法,一个是语义引导的局部几何优化中间深度表示的度量学习方法,另一个是提出一种新的特征融合模块,该模块利用两种异构特征表示之间的跨模态。
1 Introduction
??深度估计是机器人、增强实现和自动驾驶中的一项关键任务。它从成像设备中测量全部或部分像素到传感器中目标物体的距离。但配备此类设备需要高成本和设备的高强度运行,这使得深度估计受到限制。单目深度估计可以在不进行额外测量的情况下给定2D图像中的深度,它有助于从捕获的场景中理解三维场景中的几何体,从而缩小物理世界和图像之间的尺寸差距。 ??由于其重要性和成本效益,已有许多研究者提高了深度估计精,时间一致性和深度范围。神经网络的发展对于单目深度估计做出了巨大的贡献。 ??现有的许多深度估计方法采用合成数据计算的标签或者是深度传感器的标签来作为网络训练的约束方式。尽管这些方法在深度估计方面有了显著性的改进,但是他们仍然存在标签获取的高成本、有限的可用的地面真实深度数据、采样数据的有限深度和深度值中存在明显噪声等多个问题。为了避免这些问题,最近有人提出了自监督单目深度估计。??值得注意的是,SFMlearner利用视频序列中的连续帧的几何进行联合训练深度网络和位姿网络。它展现出了和监督方法相当的性能。然而,最近的工作大多采用光度损失和平滑度约束,因此他们只能有限的估计边缘地区的深度信息,此外,移动对象和姿势网络中的不确定性会破坏训练,导致不正确的深度信息,尤其在对象边界上。 ??最近有些方法通过跨域的语义分割方法来加强深度估计的精度,他们通过移除图像中的运动物体或者对运动物体进行显式建模来进行深度信息的约束。此外,相应语义对象内深度平滑度的正则化加强了深度和语义预测之间的一致性。在本文中,我们不通过移除运动物体,也不根据语义标签来调整深度值(?你的方法不就是根据语义信息调整深度信息嘛),我们采用一种新的语义引导的三重态丢失模块,以根据隐式语义指导完善深度表征。在深度估计中,每个对象的相邻像素应该具有相似的深度值,而跨越语义边界即不同物体应该具有较大的深度差异。针对以上深度信息特点,本文结合了一种简单有效的基于面片的采样策略,我们的度量学习方法利用语义引导的局部几何信息来优化对象边界附近的像素表示,从而改进深度预测。此外,我们设计了一个跨任务注意力模块,以改进深度特征,使其在语义上更加一致。它通过多个表示子空间计算参考特征和目标特征之间的相似性,并有效地利用异构表示之间的跨膜态交互。总体贡献如下。
- 通过面片采样的方式来提取语义引导的局部几何,利用该信息来细化度量学习公式中的深度特征。
- 提出一种新的跨任务特征融合架构,该架构充分利用语义的隐式表示来学习深度特征。
- KITTI数据集表现良好。
2 Related work
??最近神经网络的发展促进了单目深度估计的精度,无监督的方法通过单目的视频序列即可训练深度估计网络与附加的位姿网络,最近的方法采用光流或者特征地图之间的函数几何约束来正则化损失,最近的工作提出了既有语义的自监督深度估计。他们增强了任务间的一致性和平滑性损失,移除了运动物体或者明确运动物体的建模。 ??关于注意力网络,一些方法设计了一个自我关注方案,捕捉长期依赖性。最近,交叉注意方案被用于跨异构表示提取特征。受多头注意和交叉注意的启发,我们提出了一种在深度和分割上利用交叉任务特征的新方法。
3 Method
??网络的整体框架如下没什么太新的东西,在传统框架上加入了一个语义分割的解码器,并和深度估计网络共用同一个编码器,采用交叉熵损失LCE来训练语义分割网络,通过三元组损失LSGT来约束每一层中St和Fdl,目的在于将同一物体的深度信息约束到相近,拉大不同物体的深度信息。 ??首先将语义标签以1的步长划分为k×k大小的图像块。对于每个面片,选择面片的中心记为Pi,选择与锚定像素相同的面片为Pi+,不同的面片记为Pi-,使用Pi+和Pi-来判断Pi是否位于语义边界,例如在Pi-=0是表示Pi位于特定对象内且不跨越边界(即同一区域内没有其他标签),当Pi+和Pi-都大于0时,代表Pi位于语义边界。由于语义分割网络的预训练过程中,会出现不准确的语义分割情况,所以设置了阈值T,当Pi+和Pi-都大于T时(K为区域大小为5的时候效果较好,T=K-1),代表Pi位于语义边界,如下图所示。 ??当区分出带有语义信息的Pi+和Pi-后,将位置同步到预测的深度图Fdl中,从而区分出d+区域和d-区域,采用如下公示计算两个区域和中心i点的深度差异并归一化。 ??改方法主要是针对边界区域,即对于物体边界的深度信息进行差异化,即减少锚点i和相同区域Pi+的距离,增加锚点i和不同区域Pi-的距离。但是语义边界并不总能保证两个物体的深度信息差异过大,这会导致有些时候不会出现我们想要的效果,所以采用了到余量的三重态损失来进行约束,即当负距离d-(i)大于正距离d+(i)+m时不再优化(这里可以理解为为了拉大不同物体但具有相同深度的边界差距时,可以选择在负距离或者正距离上加一个值,即为m)。其中m为超参数(m=0.3缺少m的选择方式,这里加m我猜是由于场景中存在这大量的深度边界相似情况,这导致不加m这一模块几乎没作用)。LSGT是LPi的平均表示。本文对于每一层的深度特征进行求和,最终乘以参数δ.并计入总损耗。
??跨域的多嵌入注意力模块,目的在于通过深度图Fdl和语义分割图Fsl进行双向调整,具体的公式我就不放了,大致就是把下图描述了一下。
4 Experimental results
??KITTI测评及消融同实验,0.886其实效果不是特别高。还有些其他模块的消融实验我就不放了,感兴趣的可以自己去看原文。 ps:20年末的时候我和亮博聊过,是不是可以约束一个物体内的深度让他保持一致,这一篇论文的第一个创新点与我当时的想法不谋而合。但是这一篇给我的感觉不是很好,第一个点是不错,但而第二个点的跨域注意力我不敢苟同,我不是说他的注意力模块没有用,只是对于深度估计的指标提升的太少了,这两个模块总体才提了0.11,消融实验里更是在0.002左右提升。跑深度学习的应该都知道,同一个代码跑两次都会出现不一样的指标,尤其是在0.001这个档次左右,浮动的情况太多了。
|