由北京理工大学贾云得教授研究组提出的立体匹配新方法着重于成本聚合问题,在 KITTI 和 Scene Flow 基准测试中超越了此前业内的最佳水平。本文已提交今年 2 月举行的 AAAI 2018 大会,并成为 Spotlight poster 论文。
立体匹配(Stereo matching)是计算机视觉社区研究的一个基础问题。立体匹配的研究目标是计算由立体照相机收集的图像的视差图(disparity map)。这种视差图在 3D 场景重建、机器人、自动驾驶领域都有普遍的应用。随着大规模数据集的出现、计算力的快速发展,深度神经网络经验证在立体匹配中有所成效。目前,许多顶尖的方法通过学习稳健地局部特征或者相似性测量作为成本计算来提升表现((Zbontar and LeCun 2015; Luo, Schwing, and Urtasun 2016; Shaked and Wolf 2016)。然而,这些方法在少纹理区域和遮挡边界区域问题上仍有很大的困难,这主要是因为在成本计算过程中看到的视野受限。
图 1:典型的深度立体匹配方法流程图与我们基于学习的成本聚合(cost aggregation)方法流程图的对比。架构 A 是典型的深度立体匹配方法的图,里面使用的是传统的成本聚合方法。架构 B 是我们基于学习的成本聚合方法。关于架构的更多细节在图 2 中有所展示,其中我们根据颜色匹配了各个部分。
为了处理成本计算结果的不匹配值(成本体积),成本聚合在传统的立体匹配方法中是不可或缺的。成本聚合应用于成本体积,用于改正聚合匹配成本时出现的不匹配值。它通常是通过在一个支持区域中的常数差异上加和或平均匹配成本完成的(Yang 2012;Min,Lu and Do 2011;Tombari et al. 2008)。然而,传统的成本聚合方法受到浅层手工设计的限制,无法进行聚合。它们无法在保持局部适值的情况下有效形成全局引导。在本论文中,北京理工大学的研究人员提出了一种基于学习的成本聚合方法,可在全局视野和局部适值之间做出有效平衡,其方法使用了全新的双流束神经网络。
本论文提出的成本聚合能够以端到端的形式整合其他深度立体匹配流程,因为它是以整个网络子架构的形式构建的。通过基于学习的成本聚合,立体匹配流程的端到端训练不仅可以学习成本计算的特征和相似性,也可以表现为成本聚合。新方法的架构和典型的深度立体流程之间的对比如图 1 所示。我们可以看到,基于学习的成本聚合是通过一个双流束网络(twostream network)以明确方式实现的。
成本聚合过程被重述为一个生成潜在成本聚合结果(提出建议,选择其中最佳)的学习机制。因此,基于学习的成本聚合由双流束网络执行:一个流用于生成建议,另一个流用于评估建议。第一个流根据成本体积(由成本计算算出)计算出的潜在聚合结果得出局部适值。生成是通过卷积操作沿着成本体积的三个维度来执行的,其中结合了空间和深度上的信息。第二个流通过评估每个建议来为成本聚合带来全局视角引导,这个过程是通过轻卷积网络将低阶结构信息作为建议的评估标准来获得的。由于结构信息只包含独立于深度的 2D 信息,因此引导(guidance)的深度维度不变。因此,对每个建议的不同评估遵循相同的引导。在对每个建议评估之后,模型使用胜者通吃策略来选出最佳聚合值,形成聚合成本值。
研究人员提出的架构在 Scene Flow(Mayer 等人,2016)和 KITTI 基准测试上(Menze & Geiger,2015;Geiger,Lenz and Urtasun,2012)展示了很高的准确度。该研究主要贡献为以下三点。
该研究是第一个在基于学习的立体匹配方案中明确对成本聚合建模的方法。研究人员使用生成学习过程重新形式化成本聚合,并让算法在成本聚合建议中选择。
研究人员提出了一种全新的双流束网络来生成和选择成本聚合建议。这种双流束网络保留了丰富的语义信息,同时带来了低级结构信息,证明了将高级特征与低级特征融合的能力。
新提出的基于学习的成本聚合是端到端可训练的深度立体匹配流程子架构。它适合于没有成本聚合的流程,进一步提升了准确率。
图 2:北理工提出的立体匹配管道与基于学习的成本聚合。
不同的颜色代表不同数据的大小:蓝色对应 W × H × C,橘色对应 D × H × W × C,绿色对应 H × W × G,紫色对应 D × H × W × G。成本计算步骤分为三个部分。A1 是使用残差 Siamese 网络的特征提取子网络。A2 是特征体积构建部分,细节如图 3 所示。A3 计算使用 3D 卷积网络计算特征体积的相似,输出初始成本体积。基于学习的成本聚合是由一个双流束网络座位整个流程的子架构实现的。指导流程在 B1。建议流程在 B2。成本聚合过程是通过赢者通吃的策略来选择最佳建议。最后,使用 soft-argmin 函数来计算视差图。
网络架构
作为像素级的匹配任务,立体匹配需要计算左图像中每个像素与右图像中 D 个对应像素之间的相似性,其中 D 是最大视差。计算匹配成本可形成成本体积 C0(h,w,d)。立体匹配管道和其建议的成本聚合由端到端可训练网络执行。与使用黑箱网络的方法相比,我们从经典立体匹配算法(Scharstein & Szeliski,2002)中获取灵感,提出了双流束网络的成本聚合方法。
图 3:特征体积构建操作。每个网格方块代表一个像素的特征。我们可以简单地使用移位和连接操作来形成一个特征量。
表 4:KITTI2012 上的各方法对比
表 5:KITTI2015 上的各方法对比
论文:Deep Stereo Matching with Explicit Cost Aggregation Sub-Architecture
论文链接:https://arxiv.org/abs/1801.04065
深度神经网络在立体匹配(stereo matching)上表现出色。很多研究着重于特征提取和相似度测量,却忽视了至关重要的成本聚合。在本文中,我们提出了一种基于学习的成本聚合方法,通过在端到端训练流程中的新型子体系结构进行立体匹配。我们将成本聚合重新形式化为生成和选择建议,并表明聚合结果的成本聚合学习过程。成本聚合的子架构是通过一个双流束网络实现的,一个用于生成成本汇总建议,另一个用于选择建议。选择的标准由轻卷积网络的低阶信息获取结构确定。双流束网络提供了成本聚合的全局视图指导,避免了由于匹配计算成本造成视角限制出现的不匹配值。在 KITTI 和 Scene Flow 中的测试表明我们的方法超越了此前业内的最佳水平。