Rocky X · 2020年11月09日

CVPR2020 | SCNet:自校正卷积网络,无复杂度增加换来性能提升

作者:SFXiang
首发:AI算法修炼营

论文地址

代码地址

本文《Improving Convolutional Networks with Self-calibrated Convolutions》被CVPR2020收录,是南开大学程明明团队新工作,上次关注他们的工作还是在将多尺度引入Resnet中的Res2Net。另外,最近各种卷积模块工作层出不穷,性能涨点明显,包括李沐等人大神提出的ResNeSt、华为提出的DyNet、谷歌提出的CondConv、清华大学提出的XSepConv与ACNet等工作,大量新工作涌现,说明backbone的改进应该是近期的热点方向
简介
CNN的最新进展主要致力于设计更复杂的体系结构,以增强其特征表示能力。在本文中,考虑在不调整模型架构的情况下改进CNN的基本卷积特征转换过程。为此,本文提出了一种新颖的自校正卷积,该卷积它可以通过特征的内在通信达到扩增卷积感受野的目的,进而增强输出特征的多样性。不同于标准卷积采用小尺寸核(例如3×3卷积)同时融合空间维度域与通道维度的信息,本文所设计的SCConv可以通过自校正操作自适应地在每个空间位置周围建立了远程空间和通道间依存关系。因此,它可以帮助CNN生成更具判别能力的特征表达,因其具有更丰富的信息。

自矫正卷积SCConv的设计简单且通用,可以轻松增强标准卷积层的性能,而不会引入额外的参数和复杂性。大量的实验表明,将自矫正卷积应用于不同的backbone时,可以在各种视觉任务(包括图像识别,目标检测,实例分割和关键点检测)中显着改善baseline模型,而无需更改网络体系结构。
作者希望这项工作可以为未来的研究提供一种设计新颖的卷积特征变换以改善卷积网络的方法。

image.png

图. 可以观察到具有常规卷积的残差网络ResNet以及具有分组卷积的残差网络ResNeXt网络的卷积层感受野有限,甚至SE模块也无法捕获整个判别区域。相反,自校正卷积具有较大的感受野,有助于很好地捕获整个判别区域。
当前CNN网络的优化主要有两个方面:
1.结构设计:Alext-VGG-GoogleNet-ResNet-DenseNet-ResNeXt-NasNet
2.长距离依赖建模(注意力机制):SENet-GENet-CBAM-GCNet-GALA-AA-NLNet
在本文中,没有设计复杂的网络体系结构来增强特征表示,而是引入了自校正卷积作为一种有效的方法来帮助卷积网络通过增加每层的基本卷积变换来学习判别表示。类似于分组卷积,它将特定层的卷积核分为多个部分,但不均匀地每个部分中的卷积核以异构方式被利用。具体而言,自校正卷积不是通过均匀地对原始空间中的输入执行所有卷积,而是首先通过下采样将输入转换为低维嵌入。采用由一个卷积核变换的低维嵌入来校准另一部分中卷积核的卷积变换。得益于这种异构卷积和卷积核间通信,可以有效地扩大每个空间位置的感受野。
作为标准卷积的增强版本,自校正卷积具有两个优点空间上的每一个点都有附近区域的信息和通道上的交互信息,同时也避免了整个全局信息中无关区域的干扰,具体来说:
1、 首先,它使每个空间位置都能自适应地编码远距离区域的信息上下文,从而打破了在小区域(例如3x3)内进行卷积的传统。 这使自校正卷积产生的特征表示更具辨识性。在上图中,将ResNet生成的具有不同类型卷积的特征激活图可视化,可以看出,具有自校正卷积的ResNet可以更准确和整体地定位目标对象,并且采用SCNet的输出对前景有明显的分割。
2、 其次,提出的自校正卷积是通用的,可以轻松应用于标准卷积层,而无需引入任何参数和复杂性开销或更改超参数
本文的方法
1、常规卷积
假设输入特征为,输出特征为,那么传统的2D卷积由一组滤波器集合构成。此时常规卷积公式可以描述如下:

image.png

输入C X H X W ,在输出通道也为C的卷积中,卷积核K的维度为C X C X H X W。
缺点:这种卷积的卷积核学习模式都具有相似性。此外,卷积特征变换中每个空间位置的视野主要由预定义的内核大小控制,由此类卷积层的堆叠组成的网络也缺少大的感受野,无法捕获足够的高级语义。以上两个缺点都可能导致特征图的辨识度较低。

2、自校正卷积 SCConv(Self-Calibrated Convolutions)

image.png

自校正卷积具体步骤如上图所示:
第一步,输入特征图X为C X H X W大小,拆分为两个C/2 X H X W大小的X1,X2;
第二步,卷积核K的维度为C X C X H X W,将K分为4个部分,每份的作用各不相同,分别记为K1,K2,K3,K4,其维度均为C/2 X C/2 X H X W;
为了有效地收集每个空间位置的丰富的上下文信息,作者提出在两个不同的尺度空间中进行卷积特征转换原始尺度空间中的特征图(输入共享相同的分辨率)和下采样后的具有较小分辨率的潜在空间(用于自校正) 。利用下采样后特征具有较大的感受野,因此在较小的潜在空间中进行变换后的嵌入将用作参考,以指导原始特征空间中的特征变换过程。
第三步,对自校正尺度空间进行处理(Self-Calibration)
image.png

对特征X1采用平均池化下采样r倍(论文r=4),再进行上采样(双线性插值),经过Sigmoid激活函数对K3卷积提取后的特征进行校准得到输出特征Y1;所提到的自校正( Self-Calibrated) 主要是上半分支,表示为:

image.png
image.png
优势:

1、与传统的卷积相比,通过采用校正操作允许每个空间位置不仅将其周围的信息环境自适应地视为来自低分辨率潜在空间的嵌入,以作为来自原始比例空间的响应中的输入,还可以对通道间依赖性进行建模。因此,可以有效地扩大具有自校准的卷积层的感受野。如下图所示,具有自校准功能的卷积层编码更大但更准确的区分区域。

image.png

2、自校准操作不收集全局上下文,而仅考虑每个空间位置周围的上下文,避免了不相关区域的无用信息

3、自校准操作对多尺度信息进行编码,这是与目标检测相关的任务非常需要的。 

总的来说,文中的self-Calibrated Convolutions就是一个多尺度特征提取模块。作者通过特征图下采样来增大CNN的感受野,每个空间位置都可以通过自校准操作融合来自两个不同空间尺度空间的信息。而且从图中可以看出,Self-Calibrated Convolutions没有引入额外的可学习参数,但是其计算量还是会增大。

实验结果

ImageNet上的测试,实验中的训练过程参考ResNeXt文章中的训练,避免因Tricks导致性能的较大差异。相关实验结果见下图。

image.png
将SCNet引入其他backbone,无论ResNet、ResNeXt还是SE-ResNet均可得到一定程度的性能提升。

消融实验:当下采样率为4,池化方式为均值池化时具有最佳性能。
image.png

对比实验:将其与其他注意力机制(CBAM、SENet、GALA、AA、GE等)方法进行了性能对比。其他注意力机制方法大多需要额外的可学习参数,而本文所提方法则无需额外可学习参数。

image.png

扩展实验:将所提方案拓展到目标检测、关键点检测、实例分割等应用领域,进一步验证了所提方案的性能,可以一致性的提升改善模型的性能。

image.png

推荐阅读

更多机器学习、深度学习、计算机视觉、自动驾驶、机器人等领域最新最前沿的科技请关注微信号AI算法修炼营。
WX20200303-134844.png
LO V3在Anchor-based目标检测领域的地位类似,非常推荐大家读一下原文!有关其在3D location和姿态估计等任务的应用,大家感兴趣可以自行学习。
推荐阅读
关注数
16356
内容数
1226
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息