一、本文介绍
本文记录的是基于EMA模块的YOLOv11目标检测改进方法研究。EMA
认为跨维度交互有助于通道或空间注意力预测,并且解决了现有注意力机制在提取深度视觉表示时可能带来的维度缩减问题。==在改进YOLOv11
的过程中能够为高级特征图产生更好的像素级注意力,能够建模长程依赖并嵌入精确的位置信息。==
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、EMA原理
Efficient Multi-Scale Attention Module with Cross-Spatial Learning
EMA(Efficient Multi - Scale Attention)
注意力模块的设计的原理和优势如下:
2.1 EMA原理
2.1.1 Coordinate Attention(CA)
CA
通过全局平均池化操作建模跨通道信息,将原始输入张量分解为两个并行的1D特征编码向量,嵌入空间位置信息到通道注意力图中,以增强特征聚合。但CA
忽略了整个空间位置间交互的重要性,且1x1卷积核的有限感受野不利于建模局部跨通道交互和利用上下文信息。
2.1.2 Multi - Scale Attention(EMA)模块
- 特征分组:对于输入特征图$X \in \mathbb{R}^{C \times H \times W}$,
EMA
将其在通道维度方向上划分为$G$个子特征$X = [X{0}, X{1}, \ldots, X{G - 1}]$,$X{i} \in \mathbb{R}^{C / G \times H \times W}$,假设学习到的注意力权重描述符将用于增强每个子特征中感兴趣区域的特征表示。 - 并行子网络:
EMA
采用三个并行路线来提取分组特征图的注意力权重描述符,其中两个在1x1分支,第三个在3x3分支。在1x1分支中,通过两个1D全局平均池化操作分别沿两个空间方向编码通道信息,并将G组重塑和置换到批处理维度,使两个编码特征共享无维度缩减的1x1卷积。在3x3分支中,通过一个3x3卷积捕获多尺度特征表示。这样,EMA
不仅编码了通道间信息来调整不同通道的重要性,还将精确的空间结构信息保留到通道中。 - 跨空间学习:引入两个张量,分别是1x1分支和3x3分支的输出。利用2D全局平均池化在1x1分支的输出中编码全局空间信息,并在通道特征的联合激活机制前将另一个分支的输出转换为对应维度形状。通过矩阵点积操作得到第一个空间注意力图,再类似地得到第二个空间注意力图。最后,每个组内的输出特征图通过两个生成的空间注意力权重值的聚合计算得到,捕获像素级成对关系并突出所有像素的全局上下文。
2.2 特点
- 建立多尺度并行子网络:采用并行子结构,避免了更多的顺序处理和大深度,有利于有效建立短程和长程依赖,以获得更好的性能。
- 避免维度缩减:仅选取
CA模块
中1x1卷积的共享组件,避免了在卷积操作中进行通道维度缩减,从而更有效地学习有效的通道描述。 - 融合跨空间信息:通过跨空间学习方法,融合了不同尺度的上下文信息,使CNN能够为高级特征图产生更好的像素级注意力,能够建模长程依赖并嵌入精确的位置信息。
- 高效且有效:与其他注意力方法(如CBAM、NAM、SA、ECA和CA)相比,
EMA
不仅在性能上取得了更好的结果,而且在所需参数方面更高效。在多个数据集(如CIFAR - 100、ImageNet - 1k、COCO和VisDrone2019)上的实验表明,EMA
在图像分类和对象检测任务中都具有优势,模型复杂度相对较小,且在不同的基准模型(如ResNet50/101和MobileNetV2)上集成时均能有效提升性能。
论文:https://doi.org/10.1016/j.neunet.2024.106314
源码:https://github.com/Lose-Code/UBRFC-Net
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: