CREStereo, Practical Stereo Matching via Cascaded Recurrent Network with Adaptive Correlation解读
Published:
论文、代码和ppt地址:CREStereo
图 1. 我们对来自 Holopix50K数据集图像的预测示例。我们展示了立体图像对中的左图及其相应的预测视差。我们的结果达到了较高的精度,并且针对具有精细结构的物体展现出了高质量的细节。
摘要
随着卷积神经网络的出现,立体匹配算法近期取得了巨大进展。然而,由于诸如精细结构、非理想校正、相机模组不一致以及各种复杂难处理场景等实际复杂因素的存在,要从智能手机等消费级设备拍摄的真实世界图像对中准确提取视差仍然是一项巨大挑战。
在本文中,我们提出了一系列创新设计来解决实用立体匹配问题:1)为了更好地恢复精细的深度细节,我们设计了一个带有递归细化的分层网络,以由粗到细的方式更新视差,同时还设计了一个堆叠式级联架构用于推理;2)我们提出了一个自适应组相关层,以减轻错误校正带来的影响;3)我们引入了一个新的合成数据集,该数据集特别关注复杂难处理的情况,以便更好地泛化到真实世界场景中。
我们的结果不仅在Middlebury和ETH3D基准测试中均排名第一,显著优于现有的最先进方法,而且针对现实生活中的照片也展现出了高质量的细节,这清楚地证明了我们所做贡献的有效性。
1. 介绍
立体匹配是计算机视觉领域的一个经典研究课题,其目标是在给定一对校正后的图像时,计算两个对应像素之间的位移,即“视差”。它在许多应用中都起着重要作用,包括自动驾驶、增强现实、模拟散景渲染等等。
近期,在大型合成数据集的支持下,基于卷积神经网络(CNN)的立体匹配方法已将视差估计的精度提升到了一个新高度。然而,要使该算法在日常消费级摄影场景中真正实用,我们仍面临三大障碍。
首先,对于大多数现有算法而言,精确恢复精细图像细节(如网、线框等纤细结构)的视差仍然是一个复杂的问题。消费级照片正朝着更高分辨率生成这一事实只会让问题变得更糟。例如,在计算散景时,精细细节周围的视差误差会导致渲染结果变差,不符合人类的视觉感受。
其次,对于真实世界的立体图像对来说,很难获得完美的校正,因为它们通常是由具有不同特性的相机模组拍摄的。例如,当前大多数智能手机使用广角镜头和长焦镜头来拍摄立体图像对,这两种镜头在焦距、畸变参数等方面具有明显不同的特性,不可避免地会导致非理想的校正情况。因此,那些假定立体图像对已完美校正的现有方法在这种不利条件下很可能会失效。此外,由不一致的相机模组所拍摄的图像对可能在光照、白平衡、图像质量等方面存在差异,这使得估计任务变得更加困难。
最后,尽管已有研究表明,通过足够大的合成数据集训练出来的模型能够很好地泛化到真实世界场景中,但在典型的复杂情况(如无纹理或重复纹理区域)下的视差估计仍然很困难,这就要求在训练数据集中对相关场景予以特别关注。
在本文中,我们提出了CREStereo,即级联递归立体匹配网络,它包含一系列新颖的设计,旨在解决实用立体匹配问题。为了更好地恢复复杂的图像细节,我们设计了一个分层网络,以由粗到细的递归方式来更新视差;此外,我们采用了一种堆叠式级联架构来进行高分辨率推理。为减轻校正误差带来的负面影响,我们设计了一个自适应组局部相关层用于特征匹配。而且,我们引入了一个在光照、纹理和形状方面具有更丰富变化的新合成数据集,以便更好地泛化到真实世界场景中。
到目前为止,CREStereo在ETH3D双视图立体和Middlebury基准测试中均排名第一,并且在已发表的方法中,于KITTI 2012/2015数据集上也取得了颇具竞争力的性能。此外,我们的网络在任意真实世界场景中都展现出了卓越的性能,很好地证明了我们这些设计的有效性。
因此,我们的主要贡献可总结如下:1)我们提出了一个用于实用立体匹配的级联递归网络以及一个用于高分辨率推理的堆叠式级联架构;2)我们设计了一个自适应组相关层来处理非理想校正问题;3)我们创建了一个新的合成数据集,以更好地泛化到真实世界场景中;4)我们的方法在诸如Middlebury和ETH3D等公开基准测试中显著优于现有方法,并且极大地提高了针对真实世界立体图像恢复视差的精度。
2. 相关工作
传统算法。立体匹配是一个颇具挑战性的问题,并且已经被研究了很长时间。传统算法可分为局部方法和全局方法两类。局部方法利用以极线上像素为中心的支持窗口来计算匹配代价。全局方法将立体匹配视为一个优化问题,通过置信传播或图割算法来构建并优化一个明确的代价函数。后来有人提出了一种基于动态规划、使用互信息而非基于强度的半全局匹配(SGM)方法。
基于学习的算法。深度神经网络最初被引入立体匹配任务时,仅用于匹配代价的计算。兹邦塔尔(Zbontar)和勒昆(LeCun)提议训练一个卷积神经网络(CNN)来初始化图像块之间的匹配代价,然后像半全局匹配(SGM)中那样,通过基于交叉的聚合和半全局优化对其进行细化。近年来,端到端网络已成为立体匹配领域的主流。其中一类网络仅使用二维卷积。迈耶(Mayer)等人引入了首个名为DispNet的端到端网络及其相关版本DispNetC,用于视差估计。庞(Pang)等人提出了一个名为CRL的两阶段框架,它具备多尺度残差学习能力。郭(Guo)等人提出了带有分组相关的GwcNet,以改进相似度度量。AANet引入了一种利用稀疏点和多尺度交互的新型聚合方法。最近的一种方法——RAFT-Stereo,利用光流网络RAFT中的迭代细化优势,设计出了一个适用于立体匹配的网络。另一类网络则使用三维卷积来执行传统方法中的代价体构建和聚合操作。GCNet和PSMNet提议构建一个带有三维沙漏聚合网络的四维代价体。针对高分辨率图像,杨(Yang)等人提出了一个由粗到细的分层网络,以解决内存和速度方面的问题。最近,神经架构搜索也被引入到深度立体网络中。
实用立体匹配。面向真实世界图像的立体匹配是一个较少被探索的问题。庞(Pang)等人提出了一种自适应方法,用于在无真实视差的情况下将卷积神经网络推广到目标领域。罗(Luo)等人提出了一个小波合成网络,以便在智能手机的散景应用中获得更好的结果。宋(Song)等人引入了一个网络的域适应流程,用于缩小合成领域与真实世界领域之间的差距。
合成数据集。充足的训练数据对于深度立体模型来说至关重要,但在现实世界中很难获取准确的视差。合成数据集能提供高精度且密集的真实标注。近期,何(He)等人利用Blender构建了一个用于立体匹配的数据生成管道,其纹理取自常见数据集的真实图像。Autoflow引入了一种简单方法,通过渲染带有运动的随机多边形来进行光流训练。尽管这些数据集很有效,但它们在物体形状的变化方面仍然有限,并且视差/光流值的分布范围较窄,这削弱了从合成数据到真实世界的泛化能力。
图2. 我们所提出网络的概览。左图:一对立体图像I1和I2被输入到两个共享权重的特征提取网络中,生成一个三级特征金字塔,该特征金字塔用于在级联递归网络的三个阶段计算不同尺度的相关性。I1的特征金字塔还为后续的更新模块和偏移量计算提供上下文信息。在级联的每个阶段,利用递归更新模块(Recurrent Update Module,RUM,见第3.2节)对特征和预测视差进行迭代细化,并且前一阶段的最终输出视差会作为初始化数据输入到下一阶段。在递归更新模块的每次迭代中,我们应用自适应组相关层(Adaptive Group Correlation Layer,AGCL,见第3.1节)来计算相关性。右图:我们在推理阶段提出的堆叠式级联架构,它以图像金字塔作为输入,利用多级上下文信息,详见第3.3节。
3. 方法
在本节中,我们将介绍所提出的级联递归立体匹配网络(CREStereo)的关键组成部分以及我们新的合成数据集。
3.1 Adaptive Group Correlation Layer(AGCL,自适应组相关层)
我们注意到,对现实世界中的立体相机来说,很难实现完美校准。例如,两个相机可能并未严格放置在水平极线上,这会导致在三维空间中出现轻微旋转;又或者相机镜头所拍摄的图像即便经过校正后通常仍存在残余畸变。因此,对于一对立体图像而言,对应点可能并不位于同一条扫描线上。于是,我们提出了自适应组相关层(AGCL)来减少这种情况下的匹配模糊性,相较于全对匹配,它仅需计算局部相关性,就能取得更好的性能。
局部特征注意力。我们并非对每一对像素都计算全局相关性,而是只匹配局部窗口内的点,以避免大量的内存消耗和计算成本。借鉴用于稀疏特征匹配的LoFTR,我们在级联的第一阶段的相关性计算之前添加了一个注意力模块,以便在单个或交叉特征图中聚合全局上下文信息。依照,我们对骨干网络输出添加位置编码,这增强了特征图的位置依赖性。自注意力和交叉注意力交替计算,其中使用线性注意力层来降低计算复杂度。
二维-一维交替局部搜索。与光流估计网络RAFT及其立体版本不同(在这些网络中,通过对两个C×H×W特征图进行矩阵乘法来计算全对相关性,会输出一个四维的H×W×H×W或三维的H×W×W代价体),我们只在局部搜索窗口中计算相关性,输出的体积H×W×D要小得多,以此节省内存和计算成本。其中H和W分别表示特征图的高度和宽度,D是相关对的数量,且远小于W。我们的相关性计算也不同于基于代价体的立体网络,在这些网络中搜索范围与前景物体的最大位移相关。这个固定范围比我们所使用的局部相关对的数量大得多,会导致更多的噪声干扰。此外,当模型泛化到具有不同基线的立体图像对时,我们无需预设范围。
给定两个重采样且经过注意力处理的特征图F_1和F_2,位置(x, y)处的局部相关性可表示为:
其中x’ = x + f(d),y’ = y + g(d),Corr(x,y,d) 属于 R^{HxWxD},是第d个(d范围[0,D-1])相关对的匹配代价,C是特征通道的数量,f(d)和g(d)表示当前像素在水平和垂直方向上的固定偏移量。
传统上,在立体匹配中,两幅校正后图像之间的搜索方向仅位于极线上。为了应对非理想的立体校正情况,我们采用二维-一维交替局部搜索策略来提高匹配精度。在一维搜索模式下,我们令g(d) = 0且f(d)属于[-r,r](其中r = 4)。f(d)的正位移值被保留,以便在每次迭代采样后调整不准确的结果。由公式(1)计算得到的结果在通道维度上进行堆叠和拼接,以得到最终的相关体。在二维搜索模式下,使用一个类似于扩张卷积的k×k网格(扩张率为l)来进行相关性计算。我们令k = sqrt{2r + 1},以确保输出特征具有相同的通道数量,这样它们就能被输入到一个共享权重的更新块中。与迭代重采样配合,交替局部搜索也充当了递归细化的传播模块,网络借此学会用更准确的邻域信息来替换当前位置有偏差的预测结果。
可变形搜索窗口。立体匹配在遮挡或无纹理区域经常会出现模糊性问题。在固定形状的局部搜索窗口中计算得到的相关性往往容易受到这些情况的影响。将可变形卷积扩展到相关性计算中,我们使用内容自适应的搜索窗口来生成相关对,这与AANet不同(AANet只是在代价聚合中采用了类似策略)。利用学习到的额外偏移量dx和dy,新的相关性可计算为:
其中x’’ = x + f(d) + dx,y’’ = y + g(d) + dy。图4展示了偏移量是如何改变常规搜索窗口的构成的。
图4. 自适应局部相关性示意图。上方和下方分别展示的是二维和一维情况,二者具有相同数量的搜索邻域,以生成形状相同的相关图。
分组相关性。受引入分组四维代价体的的启发,我们将特征图划分为G个组,分别计算局部相关性。最后,我们在通道维度上拼接G个D×H×W的相关体,以得到GD×H×W的输出体。该过程如图3所示。
图3. 所提模块的架构。左图:递归更新模块(RUM)。右图:自适应组相关层(AGCL)。详情分别在第3.2节和第3.1节中描述。
3.2 Cascaded Recurrent Network
对于无纹理或重复纹理区域,由于感受野较大且具备充足的语义信息,使用低分辨率和高层次特征图进行匹配会更加稳健。然而,在这类特征图中,精细结构的细节可能会丢失。为了在保持稳健性的同时保留高分辨率输入中的细节,我们提出了用于相关性计算和视差更新的级联递归细化方法。
递归更新模块(Recurrent Update Module,RUM)。我们基于门控循环单元(GRU)模块和我们的自适应组相关层(AGCL)构建了一个递归更新模块(RUM)。与RAFT(光流估计网络)不同,在RAFT中特征金字塔是在单个相关层中构建的,其输出会合并为一个体,而我们会在不同的级联层级中分别针对每个特征图计算相关性,并独立地对视差进行数次迭代细化。如图3所示,“采样器”会对分组特征的位置进行采样,将从函数f_n导出的坐标网格作为输入。{f1, … , fn}是经过n次迭代且初始化为f_0的中间预测结果。当前相关体是利用学习到的偏移量构建而成的。门控循环单元(GRU)模块会更新当前预测结果,并将其提供给下一次迭代中的自适应组相关层(AGCL)。
级联细化(Cascaded Refinement)。除了级联的第一层(其起始于输入分辨率的1/16处,且视差初始化为全零)之外,其他层级都将上一层预测结果的上采样版本作为初始化值。尽管要处理不同层级的细化工作,但所有的递归更新模块(RUM)都共享相同的权重。在最后一个细化层级之后,会进行凸上采样操作,以得到输入分辨率下的最终预测结果。
3.3 用于推理的堆叠式级联结构
正如前文所述,在训练过程中,我们使用具有固定分辨率的三级特征金字塔来进行分层细化。然而,对于输入的更高分辨率的图像,应当进行更多的下采样操作,以便扩大所提取特征及相关性计算的感受野。但对于高分辨率图像中位移较大的小物体而言,直接进行下采样可能会导致这些区域的特征质量变差。
为解决这一问题,我们设计了一种带有捷径的堆叠式级联架构用于推理。具体来说,我们预先对图像对进行下采样以构建图像金字塔,然后将它们输入到同一个经过训练的特征提取网络中,以此利用多级上下文信息。图2右侧展示了堆叠式级联架构的概览,为简洁起见,同一阶段内的跳跃连接未予展示。对于堆叠式级联的某个特定阶段(在图2中以行来表示),该阶段的所有递归更新模块(RUM)会与更高分辨率阶段的最后一个递归更新模块一同使用。堆叠式级联的所有阶段在训练期间共享相同的权重,因此无需进行微调。
3.4 损失函数
对于我们特征金字塔的每个阶段,我们使用上采样算子mu_s将输出序列调整为全预测分辨率,并采用与RAFT类似的指数加权L1距离作为损失函数(其中gamma设置为0.9)。给定真实视差d_{gt},总损失定义如下:
3.5 生成的训练数据
与以往的合成数据集相比,我们的数据生成流程对现实世界场景中的复杂难处理情况给予了额外关注,并具备多种强化特性。我们利用Blender来生成合成训练数据。每个场景都包含左右图像对以及相应的像素级精确的密集视差图,这些数据是通过双虚拟相机以及按特定位置摆放的物体采集得到的。我们的主要设计考量如下所述,图5中展示了部分示例。
形状。我们通过多种来源使作为主要场景内容的模型形状多样化:1)ShapeNet数据集,它包含超过4万个形状各异的常见物体的三维模型,构成了我们内容的基本来源。2)Blender的树苗生成插件,可提供细节丰富且较为杂乱的视差图。3)我们使用Blender内部的基本形状并结合线框修改器来生成针对带有孔洞和镂空结构等复杂场景的模型。
光照与纹理。我们在场景内随机位置放置不同类型、具有随机颜色和亮度的灯光,从而营造出复杂的光照环境。我们使用现实世界的图像作为物体及场景背景的纹理,尤其是针对那些包含重复图案或缺乏明显特征的复杂场景。此外,我们利用Blender的Cycles渲染器的光线追踪能力,随机将物体设置为透明或具有金属反射效果,以便涵盖具有类似属性的现实世界场景。
视差分布。为覆盖不同的基线设置,我们尽力确保生成数据的视差能在较宽范围内平滑分布。我们将物体放置在由相机视场和最大距离所形成的平截头体形状的空间内。每个物体的确切位置是从概率分布中随机选取的,然后根据其与相机的距离对物体进行缩放,以防止遮挡视线。这种做法能产生一种随机但可控的视差分布。
4.实验
4.1. 数据集和评估指标
我们在三个常用的公开基准数据集上对我们的方法进行评估。
Middlebury 2014提供了23对处于不同光照环境下的高分辨率图像对。这些图像是使用大基线立体相机拍摄的,Middlebury数据集中的最大视差可超过600像素。
ETH3D包含27对单色立体图像对,其视差是通过激光扫描仪采样得到的,涵盖了室内和室外场景。
KITTI 2012/2015包含200对广角街道视图的立体图像对,具备通过激光雷达采样得到的稀疏视差真实标注。
除了我们渲染生成的数据集外,我们还收集了主要的公开数据集用于训练,包括SceneFlow、Sintel以及Falling Things。SceneFlow包含39000对多种合成场景设置的训练图像对。Falling Things包含大量源自家居物体模型场景的图像。Sintel提供了来自各种合成序列的1200对立体图像对。我们所利用的其他数据源还有InStereo2K、Carla以及AirSim。
在评估方面,我们采用了常用的评估指标,包括平均误差(AvgErr)、误差大于2像素的像素占比(Bad2.0)、左图像中视差异常像素的占比(D1-all)等等。
4.2 实现细节
训练。我们的网络是基于PyTorch框架实现的。该模型在8块英伟达GTX 2080Ti图形处理器(GPU)上进行训练,批量大小设置为16。整个训练过程设定为30万次迭代。我们使用Adam优化器,其标准学习率为0.0004。在训练开始时,我们会进行一个为期6000次迭代的热身过程,在此期间学习率从标准值的5%线性增长至100%。在经过18万次迭代后,在训练过程接近尾声时,学习率会线性下降至标准值的5%。模型训练时的输入尺寸为384×512。所有训练样本在输入模型之前都要经过一系列的数据增强操作。
数据增强。为了模拟相机模组不一致以及非理想校正的情况,我们在训练时采用了多种数据增强技术。首先,我们分别对两个输入应用非对称的色彩增强操作,包括亮度、对比度和伽马值的调整。为了进一步增强对现实世界图像中校正误差的鲁棒性,我们仅针对右侧图像进行空间增强操作:实施轻微的随机单应性变换以及在极小范围(小于2像素)内的垂直偏移。为避免在不适定区域出现误匹配的情况,我们使用高度和宽度在50到100像素之间的随机矩形遮挡块。最后,为了使来自不同数据源的输入数据适配网络训练输入尺寸,立体图像组和视差会进行随机的缩放与裁剪操作。
4.3. 消融实验
在本节中,我们在不同设置下对我们的模型进行评估,以证明网络各组件的有效性。除了针对堆叠式级联结构的消融研究外,所有评估分辨率均为768×1024。
相关类型(Correlation types)。为了比较不同类型相关性的效果,我们用其他形式替换了我们的相关层。如表1所示,与它们的局部形式相比,[45]和[23]中所使用的二维和一维全对相关性都会导致精度大幅下降。当我们用单一的二维或一维相关性替换交替局部相关性时,会损害最终精度,而且当网络包含不止一级级联时,这种影响更为明显,因为校正误差会随分辨率的提高而增大。
自适应组相关层(AGCL)中的组件。如表1下半部分所示,使用没有学习到的偏移量的固定相关窗口会降低精度,这证明了自适应机制的有效性。将分组相关性替换为单一形式以及移除局部特征注意力模块都会使精度变差。 表1. 针对递归更新模块(RUM)的消融研究。上半部分是对不同形式的相关层以及不同层级级联的比较,其训练所使用的是除Middlebury和ETH3D之外的公开数据集。而下半部分是对自适应组相关层(AGCL)中关键组件的评估,训练所使用的是全部数据集。
级联递归更新模块(RUM)。我们比较了不同数量级联阶段的性能表现。如表1所示,使用没有级联的单个递归更新模块(RUM)会导致精度大幅下降。当改变级联数量时,在保持相关性类型不变的情况下,使用更多级联层级时预测误差会明显减小。这表明了我们的级联架构的重要性。
堆叠式级联结构。在推理阶段,我们将不同层级的图像金字塔作为输入提供给级联结构,同时共享相同的训练参数。我们在Middlebury数据集上比较了不同级联阶段在各种分辨率下的性能表现。如表2所示,当仅使用单一级联时,预测误差会随输入尺寸的增大而增大。多级输入有助于大幅降低误差,这表明我们的堆叠式级联方案在提高视差精度方面有很大的改进作用。
新的合成数据。为了分析我们所提出的合成数据的有效性,我们从训练数据集中抽取了35000对图像,并与规模相近的SceneFlow数据集进行比较。这两个数据集都用于对我们的模型进行训练,且采用相同的数据增强方式,训练迭代次数为50000次。如图6所示,我们的合成数据使得训练损失更低,并且在ETH3D和Middlebury验证数据上都有更好的性能表现。这表明我们的数据集在领域泛化方面更具优势。
4.4 与SOTA比较
Middlebury(米德尔伯里数据集)。我们使用来自Middlebury 2014数据集的23对图像(包括13对带有真实标注的额外图像)以及我们完整的训练集来训练网络,且未进行微调。Middlebury训练集所占比例增加至整个训练集的2%。我们采用调整尺寸后的全分辨率图像,通过二级推理对尺寸为1536×2048的测试集进行评估,并将结果提交到在线排行榜上。在120多种其他方法中,我们在多数指标上都取得了第一名的成绩,在“Bad 2.0”指标上比已发表的最先进方法超出21.73%,在“A95”指标上超出31.00%。与其他方法的定量对比结果如表3所示。
ETH3D。我们使用来自ETH3D低分辨率双视图立体数据集且比例为2%的扩充训练数据,结合整个训练集来训练我们的网络。在未进行微调的情况下,我们采用二级推理对尺寸为768×1024的测试集进行评估。在撰写本文时,我们在所有指标方面都在已发表方法中达到了在线基准测试的最先进水平。我们的方法在“Bad 1.0”指标上比已发表的最先进方法超出59.84%。定量对比情况如表4所示。
KITTI。与针对Middlebury和ETH3D的训练流程不同,我们在KITTI 2012和2015训练集上对基于完整训练集预训练的模型再进行50000次迭代的微调。初始学习率设定为0.0001。我们将KITTI数据集的比例增加至75%,其余部分从整个训练集中随机抽取。在评估过程中,我们在将输入数据送入网络之前,先将其填充为384×1248的尺寸,并采用单级推理。我们在这两个数据集上都取得了颇具竞争力的性能,在KITTI 2012数据集中,在误差阈值小于2像素的“Out-Noc”指标上比LEAStereo超出9.47%。我们在图8中展示了KITTI 2015的可视化对比情况。
4.5 实际性能
与标准立体数据集中数量和场景都有限的真实世界图像相比,从消费级设备拍摄的图像给立体匹配带来了更大的挑战。为了进行公平比较,我们使用作者发布的代码以及推荐的设置,在我们的完整训练集上对所有其他立体网络进行了训练。
Holopix50K(霍洛皮克斯5万数据集)。图9展示了我们的网络与几种已发表的立体匹配方法在Holopix50K数据集的不同场景下的定性比较结果。进行了预校正操作以消除可能出现的负视差。可视化结果显示,我们的方法在诸如猫的胡须和铁丝网等纤细物体上具有显著优势。我们在墙壁和窗户等无纹理区域也取得了更好的表现。
受干扰的ETH3D数据集。我们在ETH3D数据集上模拟了实际场景中常见的干扰情况,以测试我们所提方法的鲁棒性,并在图10中列出了定量结果。这里的干扰包括图像模糊、色彩变换、色噪、图像透视变换、垂直偏移以及空间畸变。结果表明,我们的方法不太容易受到这些干扰的影响。
智能手机拍摄的照片。由于在现实世界场景中很难获取真实视差,一种经验性的做法是手动标注一个前景掩码M_f来评估视差质量。交并比(IoU)这一指标常用于分割任务中。对于一个视差图,我们可以设置一个阈值t来获取一个前景掩码M_t,其中前景的视差数值大于t。“最大交并比(mxIoU)”指的是通过改变t得到的M_f与M_t之间的最大交并比。类似地,“边界区域最大交并比(mxIoUbd)”指的是在距离M_f边界p(我们设定p = 4)个像素的带状区域内的最大交并比。定量和定性比较结果分别展示在表5和图11中。
5. 结论
尽管深度立体网络取得了前所未有的成功,但在现实世界场景中准确恢复视差方面仍存在诸多阻碍。在本文中,我们提出了级联递归立体匹配网络(CREStereo),这是一种新颖的立体匹配网络,它在公开基准数据集以及现实世界场景中都取得了最先进的成果。我们在此想要传达的关键信息是,为了让算法能在现实世界中切实发挥作用,网络架构和训练数据都值得深入思考。通过带有自适应相关性的级联递归网络,我们能够比现有方法更好地恢复精细的深度细节;而且通过精心设计我们的合成数据集,我们得以更好地处理诸如无纹理或重复纹理区域等复杂场景。我们方法的一个局限在于,该模型的运行效率尚不足以应用于当前的移动应用程序中。未来可以进行改进,以便让我们的网络适配各类便携式设备,最好能实现实时运行。