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

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


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

1. ECA通道注意力导读

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

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


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)

3. 使用教程

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

​ 过几天出B站教程。


4. 文章详解

​ 有空了再写…


5. 参考

  1. 原文链接:[《ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks》]([1910.03151] ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks (arxiv.org))
  2. 代码链接:https://github.com/BangguWu/ECANet

你可能感兴趣的:(深度学习,YOLO,深度学习,pytorch,人工智能)