1.简介
- YOLO v9主要解决了深度网络中信息丢失的问题,它的改进主要体现在 GELAN模块 和 PGI(可编程梯度信息)
- 实验结果:

2.网络结构
(1)整体结构
- 训练模型结构(比推理结构多一个辅助模块,就是左边圈起来的部分,帮助梯度传播):

- 推理模型结构:

- 可以看到,YOLO v9和 YOLO v8相比,把C2f模块改为了GELAN(RepNCSPELAN4) ,在训练时会使用辅助结构PGI,推理时去掉辅助结构来提高推理速度。
- 头部输出也和YOLOv8一样。
(2)GELAN模块
-
GELAN模块是把 ELAN 的"层聚合/梯度路径规划"泛化为可插拔框架 ,模块内可换 CSP/Res/Dark 等计算单元。在轻量/速度/精度三者间取得更优权衡(实际结果是又快精度又高),缓解深层信息流衰减带来的训练困难。
-

-
如上图,GELAN模块是在CSPNet和ELAN模块上的融合:
-
GELAN把原本只堆叠卷积层的ELAN,泛化成一个可以"装任意计算块"的框架,这个计算块可以是任意计算单元,比如换成普通卷积,他就变成了ELAN;也可以换成残差模块......
-
下图是信息保真度的对比实验结果:

3.重参数化
- 上面说了,YOLO v9和 YOLO v8相比,把C2f模块改为了RepNCSPELAN4,而RepN指的就是重参数化。和YOLOv7中的重参数化差不多。
- 重参数化分为模型训练和推理两个过程:

- 可以看到,训练时采用残差结构,而推理检测时换为了效果相同的3×3卷积(重参数化),这样精度不变,但速度提升了。
4.PGI(可编程梯度信息)

- PGI是在推理结构上加上了 辅助可逆分支(d图右圈) 和 多级信息辅助(d图左圈)