

英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料
引导立体匹配
Matteo Poggilowast;, Davide Pallottilowast;, Fabio Tosi, Stefano Mattoccia
意大利博洛尼亚大学计算机科学与工程学院
(a) (b) (c)
图1。引导立体匹配。(a)来自KITTI 2015 [20]的有难度的参考图片和经过合成数据[19]训练的由(b)iResNet估计的视差图,还有(c)由稀疏深度测量(5%密度)导引的结果。错误率(gt; 3)叠加在每个图上。
摘要:立体图像技术是一种先进的从图像生成密集深度图的技术,深度学习进一步推动了最新立体图像技术的发展,当有足够的数据可用于训练时,端到端架构将取得卓越的效果。但是,在处理新环境信息时,深度网络的准确性会大大下降。因此在本文中我们介绍了一种新的引导立体图像匹配的框架,该框架额外从其他来源获取少量稀疏且可靠的深度信息,从而解决在遇到新环境时准确率下降这一缺陷。我们的方法所需的其他稀疏线索可以通过任何方式获得(例如激光雷达),并用于增强与相应视差假设相关的特征。我们的公式是通用且完全可导的,因此可以用于预训练的深度立体图像网络中的其他稀疏输入,以及从头开始训练的新框架。在三个标准数据集和与两个最新的深度网络框架对比的大量实验表明,即使只有少量的稀疏输入线索,i)所提出的新框架也可以对预训练网络进行显著的提升。而且,ii)从头开始的训练显著提高了对域移位的准确性和鲁棒性。最后,iii)即使使用诸如SGM之类的传统立体图像算法,它也是合适且有效的。
1.介绍
获得密集而准确的深度估计对于有效地处理计算机中较高级别的任务至关重要。比如自动驾驶、3D重建和机器人技术。它既可以使用诸如激光雷达等主动传感器,也可以使用标准相机获取的图像。前一类设备受到一些限制,这取决于用来深度估计的技术。例如,基于结构光的传感器工作范围有限,在室外环境中会失效,而激光雷达虽然非常流行和准确,但只能提供稀疏的深度测量,在处理反射表面时可能有缺陷。另一方面,基于标准相机的无源传感器有可能在任何环境和应用场景中获得稠密深度估计。立体视觉[28]依赖于两个(或多个)经过校正的图像,通过沿水平极线匹配相应的像素来计算视差,从而能够通过三角测量来推断深度。立体视觉最近的趋势是在大量的(合成的)立体图像对[19]上训练端到端卷积神经网络(CNNs)来直接推断一个稠密视差图。然而,深度立体架构在映射域移位时受到影响,例如从用于初始训练[19]的合成数据移动到实际目标图像。因此,在目标环境中对深度网络进行微调,以改善域位移问题。尽管如此,用于评估立体视觉精度的标准基准[7,20,27,29]给出了关于这种示例的一些有趣的见解。虽然大量数据可微调时是万能的,就像KITTI数据集(7、20), 在深度网络没有足够的数据可用时混合学习方法和传统途径[35]仍存在竞争,Middlebury v3 [27] 和ETH3D[29]数据集就尤其明显。
在这篇论文中,我们建议利用一个小的稀疏深度测量集搭配深度立体网络得到在任何环境下的密集和准确的估计。值得指出的是,我们的方案不同于深度融合策略(如[17,21,5,1]),深度融合的目的是将主动传感器的输出与SemiGlobal[10]等立体算法相结合。实际上,这些方法的主要目的是使用合适的框架从多个可用的深度测量中选择最可靠的深度测量,而我们的提议有一个完全不同的目标。特别是给定一个深度网络和一个通过任何方法获得的精确深度测量的小集合(例如,小于整个图像点的5%):我们是否可以在不进行再训练的情况下提高网络的整体精度? 我们能减少域位移问题吗?我们从零开始训练网络来利用稀疏测量能得到更好的结果吗?为了实现这些目标,我们提出了一种新的技术,可以在特征层上工作,并且可以在任何最先进的深度立体视觉网络上部署。我们的策略增强了稀疏输入所提供的视差假设的特征,保持了原始深度网络的立体推理能力。它是多功能的,适合于提高预先训练的模型的准确性,以及从头开始训练一个新的实例,以获得更好的结果。此外,该算法还可用于提高SGM等传统立体视觉算法的精度。在所有情况下,我们的技术都给原始方法增加了微不足道的计算量。值得注意的是,主动传感器,特别是基于激光雷达的,和标准相机都可以作为标准设备在大多数自动驾驶装置中使用。此外,由于激光雷达的成本正在下降,固态设备已经有了[26],因此,稀疏和精确的深度测量似乎并不局限于特定的应用领域。因此,独立于用于推断稀疏深度数据的技术,就我们所知,本文首次成功地尝试利用外部深度源来提高最先进的深度立体网络的精度。我们报告了在两个具有源代码的顶级架构上进行的大量实验,Chang等人的PSMNet和Liang等人的iResNet,以及标准数据集KITTI[7,20]、Middlebury v3[27]和ETH3D[29]。这种评价的结果支持这项工作的下列三项主要要求:
- 在给定稀疏(lt; 5%密度)深度输入的情况下,将我们的方法应用于预训练的模型总是能够提高其准确性,无论是仅针对合成数据训练的网络,还是针对目标环境进行微调的网络。
- 从零开始训练一个由稀疏输入引导的网络极大地提高了它的泛化能力,显著地减少了由于域位移(例如,当从合成图像转移到真实图像时)而造成的差距。
- 该策略甚至可以无缝地应用于传统的立体视觉算法,如SGM。
在图1中,我们可以注意到一个非常有难度的来自2015年KITTI [20]的立体模型从(a),一个用合成数据训练的先进深度立体网络产生的不准确的视差地图(b),同时尽管映射域迁移,考虑到更准确的结果(c),用我们的方法引导时只部署了5%的稀疏深度数据。
2.相关工作
立体视觉在计算机视觉领域有着悠久的历史,Scharstein和Szeliski[28]根据执行的不同步骤将传统算法分为两大类,即局部方法和全局方法:i)代价计算,ii)代价聚合,iii)视差优化/计算和iv)视差细化。虽然局部算法通常是快速的,但它们在低纹理区域的情况下是无效的。另一方面,全局算法性能更好,但代价是复杂度更高。Hirschmuller的SGM[10]通常是这两个之间最受欢迎的折中选择,因此也是大多数时候被实际应用的首选。早期尝试将机器学习用于立体视觉,目的是利用基于学习的置信度[25]来检测异常值或提高视差精度[34,23,24]。一些后一类的做法是通过替换优胜匹配代价[34]或者在置信度估计的指导下调整其分布[23]来对代价体(cost volume),即两幅图像像素间匹配关系的中间表示进行了修正。
深度学习的传播也影响了立体匹配。早期的工作主要集中在传统立体管道的单一步骤上,如利用CNNs学习匹配函数[44,4,16],改进SGM[30, 31]的优化或细化视差图[8,2]。后来,综合数据[19]的可用性使得训练端到端架构来进行视差估计成为可能,体现了上面提到的所有步骤。去年出现了大量的框架,在KITTI基准上达到了越来越高的精度[7,20]。根据它们如何表示沿极线的像素之间的匹配关系,可以将它们大致分为两大类,这与传统立体视觉算法的代价体计算类似。
第一类是计算左右两帧特征之间的相关分数的网络。结果是特征图,与视差假设联系,连接到通道维度。这个量是通过二维卷积来处理的,通常是通过编码器-解码器架构来处理。由Mayer等人提出的DispNetC.[19]是文献中提出的第一个端到端网络。更多最近的架构比如CLR[22]、iResNet[14]、DispNet3[11]等都是在DispNetC的基础上构建的。此外,其他框架如EdgeStereo[32]和SegStereo[42]也与其他任务共同处理立体视觉,分别是边缘检测和语义分割。
(a) (b) (c) (d) (e)
图二。改进后的泛化案例。(a)来自Middlebury[27]的参考图像,(b) iResNet[14]在SceneFlow合成数据集[19]上训练获得的视差图,(c) iResNet在SceneFlow做引导立体训练,(d)从(e)的真实值深度获得的视觉增强稀疏深度测量。我们强调(b)和(c)仅在合成图像上得到训练。
第二类是通过连接[12]或区分特征之间的差异[13]来构建三维代价体(实际上是思维,考虑到特征维度)的框架。这种数据结构是通过三维卷积处理的,最终的视差图是一个可微的“赢家通吃”(WTA)策略的结果。由Kendall等人设计的GC-Net是第一个采用这种策略的方案,也是第一个端到端架构达到KITTI排行榜顶端的作品。随后,在GC-Net基础上构建的架构提高了准确性,增加了特定的聚合模块[15]和空间金字塔池[3],或通过设计一个微小的模型[13]提高了效率。
尽管采用了不同的策略,但这两个类都以某种方式在数据结构中将对应点的表示进行编码,其数据结构类似于传统手工立体算法的代价体。因此,利用深度立体网络和传统的算法,我们将对这样的数据结构采取措施,以稀疏但准确的深度测量来导引视差估计。
3.引导立体匹配
我们的主要目标是利用从外部资源(如激光雷达或任何其他手段)收集的稀疏但精确的深度信息,来辅助最先进的深度学习框架进行立体匹配。为此,我们引入了一种特征增强技术,通过使那些与外部测量表明的深度值直接相关的特征达到峰值,直接作用于CNN内部处理的中间特征。这可以通过在可用代价量的等效表示的情况下精确地操作来实现。这种方法的主要目的是进一步提高CNNs生成的高精视差图的可靠性。此外,我们还努力减少域位移所带来的问题。在训练时通过提供稀疏深度测量给深度网络,我们还希望它能学会混合利用这些信息与图像内容,当转移到一个完全不同的域 (例如,从合成到真实的图像)时,如果这些测量被输入到网络中能够补偿域位移。我们的实验将会强调如何根据这个策略给定一个非常稀疏的值分布以及我们将如何极大地提高CNN的泛化能力。图2展示了如何部署一个密度为3.36%的稀疏深度输入来使iResNet的平均误差从3.364降低到0.594。
3.1功能增强
传统的立体视觉算法通过编码相似度或相异度函数,将立体视觉对中两幅图像上潜在的对应像素之间的关系收集到一个代价体中。我们提出的想法是对这样的表示法进行适当的处理,这种表示法仍然在现代网络中进行编码,使用来自两幅图像的特征之间的相关性或联系,以支持稀疏输入所显示的那些差异。遵循第一种策略的网络[19,14,42,32,22]使用一个相关层来计算相似度比分,对于最可能匹配的像素来说,相似度比分更高,而基于第二种策略的网络则依赖于一个由串联特征组成的3D体。传统立体算法的成本体积尺寸为,是输入体的分辨在,D表示最大差异位移,而有代表性的先进深度立体网络依赖于数据结构的维度,分别是[19]和[12], F指代单一图像的数量。已知稀疏深度测量z,我们通过了解用于获取立体视觉对的设置的焦距f和基线b可以很容易地把它们转换成差异d,即。
利用视差域中可用的稀疏外部数据,我们可以使与这些稀疏提示所表明的假设相联系的相关分数或特征激活达到峰值,从而抑制剩余的部分。例如,给定视差值k,我们将增强相关层的第k个通道输出或四维体的第k个切片。为了达到我们的目的,我们引入了两个大小都是新的输入:一个用来传递外部提供的视差值的(稀疏)矩阵G,还有一个二进制掩码V,用来指定G的哪些元素是有效的(也就是说如果vij=1)。对于参考图像中坐标(i, j)为1的每个像素,我们根据已知的视差值gij来改变特征。另一方面,vij= 0的每一个点都保持不变。因此,我们依赖于深层网络对立体视觉的推理能力以及同时利用稀疏输入所传递的额外信息。
在文献中,一些技术被提出来修改利用先验知识的传统立体算法的代价体,如每像素的置信度评分[25]。一种简单而有效的方法是硬替换匹配代价(在我们的例子中是特性)。在[34]中,只有那些在优化前具有高置信度的像素,才会将获胜视差的匹配代价设置为最小值,其余的设置为最大值。在我们域中的等效解在于调零对应视差d的每个元素使得。然而,这种策略有严重的局限性:它不适合CNNS,不是当注入预训练网络时大量的零值会剧烈变化,就是当从头训练一个新模型时插入会导致梯度不会在插入了零的特征的顶部反向传播。此外,在亚像素输入视差的情况下不会定义默认行为,除非以精度损失为代价进行四舍五入。
相反,我们建议使用高斯函数集中在gij调节,这样与视差d = gij对应的单个相关分数或2F特征乘以函数的峰值, 而其他任何元素都是被较低的因子逐渐乘起来的,直到它们离gij越远就被抑制。具体来说,我们的调制函数是
其中c决定了高斯分布的宽度,而k代表了它的最大量值,应该大于等于1。不管vij的值,通过将全部相关系数或者三维体?相乘,得到一个新的特征体?,我们用
当vij=0时使权重因子等于1,我们的调制效果的一个例子在图3中给出3.2 导向立体视觉的应用
现在我们将重点介绍我们的技术中一些值得注意的应用,这些应用将在实验结果一节中详细讨论。
预训练的深度立体视觉网络。提出的高斯增强平滑而有效地作用于深度网络已经学习到的特征。巧调超参数k和c,我们将证明我们的方法可以提高预训练的最先进网络的准确性。<!--
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[236409],资料为PDF文档或Word文档,PDF文档可免费转换为Word
