YOLOv9:使用可编程梯度信息学习您想学习的内容

摘要

arxiv.org/pdf/2402.13616.pdf

当今的深度学习方法侧重于如何设计最合适的目标函数,以便模型的预测结果能最接近于实际结果。同时,还必须设计一个适当的架构,以便于获取足够的预测信息。现有的方法忽略了一个事实,即当输入数据经历层层特征提取和空间变换时,会损失大量信息。本文将深入研究数据通过深度网络传输时的重要问题,即信息瓶颈和可逆函数。我们提出了可编程梯度信息(PGI)的概念,以应对深度网络为实现多个目标所需的各种变化。PGI可以为目标任务提供完整的输入信息,以计算目标函数,从而获得可靠的梯度信息以更新网络权重。此外,还设计了一种基于梯度路径规划的新型轻量级网络架构——广义高效层聚合网络(GELAN)。GELAN的架构证实了PGI在轻量级模型上获得了卓越的结果。我们在基于MS COCO数据集的目标检测上验证了提出的GELAN和PGI。结果表明,GELAN仅使用常规卷积运算符,就比基于深度卷积的最先进方法实现了更好的参数利用率。PGI可用于从轻量级到大型的各种模型。它可以用来获取完整的信息,因此,从头开始训练的模型可以比使用大型数据集预训练的最新模型获得更好的结果,如图1所示。源代码位于:https://github.com/WongKinYiu/yolov9。
在这里插入图片描述

1、简介

基于深度学习的模型在计算机视觉、语言处理和语音识别等各个领域都表现出了比过去的人工智能系统更好的性能。近年来,深度学习领域的研究人员主要关注如何开发更强大的系统架构和学习方法,如卷积神经网络(CNNs)[21-23, 42, 55, 71, 72]、Transformers[8, 9, 40, 41, 60, 69, 70]、Perceivers[26, 26, 32, 52, 56, 81, 81]和Mambas[17, 38, 80]。此外,一些研究人员还试图开发更通用的目标函数,如损失函数[5, 45, 46, 50, 77, 78]、标签分配[10, 12, 33, 67, 79]和辅助监督[18, 20, 24, 28, 29, 51, 54, 68, 76]。上述研究都试图精确地找到输入与目标任务之间的映射关系。然而,过去的大多数方法都忽略了在前向传播过程中输入数据可能会损失大量信息这一事实。这种信息损失可能导致梯度流出现偏差,随后用于更新模型。上述问题可能导致深度网络在目标和输入之间建立错误的关联,从而导致训练后的模型产生错误的预测。

在深度网络中,前向传播过程中输入数据损失信息的现象通常被称为信息瓶颈[59],其示意图如图2所示。目前,可以缓解这种现象的主要方法如下:(1)使用可逆架构[3, 16, 19]:这种方法主要使用重复的输入数据,并以显式的方式保持输入数据的信息;(2)使用掩码建模[1, 6, 9, 27, 71, 73]:它主要使用重建损失,并采用隐式的方式最大化提取的特征并保留输入信息;(3)引入深度监督的概念[28,51,54,68]:它使用尚未损失太多重要信息的浅层特征,预先从特征到目标建立映射,以确保重要信息能够传递到更深层。然而,上述方法在训练过程和推理过程中都存在不同的缺点。例如,可逆架构需要额外的层来结合重复输入的输入数据,这将显著增加推理成本。此外,由于输入数据层到输出层不能有太深的路径,这一限制将使得在训练过程中难以建模高阶语义信息。至于掩码建模,其重建损失有时与目标损失相冲突。此外,大多数掩码机制也会与数据产生错误的关联。对于深度监督机制,它会产生误差累积,如果浅层监督在训练过程中丢失了信息,后续层将无法检索所需的信息。上述现象在困难的任务和小型模型上会更加明显。
在这里插入图片描述

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

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

2、相关工作

2.1、实时目标检测器

目前主流的实时目标检测器是YOLO系列[2, 7, 13–15, 25, 30, 31, 47–49, 61–63, 74, 75],其中大多数模型使用CSPNet[64]或ELAN[65]及其变体作为主要计算单元。在特征集成方面,通常使用改进的PAN[37]或FPN[35]作为工具,然后使用改进的YOLOv3头[49]或FCOS头[57, 58]作为预测头。最近,还提出了一些基于DETR[4]的实时目标检测器,如RT DETR[43]。然而,由于DETR系列目标检测器在没有相应领域预训练模型的情况下很难应用于新领域,因此目前使用最广泛的实时目标检测器仍然是YOLO系列。本文选择已在多种计算机视觉任务和多种场景中证明有效的YOLOv7[63]作为开发所提出方法的基础。我们使用GELAN和改进的训练过程(结合提出的PGI)来改进架构。上述新颖的方法使提出的YOLOv9成为新一代顶级实时目标检测器。

2.2、可逆的架构

可逆架构[3, 16, 19]的操作单元必须保持可逆转换的特性,以确保每个操作单元的输出特征图能够保留完整的原始信息。之前,RevCol[3]将传统可逆单元推广到多个级别,从而可以扩展由不同层单元表示的语义级别。通过回顾各种神经网络架构的文献,我们发现存在许多具有不同程度可逆特性的高性能架构。例如,Res2Net模块[11]以分层的方式将不同的输入分区与下一个分区组合,并在向后传递之前连接所有转换的分区。CBNet[34, 39]通过复合骨干网重新引入原始输入数据以获得完整的原始信息,并通过各种组合方法获得不同级别的多级可逆信息。这些网络架构通常具有出色的参数利用率,但额外的复合层导致推理速度变慢。DynamicDet[36]将CBNet[34]和高效的实时目标检测器YOLOv7[63]相结合,在速度、参数数量和精度之间实现了很好的权衡。本文引入DynamicDet架构作为设计可逆分支的基础。此外,还将可逆信息进一步引入到提出的PGI中。所提出的新架构在推理过程中不需要额外的连接,因此可以充分保留速度、参数量和精度的优势。

2.3. 辅助监督

深度监督[28,54,68]是最常见的辅助监督方法,通过在中间层插入额外的预测层来进行训练。特别是在基于转换器的方法中引入的多层解码器的应用是最常见的。另一种常见的辅助监督方法是利用相关元信息来引导中间层产生的特征图,并使它们具有目标任务所需的属性[18, 20, 24, 29, 76]。这种类型的示例包括使用分割损失或深度损失来提高目标检测器的准确性。最近,文献中有许多报道[53, 67, 82]使用不同的标签分配方法来生成不同的辅助监督机制,以加快模型的收敛速度并提高鲁棒性。然而,辅助监督机制通常仅适用于大型模型,因此当应用于轻量级模型时,容易导致参数不足现象,从而使性能变差。我们提出的PGI设计了一种重新编程多级语义信息的方法,这种设计使轻量级模型也能从辅助监督机制中受益。

3、问题陈述

通常,人们将深度神经网络收敛问题的困难归因于诸如梯度消失或梯度饱和等因素,这些现象确实存在于传统的深度神经网络中。然而,现代深度神经网络已经通过设计各种归一化和激活函数从根本上解决了上述问题。尽管如此,深度神经网络仍然存在收敛速度慢或收敛结果差的问题。

在本文中,我们进一步探讨了上述问题的本质。通过对信息瓶颈的深入分析,我们推断出这个问题的根本原因是来自非常深层的网络的初始梯度在传输后很快就丢失了大量实现目标所需的信息。为了证实这一推断,我们使用具有初始权重的不同架构的深度网络进行前馈,并在图2中进行可视化和说明。显然,PlainNet在深层中丢失了大量对目标检测所需的重要信息。至于ResNet、CSPNet和GELAN能够保留的重要信息的比例,它确实与训练后能够获得的准确性呈正相关。我们进一步设计了基于可逆网络的方法来解决上述问题的原因。在本节中,我们将详细阐述我们对信息瓶颈原理和可逆函数的分析。

3.1. 信息瓶颈原则

根据信息瓶颈原则,我们知道数据 X 在经过变换时可能会导致信息丢失,如以下 Eq. 1 所示:
I ( X , X ) ≥ I ( X , f θ ( X ) ) ≥ I ( X , g ϕ ( f θ ( X ) ) ) , (1) I(X, X) \geq I\left(X, f_{\theta}(X)\right) \geq I\left(X, g_{\phi}\left(f_{\theta}(X)\right)\right), \tag{1} I(X,X)I(X,fθ(X))I(X,gϕ(fθ(X))),(1)

其中,I表示互信息,f和g是变换函数,θ和φ分别是f和g的参数。

在深度神经网络中, f θ ( ⋅ ) f_{\theta}(\cdot) fθ() g ϕ ( ⋅ ) g_{\phi}(\cdot) gϕ()分别代表深度神经网络中两个连续层的操作。从公式(1)可以预测,随着网络层数的加深,原始数据更有可能丢失。然而,深度神经网络的参数是基于网络的输出和给定的目标来确定的,然后计算损失函数生成新的梯度来更新网络。可以想象,更深的神经网络的输出保留有关预测目标的完整信息的能力较差。这将使在网络训练过程中使用不完整的信息成为可能,从而导致不可靠的梯度和较差的收敛。

解决上述问题的一种方法是直接增加模型的大小。当我们使用大量的参数来构建模型时,它更能够对数据进行更完整的变换。即使数据在前向传播过程中丢失了信息,上述方法仍有机会保留足够的信息以执行到目标的映射。上述现象解释了为什么在现代大多数模型中,宽度比深度更重要。然而,上述结论不能从根本上解决非常深的神经网络中梯度不可靠的问题。下面,我们将介绍如何使用可逆函数来解决问题并进行相对分析。

3.2、可逆函数

如果一个函数 r 存在一个逆变换函数 v,我们称这个函数为可逆函数,如公式(2)所示。

X = v ζ ( r ψ ( X ) ) , (2) X=v_{\zeta}\left(r_{\psi}(X)\right), \tag{2} X=vζ(rψ(X)),(2)
其中, ψ \psi ψ ζ \zeta ζ分别是r 和v 的参数。数据X通过可逆函数进行转换而不丢失信息,如公式(3)所示。

I ( X , X ) = I ( X , r ψ ( X ) ) = I ( X , v ζ ( r ψ ( X ) ) ) . (3) I(X, X)=I\left(X, r_{\psi}(X)\right)=I\left(X, v_{\zeta}\left(r_{\psi}(X)\right)\right) . \tag{3} I(X,X)=I(X,rψ(X))=I(X,vζ(rψ(X))).(3)

当网络的变换函数由可逆函数组成时,可以获得更可靠的梯度来更新模型。如今几乎所有流行的深度学习方法都符合可逆性,如公式(4)所示。
X l + 1 = X l + f θ l + 1 ( X l ) , (4) X^{l+1}=X^{l}+f_{\theta}^{l+1}\left(X^{l}\right), \tag{4} Xl+1=Xl+fθl+1(Xl),(4)
其中,l 表示 PreAct ResNet 的第 l 层,f 表示第 l 层的变换函数。PreAct ResNet [22] 以显式的方式将原始数据 X 反复传递到后续层。虽然这样的设计可以使超过一千层的深度神经网络收敛得非常好,但它破坏了我们需要深度神经网络的重要原因。也就是说,对于困难的问题,我们很难找到简单的映射函数直接将数据映射到目标。这也解释了为什么当层数较少时,PreAct ResNet 的表现不如 ResNet [21]。

此外,我们尝试使用掩码建模,使transformer 模型实现了显著的突破。我们使用近似方法,如公式(5),尝试找到r的逆变换v,以便使用稀疏特征保留足够的变换特征信息。公式(5)的形式如下:
X = v ζ ( r ψ ( X ) ⋅ M ) X=v_{\zeta}\left(r_{\psi}(X) \cdot M\right) X=vζ(rψ(X)M)
其中,M是一个动态二进制掩码。常用于执行上述任务的其他方法包括扩散模型和变分自编码器,它们都具有寻找逆函数的功能。然而,当我们将上述方法应用于轻量级模型时,会出现缺陷,因为轻量级模型对于大量原始数据来说参数不足。由于上述原因,将数据 X映射到目标 Y的重要信息 I(Y, X)也会面临同样的问题。对于这个问题,我们将使用信息瓶颈 [59] 的概念进行探索。信息瓶颈的公式如下:
I ( X , X ) ≥ I ( Y , X ) ≥ I ( Y , f θ ( X ) ) ≥ … ≥ I ( Y , Y ^ ) . I(X, X) \geq I(Y, X) \geq I\left(Y, f_{\theta}(X)\right) \geq \ldots \geq I(Y, \hat{Y}) . I(X,X)I(Y,X)I(Y,fθ(X))I(Y,Y^).
一般来说,I(Y, X) 在 I(X, X) 中只占据很小的一部分。然而,它对于目标任务是至关重要的。因此,即使在前馈阶段丢失的信息量不大,但只要涉及到 I(Y, X),训练效果就会受到很大影响。轻量级模型本身处于参数不足的状态,因此在前馈阶段很容易丢失大量重要信息。因此,我们对轻量级模型的目标是如何从 I(X, X) 中准确地筛选出I(Y, X)。至于完全保留 X 的信息,那是很难实现的。基于上述分析,我们希望能够提出一种新的深度神经网络训练方法,不仅能够生成可靠的梯度来更新模型,而且还适合浅层和轻量级的神经网络。

