【论文简述及翻译】AANet: Adaptive Aggregation Network for Efficient Stereo Matching(CVPR 2020)

一. 论文简述

1. 第一作者:Haofei Xu

2. 发表年份:2020

3. 发表期刊:CVPR

4. 关键词:可变形卷积、立体匹配、端到端训练、代价聚合、伪标签监督

5. 探索动机:当前最先进的立体匹配网络大多基于 3D 卷积,其计算复杂度和高内存消耗使得在实际应用中部署成本非常高。3D卷积的问题:速度很慢,如PSM-Net在高性能GPU上也需要4G的内存和410ms来处理一对KITTI图片。GA-Net意识到了3D卷积的弊端,用SGA和LGA尝试替代3D卷积,但是仍然使用了15个3D卷积。

6. 工作目标:是否可以完全替代3D卷积并且大大提高计算速度,同时达到SOTA的效果?

7. 核心思想:使用AA层替代3D卷积实现更好的代价聚合。体出的两个创新点也是应用在立体匹配算法流程中的代价聚合部分。基于稀疏点的尺度内代价聚合方法(ISA,Intra-Scale Cost Aggregation),以缓解视差不连续情况(及细微结构)下物体边缘肥大(edge-fattening)问题。利用神经网络层来近似传统的跨尺度代价聚合算法(CSA, Cross-scale Cost Aggregation)来处理大的无纹理区域。

8. 实现方法:

  • 特征提取:使用共享特征提取器以1/3、1/6和1/12分辨率得到下采样后的特征金字塔;
  • 构建代价体:通过相关相应尺度的左右特征来构建多尺度3D代价体;
  • 代价聚合:经过六个堆叠的自适应聚合模块(AAModules)聚合,其中一个AAModule由三个尺度内聚合(ISA)模块和一个三个金字塔级别的尺度间聚合(CSA)模块组成;
  • 视差回归:Soft Argmax,对多尺度视差预测进行回归;
  • 视差改进:使用StereoDRNet中提出的两个改进模块将1/3视差预测上采样到原始分辨率;
  • 损失:用GA-Net生成具有伪标签的视差图用于弥补KITTI数据集中没有视差的位置进行监督。

9. 实验结果:

  • 在四种代表性立体模型中,AAModules替换代价聚合阶段的3D卷积,不仅获得了明显的性能提升,而且参数更少,计算成本和内存消耗更少,同时明显更快。
  • 模型变体AANet⋆在基准测试中,Scene Flow 达到SOTA效果,在KITTI精度一般,但是比其他方法更快。

10.论文&代码下载:

https://openaccess.thecvf.com/content_CVPR_2020/papers/Xu_AANet_Adaptive_Aggregation_Network_for_Efficient_Stereo_Matching_CVPR_2020_paper.pdf

GitHub - haofeixu/aanet: [CVPR 2020] AANet: Adaptive Aggregation Network for Efficient Stereo Matching

二. 论文翻译

AANet: Adaptive Aggregation Network for Efficient Stereo Matching

摘要

基于学习的立体匹配算法尽管取得了显着进展,但有一个关键挑战仍未解决。当前最先进的立体模型大多基于昂贵的3D卷积,立方计算复杂度和高内存消耗使其在实际应用中的部署非常昂贵。在本文中,我们的目的是完全替代常用的3D卷积,以实现快速推断速度,同时保持同样的精度。为此,我们首先提出了一种基于稀疏点的尺度内代价聚合方法,以缓解众所周知的视差不连续处的边缘膨胀问题。此外,我们用神经网络层近似传统的尺度间代价聚合算法来处理大的无纹理区域。这两个模块都简单、轻量且互补,从而形成了一种有效且高效的代价聚合结构。使用这两个模块,我们不仅可以显着加速现有性能最佳的模型(例如,比GC-Net提高41倍,比PSMNet提高4倍,比GANet提高38倍),而且还可以提高快速立体模型的性能(例如,StereoNet)。我们还在Scene Flow和 KITTI 数据集上取得了具有竞争力的结果,同时运行时间为62毫秒,证明了所提出方法的多功能性和高效率。

1. 介绍

从立体对估计深度是计算机视觉中最基本的问题之一。关键任务是找到空间像素对应关系,即立体匹配,然后可以通过三角测量来恢复深度。高效准确的立体匹配算法对于许多需要快速且可靠响应的实际应用至关重要,例如机器人导航、增强现实和自动驾驶。

传统的立体匹配算法通常执行四步流程:匹配代价计算、代价聚合、视差计算和改进,它们可以大致分为全局方法和局部方法。全局方法通常通过将包含数据项和平滑项的全局目标函数最小化来解决优化问题,而局部方法仅考虑邻域信息,因此比全局方法快得多。尽管传统方法取得了重大进展,但在比如无纹理区域、重复图案和薄结构等具有挑战性的情况下,它们仍然受到影响。

基于学习的方法利用深度神经网络从数据中学习强表示,即使在那些具有挑战性的情况下也能取得有用的结果。DispNetC构建了第一个用于视差估计的端到端可训练的框架,其中相关层用于测量左右图像特征的相似性。GC-Net通过直接连接左右特征采用了一种与众不同的方法,因此需要用3D卷积来聚合已经产生的4D代价体。PSMNet通过引入更多的3D卷积来进行代价聚合,进一步改进了GC-Net,从而获得了更好的准确性。尽管使用3D卷积可以实现最先进的性能,但由于其计算代价高并且消耗内存,在实践中使用它相当昂贵(例如,即使在高端GPU,PSMNet花费大约4G内存和410毫秒来预测KITTI立体对)。近期的工作,GA-Net也关注到了3D卷积的缺点,并尝试用两个引导聚合层来代替它们。然而,他们的最终模型仍然使用15个3D卷积。

为此,一个启发性的问题出现了:如何在没有3D卷积的情况下实现最好的结果,同时显着加快速度?由于3D卷积提供了强大的正则化,因此回答这个问题尤其具有挑战性。在本文中,我们表明,通过设计两个有效且高效的代价聚合模块,即使使用简单的特征相关而不是串联,也可以在Scene Flow和KITTI数据集上获得具有竞争力的表现。

具体来说,我们首先提出了一种新的基于稀疏点的表示,用于尺度内的代价聚合。如图1所示,一组稀疏点被自适应采样以将它们自己定位在具有相似视差的区域中,从而缓解了在视差不连续处众所周知的边缘扩大问题。此外,这种表示可以在较大的上下文中灵活地采样,同时比从大窗口中采样更有效,这是传统局部方法获得高质量结果的基本要求。我们还学习了上下文自适应权重,取得了用于代价聚合的特定位置加权,目的是克服常规卷积中空间共享性质的固有缺陷。我们用可变形卷积实现了上述想法。

图1:基于常规卷积的代价聚合方法和我们提出的方法中采样位置的图示,其中黄色和红色点代表聚合的位置。(a)立体对的左图。(b)常规卷积中的固定采样位置,聚合权重也是空间共享的。(c)我们方法中的自适应采样位置和特定位置的聚合权重。(b)和(c)中的背景是真实的视差。

我们通过构建并行多尺度代价体并允许自适应多尺度交互,进一步逼近具有神经网络层的传统尺度间代价聚合算法,即使在低纹理或无纹理区域也能产生准确的视差预测。

这两个模块简单、轻量且互补,形成了一种高效的代价聚合结构。我们还在特征抽取阶段广泛使用了其中的关键想法,从而产生了我们高效且准确的自适应聚合网络(AANet)。例如,我们可以在Scene Flow数据集上超越现有最好的模型,同时速度显着加快,例如,比GC-Net快41倍,比PSMNet快4倍,比GA-Net快38倍。我们的方法也可以成为提高快速立体模型性能的一种有价值的方法,例如StereoNet,它通常基于非常低的分辨率代价体来实现速度快,但是以牺牲精度为代价。我们还在KITTI数据集上取得了具有竞争力的表现,运行时长有62毫秒,证明了我们提出的方法是多功能且高效的。

2. 相关工作

本节回顾了与我们最相关的工作。

局部代价聚合。局部立体方法(传统的[40, 12]或基于2D/3D卷积的方法[20, 14])通常执行基于窗口的代价聚合:

其中C∼(d,p)表示在像素p处视差候选d的聚合代价,q是p领域N(p)内的像素, w(p, q)是聚合权重,C(d, q)是在q处视差d的原始匹配代价。局部方法尽管得到了广泛且成功的应用,但仍然有些重要的局限。首先,局部方法的基本假设是匹配窗口中的所有像素都具有相似的视差。然而,这种假设不适用于视差不连续的地方,从而在物体边界和薄结构中产生众所周知的边缘扩大问题。因此,需要仔细设计权重函数 w,以消除违反平滑假设的像素的影响。虽然基于学习的方法从数据中自动学习聚合权重,但是仍然有常规卷积的固有缺点:权重在空间上共享,因此与上下文不一定有关。此外,通常需要较大的窗口大小才能获得高质量的结果,从而导致计算代价高。一些工作已经解决固定矩形窗口的局限性,例如,使用不同的窗口大小、多个窗口、或不受约束的形状。

与现有方法不同,我们提出了一种全新的基于稀疏点的代价聚合表示。这种表示也不同于[23],它在匹配窗口内规律地采样稀疏点以降低计算复杂度。相比之下,我们提出的采样机制是完全不受约束并且自适应的,相比于[23]中的常规采样具有更大的灵活性。与常规卷积的空间共享性质相比,我们还学习了额外的上下文自适应权重,以实现特定位置的权重。

尺度间代价聚合。传统的尺度间代价聚合算法从联合优化的角度重新定义了局部代价聚合,并表明通过对代价体实施多尺度一致性,在不同的尺度执行的代价聚合结果进行自适应组合来获得最终的代价体。补充材料中提供了详细信息。我们以端到端的方式用神经网络层来近似这个结论。与现有的从粗到细的方法不同,我们并行构建多尺度代价体并允许自适应多尺度交互。我们的尺度间聚合结构也不同于最近的工作[35],它还构建了多尺度代价体。然而,[35]将代价体从最低级别到更高级别分层融合,而我们根据[44]中的分析同时聚合所有尺度代价体。

立体匹配网络。现有的端到端立体匹配网络大致可以分为两类:基于2D和3D卷积的方法。它们的主要区别在于代价体的构建方式。2D方法通常采用相关层,而3D方法主要使用直接的特征连接。[8]是基于连接的3D方法的一个例外,它提出了组相关以减少完全相关的信息损失。在性能方面,在流行的基准测试(例如,Scene Flow和 KITTI)中3D方法通常明显优于2D方法,但运行速度要慢得多。在本文中,我们的目标是明显加快现有性能最好的方法,同时保持相当的性能。近期的工作,DeepPruner与我们有着相似的目标,即构建高效的立体模型。他们提出通过可微的PatchMatch模块来减少视差搜索范围,从而构建简洁的代价体。相比之下,我们的目标是降低采样复杂度,提高代价聚合中采样的灵活性,在不同方面都起了作用,这两种方法也可以相互补充。

可变形卷积。可变形卷积最初的目标是增强标准卷积对几何变换建模的能力,通常用作目标检测和语义/实例分割任务的主干。相反,我们以新的视角看待传统立体方法,并提出了一种自适应采样方案,以实现高效灵活的代价聚合。由于得到的公式类似于可变形卷积,因此我们在实现中采用了它。

3. 方法

给定一个校正后的图像对Il和Ir,我们首先使用共享特征提取器提取下采样后的特征金字塔{Fls}S s=1和{Frs}S s=1,其中S表示尺度的数量,s是尺度索引,s=1代表最高尺度。然后通过相关相应尺度的左右图像特征来构造多尺度3D代价体积 {Cs}S s=1,类似于DispNetC:

其中<·, ·>表示两个特征向量的内积,N是提取特征的通道数。Cs(d, h, w) 是视差候选d在位置(h, w)的匹配代价。然后将原始代价体{Cs}Ss=1经过几个堆叠的自适应聚合模块 (AAModules) 聚合,其中一个自适应聚合模块由S个自适应尺度内聚合模块(ISA)和一个S金字塔级别的自适应尺度间聚合模块(CSA)组成。最后,使用改进模块将预测的低分辨率视差分层上采样到原始分辨率。在训练时,所有视差预测都受到真实值的监督,而推断只需要最后一个视差预测。图2概述了我们提出的自适应聚合网络 (AANet)。下面我们详细介绍ISA和CSA模块。

图2:我们提出的自适应聚合网络 (AANet) 的概述。给定一个立体对,我们首先使用共享特征提取器以1/3、1/6和1/12分辨率提取下采样特征金字塔。然后通过相关相应尺度的左右特征来构建多尺度代价体。原始代价体由六个堆叠的自适应聚合模块(AAModules)聚合,其中一个AAModule由三个尺度内聚合(ISA,第3.1节)模块和一个三个金字塔级别的尺度间聚合(CSA第3.2节)模块组成。接下来对多尺度视差预测进行回归。请注意,虚线箭头仅在训练时需要,在推断时需要移除。最后在1/3分辨率的视差预测分层上采样/改进到原始分辨率。为清楚起见,该图中省略了改进模块,详见第3.3节。

3.1. 自适应尺度内聚合

为了缓解众所周知的视差不连续处的边缘扩大问题,我们提出了一种基于稀疏点的表示,以实现高效灵活的代价聚合。由于得到的公式类似于可变形卷积,因此我们在实现过程中采用了它。

具体来说,对于某一尺度的代价体C∈ R D×H×W,其中D、H、W分别表示最大视差、高度和宽度,我们提出的代价聚合策略定义为

其中C∼(d, p)表示候选视差d在像素p处的聚合代价,K2是采样点的数量(在我们的论文中K=3),wk是第k个点的聚合权重,在基于窗口的代价聚合方法中pk是到p的固定偏移量。我们与以前的立体工作的主要区别在于,我们学习常规采样位置p+pk的额外偏移量Δpk,从而采用自适应采样以实现高效灵活的代价聚合,从而在物体边界和薄结构中获得高质量的结果。

然而,在学习的背景下,由于自身的空间共享特性,常规卷积权重{wk}K2 k=1对上下文是不敏感的。我们进一步学习每个像素位置p的位置特定权重 {mk}K2 k=1(即[45]中的调整,它们还具有控制采样点的相对影响的效果)以实现内容自适应代价聚合:

我们使用可变形卷积实现等式(4),通过在输入代价体C上应用的单独卷积层获得Δpk和mk。可变形卷积的原始公式假设偏移量Δpk和权重mk在每个通道共享(即本文中的视差候选d),我们进一步将所有视差候选平均分为G组,并在每组内共享Δpk和mk。在可变形卷积中也使用了膨胀卷积。以实现更多的灵活性。我们在本文中设置G=2和膨胀率为2。

我们构建了一个具有3层堆叠和一个残差连接的尺度内聚合(ISA) 模块。三层分别是1×1、3×3和1×1卷积,其中3×3卷积是可变形卷积。这种设计类似于[9]中的瓶颈,但我们始终保持通道不变(等于视差候选的数量)。也就是说,我们不断推断视差候选,类似于传统的代价聚合方法。

3.2. 自适应尺度间聚合

在低纹理或无纹理区域中,在粗尺度上搜索对应关系可能是有用的,因为当图像被下采样时,在相同的块大小中纹理信息将更具辨别力。在[36]中也有类似的观察。因此,在传统的尺度间代价聚合算法中引入了多尺度交互[44]。

[44]中的分析表明,最终的代价体是通过在不同尺度上进行的代价聚合结果进行自适应组合获得的(详细信息在补充材料中给出)。因此,我们近似该算法用

其中C^是尺度间代价聚合后生成的代价体,C~k是尺度k的尺度内聚合代价体,例如,使用Sec3.1中的算法,而fk是一个通用函数,可以实现每个尺度的代价体的自适应组合。我们采用HRNet中fk的定义,HRNet是一项最近用于人体姿态估计的工作,它取决于代价体C~k和C^s的分辨率。具体来说,对于代价体 C^s,

其中I表示恒等函数,s−k stride-2 3×3卷积用于2s−k次下采样以使分辨率一致,表示先双线性上采样到相同分辨率,然后进行1×1卷积使通道数相等。我们将该结构称为尺度间聚合(CSA)模块。

尽管我们的CSA模块类似于HRNet,但它们主要有两个区别。首先,我们受到传统尺度间代价聚合算法的启发,目标是用神经网络层近似几何结论,而HRNet目的是学习丰富的特征表示。此外,由于在较粗的尺度下搜索范围较小,在我们的方法中较低尺度代价体的通道数(对应于视差维度)减半,而HRNet选择翻倍,表明我们的结构比HRNet更有效。

3.3. 自适应聚合网络

我们提出的的ISA和CSA模块是互补的并且可以合并的,从而形成我们最终的自适应聚合模块(AAModule,见图2)。我们堆叠了六个AAModule进行代价聚合,而对于前三个AAModule,我们简单地使用常规2D卷积进行尺度内聚合,因此本文中总共使用九个可变形卷积进行代价聚合。

我们的特征提取器采用类似ResNet的结构(总共40层),其中六个常规2D卷积替换为可变形卷积。我们使用特征金字塔网络以1/3、1/6和1/12的分辨率构建特征金字塔。在StereoDRNet中提出的两个改进模块用于将1/3视差预测分层上采样到原始分辨率(即先上采样到1/2分辨率,然后再上采样到原始分辨率)。将所有这些组件结合起来,就形成了我们最终的自适应聚合网络 (AANet)。

3.4. 视差回归

对于每个像素,我们采用soft argmin机制来获得视差预测d~:

其中Dmax是最大视差范围,σ是softmax函数,cd 是视差候选d的聚合匹配代价。σ(cd) 可以看作是视差为d时的概率。这种基于回归的公式可以产生亚像素精度,因此在本文中使用。

3.5. 损失函数

我们的AANet以真实值的视差作为监督进行端到端训练。而对于KITTI数据集,视差的真实值的高度稀疏性可能影响我们的学习过程。受[10]中知识精炼的启发,我们提出利用预训练立体模型的预测结果作为伪真实值监督。具体来说,我们采用预训练的模型来预测训练集上的视差图,并将预测结果用作像素中伪标签,原像素点没有真实的视差值。我们以预训练的GA-Net模型为例来验证该策略的有效性。

对于视差预测Dpred i , i =1, 2, ··· , N,它首先被双线性上采样到原始分辨率。相应的损失函数定义为

其中V (p)是二进制掩码,表示像素p的真实视差是否可用,L是平滑L1损失,Dgt是真实视差,Dpseudo 是伪真实值。

最终的损失函数是所有视差预测的损失组合

其中λi用于平衡不同项的标量。

4. 实验

4.1. 数据集和评估指标

我们在三个流行的立体数据集上进行了大量的实验:Scene Flow、KITTI 2012和KITTI 2015。Scene Flow数据集是一个大规模合成数据集,提供稠密的真实的视差图。在该数据集上公布端点误差(EPE)和1-pixel误差,其中EPE是以像素为单位的平均视差误差,1-pixel误差是EPE大于1个像素的像素平均百分比。KITTI 2012和KITTI 2015是户外场景中的真实的数据集,但仅提供稀疏的真实值。在线排行榜中的官方指标(例如 D1-all)会公布。

4.2. 实现细节

我们在PyTorch中实现我们的方法,并使用Adam (β1=0.9, β2=0.999) 作为优化器。对于Scene Flow数据集,我们使用所有训练集(35454个立体对)进行训练,在标准测试集(4370个立体对)上评估。原始图像被随机裁剪为288×576的输入图像。我们在4个NVIDIA V100 GPUs上训练我们的模型,训练64个周期,批大小为64。学习率从0.001开始,在第20个周期之后每 10个周期降低一半。对于KITTI数据集,我们裁剪尺寸为336×960,并将在Scene Flow上预训练的模型在混合的KITTI 2012和2015训练集上微调1000个周期。初始学习率为0.001,在第400、600、800和900个周期时减小一半。然后单独在KITTI 2012/2015训练集上再训练1000个周期进行基准测试,初始学习率为0.0001,安排与之前相同。但是按照[13]中类似的策略,只有最后一个视差预测是使用真实值进行监督的。对于所有数据集,输入图像使用ImageNet均值和标准差统计数据进行归一化。我们使用随机颜色增强和垂直翻转,并将最大视差设置为192像素。从最高尺度到最低尺度,等式8中的损失权重设置为λ1 = λ2 = λ3 = 1.0, λ4 = 2/3, λ5 = 1/3。

4.3. 分析

为了验证本文提出的每个组件的有效性,我们在Scene Flow测试集和KITTI 2015验证集上进行了对照实验(KITTI 2015训练集分为160对用于训练和40对用于验证)。

消融研究。如表1所示,移除ISA或CSA模块会导致明显的性能下降。加入这两个模块可以获得最佳性能,它们的设计原则上是互补的。图3进一步展示了视觉比较的结果。我们完整的模型在薄结构和无纹理区域中产生了更好的视差预测,证明了所提出方法的有效性。

表1:ISA和CSA模块的消融研究。通过加入这两个模块可以获得最佳性能。

图3:在Scene Flow测试集上进行消融实验的视觉比较。我们的AANet在薄结构中产生更清晰的结果,在无纹理区域中产生更好的预测。

采样点可视化。为了更好地理解自适应规模内代价聚合算法,我们将两个具有挑战性的区域中的采样位置可视化。如图4所示,对于物体边界上的像素(图4a),采样点倾向于集中在相似的视差区域上。而对于大的无纹理区域(图4b),由于大量的局部模糊,通常需要更多的上下文来获得可靠的匹配。我们的方法可以成功地将采样位置调整到这些区域,因此验证了自适应聚合方法不仅可以动态调整采样位置,还可以从大的上下文中采样。

图4:两个具有挑战性的区域(绿点)中采样点(红点)的可视化。在物体边界(a)中,采样点倾向于集中在相似的视差区域上。而对于大的无纹理区域 (b),它们更离散地在大的上下文中分布采样。

伪真实值监督。图5展示了在KITTI 2015验证集上的视觉结果。我们凭经验发现,利用预训练的GA-Net模型的预测结果有助于减少没有真实视差的区域(例如天空区域)中的假象。定量地,D1-all 误差标准从2.29降低到2.15,而EPE从0.68增加到0.69。原因可能是验证集太小而导致结果不稳定。在[8]中也注意到了类似的现象。然而,定性结果表明,我们提出的策略可以成为处理高度稀疏的真实数据的有效方法。

图5:KITTI 2015验证集上的视差预测结果的可视化。利用伪真实值作为额外的监督有助于减少没有真实值的区域(例如天空区域)中的假象。

泛化性。我们在Middlebury 2014数据集上进一步测试了我们方法的泛化能力。具体来说,我们直接使用在KITTI上微调的模型来预测视差图,没有在Middlebury上进行额外的训练。图6显示了结果。与流行的PSMNet模型相比,我们的AANet 产生了更清晰的物体边界并且更好地保留了整体结构。

图 6:在Middlebury 2014数据集上的泛化。与PSMNet相比,我们的AANet产生了更清晰的物体边界并且更好地保留了整体结构。

4.4. 与3D卷积的比较

为了证明我们提出的代价聚合方法优于常用的3D卷积,我们在大规模Scene Flow数据集上进行了大量的实验。

设置。我们主要与四个具有代表性的立体模型进行比较:第一个基于3D卷积的模型GCNet、实时模型StereoNet、以前和当前最好的模型PSMNet和GA-Net。为了公平比较,我们使用与它们相似的特征提取器。具体来说,StereoNet 使用8倍下采样以提高速度,而我们使用4倍;GA-Net中的五个常规2D卷积替换为可变形卷积;对于GC-Net和PSMNet,特征提取器完全相同。我们用我们提出的AAModules替换代价聚合阶段的3D卷积,并用后缀AA表示模型结果。我们将所有模型集成在同一个框架中,并在单个NVIDIA V100 GPU上以576 × 960分辨率测量推断时间。

结果。表2显示了全面的比较指标/统计数据。为了取得更快的速度,StereoNet使用8倍下采样来构建非常低分辨率的代价体,同时以牺牲精度为代价。但是由于我们高效的自适应聚合结构,我们能够以更少的计算量同时更准确更快地直接聚合 1/4 代价体,这表明我们的方法可以成为提高现有快速立体模型性能的有价值的方法。与表现最好的立体模型GC-Net、PSMNet和GA-Net相比,我们不仅获得了明显的性能提升(除了GA-Net的EPE比我们的低),而且参数更少,计算成本和内存消耗更少,同时明显更快(比GC-Net快41倍,比PSMNet快4倍,比GA-Net快38倍),证明了我们的方法与常用的3D卷积相比效率更高。

表2:与四种代表性立体模型的比较:StereoNet、GC-Net、PSMNet和GA-Net。我们用我们提出的AAModules替换代价聚合阶段的3D卷积,并用后缀AA表示模型结果。我们的方法不仅获得了明显的性能提升(除了GA-Net具有较低的 EPE),而且参数更少,计算成本和内存消耗更少,同时明显更快(比GC-Net快41倍,比PSMNet快4倍,比GA-Net快38倍),与StereoNet的比较表明,我们的方法也是提高现有快速立体模型性能的一种有价值的方法。“DConvs”是可变形卷积的缩写。

复杂性分析。2D立体方法使用简单的特征相关来构建3D代价体(D×H ×W),而3D方法使用连接,构建4D代价体(C×D×H×W),其中C、D、H、W分别表示特征连接后的通道、最大视差、高度和宽度。对于基于3D卷积的方法,C通常等于64,对于1/3分辨率的代价体,D=64。假设输出代价体与输入大小相同,卷积层的核大小为K(通常K=3),则3D卷积层的计算复杂度为O(K3C2DHW )。相比之下,可变形卷积层的复杂度为O(K2D2HW+3K4DHW+3K2DHW)。因此,可变形卷积层的计算复杂度小于3D卷积层的1/130。

4.5. 基准测试结果

为了基准测试,我们构建了另一个模型变体AANet⋆,它使用更高分辨率(1/2)的代价体和更深(61层)的特征提取器。表3展示了Scene Flow 测试集的评估结果。我们的方法不仅实现了最好的结果,而且运行速度明显快于现有的最佳性能的方法。KITTI 2012和KITTI 2015基准的评估结果如表4所示。与其他快速模型相比,我们的AANet更加准确。更深版本的模型AANet⋆在保持快速推断速度的同时取得了更有竞争力的结果。我们还注意到,HD3的参数比我们的AANet⋆多6倍(39.1M vs. 5.9M),并且我们的AANet⋆在更具挑战性的KITTI 2015数据集上表现得比iResNet-i2好得多,证明我们的方法在准确性和速度之间取得了更好的平衡。图7进一步可视化了在KITTI 2015测试集上的视差预测误差。我们的方法在物体边界上产生了更好的结果,验证了我们提出的自适应聚合算法的有效性。

表3:在Scene Flow测试集上评估的结果。我们的方法不仅实现了最好的性能,而且运行速度明显快于现有的最佳性能方法。

表4:KITTI 2012和KITTI 2015测试集的基准测试结果。我们更深层次的模型 AANet⋆ 在现有性能最佳的方法中取得了具有竞争力的结果,同时保持了快速的推断速度。请注意,HD3 的参数比我们的多6倍。与其他快速模型相比,我们的AANet更加准确。

图7:KITTI 2015测试集上视差预测误差的可视化(红色和黄色表示大误差)。

我们的方法在物体边界上产生了更好的结果。

5. 结论

    我们提出了一种高效的代价聚合结构,并通过在Scene Flow和KITTI数据集上的高效和具有竞争的表现证明了它优于常用的3D卷积。大量的实验也验证了我们的提出方法具有一般适用性。未来一个有趣的方向是将我们的方法扩展到其基于代价体的其他任务,例如高分辨率立体匹配、多视图立体和光流估计。我们还希望我们的轻量级设计对下游任务有益,例如基于立体的3D 目标检测。

三. 论文解读

论文解读:AANethttps://zhuanlan.zhihu.com/p/302888864

论文解读:AANet: Adaptive Aggregation Network for Efficient Stereo Matchinghttps://zhuanlan.zhihu.com/p/413671174

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华科附小第一名

您的支持对我的前行很重要!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值