YOLOv9震撼来袭!使用可编程梯度信息学习你想学习的内容!

0. 这篇文章干了啥?

YOLOv9来了!性能全面超越现有的实时目标检测器,包括YOLO系列的代表YOLOv8和DETR的代表RT-DETR!

在深度网络中,输入数据在前向传播过程中丢失信息的现象通常被称为信息瓶颈。目前,可以缓解这一现象的主要方法为:(1)可逆架构的使用:使用重复输入数据并以显式方式保持输入数据的信息;(2)掩码建模的使用:利用重构损失并采用隐式方式来最大化提取的特征并保留输入信息;以及(3)深监督概念的引入:使用未丢失太多重要信息的浅层特征预先建立从特征到目标的映射,以确保重要信息能够传递到更深的层次。

然而,上述方法在训练过程和推理过程中存在不同的缺点。例如,可逆架构需要额外的层来组合重复馈送的输入数据,这将显著增加推理成本。此外,由于输入数据层到输出层不能有太深的路径,这种限制将使得在训练过程中对高阶语义信息的建模变得困难。至于掩码建模,其重构损失有时会与目标损失冲突。此外,大多数掩码机制还会与数据产生不正确的关联。对于深监督机制,它将产生误差积累,如果浅监督在训练过程中丢失信息,那么后续层将无法检索到所需的信息。上述现象在困难任务和小模型上将更为显著。

为了解决上述问题,作者提出了一个新概念,即可编程梯度信息(PGI)。该概念是通过辅助可逆分支生成可靠的梯度,使得深层特征仍然保持执行目标任务的关键特性。辅助可逆分支的设计可以避免传统深度监督过程可能导致的语义损失,该过程集成了多路径特征。换句话说,在不同语义层面上编程梯度信息传播,从而实现最佳的训练结果。PGI的可逆架构是建立在辅助分支上的,因此没有额外的成本。由于PGI可以自由选择适合目标任务的损失函数,它也克服了掩码建模遇到的问题。所提出的PGI机制可以应用于各种规模的深度神经网络,比仅适用于非常深的神经网络的深监督机制更通用。

作者还设计了基于ELAN的广义ELAN(GELAN),GELAN的设计同时考虑了参数数量、计算复杂性、准确性和推理速度。这种设计允许用户为不同的推断设备任意选择适当的计算块。作者将提出的PGI和GELAN结合起来,然后设计了一种新一代的YOLO系列目标检测系统,即YOLOv9。

下面一起来阅读一下这项工作~

1. 论文信息

标题:YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information

作者:Chien-Yao Wang, I-Hau Yeh, Hong-Yuan Mark Liao

机构:中央研究院信息科学研究所、国立台北科技大学、中原大学信息与计算机工程系

原文链接:https://arxiv.org/abs/2402.13616

代码链接:https://github.com/WongKinYiu/yolov9

2. 摘要

当今的深度学习方法专注于如何设计最合适的目标函数,以使模型的预测结果最接近实际情况。与此同时,必须设计一个合适的架构,以便为预测获取足够的信息。现有方法忽视了一个事实,即当输入数据经过逐层特征提取和空间转换时,会丢失大量信息。本文将深入探讨数据通过深度网络传输时的重要问题,即信息瓶颈和可逆函数。我们提出了可编程梯度信息(PGI)的概念,以应对深度网络为实现多个目标而需要的各种变化。PGI可以为目标任务提供完整的输入信息,以计算目标函数,从而获得可靠的梯度信息来更新网络权重。此外,我们设计了一种新的轻量级网络架构——通用高效层聚合网络(GELAN),基于梯度路径规划。GELAN的架构证实了PGI在轻量级模型上取得了优异的结果。我们在MS COCO数据集上验证了提出的GELAN和PGI,基于目标检测。结果表明,GELAN仅使用传统的卷积操作符就实现了比基于深度卷积发展的最新方法更好的参数利用率。PGI可用于各种模型,从轻量级到大型。它可用于获取完整信息,使得从头开始训练的模型可以比使用大型数据集预训练的最先进模型取得更好的结果,比较结果如图1所示。

3. 效果展示

在MS COCO数据集上进行实时目标检测的比较。基于GELAN和PGI的目标检测方法在目标检测性能方面超过了所有先前的从scratch中训练的方法。在准确率方面,新方法优于使用大数据集预训练的RT DETR,在参数利用率方面,也优于基于深度卷积的设计YOLO MS。

不同网络架构随机初始权重输出特征图的可视化结果:( a )输入图像,( b )PlainNet,( c ) ResNet,( d ) CSPNet和( e )提出了GELAN。从图中可以看出,在不同的架构中,提供给目标函数计算损失的信息都有不同程度的丢失,而YOLOv9可以保留最完整的信息,为计算目标函数提供最可靠的梯度信息。

为了解决上述问题,我们提出了一个新的概念,即可编程梯度信息(PGI)。其概念是通过辅助可逆分支生成可靠的梯度,使深层特征仍能保持执行目标任务的关键特征。辅助可逆分支的设计可以避免传统的集成多路径特征的深度监督过程可能导致的语义损失。换句话说,我们正在对不同语义级别的梯度信息传播进行编程,从而获得最佳的训练结果。PGI的可逆架构建立在辅助分支上,因此不需要额外的成本。由于PGI可以自由选择适合目标任务的损失函数,它也克服了掩模建模所遇到的问题。所提出的PGI机制可以应用于各种规模的深度神经网络,并且比仅适用于非常深度神经网络的深度监督机制更通用。

在本文中,我们还在ELAN的基础上设计了generalized ELAN(GELAN),GELAN的设计同时考虑了参数的数量、计算复杂度、准确性和推理速度。这种设计允许用户为不同的推理设备任意选择合适的计算块。我们将所提出的PGI和GELAN相结合,然后设计了新一代YOLO系列目标检测系统,我们称之为YOLOv9。我们使用MS COCO数据集进行了实验,实验结果验证了我们提出的YOLOv9在所有比较中都取得了最佳性能。

将本文的贡献总结如下:

-从可逆函数的角度对现有的深度神经网络架构进行了理论分析,并通过这个过程成功地解释了许多过去难以解释的现象。在此基础上,我们还设计了PGI和辅助可逆分支,并取得了良好的效果。

-设计的PGI解决了深度监控只能用于极深度神经网络架构的问题,从而使新的轻量级架构能够真正应用于日常生活。

-设计的GELAN仅使用传统卷积,比基于最先进技术的深度卷积设计实现了更高的参数使用率,同时显示出轻、快、准确的巨大优势。

-将所提出的PGI和GELAN相结合,YOLOv9在MS COCO数据集上的目标检测性能在各个方面都大大超过了现有的实时目标检测器。

GELAN的体系结构:( a ) CSPNet,( b ) ELAN,和( c )提出GELAN。作者模仿CSPNet,将ELAN扩展为可以支持任意计算块的GELAN。

6 实验结果

YOLOv9与其他从头开始训练的实时目标检测器的比较。 在现有方法中表现最佳的方法分别是轻量级模型的YOLO MS-S,中等模型的YOLO MS,通用模型的YOLOv7 AF,以及大型模型的YOLOv8-X。与轻量级和中等模型YOLO MS相比,YOLOv9的参数约少10%,计算量少5∼15%,但在AP上仍有0.4∼0.6%的改善。与YOLOv7 AF相比,YOLOv9-C的参数少42%,计算量少21%,但达到相同的AP(53%)。与YOLOv8-X相比,YOLOv9-X的参数少15%,计算量少25%,在AP上有明显的1.7%改善。以上比较结果表明, YOLOv9在各个方面都与现有方法相比有了显著的改进。

目前最先进的实时目标检测器的比较。 参与比较的方法均采用Image Net作为预训练权重,包括RT DETR、RTMDet、PP – YOLOE等。使用划痕恢复训练( train-from-scratch )方法的YOLOv9明显优于其他方法的性能。

7. 总结

作者提出使用PGI来解决信息瓶颈问题和深度监督机制不适用于轻量级神经网络的问题。设计了GELAN,一个高效且轻量级的神经网络。在目标检测方面,GELAN在不同的计算模块和深度设置下表现出强大而稳定的性能。它确实可以被广泛扩展为适用于各种推理设备的模型。对于上述两个问题,引入PGI使得轻量级模型和深度模型在准确性方面都取得了显著的改进。通过将PGI和GELAN相结合设计的YOLOv9表现出了强大的竞争力。其出色的设计使得深度模型在与YOLOv8相比减少了49%的参数数量和43%的计算量,但在MS COCO数据集上仍然有0.6%的AP提升。

声明:本站所有项目资源都可以正常运行,亲测无错!而且我们录制了演示视频,在我们注明的环境版本下,项目运行效果完全和演示视频一致。客服QQ:下载须知