小工具知识网

当前位置: 首页 > 行业知识 > YOLOV9论文解读

行业知识

YOLOV9论文解读

2026-11-06 01:28:52 来源:互联网转载

代���:https://github.com/WongKinYiu/yolov9
论文:https://arxiv.org/abs/2402.1361
本文提出可编程梯度信息(PGI)和基于梯度路径规划的通用高效层聚合网络(GELAN),最终铸成YOLOv9目标检测全新工作!性能表现SOTA!在各个方面都大大超过了现有的实时目标检测器,优于RT DETR、YOLOv8等网络,代码刚刚开源

一、性能对比概况

三、改进点

  1. 分别基于YOLOV7和Dynamic YOLOV7来构建通用版本和扩展版本;
  2. 网络结构:
    1. 训练时,使用PGI网络结构
    2. 在CSPNet块中,GELAN替换了ELAN;
    3. 简化了下采样模块;
    4. 优化了anchor free 预测头;
  3. PGI的 auxiliary loss 按照YOLOv7的auxiliary loss;

四、为什么提出PGI?

目前主流的实时物体探测器是YOLO系列,这些模型大多数使用CSPNet或ELAN及其变体作为主要的计算单元。
在特征集成方面,通常使用改进的PAN或FPN作为模块,然后使用改进的YOLOv3 head 或FCOS head 作为预测头。最近也提出了一些实时目标探测器,如RT DETR,它将其应用于DETR上。
然而,由于DETR系列中没有相应领域预训练模型的对象检测器很难应用于新的领域,目前应用最广泛的实时对象检测器仍然是YOLO系列。
本文选择YOLOv7作为基础,该方法在各种计算机视觉任务和各种场景中都被证明是有效的。我们使用GELAN来改进所提出的PGI的架构和训练过程。上述新方法使所提出的YOLOv9成为新一代的顶级实时对象检测器。

4.1 可逆架构 Reversible Architectures

可逆架构的计算单元必须保持可逆转换的特性,这样才能保证每层计算单元的输出特征图能够保留完整的原始信息。
之前,RevCol 将传统的可逆单元推广到多个层次,这样做可以扩展由不同层单元表示的语义层次。
通过对各种神经网络结构的文献综述,我们发现有许多具有不同程度可逆性的高性能结构。
例如:

  • Res2Net模块以分层的方式将不同的输入分区与下一个分区结合起来,并将所有转换后的分区连接起来。
  • CBNet通过复合主干重新引入原始输入数据,获得完整的原始信息,并通过各种组合方法获得不同层次的多级可逆信息。这些网络架构通常具有良好的参数利用率,但是额外的复合层会导致推理速度较慢。
  • DynamicDet 结合了CBNet和高效实时目标探测器YOLOv7,在速度、参数数量和精度之间实现了很好的权衡。

    本文介绍了动态数据网络体系结构作为设计可逆分支的基础。此外,在所提出的PGI中还进一步引入了可逆信息。所提出的新架构在推理过程中不需要额外的连接,因此它可以完全保留速度、参数量和精度等方面的优点。

    4.2 辅助监督 Auxiliary Supervision

    深度监督是最常见的辅助监督方法,它通过在中间层插入额外的预测层来进行训练。
    特别是在基于变压器的方法中引入的多层解码器的应用是最常见的一种。另一种常见的辅助监督方法是利用相关的元信息来引导中间层产生的特征图,使其具有目标任务所需的属性。
    这种类型的例子包括使用分割损失或深度损失来提高目标检测器的准确性。近年来,文献[53,67,82]中有很多报道使用不同的标签分配方法来生成不同的辅助监督机制,以加快模型的收敛速度,同时提高鲁棒性。但是,辅助监督机制通常只适用于大型模型,所以当应用于轻量级模型时,很容易出现欠参数化现象,导致性能下降。
    我们提出的PGI设计了一种重编程多层次语义信息的方法,该设计还允许轻量级模型也从辅助监督机制中获益。

    五、可编程梯度信息网络结构 PGI

    5.1 PGI进化概述

    Programmable Gradient Information,PGI进化对比:

    路径聚合网络(Path Aggregation Network,PAN)结构
    可逆列卷积网络,Reversible Columns (RevCol)
    conventional deep supervision,深度监督网络
    PGI主要由三个部分组成:

    • (1)主要分支:用于推理的架构。
    • (2)辅助可逆分支:生成可靠的梯度为向后传输提供主分支,
    • (3)多级辅助信息分支:控制主分支学习可规划的多级语义信息。

      推理过程只使用了主分支,因此不需要任何额外的推理成本。另外两个分支用于解决或减缓深度学习方法中的几个重要问题。
      辅助可逆分支:为了处理神经网络深化带来的问题。
      多级辅助信息:为了处理由深度监督引起的错误积累问题,特别是针对多个预测分支的体系结构和轻量级模型。

      5.2 辅助可逆分支 Auxiliary Reversible Branch

      网络深化会导致信息瓶颈,使损失函数无法产生可靠的梯度。辅助可逆分支来生成可靠的梯度和更新网络参数。通过提供从数据映射到目标的信息,损失函数可以提供指导,并避免从与目标不太相关的不完全前馈特征中发现错误相关性的可能性。
      通过引入可逆体系结构来维护完整的信息,但在可逆体系结构中添加主分支将消耗大量的推理成本。我们分析了图3 (b)的架构,发现当添加从深层到浅层的额外连接时,推理时间将增加20%。当我们将输入数据重复添加到网络的高分辨率计算层(黄框)时,推断时间甚至超过了网络计算时间的两倍。
      由于我们的目标是使用可逆架构来获得可靠的梯度,因此“可逆”并不是推理阶段的唯一必要条件。鉴于此,我们将可逆分支视为深度监督分支的扩展,然后设计辅助可逆分支,如图3 (d).所示
      对于由于信息瓶颈而丢失重要信息的主要分支深度特征,它们将能够从辅助可逆分支接收到可靠的梯度信息。这些梯度信息将驱动参数学习,以帮助提取正确和重要的信息,而上述动作可以使主分支获得对目标任务更有效的特征。
      此外,可逆结构在浅层网络上的表现比一般网络更差,因为复杂的任务需要在更深的网络中转换。我们提出的方法并不迫使主分支保留完整的原始信息,而是通过辅助监督机制生成有用的梯度来更新这些信息。该设计的优点是,该方法也可以应用于较浅的网络。
      最后,由于在推理阶段可以去除辅助可逆分支,因此可以保留原始网络的推理能力。我们也可以在PGI中选择任何可逆的架构来扮演辅助可逆分支的作用。

      5.3 多级辅助信息 Multi-level Auxiliary Information

      我们可以看到,当ELAN的深度从1增加到2时,精度显著提高。但当深度大于或等于2时,无论是提高ELAN深度还是CSP深度,参数的数量、计算量和精度始终呈线性关系。这意味着GELAN对深度不敏感。
      换句话说,用户可以任意组合GELAN中的组件来设计网络体系结构,得到一个没有特殊设计的性能稳定的模型。在表3中,对于YOLOv9-{S,M,C},我们将ELAN深度和CSP深度的配对设置为{{2,3}、{2、1}、{2、1}}。

      7.2 Programmable Gradient Information

      在PGI方面,我们分别对主干和颈部的辅助可逆分支和多级辅助信息进行了消融研究。
      我们设计了辅助可逆分支ICN,利用DHLC链接获取多级可逆信息。在多级辅助信息方面,我们使用FPN和PAN进行消融研究,PFH的作用等同于传统的深度监督。所有实验结果见表。

      从表4中可以看出,PFH仅在深度模型中有效,而我们提出的PGI在不同组合下可以提高精度。特别是在使用ICN时,我们得到了稳定和更好的结果。我们还尝试将YOLOv7 中提出的铅头引导分配应用于PGI的辅助监督中,取得了更好的性能。

      我们进一步实现了PGI的概念和对不同规模的模型的深度监督,并对结果进行了比较,这些结果如表5所示。

      正如一开始所分析的那样,引入深度监督会导致浅层模型的精度损失。对于一般的模型,引入深度监督会导致性能不稳定,而深度监督的设计理念只能给极深的模型带来收益。
      所提出的PGI能够有效地处理信息瓶颈和信息破碎等问题,并能够全面提高不同规模模型的准确性。
      PGI的概念带来了两个有价值的贡献。第一个是使辅助监督方法适用于浅层模型,第二种是使深度模型训练过程获得更可靠的梯度。这些梯度使深度模型能够使用更准确的信息来建立数据和目标之间的正确相关性。

      最后,我们在表中展示了从基线YOLOv7到YOLOv9- E逐渐增加的组件的结果。我们提出的GELAN和PGI给模型带来了全面的改进。

      7.3 特征图信息传递可视化研究

      本节将探讨信息传递瓶颈问题,并将其可视化。

      在图6中,展示了在不同架构下使用随机初始权值作为feedforward,所获得的特征图的可视化结果。
      我们可以看到,随着层数的增加,所有架构的原始信息都会逐渐减少。
      例如:

      • PlainNet第50层,很难看到物体的位置,所有可区分的特征都将在第100层丢失。
      • ResNet,在第50层仍然可以看到物体的位置,但边界信息已经丢失。当深度达到第100层时,整个图像就变得模糊了。
      • CSPNet和GELAN都表现得很好,都可以保持清晰识别对象的特性;直到第200层,GELAN的结果更稳定,边界信息更清晰。

        图7用于显示PGI是否可以在训练过程中提供更可靠的梯度,从而使用于更新的参数能够有效地捕获输入数据与目标之间的关系。

        图7显示了GELAN和YOLOv9(GELAN + PGI)的PAN特征图偏置预热中1个迭代后的可视化结果。
        从图7(b)和©的比较中,我们可以清楚地看到,PGI准确而简洁地捕获了包含目标的区域。

上一篇:uniapp打包上架ios Appstore 最全流程windows电脑用户必看

下一篇:实用指南,老虎淘宝客配置全攻略!