当前位置:   article > 正文

三分钟学会使用系列(YOLOv5)|ECA轻量注意力机制,涨点神器!_yolov5添加eca机制

yolov5添加eca机制

三分钟学会使用系列(YOLOv5)|ECA轻量注意力机制,涨点神器!


本文旨在让读者快速了解相关技术并运用,欢迎关注。
  1. 原文链接:《ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks》
  2. 代码链接:https://github.com/BangguWu/ECANet

1. ECA通道注意力导读

ECA一种有效的轻量化通道注意力模块,在只增加少量的参数的情况下,明显的提高性能。作者的认为避免降维对于学习通道注意力非常重要,适当的跨信道交互可以在显著降低模型复杂度的同时保持性能。因此,作者提出了ECA这种通过一维卷积实现的不降维局部跨信道交互策略

在这里插入图片描述


2. 代码

​ ECA代码。

class ECA(nn.Module):
    def __init__(self, kernel_size=3):
        super(ECA, self).__init__()
        self.avg_pool = nn.AdaptiveAvgPool2d(1)
        self.conv = nn.Conv1d(1, 1, kernel_size=kernel_size, padding=kernel_size // 2, bias=False)
        self.sigmoid = nn.Sigmoid()

    def forward(self, x):
        y = self.avg_pool(x)
        y = self.conv(y.squeeze(-1).transpose(-1, -2)).transpose(-1, -2).unsqueeze(-1)
        y = self.sigmoid(y)

        return x * y.expand_as(x)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

3. 使用教程

​ 以YOLOv5为例,加入ECA注意力机制

# YOLOv5 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/603941
推荐阅读
相关标签