一、本文介绍
本文记录的是基于Shuffle Attention注意力模块的RT-DETR目标检测改进方法研究。Shuffle Attention模块
通过独特的设计原理,在保持轻量级的同时实现了高效的特征注意力机制,增强了网络的表示能力。本文对RT-DETR
进行二次创新,以增强模型性能。
专栏目录:RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:RT-DETR改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、Shuffle Attention注意力原理
深度卷积神经网络的Shuffle Attention
Shuffle Attention(SA)模块
是一种用于深度卷积神经网络的高效注意力模块,其设计原理和优势如下:
2.1、设计原理
- 特征分组(Feature Grouping):对于给定的特征图$X \in R^{C \times H \times W}$(其中$C$、$H$、$W$分别表示通道数、空间高度和宽度),
SA
首先沿着通道维度将$X$分为$G$组,即$X = [X_1, \cdots, X_G]$,$X_k \in R^{\frac{C}{G} \times H \times W}$。在每个注意力单元开始时,$Xk$的输入沿着通道维度被拆分为两个分支$X{k1}$和$X{k2}$($X{k1}, X_{k2} \in R^{\frac{C}{2G} \times H \times W}$)。一个分支用于通过利用通道间的相互关系来生成通道注意力图,另一个分支用于通过利用特征的空间间关系来生成空间注意力图,从而使模型能够关注“什么”和“哪里”是有意义的。 - 通道注意力(Channel Attention):为了充分捕获通道间的依赖关系,
SA
使用全局平均池化(GAP)
来生成通道级别的统计信息$s \in R^{\frac{C}{2G} \times 1 \times 1}$,即$s = \mathcal{F}{gp}(X{k1}) = \frac{1}{H \times W} \sum{i = 1}^{H} \sum{j = 1}^{W} X{k1}(i, j)$。然后,通过一个简单的带有sigmoid激活的门控机制创建一个紧凑的特征,以实现精确和自适应的选择指导。通道注意力的最终输出通过$X{k1}' = \sigma(\mathcal{F}{c}(s)) \cdot X{k1} = \sigma(W_1 s + b1) \cdot X{k1}$获得,其中$W_1 \in R^{\frac{C}{2G} \times 1 \times 1}$和$b_1 \in R^{\frac{C}{2G} \times 1 \times 1}$是用于缩放和移动$s$的参数。 - 空间注意力(Spatial Attention):与通道注意力不同,空间注意力关注“哪里”是信息丰富的部分,这与通道注意力是互补的。首先,使用
组归一化(GN)
对$X{k2}$进行处理以获得空间级别的统计信息,然后采用$Fc(\cdot)$来增强$\hat{X}{k2}$的表示。空间注意力的最终输出通过$X_{k2}' = \sigma(W2 \cdot GN(X{k2}) + b2) \cdot X{k2}$获得,其中$W_2$和$b_2$是形状为$R^{\frac{C}{2G} \times 1 \times 1}$的参数。 - 聚合(Aggregation):之后,所有子特征被聚合。最后,类似于
ShuffleNet v2
,采用“通道洗牌”(channel shuffle)操作来实现跨组信息在通道维度上的流动。
2.2、优势
- 轻量级且高效:
SA模块
通过将通道维度分组为子特征,并利用Shuffle Unit
为每个子特征集成互补的通道和空间注意力模块,参数和计算量相对较少。例如,在ResNet50中,SA的参数为300,计算量为2.76e - 3 GFLOPs,而ResNet50的参数为25.56M,计算量为4.12 GFLOPs,但SA在Top - 1准确率上的提升超过了1.34%。 - 增强语义表示:通过特征分组和通道洗牌,
SA
能够显著增强特征图的语义表示。实验表明,在使用SA模块后,Top - 1准确率统计上有所提高,并且“通道洗牌”使得每个组的平均得分增加(约0.4%)。 - 验证有效性:通过对不同深度的平均激活分布的观察以及使用GradCAM进行可视化,验证了
SA模块
能够使分类模型更关注相关区域,从而有效提高分类准确率。 - 在各种任务中表现出色:在ImageNet - 1k分类、MS COCO对象检测和实例分割等任务的实验中,
SA
相比于当前的SOTA方法,在实现更高准确率的同时具有更低的模型复杂度,验证了其在各种计算机视觉任务中具有良好的泛化能力。
论文:https://arxiv.org/pdf/2102.00240
源码:https://github.com/wofmanaf/SA-Net
三、实现代码及RT-DETR修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: