立体匹配——End-to-End Learning of Geometry and Context for Deep Stereo Regression


端到端学习几何和背景的深度立体回归

我们提出了一个新颖的深度学习体系结构,用于求解矫正后的立体图像对的视差问题。我们利用问题几何的知识来使用深度特征表示形成成本量。我们学习在这个量上使用三维卷积结合上下文信息。视差值从成本量中使用提出的可微分软性argmin操作进行回归,这允许我们在不需要任何额外的后处理或正则化的情况下,将我们的方法端对端地训练到亚像素精度。 我们在场景流和KITTI数据集上评估我们的方法,在KITTI上我们设置了一个新的最先进的基准,同时比竞争方法快得多。

1.介绍

从立体影像准确估计三维几何是许多计算机视觉应用的核心问题,包括自主车辆和无人机[2]。在本文中,我们特别感兴趣的是计算矫正后立体图像对之间每个像素的视差。为此,立体算法的核心任务是计算两个图像之间每个像素的对应关系。在现实世界中,这是非常具有挑战性的。当前最先进的立体声算法通常在无纹理区域,反射表面,薄结构和重复图案方面存在困难。许多立体声算法的目的是利用池化或基于梯度的正则化[15,23]减少这些失败。但是,这通常需要在平滑表面和检测详细结构之间进行折中。

相比之下,深度学习模型已经成功地从原始数据学习获得在物体分类[28],检测[17]和语义分割[31,3]的方面直接强大的表示。这些例子表明深度卷积神经       网络对理解语义非常有效。 在监督大型训练数据集时,他们擅长分类任务。我们观察到立体算法中一些具有挑战性的问题将从全局语义上下文的知识中受益,而不仅仅依赖于局部几何。例如,对于车辆挡风玻璃的反射表面,如果仅仅依靠反射表面的局部外观来计算几何形状,则立体算法可能是错误的。相反,理解该表面(它属于车辆)的语义背景来推断局部几何是有利的。在本文中,我们展示了如何学习一个可以进行端到端训练的立体匹配回归模型,并且能够理解更广泛的上下文信息。

利用深度学习表示的立体算法到目前为止主要集中在使用它们来生成一元项[48,32]。在深度一元表示中应用匹配代价在估计像素差异时表现不佳[32,48]。仍然使用传统的正则化和后处理步骤,如半全局块匹配和左右一致性检查[23]。这些正则化步骤受到严格的限制,因为它们是手工工作、浅层功能,这些仍然容易受到上述问题的影响。

Figure 1: Our end-to-end deep stereo regressionarchitecture, GC-Net (Geometry and Context Network).

本文提出这个问题,我们是否可以用我们对立体几何的理解深化学习来制定整个立体视觉问题?本文的主要贡献是一个端到端的深度学习方法,用于从单个矫正图像对估计每像素视差。我们的架构如图1所示。它通过形成一个成本量来明确地解释几何,同时也使用深度卷积网络公式来推理语义。我们用两个关键的思想来实现:

•我们学习直接从数据中整合上下文,采用3-D卷积来学习调整高度X宽度X视差尺寸的成本量。

•我们使用完全可微的软argmin函数,其允许我们从视差成本量中回归亚像素视差值。

第3节介绍了这个模型,并更详细地说明了这些组件。在第4节我们在合成的场景流数据集[36]上评估我们的模型,并在KITTI 2012和2015数据集上设置了一个新的最先进的基准[14,35]。最后,在4.3节中,我们提出证据证明我们的模型有能力学习语义推理和上下文信息。

2.相关工作

从立体图像对计算深度的问题已经研究了相当长的一段时间[5]。Scharstein和Szeliski[39]的一项调查提供了立体匹配算法的分类,如执行匹配成本计算,成本支持聚合,视差计算和优化或差异细化的一些子集。 这个调查还介绍了第一个Middlebury数据集和相关的评估指标,使用结构化光提供基本事实。KITTI数据集[14,35]是LIDAR提供的具有基本真实性的移动车辆收集的较大数据集。这些数据集首先激发了改进立体视觉所有组件的手工技术,其中我们提到了一些值得注意的例子。