4、方法

4.1、可编程梯度信息

为了解决上述问题,我们提出了一种新的辅助监督框架,称为可编程梯度信息(PGI),如图3(d)所示。PGI主要包括三个组件,即(1)主分支,(2)辅助可逆分支,以及(3)多级辅助信息。从图3(d)中我们可以看到,PGI的推理过程仅使用主分支,因此不需要任何额外的推理成本。至于其他两个组件,它们用于解决或减缓深度学习方法中的几个重要问题。其中,辅助可逆分支旨在解决由神经网络加深引起的问题。网络加深会导致信息瓶颈,使损失函数无法生成可靠的梯度。至于多级辅助信息,它是为了处理由深度监督引起的误差累积问题而设计的,特别是对于多个预测分支的架构和轻量级模型。接下来,我们将逐步介绍这两个组件。
在这里插入图片描述

在PGI中,我们提出辅助可逆分支来生成可靠的梯度并更新网络参数。通过提供从数据到目标的映射信息,损失函数可以提供指导,并避免从不完整的前馈特征中找到与目标相关性较小的错误关联的可能性。我们通过引入可逆架构来保持完整的信息,但将主分支添加到可逆架构中将消耗大量的推理成本。我们分析了图3(b)的架构,并发现当从深层到浅层的额外连接被添加时,推理时间将增加20%。当我们反复将输入数据添加到网络的高分辨率计算层(黄色框)时,推理时间甚至超过了两倍。

由于我们的目标是使用可逆架构来获得可靠的梯度,“可逆”并不是推理阶段唯一必要的条件。鉴于此,我们将可逆分支视为深度监督分支的扩展,然后设计了辅助可逆分支,如图3(d)所示。对于由于信息瓶颈而丢失重要信息的主分支深度特征,它们将能够从辅助可逆分支接收可靠的梯度信息。这些梯度信息将驱动参数学习,有助于提取正确和重要的信息,上述操作可以使主分支获得对目标任务更有效的特征。此外,可逆架构在浅层网络上的表现比在一般网络上更差,因为复杂的任务需要在更深的网络中进行转换。我们提出的方法并不强制主分支保留完整的原始信息,而是通过辅助监督机制生成有用的梯度来更新它。这种设计的优点是所提出的方法也可以应用于更浅的网络。

最后,由于在推理阶段可以移除辅助可逆分支,因此可以保留原始网络的推理能力。我们还可以在PGI中选择任何可逆架构来发挥辅助可逆分支的作用。

4.1.2、多级辅助信息

在本节中,我们将讨论多级辅助信息的工作原理。包含多个预测分支的深度监督架构如图3(c)所示。对于目标检测,可以使用不同的特征金字塔来执行不同的任务,例如,它们可以共同检测不同大小的对象。因此,当连接到深度监督分支时,浅层特征将被引导去学习对小目标检测所需的特征,此时系统将把其他大小的目标的位置视为背景。然而,上述操作将导致深层特征金字塔丢失很多预测目标对象所需的信息。针对这个问题,我们认为每个特征金字塔都需要接收关于所有目标对象的信息,以便后续的主分支可以保留完整的信息来学习对各种目标的预测。

