CBAM: Convolutional Block Attention Module
PDF: https://arxiv.org/pdf/1807.06521.pdf PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks PyTorch代码: https://github.com/shanglianlm0525/CvPytorch
1 概述
CBAM是基于卷积块的注意机制,它结合了空间注意力机制和通道注意力机制,它能显著提高图像分类和目标检测的正确率。
2 Channel Attention Module
channel attention: C×H×W ------> C×1×1
PyTorch代码:
3 Spatial Attention Module
spatial attention: C×H×W ------> 1×H×W
PyTorch代码:
4 ResBlock + CBAM
PyTorch代码:
5 Ablation
5-1 Channel attention
使用avgpool和maxpool可以更好的降低错误率,大概有1-2%的提升,同时使用能提供更加精细的信息,有利于提升模型的表现
5-2 Spatial attention
空间注意力机制参数有avg, max组成, 此外kernel size=7时效果最好
5-3 Arrangement of the channel and spatial attention
先channel attention然后spatial attention效果(最终的CBAM模块组成) > 先spatial attention然后channel attention 效果 > 并行channel attention和spatial attention