Stereo matching paper notes (6): AnyNet Spade Spade
?
1.Unet
U-Net 架构以各种分辨率(1/16、1/8、1/4)计算特征图,这些特征图用作阶段 1-3 的输入,仅在需要时计算。 原始输入图像通过最大池化或跨步卷积进行下采样,然后用卷积滤波器进行处理。 较低分辨率的特征图捕获全局上下文,而较高分辨率的特征图捕获局部细节。 在 1/8 和 1/4 的尺度上,最终的卷积层结合了先前计算的低尺度特征。
?
2.Disparity Network:
我们使用这个组件来计算初始视差图(阶段 1)以及计算后续校正的残差图(阶段 2 和 3)。
视差网络首先计算视差成本量。这里,代价是指左图像中的像素与右图像中的对应像素之间的相似度。作为视差网络(图 4 中的 3D Conv)的第二步,我们使用几个 3D 卷积层 [20] 细化成本量,以进一步提高获得的成本量。如果一个视差 k 显然具有最低的成本(即它是唯一的匹配项),它将通过加权平均恢复。如果存在歧义,则输出将是可行候选者的平均值。
?
3.Residual Prediction:
AnyNet 架构的一个关键是只在stage1低分辨率计算完整的视差图。在阶段 2 和 3 中,我们残差 。视差预测中最昂贵的部分是成本量的构建和细化。成本量缩放 H W M,其中 M 是最大差异。 在高分辨率下,两个像素之间的最大差异可能非常大(通常 KITTI 数据集中的 M = 192 像素 [8])。通过将自己限制在残差,即对现有差异的修正,我们可以将自己限制在 M = 5(对应于偏移量 -2;-1; 0; 1; 2)并获得相当大的加速。
为了计算第 2 和第 3 阶段的残差,首先放大粗视差图,并通过逐像素应用视差估计,使用它来扭曲更高尺度的输入特征(图 2)。特别地,如果像素 (i; j) 的左侧视差估计为 k,将每个右侧特征图中像素 (i; j) 的值覆盖为像素 (i; j + k) 的对应值( 如果超出范围则使用零)。如果当前的视差估计是正确的,则更新后的右特征图应该与左特征图匹配。由于低分辨率输入的粗糙性,通常仍然存在几个像素的不匹配,我们通过计算残差视差图来纠正。残余视差的预测与完整视差图计算类似。唯一的区别是,成本量计算为 Cijk = ||pij - pi(j-k+2)||1,并将得到的残差视差图添加到前一阶段放大的视差图中。
4.Spatial Propagation Network:
为了进一步改进我们的结果,我们添加了最后的第四阶段,在该阶段我们使用空间传播网络 (SPNet) [26] 来改进我们的视差预测。SPNet 通过应用局部滤波器来锐化视差图,该滤波器的权重是通过对左侧输入图像应用一个小的 CNN 来预测的。
|