多级辅助信息的概念是在辅助监督和主分支的特征金字塔层次结构层之间插入一个集成网络,然后使用该网络组合来自不同预测头的返回梯度,如图3(d)所示。接着,多级辅助信息会聚合包含所有目标对象的梯度信息,并将其传递给主分支以更新参数。这样,主分支的特征金字塔层次的特性将不会被某些特定对象的信息所主导。因此,我们的方法可以缓解深度监督中的信息丢失问题。此外,可以在多级辅助信息中使用任何集成网络。因此,我们可以规划所需的语义级别来指导不同大小的网络架构的学习。

4.2、广义ELAN

在本节中,我们描述了提出的新网络架构——GELAN。通过将两种神经网络架构CSPNet [64]和ELAN [65]相结合,这两种架构都设计了梯度路径规划,我们设计了广义高效层聚合网络(GELAN),该网络考虑了轻量级、推理速度和准确性。其整体架构如图4所示。我们广义化了ELAN [65]的能力,该架构最初只使用卷积层的堆叠,到一个可以使用任何计算块的新架构。

在这里插入图片描述

5、实验

5.1、实验设置

我们使用MS COCO数据集来验证所提出的方法。所有的实验设置都遵循YOLOv7 AF [63],而数据集则是MS COCO 2017的划分。我们提到的所有模型都使用从头开始训练的策略进行训练,总的训练次数为500个epoch。在设置学习率时,我们在前三个epoch中使用线性预热,随后的epoch则根据模型规模设置相应的衰减方式。至于最后15个epoch,我们关闭了马赛克数据增强。更多设置,请参阅附录。

5.2、实现细节

我们基于YOLOv7 [63]和Dynamic YOLOv7 [36]分别构建了YOLOv9的通用版本和扩展版本。在网络架构的设计中,我们使用CSPNet块[64]和计划好的RepConv[63]作为计算块,将ELAN[65]替换为GELAN。我们还简化了下采样模块并优化了无锚点预测头。至于PGI的辅助损失部分,我们完全遵循YOLOv7的辅助头设置。更多细节请参阅附录。

5.3、与最新技术的比较

表1列出了我们提出的YOLOv9与其他从头开始训练的实时目标检测器的比较。在现有方法中,表现最好的方法分别是针对轻量级模型的YOLO MS-S [7]、针对中型模型的YOLO MS [7]、针对通用模型的YOLOv7 AF [63]和针对大型模型的YOLOv8-X [15]。与轻量级和中型模型YOLO MS [7]相比,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在各方面与现有方法相比都有显著改进。

在这里插入图片描述

另一方面,我们也将在比较中包括使用ImageNet预训练模型的情况,结果如图5所示。我们分别基于参数数量和计算量进行比较。在参数数量方面,表现最好的大型模型是RT DETR [43]。从图5中,我们可以看到使用常规卷积的YOLOv9在参数利用方面甚至优于使用深度可分离卷积的YOLO MS。对于大型模型的参数利用,它也大大超过了使用ImageNet预训练模型的RT DETR。更令人印象深刻的是,在深层模型中,YOLOv9展示了使用PGI的巨大优势。通过准确地保留和提取将数据映射到目标所需的信息,我们的方法只需要64%的参数,同时保持了与RT DETR-X相同的准确性。

在这里插入图片描述

在计算量方面,从最小到最大,表现最好的现有模型分别是YOLO MS [7]、PP YOLOE [74]和RT DETR [43]。从图5中,我们可以看到YOLOv9在计算复杂度方面远远优于从头开始训练的方法。此外,如果与基于深度可分离卷积和基于ImageNet的预训练模型的方法进行比较,YOLOv9也具有很高的竞争力。

5.4、消融研究

5.4.1、广义ELAN

对于GELAN,我们首先对其计算块进行消融研究。我们分别使用Res块[21]、Dark块[49]和CSP块[64]进行实验。表2显示,在将ELAN中的卷积层替换为不同的计算块后,系统能够保持良好的性能。用户确实可以自由替换计算块并在各自的推理设备上使用它们。在不同的计算块替换中,CSP块的表现尤为出色。它们不仅减少了参数数量和计算量,还提高了0.7%的AP。因此,我们选择CSPELAN作为YOLOv9中GELAN的组件单元。
在这里插入图片描述

接下来,我们在不同大小的GELAN上进行了ELAN块深度和CSP块深度实验,并将结果展示在表3中。我们可以看到,当ELAN的深度从1增加到2时,准确率得到了显著提高。但是,当深度大于或等于2时,无论是增加ELAN深度还是CSP深度,参数数量、计算量和准确率都会呈现线性关系。这意味着GELAN对深度并不敏感。换句话说,用户可以任意组合GELAN中的组件来设计网络架构,而无需特殊设计即可获得性能稳定的模型。在表3中,对于YOLOv9-{S,M,C},我们将ELAN深度和CSP深度的配对设置为{{2, 3}, {2, 1}, {2, 1}}。

在这里插入图片描述

5.4.2、可编程梯度信息(Programmable Gradient Information)

在可编程梯度信息(PGI)方面,我们对骨干网络和颈部网络中的辅助可逆分支和多级辅助信息进行了消融研究。我们设计了辅助可逆分支ICN,使用DHLC [34] 连接来获得多级可逆信息。对于多级辅助信息,我们使用了FPN和PAN进行消融研究,PFH的作用与传统深度监督相当。所有实验的结果都列在表4中。从表4中,我们可以看到PFH仅在深度模型中有效,而我们提出的PGI可以在不同的组合下提高准确性。特别是当使用ICN时,我们得到了稳定和更好的结果。我们还尝试将YOLOv7 [63] 中提出的引导式头部分配(lead-head guided assignment)应用于PGI的辅助监督,并取得了更好的性能。
在这里插入图片描述

我们进一步在各种大小的模型上实现了PGI和深度监督的概念,并比较了结果,这些结果如表5所示。正如一开始分析的那样,引入深度监督会导致浅层模型的精度损失。对于一般模型,引入深度监督会导致性能不稳定,而深度监督的设计理念只能在极深的模型中带来收益。我们提出的PGI可以有效地处理信息瓶颈和信息断裂等问题,并且可以全面提高不同大小模型的精度。PGI的概念带来了两个有价值的贡献。第一个贡献是使辅助监督方法适用于浅层模型,而第二个贡献是使深度模型的训练过程获得更可靠的梯度。这些梯度使深度模型能够使用更准确的信息来建立数据与目标之间的正确关联。

在这里插入图片描述
最后,我们在表格中展示了从基准YOLOv7到YOLOv9E逐步增加组件的结果。我们提出的GELAN和PGI为模型带来了全面的改进。
在这里插入图片描述

5.5、可视化

本节将探索信息瓶颈问题并进行可视化。此外,我们还将可视化提出的PGI如何使用可靠的梯度来找到数据与目标之间的正确关联。在图6中,我们展示了使用随机初始权重作为前馈在不同架构下获得的特征图的可视化结果。我们可以看到,随着层数的增加,所有架构的原始信息逐渐减少。例如,在PlainNet的第50层,很难看到物体的位置,而在第100层,所有可区分的特征都会丢失。对于ResNet,虽然在第50层仍然可以看到物体的位置,但边界信息已经丢失。当深度达到第100层时,整个图像变得模糊。CSPNet和我们提出的GELAN都表现得非常好,它们都可以保持支持清晰识别物体的特征,直到第200层。在比较中,GELAN具有更稳定的结果和更清晰的边界信息。

在这里插入图片描述

图7用于展示PGI在训练过程中是否能提供更可靠的梯度,以便用于更新的参数能够有效地捕捉输入数据与目标之间的关系。图7展示了GELAN和YOLOv9(GELAN + PGI)在PAN偏差预热阶段的特征图可视化结果。通过比较图7(b)和©,我们可以清楚地看到PGI准确而简洁地捕捉到了包含物体的区域。而对于没有使用PGI的GELAN,我们发现它在检测物体边界时出现了发散,并且在一些背景区域产生了意外的响应。这个实验证实,PGI确实可以提供更好的梯度来更新参数,并使主分支的前馈阶段保留更多重要的特征。

6、结论

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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 23:40:08       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 23:40:08       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 23:40:08       82 阅读
  4. Python语言-面向对象

    2024-04-22 23:40:08       91 阅读

热门阅读

  1. aws挂载s3

    2024-04-22 23:40:08       36 阅读
  2. TCP练习

    2024-04-22 23:40:08       36 阅读
  3. 工作与生活的平衡术:顶尖专家的十大建议

    2024-04-22 23:40:08       39 阅读
  4. 处理复杂人际关系的策略

    2024-04-22 23:40:08       43 阅读