一、本文介绍
本文记录的是基于GhostNet V2的YOLOv11目标检测轻量化改进方法研究。在目前的研究中,基于轻量级卷积神经网络在建模长距离依赖方面的不足,引入自注意力机制虽能捕获全局信息,但在实际速度方面存在较大阻碍。GhostNet V2
提出了一种硬件友好的注意力机制(DFC attention),并基于此构建GhostNet V2
。==本文利用其中的模块重新设计YOLOv11的骨干网络,使模型在降低模型大小的同时,赋予模型各阶段更大的感受野,提高模型性能。==
模型 | 参数量 | 计算量 | 推理速度 |
---|---|---|---|
YOLOv11m | 20.0M | 67.6GFLOPs | 3.5ms |
Improved | 19.0M | 47.2GFLOPs | 2.5ms |
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、GhostNet V2设计原理
GhostNet V2
是为移动应用设计的一种新的轻量级视觉骨干网络,其设计出发点、模型结构及优势如下:
2.1 设计出发点
- 基于轻量级卷积神经网络在建模长距离依赖方面的不足,引入自注意力机制虽能捕获全局信息,但在实际速度方面存在较大阻碍。
- 为解决这些问题,提出了一种硬件友好的注意力机制(DFC attention),并基于此构建GhostNet V2。
2.2 模型结构
- 增强Ghost模块:
Ghost模块
中只有一半的特征与其他像素交互,损害了其捕获空间信息的能力。因此,使用DFC attention
来增强Ghost模块
的输出特征Y,以捕获不同空间像素之间的长距离依赖。- 输入特征X被送入两个分支,一个是
Ghost模块
产生输出特征Y,另一个是DFC模块
生成注意力图A。 - 通过1×1卷积将模块的输入X转换为
DFC
的输入Z。 - 模块的最终输出O是两个分支输出的乘积,即O = Sigmoid(A) ⊙ V(X)。
- 输入特征X被送入两个分支,一个是
- 特征下采样:直接将DFC attention与Ghost模块并行会引入额外的计算成本,因此通过对特征进行水平和垂直下采样来减小特征的大小,使
DFC attention
中的所有操作都在较小的特征上进行,然后再将特征图上采样到原始大小以匹配Ghost
分支的特征大小。 - GhostV2 bottleneck:
GhostNet
采用包含两个Ghost模块
的倒置残差瓶颈结构,第一个模块产生具有更多通道的扩展特征,第二个模块减少通道数以获得输出特征。通过研究发现增强“表达能力”更有效,因此只将扩展特征与DFC attention
相乘。DFC attention
分支与第一个Ghost模块
并行以增强扩展特征,然后增强的特征被发送到第二个Ghost模块
以产生输出特征。
2.3 优势
- 性能提升:在ImageNet数据集上,
GhostNet V2
以更低的计算成本实现了比GhostNet V1
更高的性能,例如,GhostNet V2
以167M FLOPs实现了75.3%的top - 1准确率,显著优于GhostNet V1
的74.5%。 - 下游任务有效性:在对象检测和语义分割等下游任务中,捕获长距离依赖至关重要,
DFC attention
可以有效地赋予Ghost模块
更大的感受野,从而构建更强大和高效的模块。
论文:https://arxiv.org/abs/2211.12905
源码:https://github.com/huawei-noah/Efficient-AI-Backbones/tree/master/ghostnetv2_pytorch
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: