1. 研究问题
由于不同数据集之间巨大的域差异和不平衡的视差分布,当前深度立体匹配模型难以适用于现实世界。
域差异:各种数据集之间存在显着的域差异,例如,室内与室外、颜色与灰色、真实与合成,这导致学习的特征失真和嘈杂。
不平衡的视差分布:不同数据集的视差分布存在不平衡,使得当前使用固定视差范围训练的方法在没有实质性适应的情况下无法覆盖另一个数据集的整个视差范围。
2. 研究方法
本文提出了一种基于级联和融合成本量的网络CFNet,以提高立体匹配网络的鲁棒性(泛化性能)。针对大的领域差异,提出融合多个低分辨率密集成本量
来扩大感受野,为初始视差估计提取鲁棒的全局和结构表示。针对不平衡的视差分布,提出了级联成本量
表示,并采用基于方差的不确定性估计
来自适应调整下一阶段的视差搜索范围
,以这种方式驱动网络逐步修剪不太可能对应的空间
。通过迭代缩小视差搜索空间和提高成本量分辨率,视差估计以粗到细的方式逐渐细化。
注:立体匹配的鲁棒性有两种定义:
- 跨域泛化:这类旨在提高网络到看不见的场景的泛化。
- 联合泛化:这类方法旨在推动网络在具有相同模型参数的各种数据集上表现良好。
下图是联合泛化的一个对比图,其中CFNet的泛化能力最好。
2.1 Overview of CFNet
本文提出了一种级联和融合成本体积表示的鲁棒立体匹配。我们的模型的整体架构如下图所示。它由金字塔特征提取、融合成本量、级联成本量
三部分组成。
给定一个图像对,我们首先采用类似 siamese unet
的编码器-解码器架构和跳跃连接来提取多尺度图像特征。编码器由五个残差块组成,然后是一个 SPP 模块,以更好地合并分层上下文信息。我们的 SPP 模块类似于 HSMNet
中使用的模块,将平均池化块的大小更改为H/s*W/s,其中s∈{32、64、96、128}。与广泛使用的类Resnet网络相比,我们的方法更有效,并且仍然包含足够的信息来进行成本聚合。然后,我们将多尺度特征分为融合和级联成本量,并分别预测多分辨率视差。
特征提取器的结构如下图所示。
2.2 Fused Cost Volume
本文融合多个低分辨率密集成本量(小于原始输入图像分辨率的 1/4),以减少不同数据集之间的域偏移来进行初始视差估计。现有方法通常不采用低分辨率成本量,因为他们认为这些成本量不包含足够的信息来分别生成准确的视差图。但最近的工作 [37] 表明卷积神经网络的有限有效感受野是网络对不同数据集域敏感的主要原因
,并且提出了一个可学习的非局部层来扩大感受野。受其启发,我们发现不同尺度的低分辨率成本量可以覆盖多尺度感受野,引导网络在促进查看不同尺度的图像区域方面相互补充
。因此,我们可以融合多个低分辨率密集成本量以提取全局和结构表示,引导网络学习在不同数据集上不变的几何场景信息,生成比更高分辨率的稀疏成本量更准确的初始视差图。此外,该操作仅增加了轻微的计算复杂度。
具体来说,我们首先分别在每个尺度上构建低分辨率成本量,然后设计一个成本量融合模块,将它们集成到编码器-解码器过程中。
2.2.1 Cost volume construction
遵循 [12] 的做法,使用特征连接
和分组相关性
来产生组合成本量,如下所示,
∣ ∣ || ∣∣:表示向量连接操作
N c N_c Nc:表示提取的特征的通道。
N g N_g Ng:组的数量
f i f^i fi表示按比例 i i i(阶段)提取的特征, i = 0 i=0 i=0表示原始输入图像分辨率
注:分组相关性是将特征沿着特征维度进行分组,然后按组计算每个像素的特征相关性,最终分组成本量的特征维度是 N g N_g Ng
最终的组合成本量的尺寸为:
2.2.2 Cost Volume fusion
遵循 [26] 中提出的方法,我们使用改进的编码器-解码器架构
来融合低分辨率成本量。该架构如下所示。
具体来说,我们首先使用四个带有跳跃连接的 3D 卷积层来正则化每个成本量(前四个蓝色的块),并使用一个 3D 卷积层**(步长为 2)**将比例 3 的组合成本量从输入图像分辨率的 1/8 下采样到 1/16。接下来,我们在特征维度将它们(下采样的成本量和下一阶段的组合量)连接起来,然后通过一个额外的 3D 卷积层将特征通道减小到固定大小。然后,我们应用类似的操作将成本量逐步下采样到原始输入图像分辨率的 1/32,并采用 3-D 转置卷积对解码器中的体积进行上采样。此外,我们利用一个 3-D 沙漏网络
来进一步规范和细化体积。最后,应用输出模块来预测视差。输出模块包含另外两个 3D 卷积层,旨在获得单通道 4D 体积。
为了将代价转换为视差,我们应用soft argmin 操作来生成初始视差图 D 3 D^3 D3,即分辨率为原始分辨率的1/8。
2.3 Cascade Cost Volume
给定初始视差估计,下一步是构建细粒度的成本量并以粗到细的方式细化视差图。考虑到下一阶段的视差搜索范围,统一采样一个预定义的范围
是最直接的方式。但是,这种方法假设所有像素都相同,无法进行自适应像素级调整。
例如,我们应该扩大不适定和被遮挡像素的搜索范围。此外,具有不同特征的数据集的视差分布通常是不平衡的
。因此,出现了一个问题,我们能否使网络在较大的初始视差范围内避免受到无效视差索引的影响,并利用最后阶段视差估计的先验知识来捕获更多可能的像素级视差搜索空间。
为了解决这个问题,我们提出了一种基于自适应方差的视差范围不确定性估计
。相关工作中介绍,离散视差概率分布反映了候选匹配像素对之间的相似性,最终预测的视差是所有视差指数根据其概率的加权和。因此,理想的视差概率分布应该在真实视差处达到单峰峰值。然而,实际的概率分布在某些像素上主要是单峰甚至是多峰的。之前的工作 [38, 14] (AcfNet,GCNet
)发现多峰分布的程度与预测错误的概率高度相关。
此外,不适定区域、无纹理区域和遮挡往往是多峰分布以及高估计错误率。因此,我们建议定义一个不确定性估计来量化成本量趋于多峰分布的程度,并用它来评估当前估计的像素级置信度。不确定性定义为:
其中
σ
\sigma
σ 表示 softmax 操作,c 表示预测的 1 通道 4D 体积,
i
i
i 表示分辨率级别。
如下图所示,单模态分布的不确定性等于0,概率分布越接近多模态分布,不确定性和误差就越高。因此,利用不确定度来评估视差估计的置信度是合理的,较高的不确定性意味着预测误差的概率较高,以及更大的视差搜索空间来纠正误差估计。
因此,下一阶段的视差搜索范围被定义为:
δ
δ
δ表示双线性插值。
α
\alpha
α和
β
\beta
β是归一化因子,它被初始化为0,并逐渐学习一个权重。
α
\alpha
α和
β
\beta
β也可以设置为超参数,而实验表明,学习到的参数比人类选择的参数更具有鲁棒性。然后我们可以利用均匀抽样
来得到下一阶段的离散假设深度平面
d
i
−
1
d^{i-1}
di−1:
其中,
N
i
−
1
N^{i−1}
Ni−1是第
i
−
1
i−1
i−1阶段假设平面的数量。然后,基于组合成本量公式定义阶段
i
−
1
i-1
i−1 的细粒度成本量,生成稀疏成本量的大小为:
得到下一阶段的成本量后,可以使用类似的成本聚合网络(图5中省略实线)
来预测该阶段的视差图。通过迭代缩小视差范围和提高成本体积分辨率,我们可以从粗到细细化视差。
注:不确定度估计的局限性:虽然我们的不确定性估计可以生成合理的不确定性图来评估视差估计的置信度,但仍然存在局限性。如下图所示,我们注意到一些特殊的多峰分布可以实现具有高不确定性的准确估计。然而,这些情况出现的概率很小,并且大多数多峰分布会导致估计不准确。如下图所示。
3. 实验结果
数据集:
- 场景流
- Middlebury 2014
- KITTI 2012 & 2015
- ETH3D:唯一具有室内和室外场景的灰度图像数据集。 它包含 27 个训练和 20 个测试图像对,带有稀疏标记的地面实况。
训练:
- 优化器:Adam, β 1 = 0.9 \beta_1=0.9 β1=0.9, β 2 = 0.999 \beta_2=0.999 β2=0.999
- GPU:2 个 Tesla V100 GPU,批量大小为 8 。
- 视差范围:训练和测试过程整个视差范围固定为256。
- 损失函数:Smooth L1 损失。
- 视差裁剪范围: N 1 = 12 N^1=12 N1=12, N 2 = 16 N^2=16 N2=16
- 数据增强:非对称色度增强和非对称遮挡 [33]。
- 三阶段微调:首先,按照 [26] 中提出的方法,我们使用切换训练策略在
场景流
数据集中预训练我们的模型。具体来说,我们首先使用ReLU
从头开始训练我们的网络20
个 epoch,然后我们将激活函数切换到Mish
并将场景流数据集中的预训练过程再延长15
个 epoch。其次,我们在四个数据集上联合微调我们的预训练模型,即KITTI 2015、KITTI2012、ETH3D 和 Middlebury
400 个时期。初始学习率为0.001
,在300
epoch 之后缩小了10
倍。第三,我们将 Middlebury 和 ETH3D 数据增强到与 KITTI 2015 相同的大小,并以0.0001
的学习率微调我们的模型50
个时期。我们的三阶段微调策略的核心思想
是防止小数据集被大数据集淹没
。 通过在第三阶段增加小数据集并以小学习率训练我们的模型,我们的策略在三个数据集上的泛化能力和拟合能力之间做出了更好的权衡。
3.1 Ablation Study
- Feature extraction:与Resnet相比,性能相当,速度更快。
- Cost volume fusion:成本量融合可以通过轻微的额外计算成本获得更好的性能。
- Cost volume cascade:基于学习参数的不确定性估计以极小的额外计算复杂度实现了最佳性能。
- Finetuning strategy:我们的三阶段策略可以大大缓解小数据集被大数据集淹没的问题。
3.2 Robustness Evaluation
表明我们的级联和融合成本体积表示是一种用于鲁棒立体匹配的有效方法。
3.3 Results on KITTI Benchmark
4. 结论
(1)我们的方法显示出强大的泛化能力,并在 Robust Vision Challenge 2020 的立体任务中获得第一名。
(2)我们的方法具有出色的微调性能和低延迟,在 KITTI 2015 和 KITTI 2012 基准测试中排名第一。
参考文献
[12] Group-wise correlation stereo network
[14] End-to-end learning of geometry and context for deep stereo regression. ICCV, 2017
[26] Msmd-net: Deep stereo matching with multi-scale and multi-dimension cost volume
[33] Hierarchical deep stereo matching on highresolution images. CVPR, 2019
[37] Domain-invariant stereo matching networks. ECCV, 2020
[38] Adaptive unimodal cost volume filtering for deep stereo matching. AAAI, 2020