从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)

From Big to Small: Multi-Scale Local Planar Guidance for Monocular Depth Estimation

作者:Jin Han Lee, Myung-Kyu Han, Dong Wook Ko and Il Hong Suh

摘要:

由于无限多的三维场景可以投影到同一个二维场景,因此从单个图像估计精确的深度是一个具有挑战性的问题。然而,近年来基于深卷积神经网络的研究显示,在取得可信结果方面取得了很大进展。网络通常由两部分组成:用于密集特征提取的编码器和用于预测所需深度的解码器。在编解码方案中,重复跨步卷积和空间池层降低了过渡输出的空间分辨率,并采用跳跃连接或多层反卷积网络等技术有效地恢复到原来的分辨率。为了更有效地指导密集编码特征的深度预测,本文提出了一种网络结构,该网络结构利用了解码阶段多个阶段的局部平面制导层。结果表明,该方法在具有挑战性的基准上具有显著的边际评价效果,优于现有的方法。我们还提供了消融研究的结果,以验证所提出的核心因素的有效性。
从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)

一 介绍:

二维图像的深度估计一直是计算机视觉研究的热点,目前已应用于机器人、自动驾驶汽车、场景理解和三维重建等领域。这些应用通常利用同一场景的多个实例来执行深度估计,例如立体图像对[39]、来自移动相机[34]的多个帧或在不同照明条件下的静态捕获[2,3]。由于多个观测点的深度估计取得了很大的进展,自然会导致单幅图像的深度估计,因为它最终需要的成本和约束较少。

但是,从单个图像估计精确的深度具有挑战性,甚至对人类来说也是如此,因为无限多的三维场景可以投影到同一个二维场景中,这是一个不适定问题。为了理解几何结构,从而从单个图像产生深度,人们不仅考虑使用局部线索,例如在各种照明和遮挡条件下的纹理外观、透视图或与已知对象的相对比例,还考虑全局上下文,例如场景的整个形状或布局[19]。

在第一次基于学习的单目深度估计工作之后,Saxena等人。[37]在引入后,随着深度学习的迅速发展,已经取得了相当大的进步[12、11、28、29、43、35、21、25]。虽然大多数最新的研究成果都是以有监督的方式应用基于深卷积神经网络(DCNNs)的模型,但也有一些研究提出了半监督或自监督的学习方法,这些方法不完全依赖于地面真值深度数据。

同时,基于DCNNs的最新应用通常由两部分组成:用于密集特征提取的编码器和用于期望预测的解码器。作为一个密集的特征抽取器,通常是采用非常强大的深层网络,诸如Vgg[41]、resnet[18]或densenet[20]等。在这些网络中,重复的跨步卷积和空间池层降低了过渡输出的空间分辨率,这可能是在高分辨率下获得期望预测的瓶颈。因此,一些技术,例如多尺度网络[29,11]、跳跃连接[17,45]或多层反褶积网络[25,15,24]被应用于从更高分辨率合并特征图。近年来,atrus空间金字塔池(aspp)[7]被引入到图像语义分割中,它可以通过应用具有不同膨胀率的稀疏卷积来捕获观测中的大规模变化。由于扩展卷积允许更大的感受野大小,最近在语义分割[7,47]或深度估计[13]中的工作没有通过移除最后几个池层来完全减小感受野大小,并且使用萎缩卷积重新配置网络以重用预训练权重。因此,它们的网络具有更大的密集特征(输入空间分辨率的1/8,而在原始基础网络中为1/32或1/64),并且对该分辨率执行几乎所有解码处理,然后进行简单的上采样以恢复到输入分辨率。

为了在恢复到全分辨率时提供更明确的关系,我们提出了一种网络架构,该架构利用了位于解码阶段多个阶段的新的局部平面制导层。更具体地说,基于编码-解码方案,在空间分辨率为1/8、1/4和1/2的每个解码阶段,我们放置一个层,通过使用局部平面假设引导每个特征,有效地将输入特征引导到所需深度。然后,我们结合输出以全分辨率预测深度。这在两个方面不同于多尺度网络[11,12]或图像金字塔[17]方法。首先,在降采样分辨率下,我们不将来自所提出层的输出视为分离估计,而是让层学习四维平面系数,并将它们一起用于重建最终输出的全分辨率深度估计。其次,作为组合的结果,每个分辨率中的单个空间单元根据对象的空间范围或深度被显著**。我们可以在图1和图3中看到来自建议层的输出示例。在具有挑战性的纽约大学深度v2数据集[31]和kitti数据集[16]上的实验表明,该方法达到了最新的结果。

