Deformable Convolutional Networks 论文阅读

摘要

卷积神经网络由于固定的几何结构一直受限于对几何形变的建模,这篇工作引入了两个新模块——deformable convolution和deformable RoI pooling。deformable convolution 和deformable RoI pooling都是基于一个平行网络分支学习offset(偏移),使卷积核在input map的采样点发生偏移,集中于我们感兴趣的区域或目标。同时这个组件可以轻松地替代CNN中的普通卷积,并且很容易通过反向传播进行end-to-end的训练。

1. 简介

在计算机视觉识别领域,一项重要挑战就是怎样对几何形变和模型几何变换(目标尺度、姿势、视点和形变)进行建模。一般来讲,有两种方法:第一种是就是通过仿射变换等手段做数据增广,扩充数据集,使得训练集中尽可能包含具有更多形变的样本;第二种就是使用形变不变性的特征或者算法(如SIFT和滑窗算法)。但上面的方法有两个缺点:

  • 几何形变被假设是固定和已知的,这是一种先验信息,用这些有限的、已知的形变来进行数据扩增或设计算法,可想而知,对于新的、未知的形变则无法处理。
  • 手工设计的特征或算法无法应对过度复杂的形变,即便该形变是已知的。

而作者引入的这两个模块都是轻量级的,他们添加了很少的参数和计算量来学习额外的offset,然后用这两个模块在模型的深层做替换,并且很容易通过反向传播进行end-to-end的训练,效果不错。

2. 可变形卷积网络

在这里插入图片描述

2.1 可变形卷积

2.1.1 二维卷积包括两个步骤

  • 在输入的特征图x上使用规则网格RR进行采样
  • 对由w加权后的采样值求和
    其中,网格RR定义了感受野的大小和扩张率。例如
    在这里插入图片描述
    定义了一个3×33 \times 3的卷积核且扩张率为1.
    对于输出特征图y上的每个位置p0p_0
    在这里插入图片描述
    pnp_n枚举了RR中的每个位置。

2.1.2 可变形卷积:

  • 在扩张卷积中,规则网格RR增加了偏移量在这里插入图片描述
    其中N=RN=|R|。这样呢,

在这里插入图片描述

  • 现在,采样是在加了偏移的不规则位置pn+Δpnp_n+ \Delta p_n。由于偏移Δpn\Delta p_n通常是小数,因此上述公式采用双线性插值实现:
    在这里插入图片描述
    式中,pp表示任意(小数)位置(p=p0+pn+Δpnp = p_0 + p_n + \Delta p_n), qqpp最近邻的四个点,利用双线性插值计算时,x(p)x(p)的值是由和pp最近邻的四个点计算得到的,G(q,p)G(q, p)qq点对应的加权值,该点离pp越近权值越大。
  • 如图2所示,通过在相同的输入特征图上应用卷积层来获得偏移量。卷积核具有与当前卷积层相同的空间分辨率和扩张率,输出偏移量具有与输入特征图相同的空间分辨率。通道维数2N2N对应于NN个二维偏移量(也就是说卷积核上的每个值都对应x,y两个偏移量)。在训练过程中,同时学习生成输出特征的卷积核和偏移量。为了学习偏移量,梯度通过Eq.(3)和Eq.(4)反向传播。
    在这里插入图片描述

3. 总结

这次看这篇文章主要是想了解一下可变形卷积,因此没有放上可变形池化的理解,但是看了一下论文中的图,原理差不多。另外说说这个可变形卷积,作者通过给特征图上的每个位置预测相当于卷积核权重数两倍(x, y)的偏移量,这样每次卷积加权时,与卷积权重(假设33)相乘的9个特征图上的值不再是原来的网格33,而是加上偏移量(通过卷积预测)的其他9个值。在我看来,卷积核中央对应的特征图上的值不应该加上偏移量,拿高斯滤波举例,你把中央的数值本身都放弃了,卷积输出结果与当前中心值的关系就不大了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章