匹配成本是潜在相应图像位置的像素差异度量[25],其中绝对误差,平方误差和截断误差是示例。可以使用基于梯度[16]的局部描述符或二进制模式,如CENSUS [45]或BRIEF [7,22]。

不是像基于面片的匹配成本一样聚集相邻像素,而是在假定它们更可能来自相同表面和视差的假设下,对图像内容的了解可以更大程度地合并具有相似外观的相邻像素。这些技术的调查由Tombari等人提供[43]。局部匹配成本也可以在全局框架内进行优化,通常将结合局部数据项和成对平滑项的能量函数最小化。全局优化可以使用图形切割[27]或置信传播[26]来完成,这可以扩展到倾斜表面[6]。全局优化的一个有名的有效逼近是Hirschmüller[24]的半全局匹配(SGM),其中动态规划优化了多方向上能量函数的路径形式。

除了为比较立体算法提供基础之外,来自这些数据集的地面实况深度数据提供了使用机器学习以各种方式改进立体算法的机会。 Zhang和Seitz [52]交替优化了视差和马尔科夫随机场正则化参数。Scharstein和Pal [38]学习条件随机场(CRF)参数,Li和Huttenlocher[29]用结构化支持向量机训练非参数CRF模型。 学习也可以用来估计一个传统的立体匹配算法的置信度,如海斯勒等人的随机森林方法。[19]。 Park和Yoon [37]表明,这种置信度测量可以改善SGM的结果。

深卷积神经网络可以训练以匹配图像块[46]。 Zbontar和Le-Cun[47,49]展示了一个深度网络,用于匹配9X9个图像块,然后是非学习成本聚合和正则化,以产生最先进的结果。

Luo等人提出了一个显着更快的网络计算局部匹配成本作为使用连体网络[33]多标签视差分类。 Chen等人的多尺度嵌入模型 [9]也提供了良好的局部匹配分数。另外值得注意的是Flynn等人的DeepStereo工作。 [12],它结合一个单独的条件色彩模型学习成本量,以预测多视点立体设置新颖的观点。

Mayer等人创建了一个大型的合成数据集来训练网络的视差估计(以及光流)[34],改善了最先进的技术。作为网络的一种变形,沿视差线提出了一种1-D相关性,这是对立体成本量的乘法近似。另外,这个量与单个图像的卷积特征串联,并且通过一系列进一步的卷积而成功。相比之下,我们的工作并没有在计算成本量时破坏特征维度,而是使用3-D卷积来合并上下文。

虽然这项工作的重点是双目立体视觉,值得注意的是,深卷积网络的表示能力也能够从一个单一的单目图像进行深度估计[10]。 Liu等人将深度学习与连续的CRF相结合。[30]。 而不是用标记的基本真实数据监督训练,可以使用无标记的立体图像对训练一个单眼模型[13]。

在我们的工作中,我们没有应用后处理或正则化。我们的网络可以通过形成完全可微分的成本量来明确地推断几何。我们的网络通过3-D卷积架构学习将数据的上下文结合起来。 我们不学习概率分布,成本函数或分类结果。 相反,我们的网络能够从立体图像对直接回归视差的亚像素估计。

3.学习端到端的视差回归

我们不必手动设计立体匹配算法的任何一步,而是学习使用深度学习从图像对到视差图的端到端映射。我们希望直接从数据中学习更优化的功能。此外,这种方法有望降低大部分工程设计的复杂性。但是,我们的目的不是天真地将机器学习架构作为一个黑盒来建立立体模型。 相反,我们主张使用几十年来多视角几何研究的见解[20]来指导架构设计。因此,我们通过开发代表传统立体管道中每个主要组件的可微层来形成我们的模型[39]。这使我们能够学习整个模型的端到端,同时利用我们对立体声问题的几何知识。

我们的架构,GC-Net(几何和上下文网络)如图1所示,表1中有更详细的逐层定义。

在本节的其余部分中,我们将详细讨论每个组件。之后,在第4.1节中,我们将为调整设计决策提供定量结果。

