Press "Enter" to skip to content

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

 

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

 

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

 

本文《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模型,而无需更改网络体系结构。

 

作者希望这项工作可以 为未来的研究提供一种设计新颖的卷积特征变换以改善卷积网络 的方法。

 

 

图.  可以观察到具有常规卷积的残差网络ResNet以及具有分组卷积的残差网络ResNeXt网络的卷积层感受野有限,甚至SE模块也无法捕获整个判别区域。相反,自校正卷积具有较大的感受野,有助于很好地捕获整个判别区域。

 

当前CNN网络的优化主要有两个方面:

 

1.结构设计 :Alext-VGG-GoogleNet-ResNet-DenseNet-ResNeXt-NasNet

 

2.长距离依赖建模(注意力机制) :SENet-GENet-CBAM-GCNet-GALA-AA-NLNet

 

在本文中,没有设计复杂的网络体系结构来增强特征表示,而是引入了自校正卷积作为一种有效的方法来帮助卷积网络通过增加每层的基本卷积变换来 学习判别表示 。类似于分组卷积,它将特定层的卷积核分为多个部分,但不均匀地每个部分中的卷积核以异构方式被利用。具体而言, 自校正卷积不是通过均匀地对原始空间中的输入执行所有卷积,而是首先通过下采样将输入转换为低维嵌入。采用由一个卷积核变换的低维嵌入来校准另一部分中卷积核的卷积变换。 得益于这种异构卷积和卷积核间通信,可以有效地扩大每个空间位置的感受野。

 

作为标准卷积的增强版本,自校正卷积具有两个 优点 , 空间上的每一个点都有附近区域的信息和通道上的交互信息,同时也避免了整个全局信息中无关区域的干扰 ,具体来说 :

 

1、 首先,它使每个空间位置都 能自适应地编码远距离区域的信息上下文,从而打破了在小区域(例如3×3)内进行卷积的传统。 这使自校正卷积产生的特征表示 更具辨识性 。在上图中,将ResNet生成的具有不同类型卷积的特征激活图可视化,可以看出,具有自校正卷积的ResNet可以更准确和整体地 定位目标对象,并且 采用SCNet的输出对前景有明显的分割 。

 

2、 其次,提出的自校正卷积是通用的,可以轻松应用于标准卷积层,而 无需引入任何参数和复杂性开销或更改超参数 。

 

本文的方法

 

1、常规卷积

 

假设输入特征为,输出特征为,那幺传统的2D卷积由一组滤波器集合构成。此时 常规卷积公式 可以描述如下:

 

 

输入C X H X W ,在输出通道也为C的卷积中,卷积核K的维度为C X C X H X W。

 

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

 

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

 

 

自校正卷积具体步骤如上图所示:

 

第一步,输入特征图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)

 

 

 

 

 

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

 

 

其中,   分别表示   的上采样操作和下采样操作。   为sigmoid函数。

 

第四步,对 原尺度特征空间进行处理,对特征X2经过K1卷积提取得到特征Y2;

 

第五步,对两个尺度空间输出特征Y1,Y2进行拼接操作,得到最终输出特征Y。

 

优势:

 

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

 

 

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

 

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

 

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

 

实验结果

 

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

 

 

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

 

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

 

 

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

 

 

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

 

 

参考:

 

https://blog.csdn.net/weixin_42096202/article/details/105876498

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注