论文解读:CBAM: Convolutional Block Attention Module--ECCV2018

摘要:作者提出一个Convolutional Block Attention Module(CBAM)。给定一个特征图,作者的模块可从两个维度(通道和空间)按顺序地推出注意力图,然后将注意力图与输入的特征图进行点积,从而可以自适应地提炼特征。因为CBAM是个轻量级的通用模块,所有它可以整合到任何CNN框架中,并且计算成本几乎不变。

QQ截图20190610123827.png

1.Introduction
为了提高CNN的性能,最近的研究主要关注网络的三个因素:深度,宽度和cardinality。Xception和ResNeXt被提出来增加网络的cardinality。这证明了cardinality不仅节省了参数总数,而且比深度和宽度具有更强的表示能力。
因为卷积操作通过混合跨通道和空间信息来提取有用特征,所以作者的模块会在这两个重要的维度上(通道和空间轴)提取特征。为了达到这一点,作者依次应用通道和空间注意力模块,因此每个分支都可以在通道和空间轴上”学习什么“和”在哪里学习“。将CBAM嵌入到其他模型后,发现其准确度提高。作者推测,这种提高来自于对无关杂波的精确的注意和降噪。
本文的贡献有:
提出了一种简单而有效的注意力模块(CBAM),可广泛应用于提高CNNs的表示能力;

QQ截图20190610123924.png

3.Convolutional Block Attention Module
Channel attention module. 由于特种图的每个通道都被看作是一个特征检测器,所以在给定的输入图像下,通道的注意力会集中在”什么“是有意义的。为了有效地计算通道注意力,作者压缩了输入特征图的空间维数。对于空间信息的聚合,目前普遍采用平均池化的方法。Zhou等人认为使用它来有效学习目标对象的范围。而Hu等人在他们的注意力模块中采用它来计算空间统计。除了以前的工作,作者认为最大池化收集了另一个关于独特目标特征的重要线索,从而推断出更好的通道级的注意力。因此,作者同时利用了平均池化和最大池化特征。作者证明了利用两个特征能提高网络的表示能力。
作者首先通过利用平均池化和最大池化操作来整合特征图的空间信息,从而生成两个不同的空间上下文描述器,分别表示经过平均池化和最大池化的特征。

Spatial attention module. 作者利用特征间的空间关系来生成空间注意力图。空间注意不同于通道注意,它侧重于信息部分的位置,是对渠道注意的补充。为了计算空间注意力,作者首先沿着通道轴应用平均池化和最大池化,并且concat它们来生成一个有效的特征描述器。沿着通道轴池化操作可以有效突出有用的区域。在已经concat好的特征描述器中,作者用一个卷积层来生成空间注意力图,它能编码要强调或抑制的区域。

Arrangement of attention modules. 作者发现对于两个注意力模块,顺序排列比并行排列的结果更好。而且先用通道注意力,再用空间注意力的效果更好。

QQ截图20190610123943.png

4.Experiments
4.1 Ablation studies
Channel attention. 作者认为最大池化特征(对最显著部分进行编码的程度)可以弥补平均池化特征(对全局统计特征进行编码)。因此,作者建议同时采用两个特征并对两个特征共享同一个网络。

Spatial attention. 作者发现采用通道池化可以产生更高精确度,这表明显式地对池化建模会产生更好的注意力推断,而不是可学习的加权通道池化(用1x1卷积执行)。同时作者发现采用一个更大的核大小会产生更好的结果。这意味着需要一个更宽广的视野(即大的感受野)来决定空间上重要的区域。

Arrangement of the channel and spatial attention. 因为每个模块有不同功能,所以通道和空间注意力的先后次序会影响模型的整体性能。例如,从空间的角度看,通道注意力是应用的全局的,而空间注意力是应用在局部的。
作者发现对通道注意和空间注意进行排序,生成的注意力图的效果要好于让两个注意机制并排计算而产生的注意力图。

4.2 Image Classification on ImageNet-1K
作者发现CBAM的参数和计算量都是较小的。

4.3 Network Visualization with Grad-CAM
Grad-CAM是一个可视化方法,它利用梯度来计算卷积层中空间位置的重要性。因为梯度会通过一个单独的类来计算出来,所以Grad-CAM的结果能够清楚展示受关注的区域。通过观察网络在预测某个类时认为很重要的区域,作者试图发现这个网络是如何利用特征的。

你可能感兴趣的:(论文解读:CBAM: Convolutional Block Attention Module--ECCV2018)