Table 1: Summary of our end-to-end deep stereo regression architecture,GC-Net. Each 2-D or 3-D convolutional layer represents a block of convolution,batch normalization and ReLU non-linearity (unless otherwise specified).

3.1.一元特征

首先,我们学习一个深度表示来计算立体匹配成本。不使用原始像素强度计算立体匹配成本,使用特征表示是很常见的。 动机是比较一种描述符,它更健壮的描述了在光度计外观的模糊性,并且可以结合本地上下文。

在我们的模型中,我们通过大量的2-D卷积运算学习了深度表示。每个卷积层之后是批量归一化层和修正线性非线性。 为了减少计算需求,我们最初应用一个步长为2的5X5卷积滤波器对输入进行下采样。 在这个层之后,我们追加了8个残差块[21],每个块包含两个3X3个卷积滤波器。我们的最终模型架构如表1所示。我们通过将左右立体图像通过这些图层来形成一元特征。我们共享左右塔之间的参数以更有效地学习相应的特征。

3.2.Cost Volume

我们使用深度一元特征生成成本量计算立体匹配成本,。虽然一个简单的方法可能简单地连接左右特征映射,但是通过形成一个成本量,我们能够以保留我们对立体视觉几何知识的方式来约束模型。对于每个立体图像,我们形成维度为height  X  width X(max disparity + 1)特征尺寸的成本体积。我们通过在每个视差水平上将每个一元特征与来自相对的立体图像的相应的一元组进行连接,并将其包装到四维体积中来实现。

至关重要的是,我们通过这个操作保留了特征维度,而不像以前对特征维度进行抽取的点积操作的工作[32]。这使我们能够学习结合上下文,它可以操作特征的unaries。(第3.3节)。 我们发现,形成具有级联特征的成本体积相对于减去特征或使用距离度量可以提高性能。我们的直觉是,通过保持特征一元化,网络有机会学习绝对表示(因为它不是一个距离度量)并将其贯穿到成本体积中。这给架构提供了学习语义的能力。相比之下,使用距离度量限制网络仅学习特征之间的相对表示,并且不能将绝对特征表示传递到成本体积。

3.3.学习背景

考虑到这种视差的成本体积,我们现在想学习一种正则化函数,它能够考虑到这个volume中的上下文,并改进我们的视差估计。 即使使用深度特征表示,unaries之间的匹配成本永远也不会完美。例如,在像素强度均匀的区域(例如天空),成本曲线对于基于固定的局部环境的任何特征将是平坦的。 我们发现像这样的区域可以导致跨视差维度的多模态匹配成本曲线。所以我们希望学习正则化和提高这个量。

我们建议使用三维卷积运算来过滤和优化这个表示。三维卷积能够从高度,宽度和视差尺寸学习特征表示。因为我们计算每个一元特征的成本曲线,所以我们可以从这个表示中学习卷积滤波器。在4.1节中,我们展示了这些三维滤波器对学习上下文的重要性,并显着提高了立体匹配的性能。

三维卷积的难点在于附加维度对train和inference的计算时间是一个负担。设计用于稠密预测任务的深度编码器 - 解码器任务通过对子采样特征图进行编码,然后在解码器中进行上采样来解决其计算负担[3]。我们将这个想法扩展到三个维度。通过以步幅2对输入进行二次采样,我们也将三维成本体积尺寸减小八分之一。我们用四个子采样级别组成我们的三维正则化网络。由于已经对二元数据进行了二次抽样,所以这些特征被以32的总因子进行二次采样。这使得我们能够在广泛的视野中明确地利用上下文。我们对每个编码器级别应用两个3X3X3个卷积。为了对原始输入分辨率进行密集的预测,我们采用3-D转置卷积来对解码器中的音量进行上采样。表1描述了完整的体系结构。

子采样有助于增加每个特征的接受区域,同时减少计算量。但是,由于分辨率的降低,也降低了空间精度和精细的细节。为此,我们在上采样之前添加每个更高分辨率的特征图。这些残留图层具有保留更高频率信息的优点,而上采样特征提供了具有更大视野的细致特征图。

