赞
踩
最近,YOLO又迎来了其第9个版本即YOLOv9。本次分享对YOLOv9做简要分析,希望对大家有所帮助。
论文地址:https://arxiv.org/abs/2402.13616
Yolov9源代码:https://github.com/WongKinYiu/yolov9
yolo系列传承图,像给孩子在墙上记录身高,每一笔都比上一次高一点。
可控梯度信息(Programmable Gradient Information)训练网络,旨在解决深层网络中信息丢失的问题。
广义高效聚合层(Generalized Efficient Layer Aggregation Network),结合CSPNet和ELAN创造,在保持轻量级的同时,达到前所未有的准确度和速度。
以往算法更关注开发更高级的系统架构和学习策略,如CNNs(深度卷积、空洞卷积、深度可分离卷积)、Transformers等。或者去探索更为通用的目标函数设计,包括损失函数、标签分配策略以及辅助监督机制等,旨在增加深层特征的感受野和更好的约束预测值和真实值之间的距离。
大部分现有方法未能充分考虑到正向传播过程中输入数据可能遭遇的信息丢失问题。这种信息遗失可能引起梯度流的偏差,这些偏差梯度随后被用于模型更新。这一过程可能导致深度网络错误地理解目标与输入之间的联系,进而使模型产生不准确的预测结果。
PGI主要包括三个组成部分,如下图:
主分支:图3(d)中蓝色部分,和图3(a)PAN一样
辅助可逆分支:图3(d)中灰色部分,引入此组件是为了解决随着网络深度增加而引发的信息丢失问题。这种方法通过增加数据到较深特征层的信息传递,保持完整的信息传递到深层网络。但在推理阶段向其中加入主分支会增加计算成本,通过分析图3(b)的结构,作者提出在推理阶段去除辅助可逆分支,从而不影响原始网络的推理效率,仅在训练中增加信息传递。
这样,深层主分支中可能因信息瓶颈而丢失的重要信息,可以通过辅助可逆分支获得补充的梯度信息,这些信息有助于网络学习到更准确、更关键的特征,以更有效地完成目标任务。
多级辅助信息:图3(d)中白色部分。在目标检测任务中,通常会利用不同层次的特征金字塔来处理不同大小的目标,如图3(c)绿色虚线框所展示。这种方法允许模型在特定的深度监督分支下,根据深层特征识别大目标,同时将小目标和中目标视为背景。这一做法虽然针对性强,但可能导致深层特征金字塔在预测大目标时丢失小、中目标的信息。
作者提出,为了有效地保持目标信息的完整性,每一级的特征金字塔都应该接受到有关所有目标大小的信息。为此,如图3(d)紫色框所示,通过灰色块整合来自不同预测分支的梯度信息,并将这一聚合的信息传递给各分支,以促进参数的更新。
GELAN是通过融合CSPNet和ELAN而诞生的。其详细架构展示在图4中,作者对ELAN的应用范围进行了扩展,将ELAN中的conv模块替换为CSPNet中的any block模块。这种设计致力于实现一个既轻量又快速精确的网络架构,全面优化网络性能和效率。
表1展示了YOLOv9与其他实时目标检测器的性能比较。与YOLOv8相比,YOLOv9在参数和计算量上分别减少了49%和43%,同时在MS COCO数据集上的平均精度(AP)提升了0.6%。与YOLO MS相比,YOLOv9的参数减少了约10%,计算量减少了5-15%,但AP仍然提高了0.4~0.6%。
在图6中,展示了使用随机初始权重作为不同架构下的前馈得到的特征图的可视化结果。可以看到,随着层数的增加,所有架构的原始信息逐渐减少。
例如,在PlainNet的第50层,很难看到物体的位置,到了第100层,所有可辨别的特征都会丢失。至于ResNet,尽管在第50层仍然可以看到物体的位置,但边界信息已经丢失。当深度达到第100层时,整个图像 变得模糊。CSPNet和提出的GELAN表现都非常好,它们都能够维持到第200层时支持清晰识别物体的特征。
YOLOv9提出的可控梯度信息(PGI)克服了在深层网络传递过程中的信息丢失问题。GELAN,一种新型轻量、高效的网络模块。
YOLOv9,结合了PGI和GELAN的设计,展现出了卓越的性能。当然新模型在各个业务场景的泛化性还需要验证。
END! 谢谢!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。