CBAM注意力模块: Convolutional Block Attention Module

之前谈过SE-net, 对于目标检测或检测用于特征通道的attention, 今天记录一下CBAM模块, 对分类或检测中用来获取通道、空间位置的attention.

CBAM

论文主要是提出了一种轻量级的注意力模块,同时在空间和通道上进行特征的attention,可以加到现有的模型中,提升CNN网络的表达能力

CBAM 包含两个子模块,分别是 channel attention 模块和spatial attention 模块:

channel attention模块也可以使用 SE-net 的模块,本文中作者使用了最大池和平均池两种方式分别得到逐通道的池化值,大小分别为 $channel * 1 * 1$,比使用一种的效果更好:

对于 spatial attention 模块, 作者也使用了逐点跨通道进行全局最大池和平均池化, 大小分别为 $1* h * w$, 然后使用 $7 * 7$的卷积核得到单通道的激活输出:

对于二者的组织方式,作者经过试验得到以串行的方式,先 channel attention再spatial attention 效果更好.

上图为将CBAM整合到resnet 的结构。

上图为使用Grad-CAM 可视化后的对比图, 可以看出使用CBAM模块的激活图更准确。

REF

CBAM: Convolutional Block Attention Module