CBMA:卷积注意力机制模块- 结合了空间(spatial)和通道(channel)的注意力机制模块。

给定一个中间特征图,CBAM模块会沿着两个独立的维度(通道和空间)以此推断注意力图,然后将注意力与输入特征图相乘以进行自适应特征优化。由于CBAM是轻量级的通用模块,因此可以忽略的该模块的开销而将其无缝集成到任何CNN架构中,并且可以与基础CNN一起进行端到端训练。

1.整体结构:

卷积层输出的结果,会先通过一个通道注意力模块,得到加权结果之后,会再经过一个空间注意力模块,最终进行加权得到结果。

【CBAM||目标识别||注意力机制||gated卷积】Convolutional Block Attention Module-LMLPHP

2.通道注意力模块:

输入的特征图

  • 分别经过基于width和height的global max pooling 和global average pooling;
  • 分别经过MLP;
  • 将MLP输出的特征进行基于element-wise的add操作;
  • 经过sigmoid激活操作,生成最终的channel attention featuremap;
  • 将该channel attention featuremap和input featuremap做element wise乘法操作;
  • 生成Spatial attention模块需要的输入特征。

【CBAM||目标识别||注意力机制||gated卷积】Convolutional Block Attention Module-LMLPHP

3.空间注意力模块:

将Channel attention模块输出的特征图作为本模块的输入特征图

  • 首先做一个基于channel的global max pooling 和global average pooling;
  • 然后将这2个结果基于channel 做concat操作;
  • 然后经过一个卷积操作,降维为1个channel;
  • 再经过sigmoid生成spatial attention feature
  • 最后将该feature和该模块的输入feature做乘法;
  • 得到最终生成的特征。

【CBAM||目标识别||注意力机制||gated卷积】Convolutional Block Attention Module-LMLPHP

 【CBAM||目标识别||注意力机制||gated卷积】Convolutional Block Attention Module-LMLPHP

 4.注意力注意到了什么?【可视化】

【CBAM||目标识别||注意力机制||gated卷积】Convolutional Block Attention Module-LMLPHP

 

 

12-07 07:26