一、本文介绍
本文记录的是利用CGNet
中的CG block
模块优化YOLOv11
的目标检测网络模型。CG block
通过局部特征提取器、周围环境提取器、联合特征提取器和全局环境提取器来提取局部特征、周围环境和全局环境信息,充分利用不同层次的信息。本文将其应用到v11
中,并进行二次创新,使网络能够更好的处理多类别目标的分类能力。
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、CGblock 介绍
CGNet: A Light-Weight Context Guided Network for Semantic Segmentation
2.1 设计出发点
- 受到人类视觉系统依赖上下文信息理解场景的启发。例如人类视觉系统识别黄色区域时,如果只关注该区域本身很难识别,但结合其周围环境(红色区域)以及整个场景的全局环境(紫色区域)就更容易对黄色区域进行分类,
- 所以设计
CG block
来充分利用局部特征、周围环境和全局环境以提高准确性。
2.2 原理
1️⃣ 首先通过局部特征提取器$floc()$和周围环境提取器$f_{sur }()$分别学习局部特征和周围环境特征;
2️⃣ 然后由联合特征提取器$f_{j o i}()$获得*联合特征;
3️⃣ 最后利用全局环境提取器$folo()$提取*全局环境来改进联合特征。
2.3 结构
- 如
图(d)
所示,CG block
由以下部分组成:- 局部特征提取器$floc(*)$: 实例化为
3×3标准卷积层
,从8个相邻特征向量中学习局部特征,对应图(a)
中的黄色区域。 - 周围环境提取器$f_{sur }(*)$: 实例化为
3×3空洞/扩张卷积层
,因为空洞/扩张卷积有较大的感受野能有效学习周围环境,对应图(b)
中的红色区域。 - 联合特征提取器$f_{j o i}(*)$: 设计为一个
连接层
,后面跟着批量归一化(BN)
和参数化ReLU(PReLU)
操作符,从$floc()$和$f_{sur }()$的输出中获取联合特征。 - 全局环境提取器$folo(*)$: 实例化为一个
全局平均池化层
来聚合对应图(c)
中紫色区域的全局环境,后面跟着一个多层感知器进一步提取全局环境,最后通过一个尺度层用提取的全局环境对联合特征进行重新加权。
- 局部特征提取器$floc(*)$: 实例化为
- 此外,
CG block
还采用了两种残差连接:- 局部残差学习(LRL):连接输入和联合特征提取器$f_{j o i}(*)$。
- 全局残差学习(GRL):连接输入和全局特征提取器$folo()$,*GRL比LRL在促进网络信息流动方面能力更强。
2.4 优势
- 有效利用多种信息:充分利用了
局部特征
、周围环境
和全局环境
,能更好地对物体进行分类,提高分割准确性。 - 残差学习促进训练:采用
残差学习
有助于学习高度复杂的特征,并在训练过程中改善梯度反向传播。 - 合理的结构设计:各部分的实例化选择合理,如周围环境提取器采用空洞/扩张卷积层,全局环境提取器采用全局平均池化层和多层感知器的组合等。
论文:https://arxiv.org/pdf/1811.08201.pdf
源码:https://github.com/wutianyiRosun/CGNet
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: