YOLOv9:通过可编程梯度信息学习想学习的内容.

YOLOv9是在YOLOv7的基础上进行的改进,指出现有方法存在如下的2个问题:

针对以上两个问题,YOLOv9主要有以下2点改进:

结合所提出的PGIGELANYOLOv9MS COCO数据集上的目标检测性能在各个方面都大大超越了现有的实时目标检测器。

1. 广义高效层聚合网络 Generalized Efficient Layer Aggregation Netwwork

GELANELAN中的卷积组替换成带有RepConvCSPNet,相当于增加网络的宽度。RepConv通过结构参数化思想,让训练网络的多路结构在推理时转换为单路结构,以节省内存并提高前向处理速度。

2. 可编程梯度信息 Programmable Gradient Information

PGI主要包括三个组成部分,即主分支、辅助可逆分支、多级辅助信息。从输入开始,PGI搭建了跟主干网络类似的网络结构,使用辅助分支自己提取的特征来预测目标,从而计算辅助损失。在训练时相当于增加了一倍的权重,因此训练时间也会随着增加。

对于多级辅助信息,为了有效地保持目标信息的完整性,每一级的特征金字塔都应该接受到有关所有目标大小的信息。为此,在辅助监督特征金字塔层和主分支之间加入集成网络,整合来自不同预测分支的梯度信息,并将这一聚合的信息传递给主分支,以促进参数的更新。通过这种方法,主分支的特征金字塔不再仅仅被某一特定规模目标的信息所支配,而是能够综合考虑各种规模的目标信息,从而解决了深度监督可能引起的信息断裂问题。

对于辅助可逆分支,在多级辅助的深度监督分支中采用可逆卷积,以保持特征信息流动的完整性。可逆卷积通过引入可逆结构,使得梯度信息能够从辅助分支反向传播到主分支。盖房阿飞不会强制主分支保留完整原始信息,而是通过辅助监督机制生成有用的梯度进行更新。

3. 实验分析

下表列出了YOLOv9与其他从头开始训练的实时目标检测器的比较。现有方法中性能最好的方法是轻量级模型的 YOLO MS-S 、中型模型的 YOLO MS 、通用模型的 YOLOv7 AF 和大型模型的 YOLOv8-X。与现有方法相比,YOLOv9在各个方面都有了显著的改进。

作者展示了使用随机初始权重作为不同架构下的前馈得到的特征图的可视化结果。可以看到随着层数的增加,所有架构的原始信息逐渐减少。例如在PlainNet的第50层,很难看到物体的位置,到了第100层,所有可辨别的特征都会丢失。至于ResNet,尽管在第50层仍然可以看到物体的位置,但边界信息已经丢失。当深度达到第100层时,整个图像变得模糊。CSPNet和提出的GELAN表现都非常好,它们都能够维持到第200层时支持清晰识别物体的特征。在对比中, GELAN的结果更稳定,边界信息也更清晰。

下图展示了PGI技术在训练过程中如何提供更准确的梯度信息,这些信息对于更新模型参数至关重要,以确保模型能够有效地识别输入数据与目标之间的关系。通过比较使用PGI前后的YOLOv9的特征图可视化结果,可以明显观察到PGI技术使模型更加精确地定位到了含有物体的区域。相比之下,未集成PGI技术的GELAN在检测物体边界时显示出一定程度的发散现象,并且在非目标的背景区域误激活了一些响应。这一对比强有力地证明了PGI技术在提供有助于参数优化的梯度方面的有效性,进而使模型在前馈过程中能够保留更多关键特征,从而提高了检测的准确性和可靠性。