论文提出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为$3K$,$K$为主干的卷积核大小,前$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的结构进行了改进,还使用了有效的蒸馏学习策略,使得性能有很大的提升,各个方面都值得借鉴。
参考内容
- Understanding the Effective Receptive Field in Deep Convolutional Neural Networks -https://arxiv.org/pdf/1701.04...
如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。