本文的其余部分安排如下。在简要介绍了第二节的相关工作之后,我们在第三节详细介绍了所提出的方法。然后,在第四节中,我们提供了两个基准的结果,并与最新的作品进行了比较,以及通过烧蚀研究验证了所提方法的有效性。我们在第五节结束本文。

二、 相关工作

2.1.有监督单目深度估计

在单目深度估计中,有监督的方法以单个图像为基础,利用RGB-D摄像机或多通道激光扫描仪等距离传感器测得的深度数据作为训练中的监督依据。Saxena等人[37]提出了一种基于学习的方法,通过马尔可夫随机场得到从视觉线索到深度的函数映射,并将其扩展到一个基于块的模型,该模型首先对输入图像进行分段,并学习三维方向以及由每个块很好地解释的局部平面的位置[38]。Eigen等人[11]引入一种多尺度卷积结构,该结构在一个网络上学习粗略的全局深度预测,并使用另一个网络逐步细化它们。与以往的单一图像深度估计不同,它们的网络可以从原始像素中学习表示,而无需手工构建轮廓、超级像素或低级分割等特征。有几项工作遵循了这种方法的成功之处,它们将强场景先验用于表面正态估计[44],使用条件随机场来提高精度[27、23、40]或将学习问题从回归改为分类[5]。Fu等人最近的监督方法。[13]还利用了从回归问题到量化有序回归的优点,获得了最新的结果。Xu等人[46]提出了一种架构,该架构通过在crf框架中融合来自内部层的多尺度估计来利用它们。甘等人。[14]建议使用关联层显式地建模不同图像位置之间的关系。

2.2.半监督单眼深度估计

还尝试以半监督或弱监督的方式训练深度估计网络。Chen等人[8]提出了一种利用相对深度信息和深度排序损失函数学习无约束图像深度预测的新方法。最近,为了克服获得高质量深度数据的困难,库兹涅佐夫等人。[24]引入一种半监督方法,以稀疏激光雷达深度数据作为直接监督和图像对准损失的间接训练目标来训练网络。

2.3.自监督单目深度估计

自监督方法是指只需要校正立体图像对来训练深度估计网络的方法。加格等人[15]和Godard等人[17]提出了自监督学习方法,巧妙地解决了从直接深度估计到图像重建的问题。具体地说,通过校正立体图像对,他们的网络试图用估计的差异来合成另一个视图,并定义这两个视图之间的误差作为主要训练目标的重建损失。这样,由于学习只需要很好地校正、同步的立体对,而不需要与相应RGB图像很好地关联的地面真值深度数据,因此大大减少了为新类别的场景或环境获取数据集的工作量。然而,与目前的最佳监督方法相比,存在一些精度差距[13]。Garg等人[15]介绍了一种编解码结构,并利用光度重建误差对网络进行训练。Xie等人[45]提出了一个网络,该网络还综合了一个来自另一个的视图,并且通过使用重建误差,它们为每个像素产生可能的差异的概率分布。Godard等人[17]最后提出了一种能够进行端到端训练的网络体系结构。它们还提出了一种新的左右一致性损失,改进了网络的训练和预测。

2.4.基于视频的单目深度估计

也有使用序列数据来进行单目深度估计的方法。Yin等人[48]提出了一种由两个生成子网组成的体系结构,这两个子网通过对抗性学习联合训练,用于在一个周期内组织的视差图估计,以提供相互约束。Mahjourian等人[30]提出了一种方法,该方法明确地考虑了整个场景的推断的3D几何体,并在连续帧中强制实现估计的3D点云和ego-motion的一致性。Wang等人[42]采用可微位姿预测器,在受益于位姿预测器的同时,端到端地训练单目深度估计网络。

三、 方法

在这一部分中,我们描述了所提出的单目深度估计网络,该网络在解码阶段的多个阶段上具有一个新的局部平面制导层。

3.1.网络体系结构

