目录
- DCN v1
- DCN v2
- 参考
DCN v1
背景
在计算机视觉领域,同一物体在不同场景,角度中未知的几何变换是检测/识别的一大挑战,通常来说我们有两种做法:
(1)通过充足的数据增强,扩充足够多的样本去增强模型适应尺度变换的能力。
(2)设置一些针对几何变换不变的特征或者算法,比如SIFT和sliding windows。
两种方法都有缺陷,第一种方法因为样本的局限性显然模型的泛化能力比较低,无法泛化到一般场景中,第二种方法则因为手工设计的不变特征和算法对于过于复杂的变换是很难的而无法设计。所以作者提出了Deformable Conv(可变形卷积)和 Deformable Pooling(可变形池化)来解决这个问题。
可变形卷积
可变形卷积顾名思义就是卷积的位置是可变形的,并非在传统的N × N的网格上做卷积,这样的好处就是更准确地提取到我们想要的特征(传统的卷积仅仅只能提取到矩形框的特征),通过一张图我们可以更直观地了解:
在上面这张图里面,左边传统的卷积显然没有提取到完整绵羊的特征,而右边的可变形卷积则提取到了完整的不规则绵羊的特征。
那可变卷积实际上是怎么做的呢?其实就是在每一个卷积采样点加上了一个偏移量,如下图所示:
(a) 所示的正常卷积规律的采样 9 个点(绿点),(b)©(d) 为可变形卷积,在正常的采样坐标上加上一个位移量(蓝色箭头),其中 ©(d) 作为 (b) 的特殊情况,展示了可变形卷积可以作为尺度变换,比例变换和旋转变换等特殊情况。
我们先看普通的卷积,以3x3卷积为例对于每个输出y(p0),都要从x上采样9个位置,这9个位置都在中心位置x(p0)向四周扩散,(-1,-1)代表x(p0)的左上角,(1,1)代表x(p0)的右下角。
所以传统的卷积输出就是(其中 P n P_n P