【论文学习笔记-9】ACFNet:Adaptive Unimodal Cost Volume Filtering for Deep Stereo Matching(2020AAAI)
立体匹配算法一般包括四个部分:代价计算,代价聚合,视差计算,视差优化。其中代价计算部分经常会计算出一个Cost Volume,而现有的SOTA算法一般会通过argmin或者soft argmin来计算出整数/亚像素级别的视差,这些算法通过设计端到端网络,获取一个完全可微的模型,并让网络直接除数视差图,使用smooth L1 loss直接进行端到端训练。但是,这些算法并没有对Cost Volume做出直接的限制,而事实上有无数种可能的CostVolume分布能让CostVolume输出正确的结果。这是一种值得警惕的现象,因为不加约束的训练可能导致模型发生过拟合问题。因此作者考虑对CostVolume施加约束以提高立体匹配的效果。
整体网络结构如图:

作者以SOTA模型 PSM-Net为BackBone计算Cost Volume,添加了一个自适应单峰CostVolume滤波器,并设置了一个额外的Loss(Stereo Focal Loss)让CostVolume的分布朝向理想的分布(单峰分布)改变。
回归到CostVolume的本质,它是一个H*W*D的矩阵,它被用于反应候选像素对之间的匹配相似度,正确匹配的像素应该有最低的cost,而随着距离离正确视差值越远,匹配的cost应该越高,呈现一个单峰状的分布,在正确的视差值处达到顶峰。已知正确的视差值dgtd^{gt}dgt,单峰状分布定义为:

其中
σ代表分布的方差,用于控制分布的尖锐程度。然而在不同像素点位置的σ应该是不一样的,比如桌角处的分布就应该很尖锐。为了达到这种效果,作者使用了一个置信度评估网络来自适应的预测每个像素的σ。
置信度评估网络接受Cost Volume作为输入,用很少的网络来确定每个像素的匹配置信度,方法是利用卷积层为基础来检测每个像素周围一些像素的匹配状态。
网络结构是33卷积 →\to→ BN层 →\to→ ReLu →\to→ 11卷积 →\to→ sigmoid输出 一个维度为H*W的置信度矩阵(值域(0,1))置信度大代表在这个像素能找到特别的匹配点的可信度很高,置信度小代表匹配可能有问题(Matching ambiguities),方差和置信度的转换函数为:

s是尺度因子,ε是方差的下界,有

Stereo Focal Loss: 获得估计的cost分布和ground truth的分布之后,本文采用Focal Loss来解决Sample Imbalance problem(正负样本比例严重失衡)而不是交叉熵,公式为:

总损失函数:


Experiment

ACFNet是一种针对深度立体匹配的改进方法,它在PSM-Net基础上引入了自适应单峰成本体积滤波器和StereoFocalLoss。该滤波器通过预测每个像素的匹配置信度来调整CostVolume的方差,以促进单峰分布,从而提高匹配准确性。网络还使用FocalLoss解决样本不平衡问题。实验结果表明,这种方法能有效提升立体匹配的性能。
1946

被折叠的 条评论
为什么被折叠?



