一、本文介绍
本文记录的是基于GAM注意力模块的YOLOv11目标检测改进方法研究。GAM注意力模块
==通过3D排列和重新设计的子模块,能够在通道和空间方面保留信息,避免了先前方法中由于信息减少和维度分离而导致的全局空间-通道交互丢失的问题==。本文利用GAM
改进YOLOv11
,以增强模型的跨维度交互能力。
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、GAM注意力原理
全局注意力机制: 保留信息以增强通道与空间的相互作用
GAM(Global Attention Mechanism)
是一种全局注意力机制,其设计目的是减少信息减少并放大全局维度交互特征,以增强深度神经网络的性能。
2.1、设计原理
- 整体结构:采用了来自CBAM的顺序通道 - 空间注意力机制,并重新设计了子模块。给定输入特征图$F{1} \in \mathbb{R}^{C ×H ×W}$,中间状态$F{2}$和输出$F_{3}$的定义为:
- $F{2}=M{c}\left(F{1}\right) \otimes F{1}$
- $F{3}=M{s}\left(F{2}\right) \otimes F{2}$
其中$M{c}$和$M{s}$分别是通道和空间注意力图,$\otimes$表示元素级乘法。
- 通道注意力子模块:使用3D排列来保留跨三个维度的信息,然后通过两层
MLP(多层感知机)
放大跨维度的通道 - 空间依赖性。(MLP是具有压缩比$r$的编码器 - 解码器结构,与BAM相同。) - 空间注意力子模块:为了关注空间信息,使用两个卷积层进行空间信息融合,并使用与通道注意力子模块相同的压缩比$r$(与BAM相同)。同时,由于最大池化会减少信息并产生负面影响,所以移除了池化以进一步保留特征图。为了防止参数显著增加,在ResNet50中采用了具有通道打乱的组卷积。
2.2、优势
- 保留信息:通过3D排列和重新设计的子模块,
GAM
能够在通道和空间方面保留信息,避免了先前方法中由于信息减少和维度分离而导致的全局空间 - 通道交互的丢失。 - 放大交互:能够放大“全局”跨维度交互,捕获所有三个维度(通道、空间宽度和空间高度)上的重要特征,从而增强了跨维度的交互能力。
- 性能提升:在CIFAR - 100和ImageNet - 1K数据集上的评估表明,
GAM
稳定地优于其他几种近期的注意力机制,无论是在ResNet还是轻量级MobileNet上,都能提高性能。例如,在ImageNet - 1K数据集上,对于ResNet18,GAM以更少的参数和更高的效率优于ABN。
论文:https://arxiv.org/pdf/2112.05561v1
源码:https://github.com/dengbuqi/GAM_Pytorch/blob/main/CAM.py
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: