DCN
DCN论文的贡献是提出Deformable Conv。
论文创新:
1、Deformable Conv
2、Deformable ROI pooling
1、背景
深度学习对图像处理往往需要大量的数据集训练,是因为我们需要让网络学习到所有可能存在的情况,所以我们采用了数据增强的方法,如旋转、左右移、上下移、裁剪等操作。
但是针对图像目标尺度、姿态、角度、局部的变形等情况,基于经典卷积固定的几何结构,我们并不能完全模拟出来。
2、方法
于是,作者提出Deformable,对于3×3卷积核,经典卷积是第一幅图那样简单,紧密排列的样子;第三幅图是针对尺度和纵横比,改变之后的卷积核,类似与空洞卷积;第四幅图是针对图像旋转的卷积核;而第二幅是作者提出的,针对任意的图像改变,网络会学习到卷积核的一个偏移量,使网络可以适应目标不同的变化。
Deformable Conv
w
(
p
n
)
w (p_n)
w(pn)是网络学习的参数(权重),即卷积核;
x
(
p
0
+
p
n
)
x(p_0+p_n)
x(p0+pn)是像素
p
0
+
p
n
p_0+p_n
p0+pn的像素值,如下图,我们使用
3
×
3
3×3
3×3的卷积核,
p
n
p_n
pn是
p
0
p_0
p0附近的8个坐标。
Δ
p
n
Δp_n
Δpn是基于经典卷积的偏移量,是需要输入数据通过网络学习而得的。
Deformable ROI pooling
看这个之前需要先了解一下Fast RCNN的ROI pooling,大致就是将ROI映射后的特征图分成几个小窗口,然后对每个小窗口做max pooling。可以看下我的Fast RCNN论文解读
Fast RCNN取得是max pooling,而本文中是取得mean pooling。这里也是通过学习它的偏移量,使ROI映射的小窗口更接近于真实的目标。
3、实例
Deformable Conv
这里每个图像针对采样位置(其中一个小绿点),使用3个激活单元(b图是显示的2个激活单元),采用 3 × 3 3×3 3×3的deformable卷积核,所以 ( 3 × 3 ) 3 = 729 (3×3)^3=729 (3×3)3=729个小红点。
下图中左侧是分布的背景,中间是小目标分布,右图是大目标分布。
Deformable ROI pooling
这里将ROI映射分成
3
×
3
=
9
3×3=9
3×3=9个小窗口,图中可以很容易理解,这9个小窗口都更偏向于目标。