先上一把网上的测试效果对比:
YOLOv9架构图
速度论文
代码:GitHub - WongKinYiu/yolov9: Implementation of paper - YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information
论文:[2402.13616] YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information (arxiv.org)
我们提出了可编程梯度信息(PGI)的概念,以应对深度网络实现多重目标所需的各种变化。PGI可以为目标任务提供完整的输入信息来计算目标函数,从而获得可靠的梯度信息来更新网络权重。此外,还设计了一种基于梯度路径规划的新型轻量级网络架构——广义高效层聚合网络(GELAN)。GELAN的架构证实了PGI在轻量化模型上取得了优异的成绩。我们在基于MS COCO数据集的目标检测上验证了所提出的GELAN和PGI。结果表明,与基于深度卷积的现有方法相比,GELAN仅使用传统的卷积算子即可实现更好的参数利用。PGI可用于从轻量级到大型的各种型号。它可以用来获得完整的信息,使从头开始训练的模型比使用大数据集预训练的最先进的模型获得更好的结果,比较结果如图1所示。
信息瓶颈原理图
在深度网络中,输入数据丢失的现象前馈过程中的信息通常是称为信息瓶颈[59],其原理图如图2所示。
PGI(可编程梯度信息)组件
PGI主要包括三个组成部分,即:
- 主分支
- 辅助可逆分支
- 多级辅助信息
PGI及相关网络架构和方法。(a) 路径聚合网络 (PAN)) [37], (b) 可逆列(修订版)[3],(c)传统的深度监督,以及(d)我们提出的可编程梯度信息(PGI)。PGI主要由以下部分组成
由三个组件组成:(1)主分支:用于推理的架构,(2)辅助可逆分支:生成可靠的梯度以提供
主分支用于反向传输,(3)多级辅助信息:控制主分支学习可规划的多级语义信息。
GELAN模块
我们将可逆支路视为深度监督支路的扩展,然后设计辅助可逆支路,新网络架构——GELAN:
GELAN的架构:(a)CSPNet [64],(b) ELAN [65],(c)提议的GELAN。我们模仿CSPNet并扩展ELAN到可以支持任何计算块的 GELAN。
YOLOv9的网络配置
实验结果
我们在基于 MS COCO 数据集的目标检测上验证了所提出的 GELAN 和 PGI。 结果表明,与基于深度卷积开发的最先进方法相比,GELAN 仅使用传统的卷积算子即可实现更好的参数利用率。 PGI 可用于从轻型到大型的各种模型。 它可以用来获取完整的信息,从而使从头开始训练的模型能够比使用大型数据集预训练的最先进的模型获得更好的结果。
图5.最先进的实时目标检测器的比较。参与比较的方法都使用 ImageNet 作为预训练权重,包括 RT DETR [43]、RTMDet [44] 和 PP-YOLOE [74] 等。使用从头开始训练方法的 YOLOv9明显超过其他方法的性能。
可视化
图6.PlainNet、ResNet、CSPNet、GELAN在不同时随机初始权重输出的特征图(可视化结果)
深处。100 层后,ResNet 开始产生足以混淆对象信息的前馈输出。我们提议的
GELAN仍然可以保留相当完整的信息,直到第150层,并且仍然有足够的判别力,直到第200层。
图7.GELAN的PAN特征图(可视化结果)和 YOLOv9 (GELAN + PGI) 经过一个时期的偏置预热。GELAN 最初有一些分歧,但在添加 PGI 的可逆分支,它更有能力聚焦在目标物体上。