RT-DETR改进策略【注意力机制篇】| 引入Shuffle Attention注意力模块,增强特征图的语义表示

简介: RT-DETR改进策略【注意力机制篇】| 引入Shuffle Attention注意力模块,增强特征图的语义表示

一、本文介绍

本文记录的是基于Shuffle Attention注意力模块的RT-DETR目标检测改进方法研究Shuffle Attention模块通过独特的设计原理,在保持轻量级的同时实现了高效的特征注意力机制,增强了网络的表示能力。本文对RT-DETR进行二次创新,以增强模型性能。


专栏目录:RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:RT-DETR改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!

二、Shuffle Attention注意力原理

深度卷积神经网络的Shuffle Attention

Shuffle Attention(SA)模块是一种用于深度卷积神经网络的高效注意力模块,其设计原理和优势如下:

2.1、设计原理

  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}$)。一个分支用于通过利用通道间的相互关系来生成通道注意力图,另一个分支用于通过利用特征的空间间关系来生成空间注意力图,从而使模型能够关注“什么”和“哪里”是有意义的。
  2. 通道注意力(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$的参数。
  3. 空间注意力(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}$的参数。
  4. 聚合(Aggregation):之后,所有子特征被聚合。最后,类似于ShuffleNet v2,采用“通道洗牌”(channel shuffle)操作来实现跨组信息在通道维度上的流动。

在这里插入图片描述

2.2、优势

  1. 轻量级且高效SA模块通过将通道维度分组为子特征,并利用Shuffle Unit为每个子特征集成互补的通道和空间注意力模块,参数和计算量相对较少。例如,在ResNet50中,SA的参数为300,计算量为2.76e - 3 GFLOPs,而ResNet50的参数为25.56M,计算量为4.12 GFLOPs,但SA在Top - 1准确率上的提升超过了1.34%。
  2. 增强语义表示:通过特征分组和通道洗牌,SA能够显著增强特征图的语义表示。实验表明,在使用SA模块后,Top - 1准确率统计上有所提高,并且“通道洗牌”使得每个组的平均得分增加(约0.4%)。
  3. 验证有效性:通过对不同深度的平均激活分布的观察以及使用GradCAM进行可视化,验证了SA模块能够使分类模型更关注相关区域,从而有效提高分类准确率。
  4. 在各种任务中表现出色:在ImageNet - 1k分类、MS COCO对象检测和实例分割等任务的实验中,SA相比于当前的SOTA方法,在实现更高准确率的同时具有更低的模型复杂度,验证了其在各种计算机视觉任务中具有良好的泛化能力。

论文:https://arxiv.org/pdf/2102.00240
源码:https://github.com/wofmanaf/SA-Net

三、实现代码及RT-DETR修改步骤

模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址:

https://blog.csdn.net/qq_42591591/article/details/144114671

相关文章
|
存储 芯片 内存技术
计算机组成原理:存储系统【三】
计算机组成原理:存储系统【三】
|
Ubuntu Java Linux
|
机器学习/深度学习 数据可视化 算法
RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
1016 5
|
机器学习/深度学习 编解码 异构计算
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注
443 1
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注
|
机器学习/深度学习 计算机视觉 知识图谱
RT-DETR改进策略【注意力机制篇】| SENet V2 优化SE注意力机制,聚合通道和全局信息
RT-DETR改进策略【注意力机制篇】| SENet V2 优化SE注意力机制,聚合通道和全局信息
477 2
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【注意力机制篇】| ICCV2023 聚焦线性注意力模块 Focused Linear Attention 聚焦能力与特征多样性双重提升,含二次创新
RT-DETR改进策略【注意力机制篇】| ICCV2023 聚焦线性注意力模块 Focused Linear Attention 聚焦能力与特征多样性双重提升,含二次创新
379 1
|
Linux Windows
Nomachine 最简安装与使用指南
这是一篇2022年Nomachine软件的极简安装与使用指南,包括Windows和Linux系统下的安装步骤,以及如何在Windows系统上通过Nomachine远程控制Linux系统的方法。
Nomachine 最简安装与使用指南
|
机器学习/深度学习
【保姆级教程|YOLOv8添加注意力机制】【1】添加SEAttention注意力机制步骤详解、训练及推理使用
【保姆级教程|YOLOv8添加注意力机制】【1】添加SEAttention注意力机制步骤详解、训练及推理使用
|
JSON 数据挖掘 数据格式
Pandas处理JSON文件read_json()一文详解+代码展示
Pandas处理JSON文件read_json()一文详解+代码展示
2195 0
Pandas处理JSON文件read_json()一文详解+代码展示
|
机器学习/深度学习 PyTorch 算法框架/工具
即插即用 | SA模块携Shuffle Attention带你CV全任务涨点(文末获取论文与源码)(一)
即插即用 | SA模块携Shuffle Attention带你CV全任务涨点(文末获取论文与源码)(一)
1538 0

热门文章

最新文章