最后,我们应用单步3-D转置卷积(反卷积),步长2和单个特征输出。这个图层对于在原始输入维度中进行密集预测是必要的,因为特征单数是以二分之一进行二次采样的。这导致最终的正规化成本体积为HXWXD.

3.4. Differentiable ArgMin

通常,立体匹配算法会从匹配的成本量产生最终成本。从这个量来看,我们可以通过在成本量视差维度上进行argmin操作来估计视差。但是,这个操作有两个问题:

•它是离散的并且不能产生亚像素视差估计,

•不可微分,因此无法使用反向传播进行训练。

为了克服这些限制,我们定义了一个完全可微并且能够回归平滑视差估计的softargmin。 首先,我们通过取各个值的负值将预测成本cd(对于每个视差d)从成本体积转换为概率体积。 我们使用softmax操作归一化视差维度上的概率体积。然后,我们取每个视差的和,d,用其归一化概率加权。 图2中显示了一个图解说明,并且在(1)中以数学方式定义:

这一操作是完全可以区分的,并允许我们训练和回归视差估计。 我们注意到类似的功能是由[4]首先引入的,被称为软注意机制。在这里,我们演示如何将其应用于立体回归问题。

但是,与argmin操作相比,其输出受到所有值的影响。这使得它很容易受到多模态分布的影响,因为输出不会最相似。相反,它会估计所有模式的加权平均值。为了克服这个限制,我们依靠网络的正则化来产生主要是单峰的视差概率分布。网络也可以预先调整匹配成本来控制归一化后的softmax概率的峰值(有时称为温度)(图2)。我们明确地忽略了一元塔中的最终卷积层的批规范化,以使网络能够从数据中学习到这一点。

图2:我们在这项工作中提出的软argmin操作(3.4节)的图形描述。它能够沿着每个视差线获取成本曲线,并且通过将每个视差的softmax概率与其差异指数的乘积相加来输出argmin的估计。(a)证明,当曲线是单峰时,这非常准确地捕捉真正的argmin。(b)示出了当数据是具有一个峰值和一个平坦区域的双模式时的失败情况。(c)表明,如果网络学习预先缩放成本曲线,则可以避免这种失败,因为softmax概率将趋于更加极端,从而产生单峰结果。

3.5. Loss

我们从一个随机初始化的端到端地训练我们的整个模型。我们使用基本真实深度数据训练我们的模型。在使用LIDAR标记基本真实(例如KITTI数据集[14,35])的情况下,这些标签可能是稀疏的。因此,我们对标记像素N的损失进行平均。我们使用地面真实差异dn和模型的像素n的预测差异之间的绝对误差来训练模型。(2)中定义了这个监督回归损失:

在下面的章节中,我们展示了将我们的模型作为一个回归问题,使我们能够以亚像素精度回归,并且超越分类方法。此外,制定一个回归模型可以利用基于光度重投影误差的无监督学习损失[13]。

4.实验评估

在这一节中,我们对两个数据集(Scene Flow [36]和KITTI [14,35])提供定性和定量的结果。首先,在4.1节中,我们试验了我们模型的不同变体,并使用场景流数据集证明了我们的一些设计选择[36]。在第4.2节中,我们介绍了KITTI数据集方法的结果,并设定了一个新的最先进的基准。最后,我们在4.3节中测量模型的学习能力。

对于本节中的实验,我们使用TensorFlow [1]来实现我们的体系结构。 所有模型都是使用RMSProp[42]进行端到端优化,并且学习速率为0.001。 我们使用从输入图像中随机定位的256X512作物来批量训练1。 在训练之前,我们对每幅图像进行归一化处理,使得像素强度范围从-1到1.我们在场景流中训练网络(从随机初始化)进行大约150k次迭代,这需要花费两天的时间在单个NVIDIA Titan-X GPU上。对于KITTI数据集,我们对场景流预先训练的模型进行微调,以进一步进行50k次迭代。对于场景流的实验,我们使用F = 32,H = 540,W = 960,D = 192,在KITTI数据集上我们使用F = 32,H = 388,W =1240,D = 192分别作为特征尺寸,图像高度,图像宽度和最大视差。

