论文链接: YOLOv9: Learning What You Want to Learn Using Programmable Gradient
GELAN(Generalized Efficient Layer Aggregation Network)
YOLOv9中的GELAN(Generalized Efficient Layer Aggregation Network,泛化高效层聚合网络)是一种为解决目标检测任务而设计的轻量级网络架构。GELAN的设计考虑了实时应用的需求,旨在实现高精度的同时保持网络的轻量化和高速度。
GELAN的主要特点和组件包括
-
CSP-ELAN 块:GELAN在ELAN(Efficient Layer Aggregation Network)的基础上引入了CSPNet(Cross Stage Partial Network)结构。这种结构可以使用任意的计算块,例如Bottleneck或ResBlock,以提高计算效率。
-
DOWN 模块:该模块由一个2x2的池化层和一个3x3的卷积层组成,用于实现特征图的下采样,即降低特征图的空间分辨率,同时增加通道数,有助于提取多尺度的特征。
-
梯度路径规划:GELAN通过精心设计的梯度路径,优化了网络结构,使得网络可以更有效地传播和聚合来自不同层级的特征信息。
-
轻量化设计:GELAN的设计注重减少计算量和参数数量,同时保持检测性能,使其适合在资源受限的设备上运行。
-
高精度实现:尽管GELAN注重轻量化,但其设计仍然实现了高精度的目标检测,可以与更复杂的网络架构相媲美。
GELAN在YOLOv9中的应用
-
特征提取:GELAN作为YOLOv9的主分支,负责对输入图像进行特征提取,生成多尺度的特征图。
-
检测头集成:将多尺度特征图输入到检测头中,预测目标的类别和位置信息。
-
后处理:对预测结果进行后处理,如非极大值抑制(NMS),得到最终的检测结果。
GELAN的设计允许YOLOv9在保持轻量和速度的同时实现高精度,这对于实时应用场景非常重要。此外,GELAN的架构也为YOLOv9的PGI(可编程梯度信息)模块提供了支持,PGI模块通过辅助可逆分支和多级辅助监督进一步提升了网络的训练效率和检测性能。