CVPR2020 接受的工作,AANet: Adaptive Aggregation Network for Efficient Stereo Matching。本文目标是为了替代聚合部分中比较消耗显存且费时的 3D 卷积,但提出的 2 个创新点,分别用于解决边缘区域和弱纹理区域,感觉更适合作为提升模型表现的方法。
这篇论文提出的两个创新点也是应用在立体匹配算法流程中的代价聚合部分。一个是尺度内的聚合,用于针对边缘区域;另一个是交叉尺度(尺度间)的聚合,用于针对弱纹理区域。
尺度内聚合:
代价聚合从形式上来讲,是对领域内所有点代价的一个加权平均:
但对于处在边缘区域的点,邻域内的点可能是一些不关联的点。如下图(b)中,对于黄色的点,它属于前景,因此邻域内的背景点(左下角绿色)在视差上与其没什么关系;红色点属于背景,那么邻域内的前景点(左上角绿色)在视差上与其没什么关系。
因此,在代价聚合时,我们希望邻域点尽量是和自己视差接近的点。因此,对于常规的邻域点,本文额外学一个偏移量,使得邻域内的点都是在视差上比较接近的点。
就是对正常邻域点额外学的一个偏移量。这里形式上和可形变卷积一致。
此外,在代价聚合中学到的卷积核,是在全图应用的。为了获得一个内容变化的聚合权重,对于每个领域点,额外学一个掩模
:
这两个量,
是为了确定要聚合哪些点,
是对每个点赋予多少权重。二者都是用一个额外的网络从代价体中学出来的。
尺度间聚合:
一种处理弱纹理区域的想法是在较大尺度上进行操作,因此,本文在多尺度上聚合,同时每个尺度会考虑其他尺度的信息。
具体的
是来自一篇做人体姿态检测的工作。简单概括的话,如果从大尺度到小尺度,就上采样;如果尺度相同,就不做操作;如果从小尺度到大尺度,就采用步长大于 1 的卷积。这里的想法借鉴了传统算法的交叉尺度代价聚合。
模型:
采用特征相关得到多尺度的代价体(每个 3 维)。然后就是尺度内聚合(ISA)和交叉尺度聚合(CSA),二者组成了本文的适应性聚合模块 AAModule。堆叠多个 AAModule 即完成了本文的代价聚合。最终输出 3 个较低分辨率的视差图,采用 StereoDRNet 中的调优方法提升到图像分辨率。
另:本文虽然使用特征相关得到的代价体,但最终聚合得到的仍是一个
的结果,再用 softmax 转化为概率,加权平均计算最终视差值。这套策略一般是 4D cost volume 方法中采用的。
https://zhuanlan.zhihu.com/p/142291358