一、本文介绍
本文主要利用GOLD - YOLO中的颈部结构优化YOLOv11的网络模型。GOLD - YOLO
颈部结构中的GD机制借鉴了全局信息融合的理念,通过独特的模块设计,在不显著增加延迟的情况下,高效融合不同层级的特征信息。将其应用于YOLOv11
的改进过程中,能够使模型更有效地整合多尺度特征,减少信息损失,强化对不同大小目标物体的特征表达,从而提升模型在复杂场景下对目标物体的检测精度与定位准确性。
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、GOLD-YOLO介绍
Gold-YOLO: Efficient Object Detector via Gather-and-Distribute Mechanism
GOLD - YOLO
颈部结构的设计旨在解决传统信息融合方法的缺陷,提升模型性能。以下从出发点、结构原理、模块组成和优势四方面详细介绍:
2.1 出发点
传统YOLO系列颈部结构采用PAFPN,该结构在融合跨层信息时存在缺陷,信息传递存在损失。
例如,当level - 1获取level - 3信息时,需先将level - 2和level - 3信息融合,导致信息交互只能传递中间层选择的信息,未被选择的信息在传输中被丢弃,限制了信息融合的整体效果。为避免这种信息损失,构建了Gather - and - Distribute(GD)机制。
2.2 结构原理
GD机制
通过统一模块收集和融合所有层级的信息,并将其分配到不同层级。该过程对应三个模块:Feature Alignment Module(FAM)、Information Fusion Module(IFM)和Information Injection Module(Inject)。
具体来说,FAM
收集并对齐各层级特征,IFM
融合对齐后的特征生成全局信息,Inject模块
将全局信息分配到各层级并通过简单注意力操作注入,从而增强分支的检测能力。为提升对不同大小物体的检测能力,还开发了低阶段
(Low-GD)和高阶段
(High-GD)两个分支,分别提取和融合大尺寸和小尺寸特征图,颈部输入为骨干网络提取的特征图 $B2$,$B3$,$B4$,$B5$ 。
2.3 模块组成
- 低阶段收集 - 分发分支(Low-GD):选择骨干网络输出的 $B2$,$B3$,$B4$,$B5$ 特征进行融合以获取保留小目标信息的高分辨率特征。
- 包含低阶段特征对齐模块(Low-FAM),使用
平均池化操作
将输入特征下采样到统一大小(以 $R_{B4}=\frac{1}{4}R$ 为目标对齐大小); - 低阶段信息融合模块(Low-IFM),由
多层重参数化卷积块
(RepBlock)和一个分割
操作组成; - 信息注入模块,借鉴分割经验,采用
注意力操作
将全局信息高效注入不同层级 ,如图所示。
- 包含低阶段特征对齐模块(Low-FAM),使用
- 高阶段收集 - 分发分支(High-GD):融合
Low-GD
生成的 ${P3, P4, P5}$ 特征。- 包括高阶段特征对齐模块(High-FAM),利用
平均池化
将输入特征维度降低到统一大小(以 $R_{P5}=\frac{1}{8}R$ 为目标); - 高阶段信息融合模块(High-IFM),由
Transformer块
和分割操作组成; - 信息注入模块与
Low-GD
中的相同,如图所示。
- 包括高阶段特征对齐模块(High-FAM),利用
- 增强跨层信息流模块(Inject - LAF):受
PAFPN
模块启发,对信息注入模块
进行增强,包含轻量级相邻层融合(LAF)模块。- 设计了
LAF低层级模型
和LAF高层级模型
,分别用于低层级注入(融合相邻两层特征)和高层级注入(融合相邻一层特征)。 - 该模块通过
双线性插值
、平均池化
和1x1卷积操作
,在不显著增加延迟的情况下,增加不同层级之间的信息流路径,平衡了模型的精度和速度 ,如图所示。
- 设计了
2.4 优势
通过GD机制
和Inject-LAF模块
,GOLD-YOLO
颈部结构有效提升了信息融合能力,避免了传统FPN结构的信息损失问题。实验表明,该颈部结构在不同模型尺寸下,都能在不显著增加延迟的情况下,提高模型在不同大小物体上的检测性能。
论文:https://arxiv.org/abs/2309.11331v4
源码:https://github.com/huawei-noah/Efficient-Computing/tree/master/Detection/Gold-YOLO
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: