CBAM: Convolutional Block Attwnrion Module

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012193416/article/details/88592064

CBAM: Convolutional Block Attwnrion Module

Abstract: We propose convolutional block attention module (CBAM). 给定一个特征图,我们的模型能够从两个分离的维度进行推理,通道和空间,然后,特征图乘上原来输入的特征图进行特征的调整。CBAM是轻量级的一般的module,他可以集成到任何CNN中。

SENet只在feature map的通道上进行attention生成,在空间维度上并不能体现attention的意思。Attention不仅能告诉模型该注意什么,同时也能增强特定区域的表征。

Channel attention module

和senet的工作类似,都是首先将feature map在spatial维度上进行压缩,得到一个一维矢量再进行操作。与SENet不同之处在于,对输入feature map进行spatial维度压缩时,不但考虑average pooling,还引入了Maxpool,共享两层mlp,得到两组一维矢量,GAP对feature map上每一像素点都有反馈,GMP在进行梯度反向传播计算只有feature map中响应最大的地方有梯度的反馈,作为GAP的一个补充。

Spatial attention module

如上图,先使用average pool和max pool对输入feature map进行压缩操作,对通道层面的压缩,对输入特征在通道维度分别进行mean和max操作,最后得到两个二维的feature,将其拼接在一起,形成一个通道数目为2的feature map,使用conv得到输入和输出一致的维度。

Arrangement of attention modules

两个attention的module,以及何种顺序去设置和组合同样重要,有channel-first,spatial-first和parallel三种。

Experiments

Channel attention

Spatial attention

Arragement of the channel and apatial attention

猜你喜欢

转载自blog.csdn.net/u012193416/article/details/88592064
今日推荐