DCNv1 and DCNv2:Deformable Convolutional networks,可变形卷积

论文阅读:DCNv1 and DCNv2:Deformable Convolutional networks,可变形卷积

  • DCNv1论文解析
    • 创新点
      • 1 背景
      • 2 方法
  • DCN v2
    • 1 背景
    • 2 方法

DCNv1论文解析

创新点

1、Deformable Conv
2、Deformable ROI pooling

1 背景

深度学习对图像处理往往需要大量的数据集训练,是因为我们需要让网络学习到所有可能存在的情况,所以我们采用了数据增强的方法,如旋转,左右移,上下移,裁剪等操作;
但是针对图像目标尺度,姿态,角度,局部的变形等情况,基于经典卷积固定的几何结构,我们不能完全模拟出来;

2 方法

DCNv1 and DCNv2:Deformable Convolutional networks,可变形卷积_第1张图片于是,作者提出Deformable,对于3*3卷积核,经典卷积是第一幅图那样简单,紧密排列的样子;第三幅图是针对尺度和纵横比,改变后的卷积核,类似空洞卷积,第四幅图是针对图像旋转的卷积核;而第二幅图是作者提出的,针对任意的图像改变,网络会学习到卷积核的一个偏移量,使网络可以适应目标不同的变化。
DCNv1 and DCNv2:Deformable Convolutional networks,可变形卷积_第2张图片
传统的如第一个卷积,x(p0+Pn)表示的是P0+Pn的像素,第二个公式加入迪尔塔pn,表示的是位置的便宜变量
DCNv1 and DCNv2:Deformable Convolutional networks,可变形卷积_第3张图片
Deformable POIpooling
看这个之前需要先了解一下Fast RCNN的ROI pooling,大致就是将ROI映射后的特征图分成几个小窗口,然后对每个窗口做max pooling。
DCNv1 and DCNv2:Deformable Convolutional networks,可变形卷积_第4张图片
Fast RCNN取得是max pooling,而本文中取mean pooling。这里也通过学习他的偏移量,使得ROI映射的小窗口更接近于真实的目标;

DCNv1 and DCNv2:Deformable Convolutional networks,可变形卷积_第5张图片
偏移量是通过对原始特征层进行卷积得到的。比如输入特征层是whc,先对输入的特征层进行卷积操作,得到wh2c的offset field。这里的w和h和原始特征层的w和h是一致的,offset里面的值是输入特征层对应位置的偏移量,偏移量有x和y两个方向,所以offset field的channel数是2c。offset field里的偏移量是卷积得到的,可能是浮点数,接下来需要更多双向差值计算偏移位置的特征值。在偏移量的学习中,梯度是通过双线性差值来进行反向传播的。
事实上由上面的公式,我们可以看出来∆pn这个偏移量是加载原来像素点上的,表示用一个普通的卷积核去跟输入图片卷积。

DCN v2

1 背景

对于positive 的样本来说,采样的特征应该focus在ROI内,如果特征中包括了更多超过ROI的内容,那么结果会影响和干扰。而negative样本则恰恰相反,引入一些超过ROI的特征有利于帮助网络判别这个区域是背景还是目标。
为了解决该问题:提出v2,主要是
1,扩展可变现卷积,增强建模能力;
2,提出特征模拟方案指导网络训练:feature mimicking scheme
上面的这段话是什么意思吶,通俗来讲就是,我们的可变性卷积的区域大于目标所在区域,所以这时候就会对非目标区域进行错误识别。

2 方法

DCNv1 and DCNv2:Deformable Convolutional networks,可变形卷积_第6张图片
DCNv1 and DCNv2:Deformable Convolutional networks,可变形卷积_第7张图片
以上解决方案加入权重项进行惩罚(这里实现较为简单,初始化一个权重乘以(input+offsets)就可以了)
DCNv1 and DCNv2:Deformable Convolutional networks,可变形卷积_第8张图片
作者发现对于ROI分类时,普通CNN或者DCNV1错误边界显著性区域会延伸到ROI之外,于是与ROI不相关的内容就会影响ROI特征的提取,从而可能影响目标检测的结果。不过R-CNN进行分类,结果完全依赖于ROI,因为R-CNN分类branch的输入就是ROI的crop image。
采用了
采用了类似只是蒸馏的方法,用一个R_CNN分类网络作物teacher network 帮助Faster R-CNN更好收敛到目标区域内。


你可能感兴趣的:(计算机视觉,深度学习,人工智能)