论文解读2-Displacement-Invariant Matching Cost Learning for Accurate Optical Flow Estimation

论文地址:https://arxiv.org/pdf/2010.14851.pdf

github地址:https://github.com/jytime/DICL-Flow   (目前还没把训练好的模型放出来,也还没有训练代码,仅有模型搭建代码)

Motivation:

  1. Learning Matching Costs在双目匹配上取得了较大的成功,通过构造3D的Cost Volume(FxDxHxW)和3D Conv; 然而,若这一套直接使用在光流上,会构造4D的Cost Volume(FxUxVxHxW)和需要使用4D Conv,在目前的设备上这样的操作基本上不允许的(算力要求高和需要的显存大)。该篇论文提出的DICL(displacement-invariant cost learning)层通过2D convolution-based matching net在每一个u(displacement)分别去学习该u的cost, 从而能够对4D Cost Volume进行处理。
  2. 通过Learning Matching Costs获得到在每一个u上的概率,通过soft-max去获得能够达到亚像素精度的光流值; 这样的操作在单峰的概率分布上是很成功的,然而因为遮挡,低纹理,重复纹理以及图像的模糊会导致此概率分布是多峰的,这样得到的光流值将会较差(平均的结果会差于Winner-Take-All(意思是谁的概率最高就选择谁)的策略)。 该篇论文提出的DAP(Displacement-Aware Projection)层能够在这样的case上取得成功。

DICL:

 先看一下DICL与其他方式的对比,有较多文章使用传统的点乘或者Cosine距离来代替Learning Matching Costs,这个效果在上图表现比较明显,不容易将峰值提炼出来,整体表现都还比较平; MLP指的是使用简单的3层卷积去Learning Matching Costs,可以看到它的确能够相对比与传统方式的提升,然而还是不够突出; 而在DICL中峰值的突出性较大,这使得能够获得的光流精度较高。具体DICL的操作如下:

对每一个u将src的feature(FxHxW)和ref偏移u的feature(FxHxW) concate起来构造一个Fu(2FxHxW):

然后使用一个2D convolution-based net(G())来对Fu进行操作(不同的u的2D convolution-based net的权重共享),接着输出一个(1xHxW)可以理解成是在u上的cost map,然后将所有的u构造在一起得到(UxVxHxW)的cost volume, 具体公式如下:

DAP:

 根据Motivation的介绍,DAP的一个很大的作用是在于将多峰的概率分布能够转换成单峰的概率分布; 如上图所示,DAP的效果还是很明显的。此层的操作也是比较简单的,利用一个1x1的conv对displacement的维度进行加权平均,公式如下:

个人认为这种加权平均很难将所有的多峰情况处理,仅能处理一小部分

Experiments:

本篇博客近去讨论DICL和DAP层的作用

DICL:Reduced DICL表示DICL的网络使用1x1 conv代替,指标越低越好

       将DICL层使用在PWCNet和DICL上的效果如下:

DAP:Ours-w/o DAP就是表示去掉DAP层的结果

整体效果图对比: