最强通道注意力来啦!金字塔分割注意力模块,即插即用,效果显著,已开源!
导读
本文是通道注意力机制的又一重大改进,主要是在通道注意力的基础上,引入多尺度思想,本文主要提出了金字塔分割注意力模块,即PSA module。进一步,基于PSA ,我们将PSA注意力模块替换ResNet网络Bottleneck中的3x3卷积得到了新的EPSA block。EPSA block可以作为一种“即插即用”模块用于现有骨干网络并显著提升性能。因此,我们将构建的骨干网络称之为EPSANet。相比其他注意力机制(比如SENet、ECANet、FcaNet等),EPSANet在图像分类、目标检测以及实例分割任务上均取得了显著性能提升。
链接:https://arxiv.org/abs/2105.14447
代码地址:https://github.com/murufeng/EPSANet
Abstract & Introduction已有研究表明:将注意力模块嵌入到现有CNN中可以带来显著的性能提升。比如,SENet、BAM、CBAM、ECANet、GCNet、FcaNet等注意力机制均带来了可观的性能提升。但是,目前仍然存在两个具有挑战性的问题需要解决。一是如何有效地获取和利用不同尺度的特征图的空间信息,丰富特征空间。二是通道注意力或者或空间注意力只能有效捕获局部信息,而不能建立长期的依赖关系。最新的一些方法虽然能有效解决上述问题,但是他们同时会带来巨大的计算负担。基于此,本文首先提出了一种新颖的轻量且高效的PSA注意力模块。PSA模块可以处理多尺度的输入特征图的空间信息并且能够有效地建立多尺度通道注意力间的长期依赖关系。然后,我们将PSA 模块替换掉ResNet网络Bottleneck中的3x3x卷积,其余保持不变,最后得到了新的EPSA(efficient pyramid split attention) block.基于EPSA block我们构建了一个新的骨干网络称作:EPSANet。它既可以提供强有力的多尺度特征表示能力。与此同时,EPSANet不仅在图像识别任务中的Top-1 Acc大幅度优于现有技术,而且在计算参数量上有更加高效。具体效果:如下图所示,
总而言之,无需任何技巧,EPSANet取得了优于当前最好的通道注意力模型的性能。相比SENet-50,本文所提方案在图像分类Top-1 acc上取得了1.93%的精度提升,在目标检测任务上取得2.7 boxAP 提升,在实例分割任务上取得了1.7 mAP 提升。
主要创新点及贡献如下:
本文提出了一种新的高效金字塔注意力分割模块(Efficient Pyramid Split Attention, EPSA),该模块可以有效地提取更细粒度的多尺度空间信息,同时可以建立更长距离的通道依赖关系。EPSA模块非常灵活和可扩展的,因此可以直接应用到各类计算机视觉网络架构中。
本文提出了一种新的骨干网络:EPSANet,它可以学习更丰富的多尺度特征表示,同时可以自适应地对多维度的通道注意力权重进行特征重标定。
大量实验表明,EPSANet可以在ImageNet和COCO数据集实现图像分类、目标检测和实例分割任务上的性能提升。
模型方法:
首先简要回顾一下SENet模块,主要是提取通道注意力权重,具体所下所示:
计算公式如下:
注意力权重计算如下:
PSA模块:本文主要是建立一个更高效的通道注意力机制。为此,我们主要提出了一种新的金字塔分割注意力(PSA)模块。如图3所示,PSA模块主要通过四个步骤实现。
首先,利用SPC模块来对通道进行切分,然后针对每个通道特征图上的空间信息进行多尺度特征提取;
其次,利用SEWeight模块提取不同尺度特征图的通道注意力,得到每个不同尺度上的通道注意力向量;
第三,利用Softmax对多尺度通道注意力向量进行特征重新标定,得到新的多尺度通道交互之后的注意力权重。
第四,对重新校准的权重和相应的特征图按元素进行点乘操作,输出得到一个多尺度特征信息注意力加权之后的特征图。该特征图多尺度信息表示能力更丰富。
SPC模块:由上图所示,在PSA module中实现多尺度特征提取的重要模块就是SPC,如下图所示:
针对输入特征图,首先将特征图切分为个部分,用 来表示,每个分割的部分的通道数都为.同时,每个分割之后的特征图因此,针对划分出来的每个通道特征图,我们应用多尺度卷积的方式来提取不同尺度特征图的空间信息,这里我们主要运用多尺度卷积核分组卷积,分组卷积的作用主要是用来降低参数量。与此同时,我们还探索了一种根据卷积核的大小来自适吟选择Group大小的策略。根据实验结果,Group与Kernel size的关系式为:. 因此多尺度特征提取的过程具体计算方式如下:
这里,
<section role="presentation" data-formula="K_{i} = 2\times(i+1)+1, G_{i} = 2^{\frac{K_{i}-1}{2}}, F_{i} \in R^{C^{" }\times="" h="" \times="" w}="" '="" data-formula-type="block-equation">
最后我们可以得到多尺度融合之后的特征图:
这里在提取多尺度特征图之后,我们需要对不同尺度的特征图进行通道注意力权重提取,具体计算如下:
并且然后,整个多尺度通道注意力权重向量为:
为了建立长期的通道注意力依赖,并且实现多尺度通道注意力之间的信息交互。我们进一步利用Softmax来对通道注意力信息进行权值重标定。
最后,我们将对应尺度的特征图与进行权值重标定的注意力向量进行 channel-wise级别的相乘,即:
最后,我们将得到的多尺度通道注意力加权之后的特征图进行维度拼接,最后输出得到一个多尺度信息更为丰富的特征图,具体计算如下:
Experiments
下表给出了EPSANet在ImageNet上与其它网络结构的性能对比,从中可以看到:
相比ResNet50,EPSANet50-Small在Top-1 acc上提高了2.29%,且参数量减少了11.7%,计算量减少了12.1%;
EPSANet50-Small取得了与SENet101相似的精度,但参数量却节省了54.2%,计算量节省了53.9%;
相比ResNet101,SENet101,EPSANet101-Small分别在Top-1 acc上提高了1.6%和0.81%,并分别节省了12.7%与21.1%的计算资源;
相比SENet,ECANet,FcaNet,EPSANet-50(large)分别在Top-1 acc上提高了1.93%,1.16%,0.12%。
在与SENet101和CBAM具有相同参数量的情况下,EPSANet-101(large)在Top-1 acc上提高了1.76%和0.89%.
表3给出了EPSANet-50(small)和EPSANet-50(large)在COCO数据集上进行目标检测任务的性能对比,从中可以看到:我们的方法取得了最佳检测性能;具体来说:
EPSANet50(Small)以更少的参数量、更低的计算量超过了SENet50;
EPSANet50(Large)在所有检测器上都取得了当前最优的性能。
上述实验结果表明:EPSANet具有很好的泛化性能,可以非常容易应用到其他下游任务。
表4给出了COCO数据集上实例分割的性能对比,很明显:
PSA注意力模块实现了最好的性能,超越了当前其它注意力模块。
与当前性能最好的通道注意力方法FcaNet相比,EPSANet50-Large分别在AP、AP_50、AP_75这三个指标上提高了0.9%,0.4%,1.4%。
总结本文主要提出了一种高效的、即插即用的、轻量级金字塔分割注意力(Pyramid Split Attention, PSA)模块。该注意力模块能够充分提取多尺度特征图空间信息以及实现跨维度通道注意力重要特征交互。基于PSA module,我们提出了一种高效的金字塔注意力分割(EPSA) block,它可以提高模型更细粒度的多尺度特征表示的能力,同时在多尺度通道注意力间建立了一种更长距离的特征依赖关系。最后,本文提出的EPSANet骨干网络有效地融合了多尺度上下文空间信息和图像级别的分类特征。通过大量的定性和定量实验表明,与传统的通道注意力机制相比,本文所提出的EPSANet在图像分类、目标检测和实例分割方面可以达到最先进的性能。未来,我们还将研究我们的PSA模块更轻量级的CNN架构中的性能。