The Temporal Opportunist: Self-Supervised Multi-Frame Monocular Depth
时间机会主义者:自监督多帧单目深度
0 Abstract
大多数的单目深度估计网络在训练时都没有采用时间序列最为约束信息,本文提出了一种Manydepth,基于立体匹配,提出了一种基于端到端成本量的深度估计网络,并且提出了新的一致性损失,在面对运动物体时,鼓励网络忽略掉成本量,并且提出了一种应对静态相机的增强方案,在KITTI和Cityscapes上效果良好。
1 Introduction
理解图像中的逐像素深度信息已被证实是非常有用的工具,其广泛应用于增强现实,自动驾驶和三维重建。虽然专业硬件例如结构化光和激光雷达传感器可以给出每像素深度,但是其依赖昂贵的硬件支持,这使得无需硬件辅助的自监督单目深度估计方法得到了大量的关注。虽然自监督单目深度估计非常有前途,但是目前还无法和专业深度硬件和深度多视图方法相提并论。
为了缩小性能差距,我们利用了在大多数方法中被忽略的时间序列信息,我们共做出一下三项贡献:
- 一种新的自监督多帧深度估计模型,结合了单帧和多视图深度估计的优势。
- 我们采用了一种新的损失来缓解运动物体在静态世界中的估计问题(即自适应忽略运动成本量)。
- 剔除一个自适应成本量来克服单目序列自监督训练引起的尺度歧义。
2 Related work
单目深度估计的目标是从图像中获得每个像素点 的深度信息,监督方法要么采用深度传感器的密集监督,要么采用人类注释的稀疏监督,自监督方法消除了地面真值的限制,采用立体对或者单目视频系列进行图像重建损失训练。自监督的最新进展集中于解决单独冲图像中学习所带来的各项挑战,例如更强大的图像重建损失,离散而非连续的深度预测,特征空间重建损失,遮挡处理和改进的网络体系等。
我们的方法与多视图深度估计有关,早期的深度立体方法主要使用卷积层从图像对映射使用地面真值监督,但这些方法被一些监督的变体所超越,与我们最相关的是自监督的MVS方法(MVS,多视图立体),但这些方法有以下缺陷,1.在测试时需要多个输入图像,2.假设相机不是静态的,3.要求提供相机位姿,4.假定没有运动物体。
3 Method
这一篇是我上一篇的baseline,网络框架具体的就不细讲了,大致描述一下,当前帧送入下采样网络备用,相邻帧和当前帧送入posenet提取位姿,采用假设深度进行扭曲变换,最后将变换后的特征和当前帧的特征进行成本量构建,送入网络输出深度图。
创新点一,自适应的成本量,成本量的构建需要已知的深度范围,但单目深度估计只能得到相对深度信息,无法得到绝对深度,所以本文提出可以在训练过程中动态调整深度范围,并记录所有批次中的深度最大值和最小值。
创新点二,解决成本量过拟合,就是运动物体在成本量中会出现深度预测空洞(其实就是没有视差,与相机相对静止了,所以做减法为0),由于立体匹配要求多帧输入,当单帧输入时无法构造成本量(就一个特征,没法做差),解决方法是使用单目深度估计网络(已训练好的),该网络可能整体指标有限,但在运动物体上的指标要显著好于基于成本量的深度估计方法,所以本文对预测的深度施加了以下约束。一个简单的L1损失,其中Dt为预测深度,Dt-为单独网络预测。
提出了一个不可靠像素的模板计算方法,方法如下,其中DCV是在成本量后产生的深度成(本量就是视差图,也就是视差取反),以下公式其实就是识别运动物体,也就是本文所说的不可靠像素,原理就是Dt-和DCV差距较大的地方为运动像素。
创新点三,静态世界和开始序列,其实就是推广了一下立体匹配在单帧深度估计上的使用,在单帧和相邻帧相同情况下的使用问题,第一个方法是在训练期间不定时将成本量替换为0,以加强网络对于单帧输入是的适应能力,后一种是在训练时一定概率将相邻帧替换为彩色增强后的图片。
4 Experiments
KITTI指标。
学到了一种新的表示方法吧,将得到的深度图和GT做比较,红色表示大错误,蓝色表示小错误,所以Error map越蓝效果越好,相比于原来的画框,这样可能更加直观。(可惜车还是很红
)