使用位移场预测单眼深度估计中的精确锐利遮挡边界
摘要
从单眼图像进行深度图预测的当前方法倾向于针对输入图像中的遮挡边界预测平滑,定位不良的轮廓。 这很不幸,因为遮挡边界是识别对象的重要线索,而且如我们所示,这可能会导致一种从场景重建中发现新对象的方法。 为了改善预测的深度图,最近的方法依赖于各种形式的过滤或预测累加残差深度图来修正第一估计。 我们取而代之的是学习给定通过某种重建方法预测的深度图的二维位移场,该二维位移场能够将遮挡边界周围的像素重新采样为更清晰的重建。 我们的方法可以应用于任何深度估计方法的输出,并且完全可以区分,从而可以进行端到端训练。 为了进行评估,我们在流行的NYUv2-Depth数据集的测试拆分中手动注释了所有图像中的遮挡边界。 我们表明,对于我们可以评估的所有最先进的单眼深度估计方法,我们的方法改善了遮挡边界的定位([32,10,6,28]),而不会降低其余部分的深度精度 图片。
Introduction
单眼深度估计(MDE)旨在根据单个输入图像预测深度图。 它吸引了很多兴趣,因为它对于许多计算机视觉任务和应用(例如场景理解,机器人抓取,增强现实等)很有用。最近,已经提出了许多方法来使用深度学习方法来解决此问题,或者依靠 监督学习[7、6、32、10]或自学[15、55、44],这些方法通常已经获得了令人印象深刻的结果。
然而,如图1所示,尽管有最近的进展,但是预测深度图中的遮挡边界仍然很难重建。 这些遮挡边界对应于沿对象轮廓发生的深度不连续性[50,30]。 因此,非常需要对这些轮廓进行精确的重构,例如,用于处理增强现实应用程序中的真实和虚拟对象之间的局部遮挡,或者更根本地来说,是为了更好地理解对象,如图2所示。我们认为,这一方向特别重要: 深度预测可以很好地推广到看不见的物体甚至看不见的物体类别,并且能够很好地重构遮挡边界可能是无监督物体发现的有希望的研究方向。
图1.(a)用绿色的NYUv2-OC ++用我们的遮挡边界(OB)手动注释覆盖的输入图像,(b)来自NYUv2-Depth的地面真实深度,(c)使用[45]预测的深度,(d)精确 深度使用我们的像素位移方法。
图2.我们的深度图修饰在3D对象提取中的应用。 (a-b)和(c-d)是提取对象的两个点云视图。 左列显示从最初预测的深度图像中提取的点云,而右列显示使用我们的深度细化方法后的结果。 当我们获得更清晰的遮挡边界时,我们的方法会抑制对象边界周围的长尾巴。
在这项工作中,我们介绍了一种克服平滑遮挡边界的简单方法。 我们的方法提高了图像的清晰度以及图像中的定位。 它依赖于可微分模块,该模块采用某种深度预测方法提供的初始深度图,然后对其进行重新采样以获得更准确的遮挡边界。 可选地,它也可以将彩色图像作为指导信息的附加输入,并获得更好的轮廓定位。 这是通过训练一个深度网络来预测应用于初始深度图的2D位移场来完成的。 这与以前的尝试通过预测深度值的残差来改善深度图的方法形成对比[27、61]。 我们表明,预测位移而不是这样的残差有助于达到更清晰的遮挡边界。 我们认为这是因为我们的模块扩大了可以由深层网络表示的功能系列。 如我们的实验所示,此解决方案与以前的所有解决方案互补,因为它系统地改善了遮挡边界的定位和重建。
为了评估现有MDE方法和我们提出的方法的遮挡边界重建性能,我们手动注释了NYUv2测试集的所有图像中的遮挡边界。 一些注释显示在图3和补充材料中。 我们依靠[31]中介绍的度量来评估预测深度图中遮挡边界的重建和定位精度。 我们表明,我们的方法在定位精度方面定量提高了所有最新MDE方法的性能,同时在两个基准数据集上的深度重建中保持或改善了全局性能。 在本文的其余部分,我们首先讨论相关工作。 然后,我们介绍了在深度图中锐化遮挡边界的方法。 最后,我们描述我们的实验和结果,以证明我们的方法如何改进最新的MDE方法。
2. Related Work
由于多种原因,在从图像进行密集重构时,遮挡边界是一个臭名昭著的重要挑战。 例如,众所周知,在立体重建的情况下,遮挡边界附近的一些像素隐藏在一个图像中,而在另一图像中可见,这使得像素匹配的任务变得困难。 在这种情况下,已经提出了许多解决方案来减轻该问题[11、24、29、13]。 在这里,我们将重点放在单眼深度估计中用于改善遮挡边界重建的最新技术。
2.1 用于单眼深度估计(MDE)和遮挡边界的深度学习
由于MDE的基本和实际重要性,过去已经对其进行了深入的研究。 深度学习方法和大规模数据集的涌现帮助其通过监督和自我监督方法不断改进。 为了解决在[7]中讨论的MDE中讨论的尺度歧义,多尺度深度学习方法已广泛用于学习深度先验,因为它们从图像中提取全局上下文[6]。
随着开发更复杂,更深入的体系结构[48、19、32],该方法得到了持续的改进。 提出了序数回归[10]作为MDE中直接深度回归的替代方法。 这种方法在流行的MDE基准NYUv2-Depth [49]和KITTI [12]上都达到了最先进的水平,后来又得到了扩展[33]。 如我们的实验所示,虽然有序回归有助于达到更清晰的遮挡边界,但不幸的是,这些边界通常在图像中的位置不正确。 在MDE中提高对象和遮挡边界的清晰度的另一个方向是损失函数设计。 L1损失和诸如Huber和BerHu估计量[42,63]之类的变量现在已被广泛采用,而不是L2,因为它们倾向于减少不连续性的惩罚。 然而,这种解决方案不是完美的,并且遮挡边界不准确或光滑[28]。
为了提高其重建质量,先前的工作考虑了深度梯度匹配约束[6]和深度至图像梯度[20、15]约束,但是对于后者,遮挡边界并不总是对应于强图像梯度,反之,例如 适用于具有纹理渐变的区域。 还明确提出了基于遮挡边界的约束[59、58、45],从而导致了遮挡边界重建质量的提高。 我们的工作是对上述所有方法的补充,因为我们证明它可以改善所有基于深度学习的先进方法中遮挡边界的定位和重建。
2.2 Depth Refinement Methods
在本节中,我们讨论可用于完善深度图预测的两种主要方法:首先讨论以前流行的条件随机场(CRF),然后讨论经典的滤波方法及其最新版本。
先前的一些工作使用CRF的后处理潜力来完善深度图预测。 这些工作通常使用中间预测的引导信号(例如几何特征[52]或可靠性图[21])在像素及其邻居之间定义逐像素和逐对损失项。 然后,通过对CRF进行推断(有时是迭代地进行或使用CRF的级联)来细化最初预测的深度图[56,57]。 尽管这些方法大多数都有助于改善初始深度预测并在质量上产生更具吸引力的结果,但这些方法在性能上更昂贵,但仍不能满足最新的非CRF MDE方法的要求。
深度细化的另一种选择是使用图像增强方法。 即使这些方法不一定必须明确地针对遮挡边界,但它们可能是我们解决方法的潜在替代解决方案,我们将在第4.5节中与它们进行比较。
双边滤波是一种流行的且当前最先进的图像增强方法,尤其是作为一种保留图像轮廓的降噪方法。 尽管从历史上看,由于其计算复杂性,它在后期处理上受到限制,但最近的工作成功地使双边过滤器变得相当有效且完全可区分[36,54]。 这些最新方法在降采样-升采样方案中应用时很成功,但尚未在MDE上下文中使用。 有人提出了引导过滤器[18]作为双边过滤器的另一种简单版本。 我们在实验中显示,由于引导和双边过滤器使用图像作为引导,因此它们都使咬合边界更加清晰。 然而,它们有时会产生错误的深度梯度伪影。 双边求解器[2]将双边滤波问题公式化为正则化最小二乘最优化问题,从而可以实现完全可微且更快的计算。 但是,我们在实验中表明,我们的端到端可训练方法在速度和准确性上均优于该方法。
2.3 Datasets with Image Contours
图像轮廓或遮挡边界的几个数据集已经存在。 用于边缘检测训练和评估的流行数据集中在感知[41,40,1]或对象实例[8]边界上。 但是,这些数据集通常缺少由边界分隔的两个区域之间的遮挡关系的注释。 其他数据集[47、23、22、53]标注了对象之间的遮挡关系,但是它们不包含地面真实深度。
NYUv2-Depth数据集[49]是一种流行的MDE基准,它提供了这种深度的地面真实性。 从该深度信息[16、5、46、17、4]中受益于几种实例边界检测方法,以提高其在对象实例边界检测上的性能。
上面引用的数据集均缺少对象自遮挡边界,有时标注不正确。 我们的NYUv2-OC ++数据集为所有654张测试图像的NYUv2-Depth上方的遮挡边界提供了手动注释。 正如在[45]中讨论的那样,尽管这是一项繁琐的任务,但是手动注释比可以从深度图获得的自动注释要可靠得多。 图3说明了我们注释的遮挡边界的广泛而准确的覆盖范围。 该数据集能够同时评估深度估计方法和遮挡边界重建,这是100张图像iBims数据集[31],但它更大,并且已广泛用于MDE评估。
3 Method
在本节中,我们介绍如下的遮挡边界细化方法。 首先,我们提出关于遮挡边界周围的预测深度图的典型结构的假设,并推导一种模型,将这种结构转换为预期的结构。 然后,我们使用手工方法证明我们的假设。 基于此模型,我们提出了一个端到端可训练模块,该模块可以对输入深度图像的像素进行重采样以恢复其清晰的遮挡边界。
3.1 先验假设
遮挡边界对应于图像中深度呈现较大且急剧变化的区域,而其他区域则趋向于平滑得多。 由于这种尖锐区域的比例很小,因此神经网络倾向于预测遮挡边界附近的深度过度平滑。
我们在这项工作中表明,可以通过对深度图中的像素重新采样来恢复清晰,准确定位的边界。 可以将重采样形式化为:
其中D是深度图,p表示域Ω中的图像位置,而δp§取决于p的2D位移。 此公式允许将遮挡边界两侧的深度值“缝合”在一起,并替换过度平滑的深度值。 尽管此方法与可变形CNN共享一些见解[25],其中卷积核被变形以适应不同的形状,但是我们为每个图像位置使用预测的2D向量替换深度值时,我们的方法从根本上有所不同。
改善深度值的另一种选择是预测附加的残余深度,可以将其形式化以进行比较:
我们认为,使用预测像素偏移更新预测深度D以恢复深度图像中的清晰遮挡边界比预测残留深度更好。 我们通过以下针对玩具问题的实验以及第4节中的实际预测深度图验证了这一说法。
3.2 Testing the Optimal Displacements
为了首先验证我们的假设,即位移场δp(p)可以改善遮挡边界的重建,我们使用地面真实深度来估计几个预测深度图的最佳位移,如下所示:
换句话说,解决此问题等效于为每个像素找到最佳位移δp∗,该最佳位移δp∗从预测深度图D^重构地面真实深度图D。 我们通过对所有像素p进行穷举搜索来求解等式(3) 在大小为50×50的邻域N(p)中δp的变化。定性结果如图4所示。通过应用该最佳位移场获得的深度图显然要好得多。
在实践中,我们将必须预测位移场才能应用此思想。 这是通过训练深层网络来完成的,下一节将对此进行详细介绍。 然后,我们检查一个玩具问题,该问题产生的性能要比使用相似容量的深层网络预测剩余深度更好。
3.3 Method Overview
基于我们的模型,我们建议使用CNN来学习预测深度图像中的像素位移。 我们的方法如图6所示:给定了预测的深度图像D^ ,我们的网络根据等式(1)预测位移场δp来重新采样深度图D^ 中的图像位置。 这种方法可以实现为空间变压器网络[26]。 图像指导可以帮助提高精确深度图中的遮挡边界精度,还可以帮助发现在初始预测深度图D^ 中不可见的边缘。但是,应该指出的是,即使没有图像,我们的网络仍然可以工作 指导。
3.4 Training Our Model on Toy Problems
为了验证可以学习第3.1节中介绍的位移场δp,我们首先定义了一维Toy问题。 在这个玩具问题中,如图5所示,我们将要恢复的信号D建模为分段连续函数,生成为诸如阶跃函数,仿射函数和二次函数之类的基本函数序列。 这些样本在交界处表现出很强的不连续性,而其他地方则表现出平滑的变化,这与真实的深度图相似。 然后,我们将D信号与随机大小(模糊的)高斯核进行卷积,以获得平滑版本D^ 。这为我们提供了(D^ ,D)对的训练集T。
我们使用T训练参数网络f(.;Θf)来预测位移场:
参数网络g(.;Θg)来预测残留深度图:
L(.)是一些损失。 在我们的实验中,我们评估了l1,l2和Huber损失。
如图5所示,我们发现预测残差更新会在边缘周围产生严重的伪影,例如过冲效应。 我们认为出现这些问题的原因是,残余CNN g也被训练在b D和D值甚至远离边缘而不同的区域上,从而鼓励网络g也校正这些区域。 相比之下,我们的方法不会产生这种过冲效果,因为它不会更改边缘周围值的局部范围。
值得注意的是,即使我们允许D^ 和D在非边缘区域具有略微不同的值(它可以模拟预测的真实深度与地面真实深度之间的残差误差),与残差CNN相比,我们的方法仍收敛为一个好的解决方案 。 我们将方法验证从1D扩展到2D,其中将1D信号替换为具有不同值的不同多边形的2D图像。 我们应用相同的操作来平滑图像,然后使用我们的网络从平滑图像中恢复原始的清晰图像。 我们在2D模式下观察到了相似的结果:残留的CNN始终会产生伪像。 我们的2D玩具问题的一些结果可以在补充材料中找到。
3.5 学习提高深度预测
为了学会使用位移场获得更清晰的深度预测,我们首先以与第3.4节中描述的玩具问题相似的方式训练了我们的方法。 尽管这已经改善了所有深度图预测的遮挡边界的质量,但我们表明,通过使用在纽约大学2深度数据集上的MDE算法的预测作为输入并使用相应的地面真实深度作为目标来训练我们的方法,可以进一步改善定量结果 输出。 我们认为,与高斯模糊相比,这种方法可以使网络学会纠正更复杂的地面事实失真。 在实践中,我们使用[45]的预测来证明这一点,因为这是遮挡边界清晰度的最新技术。 我们表明,这不仅提高了[45]预测的深度图的质量,而且还改善了所有其他可用的MDE算法。 使用NYUv2上其他算法的预测来训练我们的网络将进一步改善其结果,但是并非所有人都在官方训练集上提供了其代码或预测。 最后,我们的方法是完全可微的。 尽管我们在本文中没有这样做,但是也可以与我们的方法一起训练MDE,这将产生更好的结果.
4.实验
在本节中,我们将首先详细介绍实现方法,描述用于评估遮挡边界的重建和深度预测准确性的度量,然后介绍对不同MDE方法的输出进行方法评估的结果。
4.1 实验细节
我们使用Pytorch框架[43]来实现我们的网络。 我们的网络是一个轻量级的编码器-解码器网络,具有跳过连接,该网络具有一个深度编码器,一个用于RGB图像引导的可选编码器和一个共享解码器。 有关每个组件的详细信息,请参见补充材料。 在NYUv2上进行32k迭代期间,我们使用初始学习率为5e-4,权重衰减为1e-6的Adam优化和多元学习率策略[62],使用MDE方法的输出对网络进行了训练[45]。 [49]。 该数据集包含1449对RGB和深度图像,分为795个样本用于训练,654个样本用于测试。 批处理大小设置为1。使用比例[0.75,1,1,5,2]调整输入图像的大小,然后裁剪并填充为320×320。我们尝试从NYUv2数据集中的原始深度图上学习 成功。 这很可能是由于缺少数据主要发生在遮挡边界附近这一事实。 因此,需要密集的深度图,这就是为什么我们使用[34]将原始深度图中的缺失数据修复。
4.2 评估指标
4.2.1 单目深度预测的评估
对于先前的工作[7,6,32],我们使用以下指标评估单眼深度预测:均方根线性误差(Rlin),均方根绝对相对误差(rel),均方根log10误差(log10),均方根平方 log误差(Rlog),以及低于阈值的精度(σi<1.25i,i = 1,2,3)。
4.2.2 遮挡边界精度评估
继Koch等人[31]的工作之后,我们使用提出的深度边界误差评估遮挡边界(OB)的准确性,该深度误差评估了预测遮挡边界的精度ea和完成度ec。 首先使用Canny边缘检测器[3]在标准化的预测深度图像上使用预先定义的阈值提取边界。 如图8所示,ea表示从预测边界到地面真实边界的平均倒角距离(以像素[9]为单位); ecom是从地面真实边界到预测边界的平均倒角距离
4.5 与其他方法的比较
为了证明我们提出的方法的效率,我们将我们的方法与现有的过滤方法进行了比较[51,18,2,54]。 我们使用[7]的预测作为输入,并比较每种方法的深度估计和遮挡边界的准确性。 请注意,对于具有超参数的过滤器,我们使用一系列超参数测试了每个过滤器,并选择了最佳的优化结果。 对于快速双边求解器(FBS)[2]和深导滤波器(GF)[54],我们使用官方实施中的默认设置。 无论是否使用Deep GF,我们都将保持相同的网络,并使用相同的学习率和数据增强来训练两次。 如表3所示,我们的方法在遮挡边界方面达到了最佳精度。 最后,我们将我们的方法与3.1中讨论的加性残差预测方法进行了比较。 我们保持相同的U-Net架构,但是用等式(2)中描述的附加替换置换操作,并表明我们获得了更好的结果。 我们认为,由于生成的伪像(在第3.4节中进行了讨论),深导过滤器和附加残差的性能较低。 在表4中,我们还将网络的计算效率与参考深度估计和修正方法进行了比较。
4.6 损失函数和引导图像的影响
在本节中,我们报告了一些消融研究,以从性能方面分析我们网络的有利因素。 图6显示了我们的基准网络的架构.以下所有网络均使用第4.1节中详述的相同设置进行训练,并使用NYUv2训练集的官方795 RGB-D图像进行训练。 为了评估我们方法的有效性,我们选择了[7]的预测作为输入,但是请注意,该结论对于其他MDE方法仍然有效。 请参阅补充材料以获得更多结果。
4.6.1深度预测的损失函数
在表5中,我们显示了不同损失函数的影响。 我们应用l1,l2和Huber损失的Pytorch官方实现。 视差损失用深度的倒数监督网络,目标深度ytarget定义为:
其中M表示场景中的最大深度。 如表5所示,我们的网络经过l1损失训练后,对于遮挡边界达到了最佳精度。
4.6.2 Guidance image
我们探索了不同类型的引导图像的影响。 引导图像的特征是使用与深度编码器相同的体系结构的编码器提取的,除了Leaky ReLU [39]激活全部由标准ReLU [14]代替。 我们分别以相似的比例使用来自导航和深度解码器的跳过连接来执行导航和深度特征的特征融合。 表6显示了指导图像的不同选择的影响。 通过使用一系列具有不同阈值的Canny检测器累积检测到的边缘来创建边缘图像。 如表6所示,由于原始信息在转换过程中会丢失,因此使用原始RGB图像作为指导可获得最高的准确性,而使用转换为灰度的图像可获得最低的准确性。 使用Canny边缘检测器可以帮助缓解此问题,因为当从灰度图像切换到二进制边缘图时,网络可获得更好的结果。
后续再来补充。