基于网络立体数据监督的单目相对深度感知
Paper Information
Abstract
本文研究了野外单眼相对深度感知的问题。我们介绍了一种简单而有效的方法来自动从网络立体图像中生成密集的相对深度标注,并提出了一种新的由不同的图像和相应的密集的相对深度图组成的数据集。此外,还引入了一种改进的排名损失(ranking loss)来处理不平衡的序数关系,使网络专注于一组hard pairs。实验结果表明,我们提出的方法不仅达到了最佳的相对深度感知精度,而且有利于其他密集per-pixel 预测任务,如度量深度估计和语义分割。
1 Introduction
单目深度估计是计算机视觉中一项长期存在的任务,它有利于许多应用,如二维到三维转换、三维建模和机器人技术。尽管近年来,由于深度卷积网络(ConvNets)的成功,[1,2,3,4,5]取得了显著的进展,但对单眼图像的深度估计仍然具有挑战性,特别是对于野外图像。大多数在一个数据集上训练的最先进的方法通常在另一个数据集上表现得更差。例如,在室内数据集上训练的模型(如NYUDv2)无法预测令人满意的室外场景深度。因此,我们的目标是使用一个单一的模型来预测一般场景中的相对深度,这恰好与RobustVision Challenge 2018的想法相一致。
实际上,许多应用程序只需要相对的深度,例如,2D到3D的转换[7]和景深[8]。为了恢复野外单目图像的相对深度,Chen等[6]提出了一个“野外深度”(Depth in the Wild,DIW)数据集,由 495k 个网络图像组成,其中每个图像都手动标注两个顺序关系点(接近’<‘,远离’>')。然而,仅用一对顺序关系的训练并不足以得到令人满意的预测(见图1)。基于上述观察,出现了一个问题:如何廉价地获得多样化的图像以及相应的密集相对深度图?
由于视差图(disparity map)代表了一个场景的相对深度,因此,本文提出了一种有效的方法,从网络立体图像中自动生成视差图。考虑到网络立体图像对并不总是能很好地校准,并且对应图的水平分量可以被视为一个视差图,我们选择使用最先进的光流方法(optical flow method)[9]来计算对应图,而不是立体匹配。因此,我们提出了一个新的数据集,称为“Relative Depth from Web”(ReDWeb),它由3600张不同场景的图像以及相应的相对深度地图组成。
受Chen等人[6]的启发,使用排名损失进行多对监督训练可以获得很好的结果。我们训练一个卷积神经网络用类似的方法来预测相对深度。我们不使用定点对[6]进行训练,而是通过在线采样来探索采样点对的多样性。然而,随机抽样导致了顺序关系不平衡问题,即等量关系的数量远少于其他两种关系(更近、更远)的数量。为了提高模型的能力,我们设计了一个改进的排名损失,以缓解由不平衡的序数关系引起的问题。特别地,为了避免两个不等深度值的差异太大,我们在每次迭代中对每个不等深度对的损失进行排序,并且只将 hard pairs 的损失相加。大量的实验结果证明了我们的方法的有效性,我们的模型在ReDWeb数据集上的预训练可以有利于其他密集的每像素预测任务,如度量深度估计和语义分割。
我们工作的主要贡献如下:
- 我们介绍了一种简单而有效的方法来自动生成密集的相对深度标注,并提出了一个新的数据集“Relative Depth from Web”(ReDWeb),它包含用密集的相对深度地图注释的不同图像。
- 我们通过引入一个改进的排名损失来处理不平衡的序数关系,使我们提出的卷积Net集中于一组 hard pairs。
- 我们在DIW和NYUDv2数据集上评估了我们的方法,并实现了最先进的性能。此外,我们使用序数关系进行预训练的卷积神经网络有利于其他密集的 pre-pixel 预测任务,例如,度量深度估计和语义分割。
2 Related Work
RGBD datasets :大多数现有的RGBD数据集是由深度传感器收集的,或Kinect[10]或LiDAR[11]。然而,Kinect只能用于室内场景,而激光雷达经常用于室外场景。由于场景的多样性,在这些数据集上进行训练时,很难获得良好的结果。为了解决野外单眼相对深度感知的问题,Chen等人[6]提出了一个涵盖了广泛的一般场景的DIW数据集。但是对于每幅图像,只有一对顺序关系被手动注释。相比之下,我们的ReDWeb数据集是通过自动计算来自web立体图像的视差地图而廉价构建的。此外,我们的数据集涵盖了广泛的场景,同时为每个图像提供了一个密集的相对深度地图。
Metric depth estimation:早期关于单眼图像深度估计的研究主要依赖于马尔可夫随机场[11,12,13]和非参数学习方法[7,14,15,16,17]。最近的工作通过利用深度ConvNets[18,19]和大型RGBD数据集获得了更好的预测结果。不同的网络架构已经被定制,以直接回归[1,2,3]或分类[20]像素级深度值。为了加强输出深度图中的局部一致性,条件随机场(CRFs)被集成到ConvNets[4,21,22,23]层中或用作后处理[20,24]。受传统方法受益于其他视觉任务,如语义分割[12,25]、表面正态估计[26]和固有图像估计[15]的启发,研究人员使用深度学习[21,22,24,27,28]显示了大大改进的结果。[5]等人使用一种描述局部几何结构的超完备表示(overcomplete representation)来预测系数上的概率分布。
与使用大量RGBD图像训练的监督学习方法不同,一些研究在无监督学习方式[29,30,31]中恢复深度。他们采用图像重建[32]的思想,基于立体图像对很容易获取的事实来生成深度图。为了构造端到端可微系统,选择Taylor近似[29]和双线性插值[30]来推导出完全可微训练损失。
Relative depth perception:因为许多应用程序不需要知道精确的度量深度,如二维到三维转换[7]和景深[8]。[33,6]最近的一些工作集中于从单个图像中感知相对深度。Zoran等人[33]首先学习卷积网络,基于超像素分割对采样点进行重复分类,然后解决能量优化问题,恢复全局一致的度量深度。Chen等人[6]通过训练具有排名损失[34]的多尺度网络,直接将输入图像映射到度量深度。此外,[6]的作者提出了一个DIW数据集,其中每个图像都有两个顺序关系点。然而,[6]的一个主要局限性是,DIW数据集只为每个图像提供一对顺序关系,这就抛弃了重要的感知特性,如连续性、表面取向[35]等。此外,如果采样的两个点有不同的深度,则排序损失[6]的识别会导致深度值的差异无限大。因此,当仅使用DIW数据集进行训练时,它们无法获得令人满意的预测。
3 Proposed method
注意,使用更多的对数关系进行训练可以提高性能[6],卷积神经可以从噪声数据[36]中学习有效的表示。基于上述观察结果,我们提出了一个ReDWeb数据集,然后训练一个具有多对监督信号的ConvNet,以达到最先进的性能。
3.1 Our proposed ReDWeb dataset
在本节中,我们将详细介绍我们建议的ReDWeb数据集。我们首先描述了如何从web立体数据中生成对应映射,然后讨论了如何对这些粗糙的对应映射进行后处理。最后,我们提供了关于ReDWeb数据集的汇总统计数据。图2展示了ReDWeb数据集的一些示例。
Data preprocessing
本文背后的关键思想是,训练一个具有更多的对序数关系将产生比[6]中的单一对产生更好的结果。我们不是手动标记顺序关系,而是使用网络立体图像自动生成密集的对应映射,这可以提供更多的顺序关系对。为此,我们使用一些关键字(例如,立体图像)从Flickr中抓取大约40k的立体图像。由于网络立体图像并不总是被修正,直接使用立体匹配方法,如SGM[37]和MCCNN[38],会产生大量的噪声对应图。虽然未校准的体外校正[39]可以对原始网络立体图像进行校正,但产生的对应图通常质量仍然较差。因此,我们可以利用目前最先进的光流算法[9]来生成对应映射。我们将对应映射的水平分量看作是视差d。对于左侧图像I1中的每个像素p,我们可以在对应的右侧图像I2中找到其对应的+d+。然而,网络立体图像并不总是并排(左-右)格式,光流方法有时不能生成合理的对应图。因此,后处理是必不可少的。
Data postprocessing
由于存在一些其他格式的立体图像,如浮雕和左-中-右,流网2.0[9]会在这些图像上产生杂乱的对应关系。因此,对这些图像进行训练会混淆卷积机,导致性能不佳。因此,我们手动排除了一些与用户交互的糟糕的粗糙对应映射,并将差异统一到相同的标准,即像素越暗,它应该越近。然而,我们发现剩余的对应映射在无文本区域仍然有噪声,特别是在天空区域。如图3所示,无纹理区域很难很好地估计,例如,天空。我们提出使用语义分割,这是有效的处理无文本区域,以纠正粗对应映射。更具体地说,我们使用在ADE20K[41]上训练的RefineNet[40]来分割天空区域,然后通过使用完全连接的CRF[42]进一步优化边界。
为了生成最终的相对深度映射,我们在细化的语义分割结果中识别天空区域,并将对应映射中的这些区域掩盖为无穷大。请注意,我们还裁剪了左侧图像及其对应映射的边界,并保持它们良好对齐。
Dataset statistics
我们的ReDWeb数据集由 3600 张图像组成,涵盖了广泛的场景,如街道、办公室、山丘、公园、农场、夜景等。为了分析现有深度数据集之间的差异,我们在表1中报告了一些属性。
不同于其他度量深度数据集,如室内场景的NYUDv2[10]和SUN3D[43],室外场景的Make3D[11]和KITTI[44],我们提出的数据集涵盖了室内和室外场景。DIW[6]是一个由超过49.5k幅图像组成的相对深度数据集。然而,它只提供了一对顺序关系,这训练相对深度模型是耗时的。结果证明,多对有序关系训练有利于相对深度[6]的学习。因此,我们的数据集提供了密集的野外相对深度地图,具有巨大的价值,并将对这个社区的研究人员有用。
3.2 Learning relative depth
本节介绍了我们从单目图像中学习相对深度的方法。如图4所示,我们将单眼相对深度感知作为一个回归任务。给定一批输入图像I,我们学习一个非线性函数 z = f ( I , θ ) z=f(I,θ) z=f(I,θ),由θ以端到端的方式参数化,以回归像素级的相对深度。为了学习不同的注释点对,我们采用在线小批量采样,并对这些采样的点对进行训练。在下面,我们首先描述我们的网络架构,然后讨论有效的小批量采样。最后,我们引入了我们所采用的损失函数。
Network architecture
与最近的工作[2,45]类似,我们也使用预先训练好的ResNet作为骨干。由于ResNet包含了一系列卷积(步幅为2)和池化操作,因此增加了卷积的接受域以捕获更多的上下文信息,而输出特征图的分辨率则降低了。通常,最终特征图的大小是输入图像的1/32。因此,如果对这些特征图进行直接上采样或反褶积/解池,将生成粗预测。有两种方法可以有效地获得更精细的预测,一种是扩展卷积[46](或扩展卷积),另一种是多尺度特征融合[40,47]。前者是一种常见的技术,以避免降低特征地图的分辨率,同时保留一个大的接受域。然而,它花费太多的内存,并且容易产生棋盘工件[48]。后者可以节省内存,并且仍然能够产生高分辨率的预测。在许多应用中,例如2d到3d的转换,视觉平滑度与度量测量同样重要。基于以上的观察结果,我们选择了后一种方法来构建我们的网络架构。
我们提出的网络如图4所示。为了将ResNet应用于密集的每像素预测任务,我们首先删除了最后一个池化层、全连接层和softmax层。前馈ResNet生成一系列具有不同语义的不同尺度的特征映射。由于只使用高级语义特征会导致粗糙的预测,我们使用了一种渐进的重新细化策略,即合并高级语义特征和低级别边缘敏感特征,以获得更准确的预测。一般来说,我们根据特征图的分辨率将ResNet分成4个不同的构建块。在每个构建块中,许多特征图的规模都是相同的。我们选择单个构建块的最后一层的输出作为我们的多尺度特征融合模块的一个输入。多尺度特征融合模块以两组特征映射作为输入。一个是从ResNet中获得的,另一个是通过从头开始的训练生成的。
为了进行渐进的细化操作,我们首先对ResNet生成的最后一组特征映射进行上采样操作。在[40]之后,我们使用剩余卷积块,使来自高级层的梯度可以通过短程和长期的剩余连接有效地传播到低级别层。对于每个特征融合模块,我们首先使用残差卷积块从预训练过的ResNet的特定层中转移特征映射,然后与最后一个特征融合模块通过求和产生的融合特征映射进行合并。最后,采用上采样操作来生成与下一个输入具有相同分辨率的特征图。请注意,在每个残余卷积块之前,将应用一个过渡的3×3卷积层来调整特征映射的信道数。更具体的是,在我们的实验中,每个过渡层的通道数被设置为256。为了产生最终的输出,我们堆叠了一个自适应的输出模块,它由两个卷积层和一个双线性插值层组成。特别地,堆叠的卷积层的通道分别为128和1。
Mini-batch sampling
我们不是使用每个图像[6]的定点对进行训练,而是通过在线采样来探索样本的多样性,即我们求助于每个小批中的在线样本对。对于每个输入图像I,我们随机采样N个点对(i,j),其中N是点对的总数,i和j分别表示第一点和第二点的位置。为了标记每个点对之间的序数关系ℓij,我们首先从相应的地面真值深度图中得到深度值(gi,gj),然后定义地面真值序数关系L_ij,定义如下:
其中σ是一个经验阈值,我们在[33]后将其设置为0.02。因此,我们的真实标签(ground-truth)相对深度可以用G={ik,jk,ℓk},k=1,2,…N,其中ik和jk分别表示第k对中第一点和第二点的位置,L_k∈{+1,−1,0}是ik和jk之间对应的地真序数关系,表示进一步(+1),更接近(-1),等于(0)。请注意,存在不平衡顺序关系的问题,即相等关系的数目远远小于其他两个关系。
Loss Function
为了使我们的卷积神经能够用不平衡的序数关系进行训练,需要一个适当的损失函数。在本文中,我们设计了一个改进的排名损失L(I、G、z),它可以表述如下:
其中,z为估计的相对深度图,ωk和φ(I、ik、jk、ℓk、z)分别为第k个点对的权重和损失。请注意,在我们的实验中,ωk只能是0或1。φ(I、ik、jk、ℓk、z)的形式为:
我们将所有ωk初始值为1,那么损失可以看作是排名损失[6]。为了避免两个不等深度值的差异过大,缓解序数关系不平衡的问题,我们首先对每次迭代中不等深度对的损失进行排序,然后将相应的ωk设置为0,忽略最小部分。更具体地说,我们根据经验将ωk的最小值25%设为0。因此,增加等关系的比率,从而缓解序关系不平衡的问题。此外,卷积网因此被强制在训练期间专注于一组硬对。
4 Experiments
4.1 Ablation Study
4.2 Comparison with state-of-the-art
4.3 Generalizability
5 Conclusion
本文介绍了一种从web立体图像中自动生成密集相对深度标注的方法,并提出了一种新的数据“ReDWeb”,该数据集由 3.6K 的场景多样性图像和相应的密集相对深度图组成。为了从单眼图像中恢复相对深度,我们用一个改进的排名损失来训练我们的卷积神经网络,以回归 pre-pixel 的相对深度。实验结果表明,我们的ReDWeb数据集不仅有助于在野外的单眼相对深度估计,而且有利于其他密集的每像素预测任务。我们仍在努力扩展我们的数据集。