[Paper Review] CBAM: Convolutional Block Attention Module
Introduces CBAM, a lightweight attention module that sequentially applies channel and spatial attention to intermediate CNN feature maps, improving classification and detection with minimal overhead. It demonstrates consistent gains across ImageNet, MS COCO, and VOC2007.
We propose Convolutional Block Attention Module (CBAM), a simple yet effective attention module for feed-forward convolutional neural networks. Given an intermediate feature map, our module sequentially infers attention maps along two separate dimensions, channel and spatial, then the attention maps are multiplied to the input feature map for adaptive feature refinement. Because CBAM is a lightweight and general module, it can be integrated into any CNN architectures seamlessly with negligible overheads and is end-to-end trainable along with base CNNs. We validate our CBAM through extensive experiments on ImageNet-1K, MS~COCO detection, and VOC~2007 detection datasets. Our experiments show consistent improvements in classification and detection performances with various models, demonstrating the wide applicability of CBAM. The code and models will be publicly available.
Motivation & Objective
- Motivate a lightweight attention mechanism to enhance CNN feature representations.
- Propose a two-branch attention module (channel and spatial) that can be integrated into existing CNNs.
- Demonstrate improvements across large-scale classification and detection benchmarks.
- Show that sequential channel-then-spatial attention yields better performance than parallel arrangements.
Proposed method
- Compute a 1D channel attention map via average- and max-pooled spatial descriptors processed by a shared MLP (reduction ratio r).
- Compute a 2D spatial attention map from channel-wise pooled descriptors via a 7x7 convolution.
- Apply channel attention to refine F, then apply spatial attention to refine the result (F'' = M_s(F' ) ⊗ F').
- Use a sequential (channel-first) arrangement of channel and spatial modules for best performance.
- Integrate CBAM as a lightweight, plug-in module at convolutional block outputs across various architectures (e.g., ResNet variants).
- Evaluate on ImageNet-1K classification and MS COCO / VOC 2007 detection with reproduced PyTorch implementations.
Experimental results
Research questions
- RQ1Does combining channel and spatial attention in a sequential CBAM improve feature refinement over single-branch attention?
- RQ2Is using both average- and max-pooled descriptors beneficial for channel attention compared to SE (average pooling only)?
- RQ3What is the impact of attention arrangement (sequential vs parallel) on performance?
- RQ4How does CBAM affect performance across diverse architectures and tasks (classification and detection)?
Key findings
- CBAM outperforms baselines and SE across multiple architectures on ImageNet-1K (e.g., ResNet50: Top-1 22.66% with CBAM vs 23.14% with SE).
- Channel attention using both average- and max-pooled descriptors yields better accuracy than using either alone.
- Spatial attention with channel-pooling descriptors and 7x7 convolution provides the best spatial refinement.
- Sequential channel-first arrangement consistently beats spatial-channel or parallel arrangements.
- CBAM also improves detection performance on MS COCO and VOC 2007 with negligible parameter overhead.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.