4.1.模型设计分析

在表2中,我们提供了一个消融研究来比较一些不同的型号变体,并证明我们的设计选择。 我们希望评估本文主要观点的重要性。 在分类损失上使用回归损失,并学习用于成本体积正则化的三维卷积滤波器。我们使用综合场景流数据集[36]进行这些实验,其中包含35454个训练和4370个测试图像。 我们使用这个数据集有两个原因。首先,我们从合成场景中知道完美的,密集的真实视差,消除了由于错误标签而产生的任何差异。其次,数据集足够大,可以在不过度拟合的情况下训练模型。相比之下,KITTI数据集只包含200个训练图像,我们观察到该模型容易过度拟合这个非常小的数据集。有了数以万计的培训图像,在评估种我们不必考虑过拟合。

表2:在场景流数据集[36]上的结果,其包含来自一系列合成场景的35454个训练和4370个大小为960X540px的测试图像。我们比较不同的架构变体,以证明我们的设计选择。第一个实验显示了三维卷积体系结构的重要性。第二个实验显示了我们从回归损失中获得的收益。

表2中的第一个实验表明,包括3-D滤波器的性能明显好于仅仅学习单元组的性能。我们将我们的完整模型(如表1中所定义的)与仅使用一元特征(省略所有3-D卷积层19-36)的模型和省略分级3-D卷积(省略第21-36层)。我们观察到三维滤波器能够有效地调整和平滑输出,同时学习在输出视差图中保持清晰度和准确性。 我们发现,层次三维模型通过聚合一个很大的上下文胜过了普通的三维卷积模型,没有显着增加计算需求。

表2中的第二个实验将我们的回归损失函数与[32]中提出的使用硬或软分类对差异进行分类的基线进行比较。硬分类训练网络以使用“单热”编码的交叉熵损失将成本体积中的差异分类为概率。软分类(由[32]使用)平滑此编码以学习以正确视差值为中心的高斯分布。 在表2中,我们观察到,我们的回归方法胜过硬和软分类。这对于像素精度度量和在真实像差的一个像素内的像素的百分比尤其显着,因为回归损耗允许模型以亚像素精度进行预测。

图3绘出了本节中比较的每个网络在训练过程中的验证错误。 我们观察到分类损失收敛较快,但回归损失表现最好。

图3:使用场景流数据集训练期间的验证错误(误差小于1 px的差异的百分比)。分类损失训练速度更快,但是使用回归损失会导致更好的性能。

4.2.KITTI基准

在表3中,我们评估了我们的模型在KITTI 2012和2015立体数据集上的性能[14,35]。 这些包括从测试车辆收集的具有挑战性和多样性的道路场景图像。用于训练和评估的基本实景深度图是从LIDAR数据中获得的。 KITTI是基准立体匹配算法的重要数据集。缺点是它只包含200个训练图像,这妨碍了学习算法。 为此,我们在大型合成数据集“场景流”[36]上预先训练我们的模型。 这有助于防止我们的模型过度拟合非常小的KITTI训练数据集。 我们拥有40个图像对作为我们的验证集。

表3:KITTI 2012和2015基准测试集上其他立体声方法的比较[14,35]。 我们的方法在这两个竞争基准上设定了一个新的最新标准,性能超过所有其他方法。

表3a和3b分别比较了我们的方法GC-Net(几何和上下文网络)和KITTI 2012和2015数据集上的其他方法2。 我们的方法以显着的差距达到了KITTI基准测试的最先进的结果。 KITTI 2015年和2012年分别提高了9%和22%。我们的方法也比大多数常常需要繁琐的后处理的竞争方法快得多。在图4中,我们展示了我们的方法在KITTI 2012,KITTI 2015和场景流程上的定性结果。

图4:定性结果。 通过学习融入更广泛的背景,我们的方法往往能够处理具有挑战性的场景,如反射,薄或无纹理的表面。通过在成本体积中明确地学习几何,我们的方法产生了清晰的结果,并且还可以处理大的遮挡。

 

我们的方法胜过以前的深度学习基于patch的方法[48,32],这些方法产生噪声一元电位,无法用亚像素精度进行预测。出于这个原因,这些算法不使用端到端的学习,通常后处理一元输出与SGM正则化[11]产生最终的视差图。

最接近我们体系结构的方法是DispNetC [34],它是在SceneFlow上预先训练的端到端回归网络。但是,我们的方法在所有测试像素上比的该结构显着优秀。 DispNetC使用沿视差线的一维相关层作为立体成本体积的近似值。相比之下,我们的架构更明确地利用几何,通过使用3-D卷积和软argmin层来制定全部成本体积,从而导致性能的提高。

4.3. Model Saliency

在本节中,我们提供证据,证明我们的模型可以使用更广泛的上下文信息推理局部几何。

在图5中,我们展示了与预测像素视差有关的模型显着性的一些示例。显着性图[41]显示了输出相对于每个输入像素的灵敏度。 我们使用[51]中的方法,将预测的视差作为系统地遮挡输入图像的函数。我们通过点的视差来抵消每个立体图像中的遮挡。

这些结果表明,给定点的视差预测依赖于广泛的上下文视野。例如,汽车前部的视差取决于汽车的输入像素和下面的路面。这表明我们的模型能够推理更广泛的背景,而不是像以前的深度学习贴片相似立体方法那样简单的9X9局部贴片[50,32]。

图5:显示模型对所选输出像素(由白十字表示)的有效接受场的显着图可视化。这表明,我们的架构能够学习如何消除立体视差,以超越当地的几何形状和外观的大视野和重要的场景背景知识。 例如,在右边的例子中,我们观察到模型考虑来自车辆和周围路面的上下文信息来估计差异。

5. Conclusions

我们提出了一种新颖的立体视觉端到端深度学习架构。它不需要任何额外的后处理或正规化就能够学会消除差距。我们证明了我们的方法在KITTI数据集上的功效,设置了一个新的最先进的基准。

我们展示了如何使用三维卷积有效地学习视差成本体积中的上下文。我们展示了如何使用soft argmin层将其表示为回归模型。这使我们能够将视差作为一个回归问题学习,而不是分类,提高性能并提高亚像素的准确性。我们证明,我们的模型学习纳入更广泛的上下文信息。

对于未来的工作,我们感兴趣的是探索一个更明确的语义表示来改善我们的视差估计,并在贝叶斯卷积神经网络的不确定条件下进行推理。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GC-Net

2017-08-16 雪柳花明  来源  阅35  转 2

转藏到我的图书馆

微信分享:

摘:

使用深度特征表示组成成本向量,充分利用3D卷积提取上下文的纹理信息。深度值以差分softargmin操作相规范化,没有额外的预处理或者正则化得到一种端到端的方法

 

1.介:

立体匹配算法应该看重全局,而非局部。比如车窗,如果以整辆车的视角去看,那么就不怎么会出现问题,而如果以局部车窗去看这个物体,就容易出问题。本篇展示了如何利用端到端的立体匹配模型,从而理解更加广泛的文本信息。这个模型可以学习语义信息和上下文信息。还有差分softmax可以从视差成本向量中聚合至亚像素视差值。

 

2.相关工作:

立体匹配几步走:匹配成本计算,成本支撑聚合,视差计算和最优化,视差refinement。

 

匹配成本就是对应图像位置上像素不相似的衡量值。

 

1-D correlation近似于立体成本向量(dispnet表示不服),这个成本向量啊,连接了单张图片的卷积特征和由一系列的卷积跟着。本文算法不降低特征维度。用3D卷积来传播信息。

 

本次工作无后处理,无规范化,纯天然。本文工作以3D卷积传递着数据中的信息,不学习可能的分布,成本函数或者分类结果。直接从立体图像对中regress到深度的亚像素估计。

 

3.学习端到端偏差回归

直接端到端从图像对到深度图。直接从原始数据中学习到最佳的成本。该方法旨在降低工程设计复杂性。形成我们的模型通过产生一个代表着传统立体匹配中每个主要元素的差分层,这将使得我们能够学习到整个的端到端模型。

 

3.1 一元特征

使用特征来进行立体匹配成本的计算而非原始像素。这个方法可以对光学外表更加鲁邦且可包含局部信息。

 

本文的深度表示模型由2D卷积构成。每个卷积层后面是归一化层和矫正非线性。卷积核大小为5,步长为2,下采样,为了简化计算。再附加八个残差块,每个残差快具有两个3×3的卷积核。如下图所示,将左右立体匹配图穿过这些层之后组成了一元特征。左右双塔共享参数则可以更加有效的学习相关特征。

 

3.2 成本量

使用深度一元特征来进行立体匹配成本的计算,这里介绍了成本量的部分。虽然原始的方法只是简单的组合左右特征,生成成本量是希望该模型能够保留住立体匹配的框架。每个立体匹配图片,成本量维度为高×宽×(最大偏移+1)×特征尺度。得到一个4维向量。

 

很关键,经过这些操作保存了特征维度,不像先前的工作使用一个点乘然后大面积消除特征维度。这让我们可以学习到特征上所包含的内容。我们发现以连接特征所构成的成本量提升了提取特征和使用距离尺的性能。我们的目标是保留特征一元,网络有机会学习绝对表示(因为这不是距离尺)并且将其穿过成本量。这给了网络学习语义的能力。相反,使用距离尺限制了网络,该网络只能够学习特征之间的关系而不能够将绝对特征表示穿过成本量。

 

3.3 学习内容

给定偏差成本向量,我们现在能够学习一个规范化函数,有能力将这个成本量中的内容进行考虑同时改善偏差估计。一元特征之间的匹配成本不可能非常的完美,甚至当使用一个深度特征表示的时候。比如说,在单一像素的区域(比如天空),这个成本曲线应该是在任何固定局部内容上任何特征上都是非常扁平的。因此,我们希望学习规范项同时提升这个成本量的性能。

 

打算使用三维卷积操作来滤波和改善这个表示。3D卷积是有能力学习长宽深维度的特征表示的。因为我们队每个一元特征都计算了成本曲线,我们能够从这个表示中直接学习到卷积滤波器。4.1节中,我们展示了3D滤波器在学习内容和提升立体效果上的重要性。

 

 

3D卷积的难点是额外的维度造成计算复杂。深度预测中设计的深度编解码任务应付编码过程中的计算负担,通过下采样特征映射时和编码过程和解码过程中的上采样。将该想法扩展为三维。以步长为2来下采样输入,因此以八倍速率降低了3D成本向量的尺寸。我们以4个下采样层来组成我们的3D规范化网络。

 

一元特征已经以2下采样了,特征总共以32的因子进行下采样。这就让我们以一个很宽泛的视野去明确的控制内容。我们采用两个3×3×3卷积串联进行每个编码过程。在原始输入分辨率上进行深度预测,我们采用3D转移卷积去对解码器中的向量进行上采样。整个的结构如上图所示。

 

当简化计算时,下采样在扩大每个特征的接受域时是非常重要的,然而,当分辨率的损失,同样也会降低空间准确性和精确的纹理细节。出于这样的原因,我们在上采样之前添加每个更高的分辨率的特征映射。这些残差层有得到更高频率信息的优势,当上采样特征层以一个更宽的视野提供了一个值得注意的特征映射。

 

最终,我们采用一个单3D卷积,以步长为2和单特征输出。这一层是非常必要的在原始输入维度上进行密度预测,因为特征以因素2进行下采样,最终的结果以尺寸HWD的大小进行规范化。

 

3.4 差分argmin

通常来说,立体算法从matching cost unaries产生了最终的cost volume。从成本量中可以以argmin操作估算出成本量的深度偏移量。然而,这个操作有两个问题:

 

其一,这是离散的,不能产生亚像素深度偏差估计

 

其二,这不是差分的因此不能够通过bp网络来训练(应该是存在梯度,可以后向传播,后向传播不就是传梯度么)。

 

为了克服这样的限制,定义了soft argmin。这是完全差分的,且有产生平滑深度估计的能力。首先,从cost volumn中提取出每个视差d的预测的成本。接着采用softmax操作来对视差维度上可能的向量规范化。以规范化之后的可能性作为权重对每个视差进行加权相加。定义如下:

 

softargmin:=d×(-Cd)

 

这个操作完全是差分的,让我们训练同时回归偏差估计。这里,我们展示如何将它应用到立体回归问题上。

 

然而,与argmiin操作相比,它的输出被所有值影响。这使得它易受多模型分布情况的影响。而不是估算所有模型的权重均值。为了克服这样的限制,我们将指望网络的规范性来产生偏差的可能性分布,主要是单峰的。网络也能够预规范匹配成本来控制规范化后softmax可能性的峰值。我们明确的省略最终卷积层的bn来让网络从数据中学习它。

 

 

argmin操作的图标描述。以每个偏差线为横轴,纵轴是argmin的输出估计,还有偏差softmmax估计还有偏差指数的点乘。a表示当曲线是单模式时,可以精确的捕捉到真实的argmin。b表示当数据是双模式时,即有峰有平区域时,是一个失败的例子。c表示如果网络学习对cost曲线进行预处理,那么失败将会消失,因为softmax可能性将会更加的极端化,产生出一个单模式的结果。(单模式和双模式不是很理解)

 

3.5 LOSS

端到端的从随机初始化训练整个的模型。我们以监督的方式来训练我们的模型。标签可能非常稀疏。因此,以每个标签像素上平均我们的损失。使用真值偏差和模型预测偏差的绝对错误作为最终的loss。定义如下:这是一个回归的问题。

 

 

4.3 model saliency

本文模型能够使用更加宽泛的纹理信息来更好的表示图像局部几何信息。下图,saliencymap表示的是针对每个输入像素的输出敏感度。51中的方法暗示了预测视差图是occlude the input images的一种函数。通过点的视差来抵消每个图片中的occlusion。

 

种种迹象表明,给定点的视差预测取决于上下文区域的视野宽度。比如,车辆前面的视差取决于车辆的输入像素和它下方的路面。这表明本文模型有能力理解更宽的文本信息,而不是像之前深度学习方法只预测9×9局部块信息。

 

 

这个图表明对于所选的输出像素(白叉)有效的接受区域,这表明本文算法有能力以一个更加宽泛的视野范围和更加重要有效的图像上下文信息去回归拟合立体匹配视差,这远比局部几何和外形信息要好。比如,我们观察到本文模型就会考虑车辆的周边信息及路面信息,一起来估计视差。

 

总结:因为需要端到端网络,因此成本量阶段不光获取两特征之间的关系,还需要将特征传下去,因此维度比较大。四维,为了降低计算负担,采用的是编解码操作。上采样的时候也要用到编码时候的特征层,就跟flownet的时候一样。由于成本量是四维的,所以卷积的时候用的是三维卷积,我去,三维卷积。

 

与flownet相比,同样是端到端结构,可人家是三维的。因为flownet通过concantinate这个二图的相关信息和特征信息,而没有额外为了特征信息而多出来一维。最后的翻卷积,也就是解码时候也是不一样的。flownet每层都进行了深度图的预测。而该文就没有,只是利用编码时候产生的特征层还有解码时候的前一层。效果谁优谁劣,不得而知。这个模型应该是比flownet复杂点的。

 

与dispnet相比,文中解释,dispnet首先是在光流上面预训练而成的端到端回归网络,本文算法比dispnet好在notable margin for all test pixels。dispnet用一个1-Dcorrelation层近似得到立体匹配的cost volume。相反,本文算法使用3D卷积和soft argmin层得到一个更加完备的cost volume从而可以充分利用图像几何信息。这是比dispnet要优秀的。

 

 

这个网络的视野范围确实宽泛。也许是会比dispnet要好,可惜就是没有代码。

 


你可能感兴趣的:(立体匹配)