一、介绍
ECANet(CVPR 2020)作为一种轻量级的注意力机制,其实也是通道注意力机制的一种实现形式。其论文和开源代码为:
论文地址:https://arxiv.org/abs/1910.03151
代码:https://github.com/BangguWu/ECANet
ECA模块,去除了原来SE模块中的全连接层,直接在全局平均池化之后的特征上通过一个1D卷积进行学习。
具体的讲:通过共享相同的学习参数,通过内核大小为k的1维卷积来实现通道之间的信息交互:(一维卷积和1 × 1 卷积是不同的,一维指的是1 × k 的卷积)
ECA-Net可以插入到其他CNN网络中来增强其性能,比如:插入到ResNet、MobileNetV2中。本文主要将ECA模块加入到Mobilenetv2的残差堆叠块中。
文中同样附上SENet的嵌入代码(已注释),如有需要,可进行比较;因项目需要转换caffe模型(具体torch如何转,请看之前的博文),经测试SENet虽然转换成功,但测试时所需的caffe库不支持,所以换成ECA-Net,经转换测试,可正常出结果,且效果提升大约五个点左右。
ReLU6替换为Leakyrelu,同样是因为不支持的原因(板子太老)
二、代码
eca_module.py文章来源地址https://www.toymoban.com/news/detail-571377.html
import torch
文章来源:https://www.toymoban.com/news/detail-571377.html
到了这里,关于注意力机制——ECANet及Mobilenetv2模型应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!