ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks
Recently, channel attention mechanism has demonstrated to offer great
potential in improving the performance of deep convolutional neural networks
(CNNs). However, most existing methods dedicate to developing more
sophisticated attention modules for achieving better performance, which
inevitably increase model complexity. To overcome the paradox of performance
and complexity trade-off, this paper proposes an Efficient Channel Attention
(ECA) module, which only involves a handful of parameters while bringing clear
performance gain. By dissecting the channel attention module in SENet, we
empirically show avoiding dimensionality reduction is important for learning
channel attention, and appropriate cross-channel interaction can preserve
performance while significantly decreasing model complexity. Therefore, we
propose a local cross-channel interaction strategy without dimensionality
reduction, which can be efficiently implemented via $1D$ convolution.
Furthermore, we develop a method to adaptively select kernel size of $1D$
convolution, determining coverage of local cross-channel interaction. The
proposed ECA module is efficient yet effective, e.g., the parameters and
computations of our modules against backbone of ResNet50 are 80 vs. 24.37M and
4.7e-4 GFLOPs vs. 3.86 GFLOPs, respectively, and the performance boost is more
than 2% in terms of Top-1 accuracy. We extensively evaluate our ECA module on
image classification, object detection and instance segmentation with backbones
of ResNets and MobileNetV2. The experimental results show our module is more
efficient while performing favorably against its counterparts.