论文地址:Deformable Convolutional Networks
针对视觉任务中,如何根据物体的尺寸、位置、视角等来调整模型的几何变化,一般传统做法有:
1)通过数据增强等方式,增加训练数据的多样性
2)使用transformation-invariant的特征和算法,比如TI-pooling (transformation-invariant pooling)和SIFT(scale invariant feature transform)
但这些方法有一些缺点:比如
1)需要假设几何变形是固定和已知的,然后才能根据先验知识设计数据增强的方法或者transformation-invariant的算法,这样如果存在未知的形变就无法处理
2)如果几何变形比较复杂,设计难度较大
同时,CNN虽然有一定的抗形变的能力,但依然无法有效处理复杂未知的形变,这是由于卷积核采用了固定的结构,固定的位置,pooling采用固定的比列进行压缩等
可变形卷积(Deformable CNN)
对于3x3卷积核,领域为R={(-1,-1),(-1,0),...,(0,1),(1,1)},权重W。
对于输出特征图中的每个位置p0,其卷积后的结果为
Deformable CNN中,R可以通过偏置 {Δpn | n=1,...,N} ,N=|R| 变形,则上式可变形为:
可变形Attention(Deformable Attention)
传统 Attention公式如下:
Deformable Attention对 k / v 做了改变,其值基于位置改变后的插值:
Φ函数就是双线性插值操作, Δp 就是基于 q 学出来的每个位置偏差。