- 论文地址:
http://openaccess.thecvf.com/content_ECCV_2018/papers/Sanghyun_Woo_Convolutional_Block_Attention_ECCV_2018_paper.pdf - 收录:ECCV 2018 (European Conference on Computer Vision)
- 论文代码: github-PyTorch
更多注意力机制相关文章,请看这篇论文总结RAM: Residual Attention Module for Single Image Super-Resolution
概述
- 为了提升CNNs(卷积神经网络)效果,一些研究者尝试从三个方面着手:
depth
、width
、cardinality
,各自典型代表:
- depth:VGGNet、ResNet
- width:GoogLeNet
- cardinality:Xception、ResNeXt
- 作者尝试从另一个角度出发—
attention
,attention适用于很多计算机视觉任务,例如图片分类、语义分割、边缘检测、姿态估计等。Attention可分为两类:基于通道(channel)
和基于空间(spatial)
,前者关注更重要的特征(每个通道都是一种特征),后者留意在哪个位置关注,即作者所说的learn ‘what’ and ‘where’
。 - 作者组合这两类attention,提出
Convolutional Block Attention Module(CBAM)
。基于主干网络ResNet18、ResNet34、ResNet101、WideResNet18、ResNeXt50、ResNeXt101、MobileNet、VGG16,在数据集ImageNet-1K
上测试图片分类,在数据集MS COCO
和VOC 2007
上测试物体检测。验证了CBAM不仅通用性强,而且在不明显增加参数量的情况下,能提升网络效果。
CBAM结构

在给定输入特征F的情况下,CBAM模块先学到1维的
通道注意力图(Channel Attention map)
—Mc,再学到2维的空间注意力图(Spatial Attention map)
—Ms,这个attention过程可用如下公式表达:
其中,

-
通道注意力模块(Channel attention module)
该模块先利用全局平均池化(global average-pooling)
和全局最大值池化(global max-pooling)
操作同时抽取通道上的特征;然后通过共享一个多层感知机(multi-layer perceptron)
进一步得到通道上的特征;最终这两种特征点加(element-wise summation)
,并使用sigmoid
激活后得到Channel Attention map。公式表达为:
-
空间注意力模块(Spatial attention module)
该模块同时在通道维度上取平均值和最大值,得到两个二维空间特征;之后concatenate一起,经过卷积得到最终的Spatial Attention map。公式表达为:
这里的7x7代表卷积核大小。 -
如何组合通道和空间注意力模块?
后续实验证明:串联比并联效果好,通道模块接空间模块效果好
实验
- Ablation studies
数据集:ImageNet-1K
Baseline:ResNet50
在现有ResNet结构中,CBAM可以添加到每个block的输出特征之后:
作者针对Channel attention
、Spatial attention
以及二者如何组合
做了各个实验:
-
Channel attention
该实验结果中发现综合AvgPool和MaxPool效果比单一使用其中之一要好。
-
Spatial attention
image.png
该实验结果中发现综合Avg和Max,并使用7x7卷积核效果最好。
-
二者如何组合
该实验结果表明:串联比并联效果要好;先通道注意力后空间注意力效果要更好。
- Image Classification on ImageNet-1K
-
该实验基于主干网络:ResNet、WideResNet、ResNext,验证了CBAM的有效性,而且参数量和计算量提升不明显:
- 作者同时也对不同主干网络的最后一层输出特征做了可视化,并给出目标分类的softmax值(P):
发现添加CBAM之后,网络能更加关注到目标分类的区域。可视化方法来自:
Selvaraju, R.R., Cogswell, M., Das, A., Vedantam, R., Parikh, D., Batra, D.: Grad- cam: Visual explanations from deep networks via gradient-based localization. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. (2017) 618–626
- Object Detection
-
MS COCO
目标检测采取方法Faster-RCNN,主干为带预训练权重的 ResNet50和ResNet101:
实验证明:添加CBAM模块后,不同主干网络的效果都有提升。
-
VOC 2007
目标检测采取方法StairNet,它又基于SSD,主干网络有VGG16和MobileNet:
实验证明:添加CBAM模块后,不同主干网络的效果都有提升,即使在轻量级网络MobileNet下也有提升。
网友评论