Bibliography
Godard, C., Mac Aodha, O., Firman, M., & Brostow, G. J. (2019). Digging Into Self-Supervised Monocular Depth Estimation. Proceedings of the IEEE International Conference on Computer Vision (ICCV), 2019, 3828-3838. https://doi.org/10.1109/ICCV.2019.00393
摘要
像素级别的真实深度数据在大规模获取时具有挑战性。为了克服这一限制,自监督学习已成为训练单目深度估计模型的有前途的替代方案。在本文中,我们提出了一系列改进,这些改进使得与现有自监督方法相比,无论是定量还是定性深度图都有了提升。
单目自监督训练的研究通常探索越来越复杂的架构、损失函数和图像形成模型,这些最近都帮助缩小了与完全监督方法之间的差距。我们展示了一种令人惊讶的简单模型及其相关的设计选择,能够生成更优的预测。具体来说,我们提出了:(i)最小重投影损失,旨在稳健地处理遮挡,(ii)一种全分辨率多尺度采样方法,可减少视觉伪影,(iii)自动掩蔽损失,以忽略违反摄像机运动假设的训练像素。我们分别展示了每个组件的单独有效性,并在KITTI基准上展示了高质量的、达到最新技术水平的结果。
1. 引言
我们希望通过单个彩色输入图像自动推断出密集的深度图像。没有第二个输入图像来进行三角测量的情况下,估计绝对或相对深度似乎是一个不适定的问题。然而,人类在现实世界中导航和互动,能够为新的场景假设出合理的深度估计 [18]。
生成高质量的深度图是很有吸引力的,因为它可以低成本地补充用于自动驾驶汽车的LIDAR传感器,还可以实现新的单张照片应用,如图像编辑和AR合成。解决深度问题也是利用大型无标签图像数据集对深度网络进行预训练的一种强大方法,用于后续的判别任务 [23]。然而,收集大规模和多样化的带有精确深度真值的训练数据集用于监督学习 [55, 9] 本身就是一个艰巨的挑战。作为替代方案,最近几种自监督方法表明,仅使用同步的立体对 [12, 15] 或单目视频 [76] 也可以训练单目深度估计模型。
在这两种自监督方法中,单目视频是立体监督的一个有吸引力的替代方案,但它也带来了自身的一系列挑战。除了估计深度,模型还需要在训练期间估计时间图像对之间的自运动。这通常涉及训练一个位姿估计网络,该网络将有限的帧序列作为输入,并输出相应的摄像机变换。相反,使用立体数据进行训练使得摄像机位姿估计成为一次离线校准,但可能导致与遮挡和纹理复制伪影相关的问题 [15]。
我们提出了三个架构和损失创新,结合在一起,在使用单目视频、立体对或两者训练时,使单目深度估计有了显著提高:(1)一种新的外观匹配损失,解决了使用单目监督时出现的遮挡像素问题。(2)一种新的简单自动掩蔽方法,用于忽略单目训练中没有观察到相对相机运动的像素。(3)一种多尺度外观匹配损失,在输入分辨率下进行所有图像采样,从而减少深度伪影。这些贡献共同产生了KITTI数据集上单目和立体自监督深度估计的最新技术成果,并简化了现有高性能模型中的许多组件。
2. 相关工作
我们回顾了在测试时,以单张彩色图像作为输入,并预测每个像素的深度为输出的模型。
2.1. 监督深度估计
从单张图像估计深度本质上是一个不适定的问题,因为相同的输入图像可以投射到多种可能的深度。为了解决这个问题,基于学习的方法显示了其能够拟合预测模型来利用彩色图像及其相应深度之间的关系。多种方法如结合局部预测 [19, 55]、非参数场景采样 [24]、到端到端监督学习 [9, 31, 10] 都被探索过。基于学习的算法也是一些最优的立体匹配 [72, 42, 60, 25] 和光流 [20, 63] 方法之一。
上述许多方法是完全监督的,在训练过程中需要真实的深度数据。然而,这在多样化的现实环境中获取具有挑战性。因此,越来越多的工作利用弱监督训练数据,例如已知的对象大小 [66]、稀疏的序数深度 [77, 6]、监督的外观匹配项 [72, 73] 或未配对的合成深度数据 [45, 2, 16, 78],同时仍然需要收集额外的深度或其他注释。合成训练数据是一个替代方法 [41],但生成大量包含多样化真实外观和运动的合成数据并非易事。最近的工作表明,传统的运动结构(SfM)管道可以为摄像机位姿和深度生成稀疏的训练信号 [35, 28, 68],其中SfM通常作为与学习解耦的预处理步骤。最近,[65] 在我们的模型基础上,结合了来自传统立体算法的噪声深度提示,改进了深度预测。
2.2. 自监督深度估计
在没有真实深度数据的情况下,另一种选择是使用图像重建作为监督信号来训练深度估计模型。在这里,模型以一组图像作为输入,可以是立体对或单目序列的形式。通过对给定图像进行深度预测并将其投影到邻近视角,模型通过最小化图像重建误差进行训练。
自监督立体训练
一种自监督的形式来自于立体对。在训练过程中,立体对是同步获取的,通过预测图像对之间的像素视差,可以训练深度网络在测试时执行单目深度估计。[67] 提出了这样一个离散深度模型,用于新视图合成问题。[12] 通过预测连续视差值扩展了这种方法,[15] 通过加入左右深度一致性项,生成了优于同时期监督方法的结果。基于立体的方案被扩展到半监督数据 [30, 39]、生成对抗网络 [1, 48]、附加一致性 [50]、时间信息 [33, 73, 3] 和实时应用 [49]。
在这项工作中,我们展示了通过在外观损失和图像分辨率上的精心选择,仅使用单目训练也可以达到立体训练的性能。此外,我们的贡献之一也可以应用于立体训练,从而提高其性能。
自监督单目训练
一种更少受限的自监督形式是使用单目视频,其中连续的时间帧提供了训练信号。在这里,除了预测深度外,网络还必须估计帧之间的相机位姿,这在存在物体运动时具有挑战性。这个估计的相机位姿仅在训练期间需要,以帮助约束深度估计网络。
在最早的单目自监督方法之一中,[76] 训练了一个深度估计网络以及一个单独的位姿网络。为了处理非刚性场景运动,增加了一个运动解释掩码,使模型能够忽略违反刚性场景假设的特定区域。然而,他们模型的后续在线版本禁用了这一项,从而实现了更好的性能。受[4]启发,[61]提出了一个更复杂的运动模型,使用多个运动掩码。然而,这未得到充分评估,因此难以理解其实际效果。[71] 也将运动分解为刚性和非刚性成分,使用深度和光流来解释物体运动。这改善了光流估计,但他们报告称联合训练光流和深度估计时未见提升。在光流估计的背景下,[22] 表明显式建模遮挡有助于提升效果。
最近的方法开始缩小单目与基于立体自监督之间的性能差距。[70] 将预测的深度限制为与预测的表面法线一致,并且[69] 强化了边缘一致性。[40] 提出了基于几何的近似匹配损失,以促进时间深度一致性。[62] 使用深度归一化层克服了由[15]常用的深度平滑项导致的偏向较小深度值的问题。[5] 利用了预计算的实例分割掩码来帮助处理运动物体。
基于外观的损失
自监督训练通常依赖于对帧之间物体表面外观(即亮度恒定)和材质属性(例如朗伯特反射)的假设。[15] 表明,包含基于局部结构的外观损失 [64] 相比于简单的像素对比差异 [67, 12, 76],显著提高了深度估计性能。[28] 将这种方法扩展到包含一个误差拟合项,[43] 探索了将其与基于对抗的损失相结合,以鼓励生成真实感的合成图像。最后,受[72]的启发,[73] 使用真实深度训练了一个外观匹配项。
3. 方法
在此部分,我们描述一个深度预测网络,该网络接受单张彩色输入图像 I t I_t It,并生成深度图 D t D_t Dt。我们首先回顾单目深度估计自监督训练的关键思想,然后介绍我们的深度估计网络和联合训练损失。
3.1. 自监督训练
自监督深度估计将学习问题框定为一种新视图合成,通过训练网络从另一个图像的视角预测目标图像的外观。通过约束网络使用中间变量(在我们的案例中是深度或视差)进行图像合成,我们可以从模型中提取这种可解释的深度。这是一个病态问题,因为在每个像素上有大量可能的错误深度,给定两个视角之间的相对姿态,这些错误深度仍能正确重建新视图。传统的双目和多视角立体匹配方法通常通过在深度图中施加平滑约束,并在求解每个像素深度时计算局部块的一致性来解决这种不确定性,例如[11]。
与[12, 15, 76]类似,我们将问题表述为在训练时最小化光度重投影误差。我们表示每个源视图 I t ′ I_{t'} It′ 相对于目标图像 I t I_t It 的姿态为 T t → t ′ T_{t \rightarrow t'} Tt→t′。我们预测一个密集的深度图 D t D_t Dt,以最小化光度重投影误差 L p L_p Lp:
L p = ∑ t ′ p e ( I t , I t ′ → t ) , L_p = \sum_{t'} pe(I_t, I_{t' \rightarrow t}), Lp=t′∑pe(It,It′→t),
并且
I t ′ → t = I t ′ ⟨ p r o j ( D t , T t → t ′ , K ) ⟩ . I_{t' \rightarrow t} = I_{t'} \langle proj(D_t, T_{t \rightarrow t'}, K) \rangle. It′→t=It′⟨proj(Dt,Tt→t′,K)⟩.
这里, p e pe pe 是光度重建误差,例如像素空间中的 L1 距离; p r o j ( ) proj() proj() 是在 I t ′ I_{t'} It′ 中投影深度 D t D_t Dt 后的结果 2D 坐标, ⟨ ⟩ \langle \rangle ⟨⟩ 是采样操作符。为了简化符号,我们假设所有视角的预先计算内参 K K K 是相同的,但它们也可以是不同的。按照[21]的做法,我们使用双线性采样来采样源图像,这在局部上是可微的,并且我们参考[75, 15]使用 L1 和 SSIM [64] 作为光度误差函数 p e pe pe:
p e ( I a , I b ) = α 2 ( 1 − S S I M ( I a , I b ) ) + ( 1 − α ) ∥ I a − I b ∥ 1 , pe(I_a, I_b) = \frac{\alpha}{2} (1 - SSIM(I_a, I_b)) + (1 - \alpha) \|I_a - I_b\|_1, pe(Ia,Ib)=2α(1−SSIM(Ia,Ib))+(1−α)∥Ia−Ib∥1,
其中 α = 0.85 \alpha = 0.85 α=0.85。和[15]一样,我们使用边缘感知平滑:
L s = ∣ ∂ x d t ∗ ∣ e − ∣ ∂ x I t ∣ + ∣ ∂ y d t ∗ ∣ e − ∣ ∂ y I t ∣ , L_s = |\partial_x d_t^*| e^{-|\partial_x I_t|} + |\partial_y d_t^*| e^{-|\partial_y I_t|}, Ls=∣∂xdt∗∣e−∣∂xIt∣+∣∂ydt∗∣e−∣∂yIt∣,
其中 d t ∗ = d t d t ‾ d_t^* = \frac{d_t}{\overline{d_t}} dt∗=dtdt 是来自[62]的均值归一化的反深度,以抑制估计深度的缩小。
在立体训练中,我们的源图像 I t ′ I_{t'} It′ 是立体对中的另一个视图,其相对姿态是已知的。虽然对于单目序列来说,相对姿态在训练之前未知,但[76]表明可以训练第二个姿态估计网络来预测投影函数 p r o j proj proj 中使用的相对姿态 T t → t ′ T_{t \rightarrow t'} Tt→t′。在训练过程中,我们同时求解相机位姿和深度以最小化 L p L_p Lp。对于单目训练,我们使用 I t I_t It 的前后两个相邻帧作为源帧,即 I t ′ ∈ { I t − 1 , I t + 1 } I_{t'} \in \{I_{t-1}, I_{t+1}\} It′∈{It−1,It+1}。在混合训练(MS)中, I t ′ I_{t'} It′ 包括时间相邻帧和对立的立体视图。
3.2. 改进的自监督深度估计
现有的单目方法生成的深度质量低于最佳的完全监督模型。为了缩小这一差距,我们提出了一些改进,这些改进在不增加额外模型组件(且不需要额外训练)的情况下显著提高了预测的深度质量。
逐像素最小重投影损失
在从多个源图像计算重投影误差时,现有的自监督深度估计方法将每个源图像的重投影误差取平均值。这可能会对在目标图像中可见但在某些源图像中不可见的像素造成问题。如果网络为此类像素预测了正确的深度,那么在被遮挡的源图像中,相应的颜色很可能与目标不匹配,从而导致高光度误差惩罚。这些有问题的像素主要来自两个类别:由于相机运动导致的图像边界外像素,以及被遮挡的像素。
我们提出了一种改进方法,可以同时解决这两个问题。在每个像素处,我们不再对所有源图像的光度误差取平均值,而是简单地取最小值。因此,我们最终的逐像素光度损失为:
L p = min t ′ p e ( I t , I t ′ → t ) . L_p = \min_{t'} pe(I_t, I_{t' \rightarrow t}). Lp=t′minpe(It,It′→t).
自动遮蔽静止像素
自监督单目训练通常假设相机在移动且场景是静止的。当这些假设不成立时,例如相机静止或场景中有物体运动时,性能可能会大幅下降。这激发了我们的第二个贡献:一个简单的自动遮蔽方法,它过滤掉在序列中一个帧到下一个帧之间没有外观变化的像素。这使得网络能够忽略以与相机相同速度移动的物体,甚至忽略单目视频中相机停止移动时的整个帧。
多尺度估计
现有的模型使用多尺度深度预测和图像重建以避免陷入局部最小值。我们提出了一种改进方法,将低分辨率深度图上采样到输入图像分辨率,并在这个更高的输入分辨率下计算光度误差。这约束了每个尺度下的深度图能够尽可能精确地重建高分辨率输入目标图像。
最终训练损失
我们将逐像素平滑损失和遮蔽光度损失结合起来:
L = μ L p + λ L s , L = \mu L_p + \lambda L_s, L=μLp+λLs,
并对每个像素、尺度和批次进行平均。
3.3. 其他注意事项
我们的深度估计网络基于通用的 U-Net 架构 [53],即一个具有跳跃连接的编码器-解码器网络,使我们能够同时表示深层抽象特征和局部信息。我们使用 ResNet18 [17] 作为编码器,它包含 1100 万个参数,相较于现有工作中使用的更大且更慢的 DispNet 和 ResNet50 模型 [15]。类似于 [30, 16],我们从 ImageNet [54] 预训练的权重开始,这表明与从头开始训练相比,这可以提高我们紧凑模型的准确性(见表 2)。
我们的深度解码器类似于 [15],输出层使用 sigmoid 激活函数,其他地方使用 ELU 非线性函数 [7]。我们将 sigmoid 输出 σ \sigma σ 转换为深度 D = 1 / ( a σ + b ) D = 1 / (a\sigma + b) D=1/(aσ+b),其中 a a a 和 b b b 的选择将 D D D 约束在 0.1 到 100 单位之间。我们在解码器中使用反射填充,代替零填充,当样本落在图像边界外时返回源图像中最接近边界像素的值。我们发现这显著减少了现有方法中常见的边缘伪影,例如 [15]。
对于姿态估计,我们遵循 [62] 使用轴角表示预测旋转,并将旋转和位移输出缩放为 0.01。对于单目训练,我们使用三个帧的序列长度,而我们的姿态网络由一个修改过的 ResNet18 组成,接受一对彩色图像(或六个通道)作为输入,并预测一个 6 自由度的相对姿态。我们进行水平翻转以及以下训练增强,每次有 50% 的几率:随机亮度、对比度、饱和度和色调抖动,范围分别为 ± 0.2 , ± 0.2 , ± 0.2 \pm0.2, \pm0.2, \pm0.2 ±0.2,±0.2,±0.2 和 ± 0.1 \pm0.1 ±0.1。重要的是,颜色增强仅应用于输入到网络中的图像,而不是用于计算 L p L_p Lp 的图像。输入到姿态和深度网络中的三张图像都使用相同的参数进行增强。
我们的模型在 PyTorch [46] 中实现,在单个 Titan Xp 上训练 20 个 epoch,使用 Adam [26] 优化器,批次大小为 12,输入/输出分辨率为 640 × 192 640 \times 192 640×192(除非另有说明)。我们在前 15 个 epoch 中使用学习率 1 0 − 4 10^{-4} 10−4,然后在剩余的 epoch 中将其降到 1 0 − 5 10^{-5} 10−5。这个学习率是通过使用 10% 数据的专用验证集选择的。平滑项 λ \lambda λ 设置为 0.001。对于立体(S)、单目(M)和单目加立体(MS)模型的训练时间分别为 8、12 和 15 小时。
4. 实验
在此部分,我们验证以下几点:(1) 相比现有的像素平均方法,我们的重投影损失有助于处理被遮挡的像素;(2) 我们的自动遮蔽在训练静止相机场景时尤其提升了结果;(3) 我们的多尺度外观匹配损失提高了准确性。我们在 KITTI 2015 立体数据集 [13] 上评估我们的模型,名为 Monodepth2,以便与先前发布的单目方法进行比较。
4.1. KITTI Eigen 数据集拆分
我们使用 Eigen 等人 [8] 的数据集拆分。除了消融实验外,对于使用单目序列训练(即单目和单目加立体)的模型,我们遵循 Zhou 等人 [76] 的预处理去除静止帧。这导致 39,810 个单目三元组用于训练,4,424 个用于验证。我们对所有图像使用相同的内参,将相机的主点设置为图像中心,并将焦距设置为 KITTI 中所有焦距的平均值。对于立体和混合训练(单目加立体),我们将两个立体帧之间的变换设置为固定长度的纯水平平移。在评估期间,我们将深度上限设置为 80 米,遵循标准做法 [15]。对于我们的单目模型,我们使用 Zhou 等人 [76] 引入的按图像的中位数真实值进行缩放。另请参见补充材料 D.2 节,查看我们对整个测试集应用单一中位数缩放而不是单独缩放每个图像的结果。对于使用任何立体监督的结果,我们不进行中位数缩放,因为训练期间可以从已知的相机基线推断出比例。
我们比较了用不同类型自监督训练的几种模型变体:仅单目视频 (M)、仅立体 (S) 和两者结合 (MS)。表 1 中的结果显示,我们的单目方法优于所有现有的最先进自监督方法。我们还优于最近的显式计算光流和运动掩膜的方法([38, 51])。定性结果见图 7 和补充材料 E 节。然而,与所有基于图像重建的深度估计方法一样,当场景包含违反我们外观损失 Lambertian 假设的物体时,我们的模型也会失效(见图 8)。
如预期的那样,结合 M 和 S 训练数据提高了准确性,这在对大深度误差敏感的指标上尤为明显,例如 RMSE。尽管我们的贡献是围绕单目训练设计的,但在仅使用立体的情况下,我们的表现依然出色。尽管分辨率比 [47] 的 1024 × 384 低,我们仍然实现了高准确性,并且训练时间显著减少(20 vs. 200 个 epoch),且不使用后处理。
4.1.1. KITTI 消融实验
为了更好地理解我们模型各个组件在单目训练中的贡献,我们在表 2(a) 中通过更改模型的不同组件进行了一项消融研究。可以看到,基线模型在没有任何我们提出的改进时表现最差。当所有组件结合在一起时,我们的完整模型(Monodepth2 (full))带来了显著的性能提升。更多关于关闭完整模型部分组件的实验,请参见补充材料 C 部分。
自动掩膜的益处
完整的 Eigen [8] KITTI 拆分包含了几个相机在帧间不移动的序列,例如数据采集车在红绿灯处停下时。这些“无相机运动”序列可能会对自监督单目训练造成问题,因此通常在训练时通过计算昂贵的光流 [76] 来排除这些帧。我们在表 2© 中报告了在完整的 Eigen 数据集拆分上训练的单目结果,即在不删除帧的情况下进行训练。使用完整 KITTI 拆分训练的基线模型表现比我们的完整模型要差。
此外,在表 2(a) 中,我们用 [76] 的预测掩膜重新实现替换了我们的自动掩膜损失。我们发现这个消融模型比完全不使用掩膜还差,而我们的自动掩膜在所有情况下都提高了结果。我们在图 5 中展示了自动掩膜在实际应用中的效果。
ImageNet 预训练的效果
我们遵循先前的工作 [14, 30, 16],使用在 ImageNet [54] 上预训练的权重初始化我们的编码器。尽管有些单目深度预测工作选择不使用 ImageNet 预训练,我们在表 1 中显示,即使在没有预训练的情况下,我们仍然达到了最先进的结果。我们对这些“没有预训练”的模型进行了 30 个 epoch 的训练,以确保收敛。表 2 显示了我们的改进对预训练网络和从头训练的网络都带来了益处;更多消融实验见补充材料 C 部分。
4.2. 其他数据集
KITTI 里程计
在补充材料 A 部分中,我们展示了 KITTI 上的里程计评估。尽管我们主要关注的是更好的深度估计,但我们的姿态网络表现与竞争方法相当。竞争方法通常将更多帧输入到它们的姿态网络中,这可能提高了它们的泛化能力。
KITTI 深度预测基准
我们还在最近引入的 KITTI 深度预测评估数据集 [59] 上进行了实验,该数据集具有更准确的真实深度,解决了标准拆分中存在的质量问题。我们使用此新基准拆分进行模型训练,并使用在线服务器 [27] 进行评估,结果见补充材料 D.3 部分。此外,Eigen 拆分测试帧中有 93% 提供了更高质量的真实深度 [59]。类似于 [1],我们使用这些深度代替重投影的 LIDAR 扫描来与多个现有基准算法比较,仍然显示出更优异的性能。
Make3D
在表 3 中,我们报告了在 Make3D 数据集 [55] 上使用我们在 KITTI 上训练的模型的表现。我们在不使用深度监督的方法中表现优于所有其他方法,评估标准来自 [15]。然而,由于 Make3D 的真实深度和输入图像对齐不佳,可能会导致评估问题,因此需要谨慎对待。我们在比例为 2 × 1 的中心裁剪上进行评估,并对我们的 M 模型应用中位数缩放。定性结果见图 6 和补充材料 E 部分。
5. 结论
我们提出了一种适用于自监督单目深度估计的通用模型,实现了最先进的深度预测效果。我们引入了三个改进:(i) 每像素的最小重投影损失,用来处理单目视频中帧间的遮挡;(ii) 一个自动掩膜损失,用来忽略混淆的静止像素;(iii) 一种全分辨率多尺度采样方法。我们展示了它们如何一起提供一个简单且高效的深度估计模型,可以用单目视频数据、立体数据或单目和立体混合数据进行训练。
致谢
感谢提供结果的作者们,以及 Peter Hedman、Daniyar Turmukhambetov 和 Aron Monszpart 的帮助性讨论。
References
- Filippo Aleotti, Fabio Tosi, Matteo Poggi, and Stefano Mattoccia. Generative adversarial networks for unsupervised monocular depth prediction. ECCV Workshops, 2018.
- Amir Atapour-Abarghouei and Toby Breckon. Real-time monocular depth estimation using synthetic data with domain adaptation via image style transfer. CVPR, 2018.
- V Madhu Babu, Kaushik Das, Anima Majumdar, and Swagat Kumar. Undemon: Unsupervised deep network for depth and ego-motion estimation. IROS, 2018.
- Arunkumar Byravan and Dieter Fox. Se3-nets: Learning rigid body motion using deep neural networks. ICRA, 2017.
- Vincent Casser, Soeren Pirk, Reza Mahjourian, and Anelia Angelova. Depth prediction without the sensors: Leveraging structure for unsupervised learning from monocular videos. AAAI, 2019.
- Weifeng Chen, Zhao Fu, Dawei Yang, and Jia Deng. Single-image depth perception in the wild. NeurIPS, 2016.
- Djork-Arné Clevert, Thomas Unterthiner, and Sepp Hochreiter. Fast and accurate deep network learning by exponential linear units (elus). arXiv, 2015.
- David Eigen and Rob Fergus. Predicting depth, surface normals, and semantic labels with a common multi-scale convolutional architecture. ICCV, 2015.
- David Eigen, Christian Puhrsch, and Rob Fergus. Depth map prediction from a single image using a multi-scale deep network. NeurIPS, 2014.
- Huan Fu, Mingming Gong, Chaohui Wang, Kayhan Batmanghelich, and Dacheng Tao. Deep ordinal regression network for monocular depth estimation. CVPR, 2018.
- Yasutaka Furukawa and Carlos Hernández. Multi-view stereo: A tutorial. Foundations and Trends in Computer Graphics and Vision, 2015.
- Ravi Garg, Vijay Kumar BG, and Ian Reid. Unsupervised CNN for single view depth estimation: Geometry to the rescue. ECCV, 2016.
- Andreas Geiger, Philip Lenz, and Raquel Urtasun. Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite. CVPR, 2012.
- Ross Girshick, Jeff Donahue, Trevor Darrell, and Jitendra Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. CVPR, 2014.
- Clément Godard, Oisin Mac Aodha, and Gabriel J Brostow. Unsupervised monocular depth estimation with left-right consistency. CVPR, 2017.
- Xiaoyang Guo, Hongsheng Li, Shuai Yi, Jimmy Ren, and Xiaogang Wang. Learning monocular depth by distilling cross-domain stereo networks. ECCV, 2018.
- Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. CVPR, 2016.
- Carol Barnes Hochberg and Julian E Hochberg. Familiar size and the perception of depth. The Journal of Psychology, 1952.
- Derek Hoiem, Alexei A Efros, and Martial Hebert. Automatic photo pop-up. TOG, 2005.
- Eddy Ilg, Nikolaus Mayer, Tonmoy Saikia, Margret Keuper, Alexey Dosovitskiy, and Thomas Brox. FlowNet2: Evolution of optical flow estimation with deep networks. CVPR, 2017.
- Max Jaderberg, Karen Simonyan, Andrew Zisserman, and Koray Kavukcuoglu. Spatial transformer networks. NeurIPS, 2015.
- Joel Janai, Fatma Güney, Anurag Ranjan, Michael Black, and Andreas Geiger. Unsupervised learning of multi-frame optical flow with occlusions. ECCV, 2018.
- Huaizu Jiang, Erik Learned-Miller, Gustav Larsson, Michael Maire, and Greg Shakhnarovich. Self-supervised relative depth learning for urban scene understanding. ECCV, 2018.
- Kevin Karsch, Ce Liu, and Sing Bing Kang. Depth transfer: Depth extraction from video using non-parametric sampling. PAMI, 2014.
- Alex Kendall, Hayk Martirosyan, Saumitro Dasgupta, Peter Henry, Ryan Kennedy, Abraham Bachrach, and Adam Bry. End-to-end learning of geometry and context for deep stereo regression. ICCV, 2017.
- Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. arXiv, 2014.
- KITTI Single Depth Evaluation Server. http://www.cvlibs.net/datasets/kitti/eval depth.php?benchmark=depth prediction. 2017.
- Maria Klodt and Andrea Vedaldi. Supervising the new with the old: learning SFM from SFM. ECCV, 2018.
- Shu Kong and Charless Fowlkes. Pixel-wise attentional gating for parsimonious pixel labeling. arXiv, 2018.
- Yevhen Kuznietsov, Jörg Stückler, and Bastian Leibe. Semi-supervised deep learning for monocular depth map prediction. CVPR, 2017.
- Iro Laina, Christian Rupprecht, Vasileios Belagiannis, Federico Tombari, and Nassir Navab. Deeper depth prediction with fully convolutional residual networks. 3DV, 2016.
- Bo Li, Yuchao Dai, and Mingyi He. Monocular depth estimation with hierarchical fusion of dilated cnns and soft-weighted-sum inference. Pattern Recognition, 2018.
- Ruihao Li, Sen Wang, Zhiqiang Long, and Dongbing Gu. UnDeepVO: Monocular visual odometry through unsupervised deep learning. arXiv, 2017.
- Ruibo Li, Ke Xian, Chunhua Shen, Zhiguo Cao, Hao Lu, and Lingxiao Hang. Deep attention-based classification network for robust depth prediction. ACCV, 2018.
- Zhengqi Li and Noah Snavely. Megadepth: Learning single-view depth prediction from internet photos. CVPR, 2018.
- Fayao Liu, Chunhua Shen, Guosheng Lin, and Ian Reid. Learning depth from single monocular images using deep convolutional neural fields. PAMI, 2015.
- Miaomiao Liu, Mathieu Salzmann, and Xuming He. Discrete-continuous depth estimation from a single image. CVPR, 2014.
- Chenxu Luo, Zhenheng Yang, Peng Wang, Yang Wang, Wei Xu, Ram Nevatia, and Alan Yuille. Every pixel counts++: Joint learning of geometry and motion with 3D holistic understanding. arXiv, 2018.
- Yue Luo, Jimmy Ren, Mude Lin, Jiahao Pang, Wenxiu Sun, Hongsheng Li, and Liang Lin. Single view stereo matching. CVPR, 2018.
- Reza Mahjourian, Martin Wicke, and Anelia Angelova. Unsupervised learning of depth and ego-motion from monocular video using 3D geometric constraints. CVPR, 2018.
- Nikolaus Mayer, Eddy Ilg, Philipp Fischer, Caner Hazirbas, Daniel Cremers, Alexey Dosovitskiy, and Thomas Brox. What makes good synthetic training data for learning disparity and optical flow estimation? IJCV, 2018.
- Nikolaus Mayer, Eddy Ilg, Philip Häusser, Philipp Fischer, Daniel Cremers, Alexey Dosovitskiy, and Thomas Brox. A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation. CVPR, 2016.
- Ishit Mehta, Parikshit Sakurikar, and PJ Narayanan. Structured adversarial training for unsupervised monocular depth estimation. 3DV, 2018.
- Raul Mur-Artal, Jose Maria Martinez Montiel, and Juan D Tardos. ORB-SLAM: a versatile and accurate monocular SLAM system. Transactions on Robotics, 2015.
- Jogendra Nath Kundu, Phani Krishna Uppala, Anuj Pahuja, and R. Venkatesh Babu. AdaDepth: Unsupervised content congruent adaptation for depth estimation. CVPR, 2018.
- Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan, Edward Yang, Zachary DeVito, Zeming Lin, Alban Desmaison, Luca Antiga, and Adam Lerer. Automatic differentiation in PyTorch. NeurIPS-W, 2017.
- Sudeep Pillai, Rares Ambrus, and Adrien Gaidon. Superdepth: Self-supervised, super-resolved monocular depth estimation. ICRA, 2019.
- Andrea Pilzer, Dan Xu, Mihai Marian Puscas, Elisa Ricci, and Nicu Sebe. Unsupervised adversarial depth estimation using cycled generative networks. 3DV, 2018.
- Matteo Poggi, Filippo Aleotti, Fabio Tosi, and Stefano Mattoccia. Towards real-time unsupervised monocular depth estimation on cpu. IROS, 2018.
- Matteo Poggi, Fabio Tosi, and Stefano Mattoccia. Learning monocular depth estimation with unsupervised trinocular assumptions. 3DV, 2018.
- Anurag Ranjan, Varun Jampani, Kihwan Kim, Deqing Sun, Jonas Wulff, and Michael J Black. Competitive collaboration: Joint unsupervised learning of depth, camera motion, optical flow and motion segmentation. CVPR, 2019.
- Zhe Ren, Junchi Yan, Bingbing Ni, Bin Liu, Xiaokang Yang, and Hongyuan Zha. Unsupervised deep learning for optical flow estimation. AAAI, 2017.
- Olaf Ronneberger, Philipp Fischer, and Thomas Brox. U-Net: Convolutional networks for biomedical image segmentation. MICCAI, 2015.
- Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein, et al. Imagenet large scale visual recognition challenge. IJCV, 2015.
- Ashutosh Saxena, Min Sun, and Andrew Ng. Make3d: Learning 3d scene structure from a single still image. PAMI, 2009.
- Daniel Scharstein and Richard Szeliski. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms. IJCV, 2002.
- Karen Simonyan and Andrew Zisserman. Very deep convolutional networks for large-scale image recognition. ICLR, 2015.
- Deqing Sun, Xiaodong Yang, Ming-Yu Liu, and Jan Kautz. PWC-Net: CNNs for optical flow using pyramid, warping, and cost volume. CVPR, 2018.
- Jonas Uhrig, Nick Schneider, Lukas Schneider, Uwe Franke, Thomas Brox, and Andreas Geiger. Sparsity invariant CNNs. 3DV, 2017.
- Benjamin Ummenhofer, Huizhong Zhou, Jonas Uhrig, Nikolaus Mayer, Eddy Ilg, Alexey Dosovitskiy, and Thomas Brox. DeMoN: Depth and motion network for learning monocular stereo. CVPR, 2017.
- Sudheendra Vijayanarasimhan, Susanna Ricco, Cordelia Schmid, Rahul Sukthankar, and Katerina Fragkiadaki. SfM-Net: Learning of structure and motion from video. arXiv, 2017.
- Chaoyang Wang, Jose Miguel Buenaposada, Rui Zhu, and Simon Lucey. Learning depth from monocular videos using direct methods. CVPR, 2018.
- Yang Wang, Yi Yang, Zhenheng Yang, Liang Zhao, and Wei Xu. Occlusion aware unsupervised learning of optical flow. CVPR, 2018.
- Zhou Wang, Alan Conrad Bovik, Hamid Rahim Sheikh, and Eero P Simoncelli. Image quality assessment: from error visibility to structural similarity. TIP, 2004.
- Jamie Watson, Michael Firman, Gabriel J Brostow, and Daniyar Turmukhambetov. Self-supervised monocular depth hints. ICCV, 2019.
- Yiran Wu, Sihao Ying, and Lianmin Zheng. Size-to-depth: A new perspective for single image depth estimation. arXiv, 2018.
- Junyuan Xie, Ross Girshick, and Ali Farhadi. Deep3D: Fully automatic 2D-to-3D video conversion with deep convolutional neural networks. ECCV, 2016.
- Nan Yang, Rui Wang, Jörg Stückler, and Daniel Cremers. Deep virtual stereo odometry: Leveraging deep depth prediction for monocular direct sparse odometry. ECCV, 2018.
- Zhenheng Yang, Peng Wang, Yang Wang, Wei Xu, and Ram Nevatia. LEGO: Learning edge with geometry all at once by watching videos. CVPR, 2018.
- Zhenheng Yang, Peng Wang, Wei Xu, Liang Zhao, and Ramakant Nevatia. Unsupervised learning of geometry with edge-aware depth-normal consistency. AAAI, 2018.
- Zhichao Yin and Jianping Shi. GeoNet: Unsupervised learning of dense depth, optical flow, and camera pose. CVPR, 2018.
- Jure Žbontar and Yann LeCun. Stereo matching by training a convolutional neural network to compare image patches. JMLR, 2016.
- Huangying Zhan, Ravi Garg, Chamara Saroj Weerasekera, Kejie Li, Harsh Agarwal, and Ian Reid. Unsupervised learning of monocular depth estimation and visual odometry with deep feature reconstruction. CVPR, 2018.
- Zhenyu Zhang, Chunyan Xu, Jian Yang, Ying Tai, and Liang Chen. Deep hierarchical guidance and regularization learning for end-to-end depth estimation. Pattern Recognition, 2018.
- Hang Zhao, Orazio Gallo, Iuri Frosio, and Jan Kautz. Loss functions for image restoration with neural networks. Transactions on Computational Imaging, 2017.
- Tinghui Zhou, Matthew Brown, Noah Snavely, and David Lowe. Unsupervised learning of depth and ego-motion from video. CVPR, 2017.
- Daniel Zoran, Phillip Isola, Dilip Krishnan, and William T Freeman. Learning ordinal relationships for mid-level vision. ICCV, 2015.
- Yuliang Zou, Zelun Luo, and Jia-Bin Huang. DF-Net: Unsupervised joint learning of depth and flow using cross-task consistency. ECCV, 2018.