论文题目:Improving Convolutional Networks with Self-Calibrated Convolutions

论文地址:http://mftp.mmcheng.net/Papers/20cvprSCNet.pdf

代码地址:https://github.com/MCG-NKU/SCNet

 

文章贡献:

设计了一个即插即用的自校准卷积模块来替代普通的卷积块,称为SC模块(Self-Calibrated Convolutions),有以下几个优点:

1. 有更大的感受野,关注更多的上下文信息;

2. 方便使用,不需要引入多余参数,适用于多种任务。

 

1 背景与动机

语义分割、目标检测等下游任务的性能,与上游任务卷积网络特征提取的能力息息相关。

大多数卷积神经网络的改进主要关注于调整网络模型的架构,以产生丰富的有限元分析。

该文章不关注架构,只通过改进基本的卷积模块来提升整个网络的性能。

论文提出的自校准卷积SC可以更完整、更准确的定位目标物体:

 

2 相关工作

卷积网络的架构设计

1. 使用基本卷积层构建深度网络,如AlexNet、VGGNet等;

2. 对卷积块的串并联架构的设计、跳跃连接,如ResNet、Inceptions模块等;

3. 对通道等之间的依赖性的构建,如SENet等。

以上均关注于调优网络架构,该论文不涉及网络整体架构。

 

远程依赖关系模型

在大多数视觉任务中,远程依赖关系尤为重要;考虑上下文关系的主要方法有:

1. 对空间和通道信息的依赖的整合(即注意力机制),如SENet、CBAM等;

2. 利用具有大尺寸的kernel的空间池化或卷积运算(分组卷积/池化),如PSPNet等。

该论文相比较于注意力机制,不需要增加额外的分支与参数;

分组卷积或分组池化,指特征提取过程在多个并行分支中均匀地、单独地进行,每个分支的输出被串联起来作为最终输出。分组卷积的输入对象是相同的特征图,而该论文的几个分支中的输入对象不同。

 

  • 虽然论文说其与注意力机制不同,但其实也类似于注意力机制,只是不是在原有卷积上增加分支,而是直接把整个卷积层替换掉,区别是无需学习多余的参数,且可与一般注意力机制叠加使用;
  • 相比较其他论文提出一个新的模块,再用于一个整体网络结构不同,该文论仅提出了一个SC模块,不涉及网络架构,虽然通用,但也显得工作量没那么多。

 

3 自校准模块SC

传统的2D卷积

存在输入,输出,卷积操作的kernel size,有如下计算公式:

(xi和yi是不同的通道,ki代表卷积核的大小)

这存在2个问题,使得提取到的特征图不具有很强的区别性:

1. 每一个输出的feature map都是通过所有通道求和来计算的,所有的feature map都是通过重复同一公式多次来统一生成的。

2. 每个空间位置的感受野主要由预定义的卷积核大小控制。

 

SC模块结构图

上图为SC模块的架构图,X为输入特征图,Y为输出特征图,F为不同kernel size的卷积层,K为对应的kernel的大小。

首先将输入特征图X分为两部分X1和X2;X1经过自校准操作得到Y1,X2经过一个简单的卷积操作,获得Y2;最后Y1和Y2 concat,得到最后的输出特征图Y。

 

自适应校准部分(虚线框)分为3个分支,上面2个分支类似于注意力机制的权重求取部分,下面1个分支类似于注意力的主分支。

 权重求取分支2中,首先对X1进行rxr的平均池化,得到T1,shape为 C/2*H/r*W/r;

 对T1进行F2卷积,再上采样r倍,得到X1';

 将X1'与X1进行求和,再经过sigmoid操作,得到权重值。将其与主分支中的结果(X1经过F3卷积)相乘,得到Y1';

 对Y1'经过F4卷积,得到Y1。

 

SC的优点

1. 与传统2D卷积不同,SC采用多种不同size的卷积核,且考虑了空间上下关系,拥有更强的感受野;

2. SCConv只关注局部上下文,不关注全局,目标定位更加准确;

3. 自适应操作对多尺度信息进行了编码,这对目标检测等下游任务提供了丰富的特征。

上图中第一行是resnet50的最后一个block特征结果,第二行是将resnet50的所有3x3卷积换成SC卷积后最后一个block特征结果。

 

4 实验结果

topX指对于每张图片,取预测结果中概率最大的X个标签,只要有1个正确,则认为分类正确。

SC和普通卷积的对比

训练过程中加了SC模块后loss下降更快,错误率更低:

下采样率r对分类性能的影响

对比了不同r取值以及是否使用identity分支与池化方法(平均或最大池化)的结果:

由于输入图像大小原本就比较小,因此实验中r最大只取到4。

与注意力机制的比较

参数更少,准确率更高:

 

图像分类任务中SC的泛化能力

数据集ImageNet,输入图片大小224x224。在resnet、resnext、se-resnet上进行实验对比。

在不增加参数量和模型大小的情况下,使用SC模块后分类准确率有些微提升:

目标检测和实例分割任务中SC的泛化能力

使用COCO minival数据集,图像的短边设置为800,以下为在不同的骨干网格下使用SC与否的结果对比:

人体关键点检测任务中SC的泛化能力

使用COCO val2017数据集,仅将骨干网格由resnet替换为SC模块的SCNet:

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