如图2所示,我们遵循一种编码解码方案,该方案将特征映射分辨率降低到H/8,然后恢复到原始分辨率H。在生成 H/8 要素图的密集要素提取器之后,我们将更密集的版本 [47] 空间金字塔池图层 [7] 作为具有各种扩张率 r∈{3, 6, 12, 18, 24}的上下文信息提取器。然后,在解码阶段的每个阶段,当内部输出以2的因子恢复到全分辨率时,我们使用所提出的局部平面制导(LPG)层来更有效地将特征与期望的深度估计联系起来。最后,将所提出的各层的输出串接到最后的卷积层中,得到深度估计d*。
从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
3.2.多尺度局部平面制导

我们在这项工作中的核心思想是以一种有效的方式定义内部特征和最终输出之间更直接和明确的关系。不同于现有的方法,恢复到原来的分辨率,使用简单的最近邻上采样层和跳过连接从编码阶段,我们提出了新的局部平面制导(LPG)层,引导特征到全分辨率与局部平面假设,并将它们一起使用,以获得最终的深度估计。如图2所示,由于所提出的层将给定的内部特征映射恢复到全分辨率,因此它可以用作解码阶段内的跳过连接,允许内部特征和最终预测之间的直接关系。具体地,给定具有空间分辨率H/k的特征映射,所提出的层为每个空间单元估计4D平面系数,所述4D平面系数适合于全分辨率H上的k x k块,并且通过最后的卷积层连接在一起以用于最终预测。

请注意,每个 LPG 层并非设计为直接估计相应的全局深度值规模,因为训练损失只根据最终深度估计(在第 3.3 节中提供)。与来自其他LPG层的输出一起,每个输出作为通过最终卷积层的非线性组合的一部分被解释为全局深度。因此,它们可以具有不同的范围,并且可以学习为在空间位置处的基地或基地的精确相对补偿,如图1和3所示。
从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
这里,我们使用局部平面假设,因为对于k×k区域,它只需要四个参数就可以实现有效的重建。如果我们采用典型的upconv进行重建,则应该学会正确地使用k2值而不是四个。因此,我们可以预期,由于传统的上采样不会给出放大分辨率的细节,而局部线性假设可以提供有效的指导,因此训练的效果可能会降低。

为了用局部平面假设指导特征,我们使用以下公式将每个估计的4D平面系数转换为k x k局部深度:从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
其中(n1,n2,n3,n4)是估计的平面系数,(ui,vi)分别是像素i的标准化坐标。

它对n的导数是直接的:从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
然后,反向传播的梯度计算如下:从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)

图4显示了提议层的详细信息。通过1x1卷积的堆栈,其中使用1x1卷积重复将信道减少2倍,直到达到4,如果假设为平方输入且不丧失一般性,则得到H/k * H/k *4特征映射。然后,通过两种不同的方法来保证平面系数的约束:一种方式是一系列单位法线向量的tanh和L2归一化,另一种是sigmoid函数,然后用最大距离C进行缩放以确定平面的位置。最后,再次将它们串联起来,并使用方程1进行局部深度估计。这里,我们将局部深度视为局部定义的附加深度,可以是精细尺度上的小细节,也可以是粗略尺度上的全局3D布局的一个组成部分。通过对表征学习和合并先验的分析[4],我们可以预期,随着训练的进行,网络将尝试学习更有效的表征。由于在不同阶段的同一空间位置上的特征一起用于预测最终深度,为了有效地表示,我们可以预期全局形状将在较粗的尺度上学习,而局部细节将在较细的尺度上学习。例如,我们可以从图1和图3中看到,lpg8x8的输出显示场景的全局形状,而lpg2x2的输出显示对象边界的精细细节。从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
四、 实验

为了验证我们的方法的有效性,我们提供了一些实验结果。在介绍了我们方法的实现细节之后,我们在两个具有挑战性的基准上提供了实验结果,涵盖室内和室外环境,以与最先进的作品。

我们还提供在线KITTI评估服务器的分数。然后,我们提供了一个烧蚀研究来讨论所提出的核心因素的详细分析,以及一些定性的结果来证明我们的方法与竞争工作的比较。我们所有的源代码都是公开的。
从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
作为密集特征提取的编码器,我们使用DenseNet-161[20]使用ILSVRC数据集训练预训练权重用于图像分类[36]。由于早期卷积处的权值是已知的经过良好训练的原始视觉特征,在基网络中,我们在训练中固定了dense1和dense2块以及批处理规范化参数。在[17]之后,我们使用指数线性单位[9]作为**函数,upconv使用最近邻上采样,然后是3x3卷积层[32]。参数总数为47m。

