可变形卷积系列(二) MSRA提出升级版DCNv2,变形能力更强 | CVPR 2019

论文提出 DCNv2,不仅对 DCNv1 的结构进行了改进,还使用了有效的蒸馏学习策略,使得性能有很大的提升,各个方面都值得借鉴

来源:晓飞的算法工程笔记 公众号

论文: Deformable ConvNets v2: More Deformable, Better Results

Introduction


  在提出可变形卷积 DCNv1 后,论文提出新版本的可变形卷积 DCNv2,通过两种互补的策略以及蒸馏学习来增强模型的性能:

  • 增加可变形卷积的层数,使得 DCNv2 拥有更强的几何变换的学习能力,能够进行准确地预测。
  • 在可变形卷积模块中增加调制机制,每次采样不仅进行偏移,还会使用学习到的权重进行调节,能够进行更复杂的几何变换学习。
  • 为了充分榨干 DCNv2 提升的能力,借用知识蒸馏的方法进行训练,以 R-CNN 作为指导网络(teacher network),在训练时模仿其特征值。

Analysis of Deformable ConvNet Behavior


Spatial Support Visualization

  论文从 3 个互补的视角来了解图像区域对输出的影响:

  • Effective sampling / bin locations,通过计算输出值对应像素位置上的梯度来表示像素的重要程度。
  • Effective receptive fields,理论感受域内的像素对输出的贡献是不一样的,贡献可以通过有效感受域来表示,通过计算输出值对应每个像素的值扰动时的梯度得出,具体可以看参考内容文章。
  • Error-bounded saliency regions,通过逐步掩盖图片的部分区域并计算输出值,找到与整图输出值差异在阈值范围内的最小显著区域。

Spatial Support of Deformable ConvNets

  对 conv5 阶段的最后一层输出进行了上述的 3 个视角计算,图 1 从左往右目标的逐渐变大,每个子图从上往下分别为关于绿点输出的 3 种指标的可视化结构,可以得出以下结论:

  • 得益于深度卷积网络强大的表达能力,常规卷积能在一定程度上对几何变换进行建模学习,主要受卷积权重的影响。
  • 通过引入可变形卷积,综合卷积核权重以及偏移值,模型能够很好地对几何变换进行建模学习,输出关联了更多的目标区域,但也会包含较多不相关的物体的区域。

  论文继续对 RoI 区域也进行了上述 3 个视角的计算,对于常规 RoI pooling 和可变形 RoI pooling,目标区域内的 bin 对输出的贡献更高,在可变形 RoI pooling 更为明显。但两种方法的显著区域同样都不够准确,造成有较多的额外内容干扰着输出。

More Deformable ConvNets


Stacking More Deformable Conv Layers

  由于可变形卷积能够更好地学习几何变换,因此大胆地将 ResNet-50 中的 conv3、conv4 和 conv5 中的所有3\times 3卷积替换成可变形卷积,共 12 层。DCNv1 仅使用了 3 层,主要由于当时替换实验是在比较简单的 VOC 数据集上进行的,效果很快就饱和了,而当时在 COCO 上的偏移值可视化有一定的误导性,本文补充了更准确的实验。

Modulated Deformable Modules

  为了进一步加强可变形卷积对几何变换学习的能力,加入调制机制,可变形卷积不仅能对输入进行偏移,还可以调整各位置输入的权重。极端地,当权重为 0 则忽略该位置输入,为模型提供了另一种调整目标区域的方式。

  可调制变形卷积如公式 1,\Delta p_k\Delta m_k分别为k位置的可学习偏移值和权重标量,\Delta m_k的范围为[0,1],偏移后的值的计算依然用双线性插值计算。\Delta p_k\Delta m_k通过相同旁路卷积层计算,旁路输出 channel 为3KK为主干的卷积核大小,前2K维是每个位置的 x 和 y 偏移,后K维通过 sigmoid 层获得每个位置的权重。旁路卷积的参数初始为 0,所以\Delta p_k\Delta m_k初始为 0 和 0.5,学习率为主干学习率的 0.1 倍。

  可调制的变形 RoI pooling 单个 bin 的计算如公式 2,n_k为 bin 内的像素总数,\Delta p_k\Delta m_k对应整个 bin 的偏移和权重。\Delta p_k\Delta m_k通过旁路 RoI pooling+2 x 1024-D fc + 3k-D fc 计算,前2K维是归一化的 bin 偏移值,与 RoI 区域相乘后得到最终的 bin 偏移值,后K维通过 sigmoid 层获得每个 bin 的权重,初始化和学习率与上面的一致。

R-CNN Feature Mimicking

  从图 2 的 Error-bounded saliency regions 结果看到,不管常规卷积还是可变形卷积都会包含部分非目标区域,对最终的结果造成影响。论文通过实验发现,可调制变形卷积虽然有更强的几何变换建模能力,但常规的训练没有特定的损失,很难引导可调制变形卷积的学习。因此,考虑到性能和准确率的取舍,论文加入特征模仿(feature mimicking)引导可变形卷积生成类似 R-CNN 从 croped 图片中提取到的特征。由于背景的内容较为复杂,特征模仿损失仅用于正样本。

  整体的训练架构如图 3,添加额外 R-CNN 分支用于特征模仿,分支的结构与主干网络类似。对于 RoI 区域b,从原图中 crop 下来并 Resize 后送到 R-CNN 分支得到14\times 14的特征图,再进行整图的可调制变形 RoI pooling,通过两层全连接得到 1024-D 特征f_{RCNN}(b),最后接C+1-way Sfotmax 分类器预测分类结果。

  特征模仿损失通过余弦相似度的计算,如公式 3,\Omega为用于特征模仿的所有 RoI 区域。在训练时,每次随机采样 32 个 RPN 生成的正样本构成\Omega,同时计算特征模块损失和 R-CNN 分支的分类交叉熵损失。RCNN 分支的两个新损失的权重为主干对应项权重的 0.1 倍,RCNN 分支除了最后的 classification head 外的模块均与主干共享。在推理时,仅使用 Faster R-CNN 模块。

Experiments


Enriched Deformation Modeling

  对 DCNv2 的两个结构改进进行了对比实验,表 1 和表 2 分别为短边 1000 和短边 800 的实验,结合图 1 和图 2 的可视化结果,两个改进都能有效地提高准确率。

R-CNN Feature Mimicking

  对于特征模仿学习,仅模仿正样本的效果最好。

Application on Stronger Backbones

Conclusion


  论文提出 DCNv2,不仅对 DCNv1 的结构进行了改进,还使用了有效的蒸馏学习策略,使得性能有很大的提升,各个方面都值得借鉴。

参考内容



如果本文对你有帮助,麻烦点个赞或在看呗 ~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.