为何使用可变形卷积?
卷积神经网络在视觉识别任务上取得了显着的成功。尽管如此,它们仍然存在上述两个缺点。它们对几何变换建模的能力主要来自于广泛的数据增强、大的模型容量和一些简单的手工制作的模块(例如,用于小平移不变性的最大池化)。视觉识别的一个关键挑战是如何适应对象尺度、姿态、视点和零件变形中的几何变化或模型几何变换,固定尺寸的卷积核操作并不能很好的实现这个效果。
可变形卷积的想法是通过额外的偏移量来增强卷积和 RoI 池化中的空间采样位置,并从目标任务中学习偏移量。当可变形卷积堆叠起来时,复合变形的效果是深远的。
一.DCNv1
论文:https://openaccess.thecvf.com/content_ICCV_2017/papers/Dai_Deformable_Convolutional_Networks_ICCV_2017_paper.pdf
CNN 本质上仅限于对大型未知变换进行建模。该限制源于 CNN 模块的固定几何结构:卷积单元在固定位置对输入特征图进行采样;池化层以固定比例降低空间分辨率; RoI(感兴趣区域)池化层将 RoI 分成固定的spatial bins等。缺乏处理几何变换的内部机制。
在可变形卷积中,引入了两个新模块,它们极大地增强了 CNN 建模几何变换的能力。
(1).可变形卷积
在标准卷积中添加常规网格采样位置的偏移。它可以使采样网格自由变形。如下图所示。偏移量是通过附加的卷积层从前面的特征图中学习到的。
实现过程:
2D标准卷积操作分为两步:1)在输入特征图 x 上使用规则网格 R 进行采样; 2)按w加权的采样值的求和。R可以表述为:
经过卷积核操作后,对于输出特征图 y 上的每个位置 p0(其中 pn 枚举 R 中的位置):
在可变形卷积中,规则网格 R 增加了偏移量 Δpn:
(2).可变形的ROI池化
它为先前 RoI 池化的常规 bin 分区中的每个 bin 位置添加偏移量 。类似地,偏移量是从前面的特征图和 RoI 中学习的,从而能够对不同形状的对象进行自适应部分定位。
二.DCNv2
论文:https://openaccess.thecvf.com/content_CVPR_2019/papers/Zhu_Deformable_ConvNets_V2_More_Deformable_Better_Results_CVPR_2019_paper.pdf
DCNv1存在弊端:为了理解可变形卷积网络,通过 PASCAL VOC 图像中偏移采样位置的排列将感受野引起的变化可视化。研究发现,激活单元的样本倾向于聚集在它所在的对象周围。然而,对象的覆盖范围并不精确,样本分布超出了感兴趣的区域。可以通过下图加强理解:
在上图中我们很明显可以看出v2比v1感兴趣的区域更加集中
DCNv2针对DCNv1改进(个人理解):
a.配备更多具有偏移学习能力的卷积层使 DCNv2 能够在更广泛的特征级别上控制采样(堆叠更多卷积层):
b.可变形卷积模块中的调制机制,其中每个样本不仅经历学习的偏移,而且还通过学习的特征幅度进行调制(为了进一步增强可变形卷积网络操纵空间支持区域的能力,引入了调制机制。有了它,可变形卷积网络模块不仅可以调整感知输入特征的偏移,还可以调制来自不同空间位置/bin的输入特征幅度。在极端情况下,模块可以通过将其特征幅度设置为零来决定不感知来自特定位置/bin的信号。因此,来自相应空间位置的图像内容对模块输出的影响将显着减少或没有影响。因此,调制机制为网络模块提供了另一个维度的自由来调整其空间支持区域。):
其中 Δpk 和 Δmk 分别是第 k 个位置的可学习偏移和调制标量。Δpk 和 Δmk 都是通过应用于相同输入特征图 x 的单独卷积层获得的。
三.DCNv3
V2虽然类比于传统CNN在性能有所提升,但是对比Transformer还是有所差距。近年来大规模视觉变换器(ViT)的巨大进步相比,基于卷积神经网络(CNN)的大规模模型仍处于早期状态。为了弥补 CNN 和 ViT 之间的差距,我们首先从两个方面总结它们的差异:
(1).ViT 的 多头自注意力MHSA(MHSA)具有长程依赖性和自适应空间聚合(见下图 )。受益于灵活的 MHSA,ViT 可以从海量数据中学习比 CNN 更强大、更稳健的表示。
(2).从架构角度来看,除了MHSA之外,ViT还包含一系列标准CNN中未包含的高级组件,例如层归一化(LN)、前馈网络(FFN) 、GELU 等。
现在在ViT上的一系列改进都是向CNN靠齐。为了使CNN也能达到差不多甚至超越ViT的性能,最近比较热门的就是采用大核卷积来构建全局注意力,但是其弊端比较明显,通过DCN来提升CNN的性能是一个不错的方向。
DCNv2回顾:
我么可以看到,可变形卷积实现了:
(1).对于长程依赖,采样偏移Δpk是灵活的,能够与短程或长程特征交互;
(2) 对于自适应空间聚合,采样偏移 Δpk 和调制标量 mk 都是可学习的并且由输入 x 调节。
因此可以发现DCNv2与MHSA具有相似的有利特性,这促使我们在此算子的基础上开发基于CNN的大规模基础模型.
DCNv2存在问题:DCNv2通常用作常规卷积的扩展,加载常规卷积的预训练权重并进行微调以获得更好的性能,这并不完全适合需要从头开始训练的大规模视觉基础模型。
DCNv3:
(1).借鉴了可分离卷积的想法,并将原始卷积权重 wk 分离为深度部分和逐点部分,其中深度部分由原始位置感知调制标量 mk 负责,逐点部分是采样点之间共享的投影权重w;
(2).引入多组机制;
(3).沿采样点标准化调制标量。
DCNv3作为DCN系列的扩展,具有以下三个优点:
(1).该算子弥补了正则卷积在长程依赖和自适应空间聚合方面的不足;
(2).与常见的 MHSA 和密切相关的可变形注意力等基于注意力的算子相比 ,该算子继承了卷积的归纳偏差,使得我们的模型在训练数据更少和训练时间更短的情况下更加高效;
(3).该算子基于稀疏采样,比以前的方法(例如 MHSA 和重新参数化大内核 )具有更高的计算和内存效率。