为了避免over-fitting,我们在输入到网络之前使用随机水平调整、随机对比度、亮度和颜色调整(分别在[0.8,1.2]、[0.5,1.5]和[0.8,1.2]的范围内)对图像进行增强,50%的几率。我们还使用 [-5,5] 度范围内的输入图像的随机旋转。我们对我们的网络进行训练,Kitti的大小为352x704,NYU Depth V2数据集的大小为416x544。

4.2.NYU Depth V2 数据集

NYU Depth V2数据集数据集[31]包含120k rgb和深度对,其大小为480 640,使用一个 Microsoft Kinect从464个室内场景中获取视频序列。我们按照之前的工作,使用249个场景进行训练,215个场景(654个图像)进行测试。从总共120K图像深度对中,由于RGB图像和深度映射之间的异步捕获速率,使用时间戳,我们关联和采样它们通过均匀间距的时间,结果24231图像深度对的训练集。使用原始深度图像和数据集提供的相机投影,我们将图像深度对齐以进行精确的像素的注册。在评估中,我们使用[12]中的一个中心作物,如[13]。

4.3.KITTI

KITTI 为了数据集[16]提供了61个场景,分别为“城市”、“住宅”、“道路”和“校园”类别。因为现有的作品通常使用由Eigen等人提出的分裂。对于训练和测试,我们也遵循它与那些作品进行比较。因此,共有29个场景的697幅图像用于评估。剩余的23488幅图像的32个场景用于训练。在评估中,我们也使用了[15]中的一个中心作物,与之前的工作一样。

4.4.评估结果

为了进行评估,我们使用了以前的工作所使用的以下指标:阈值为:从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
对于使用KITTI数据集的评估,使得注意的是,以前工作使用原始的velodyne扫描数据作为评估的基本事实。不过,KITTI最近发布了官方的后处理地面真实深度图。因此,为了更全面地与最新作品进行比较,我们提供了使用原始激光扫描和官方提供的真实深度图的评估结果。在使用官方地面真实度的评估中,由于Eigen测试分割中的45幅图像没有相对应的地面真实度,因此我们在评估中仅使用有效的652幅图像,并使用原始的velodyne扫描来评估整个697幅图像。结果见表2。从表中可以看出,我们的表现优于所有现在作品,特别是当用官方地面真实深度图进行评估时。并在KITTI基准服务器上对该方法进行了评估。在提交时,提出的方法(BTS)排名第一。从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
4.5.融合研究

在这里,我们使用网络的变体进行评估,以差看提议的核心因素的有效性。从仅由于基本网络组成的基线网络出发,我们用模块增加网络,以查看增加的因子如何提高精度,结果如表4所示。随着核心因子的加入,总体性能得到了提高,而局部平面导引层的加入则是整体性能的最大提高。请注意,LPG层只需要1x1还原层使用的额外的0.04M可训练参数。最后的改进来自于使用等式5中定义的训练损失。
从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
4.6.定性结果

最后,我们讨论了我们的作品和竞争作品的定性结果。从图5和图6可以看出我们的图显示了更清晰的对象边界和更平滑的深度变化。然而,使用KITTI的实验结果中,我们可以看到天空或输出的上部的伪影。我们认为这是从示例图中可以看到的非常稀疏的地面真实深度数据的结果。由于某些区域之间缺少有效的深度值,因此无法针对该区域正确训练网络。从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
从大到小:单眼深度估计的多尺度局部平面指导(论文译文 2019)
五、 总结

在这项工作中,我们提出了一种有监督的单目深度估计网络,并取得了最新的成果。得益于最近在深度学习方面的进展,我们设计了一种网络架构,该架构使用新颖的局部平面制导层,给出了从内部特征映射到期望预测的明确关系,以更好地训练网络,通过在解码阶段的多个阶段上部署改成,我们获得了显著的改进,并在具有挑战性的基准上展示了一些实验结果来验证它。然而,使用KITTI数据集的实验获得的性能增益低于使用NYU Dept V2数据集的实验获得的性能增益。我们分析这是地面真实高度稀疏的结果。因此,我们将研究在我们的框架中采用光度重建损失,这可以提供更密集的监督,以进一步提高性能。