目标检测论文阅读:Deformable ConvNets v2

Deformable ConvNets v2

论文链接:https://arxiv.org/pdf/1811.11168.pdf
代码链接:尚未公开
deformable是最近非常著名的针对Object形状进行建模的一种特殊CNN。之前,我写过一篇博客介绍这篇文章,需要的同学可以先了解一下。概括来说,deformable中卷积采样的位置较规则传统的CNN来说更加灵活,从而可以对形变进行建模。但是,这种方法也有着它自身的问题,今天我们就来看看deformable的改进版本。

1. Background

介绍v2之前,需要先了解本文的核心观点。文章认为,对于positive的样本来说,采样的特征应该focus在roi内,如果特征中包含了过多超出roi的内容,那么结果会受到影响和干扰。而negative样本则恰恰相反,引入一些超出roi的特征有助于帮助网络判别这个区域是背景区域。
在这一前提下,我们对v1版本与常规CNN进行分析,首先引入下面三个概念:
Effective receptive fields:在理论感受野的基础上进行了进一步的分析,相比而言最大的特点呈现高斯分布
Effective sampling/bin locations:和v1相比,额外计算网络结点的梯度来作为强度,红色代表高强度、蓝色代表低强度
Error-bounded saliency regions:指能得到和full image相同响应的最小区域
下面是一个样例图(从左到右依次是小目标、大目标、背景类/从上到下依次是有效采样位置、有效感受野和Error-bounded saliency regions)
在这里插入图片描述
可以看到:

  1. 从有效感受野和Error-bounded saliency regions来看,传统CNN实际上也具备一定的对形变建模能力,并非完全的方形
  2. v1版本的deformable增加了CNN对形变建模能力,对前景类更好地覆盖了整个Object,对背景类囊括了更多的Context信息
  3. 从有效采样位置可以发现,传统CNN对形变的建模能力很有可能是通过调整卷积核的值来实现的,中心位置幅值高、越往边缘幅值越低

另外,v1版本虽然提高了建模能力,Error-bounded saliency regions仍然包括了很多Object无关的区域,这会导致性能的下降。基于以上考虑,本文提出了三点改进策略:

  1. 增加deformabel convolution的使用,在更多阶段上使用deformable convolution
  2. 丰富对形变建模的能力,不但可以改变位置,还可以调整不同位置的幅值
  3. 设计了一个mimicking loss策略,来进一步强迫Positive样本focus到object的内部

2. Method

More Deformable Conv Layers

因为v1版本没有考虑到幅值的问题,只考虑采样位置,因此在可视化的时候并没有得到充分正确的结果,本文称之为misleading offset visualization。在v1中,VOC的性能已经达到了饱和,在COCO上的性能则因为该问题没有得到充分的研究。
本文将conv3~5中的所有3x3 conv layers替换成了deformable convolutions,得到了更好的结果。而进一步的替换并不会导致性能提升。

Modulated Deformable Modules

之前我们在v1那篇博客里说过,传统卷积对某个feature map卷积时候,以(x, y)为中心,会计算整个3x3共9个格子内的值。相应的,deformable卷积会学习大小和feature map相同、channel为9x2的新的特征层。因此新层在每个位置有18个值,可以组合成9组横纵坐标偏移量,代表feature map在对应的位置进行卷积时,这9个格子需要偏移的位置。
v2版本则进一步增加了9个通道,共27个通道,多出来的9个通道用于计算9个格子的幅值大小。用公式来表示,则为:
在这里插入图片描述
这里最后的delta mk就是新增加的需要学习的幅值。同理,v1版本中的deformable RoIpooling也用相同的方式“进化”:
在这里插入图片描述

R-CNN feature mimicking

新的deformable conv通过设置幅值的方式排除过于丰富的context信息,关注roi区域,为了更好地实现这一目的,作者增加了一个R-CNN分支作为额外的guidance。
在这里插入图片描述
如图所以,右面即为新增加的分支,该分支共享权重。但是其输入不同,是RPN阶段得到的Roi直接crop and resize下来的。在经过2-fc层后,产生的特征进行比较,计算mimic loss:
在这里插入图片描述
本身R-CNN分支因为输入是crop下来的图片,是理所当然只会关注object内部的,而它的存在,就相当于一个teacher,可以强迫原来的faster rcnn网络只关注Object内部的信息。当然,仅限于positive examples,因为negative examples需要更多的context信息来帮助判别,作者也通过实验证明了只用FG的Mimic loss > FG&BG都用的mimic loss > 不使用mimic loss。

3. 实验结果

从实验结果可以看到,v2和v1相比提高了3.7个百分点(和regular相比提高更大),是非常好的一种方法,也期待着源码能够尽早开源~
在这里插入图片描述

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页