# 热门搜索 #
搜索
YOLOv9来了:实时目标检测新SOTA,完胜各种轻量或大型模型!出自v7作者
3922点击    2024-02-24 11:53

距离YOLOv8发布仅1年的时间,v9诞生了!


这个新版本主打用“可编程梯度信息来学习你想学的任何内容”。



无论是轻量级还是大型模型,它都完胜,一举成为目标检测领域新SOTA:



网友的心情be like:



鉴于源码已经发布,有人已率先实测了一把效果:



对比v8当时的表现,可以说是进步很大:



来吧,速度论文。


可编程梯度信息+轻量级GELAN架构


一般来说,为了使模型预测结果最接近真实情况,目前的深度学习方法比较侧重于如何设计出一个最合适的目标函数


同时,还要设计一种适当的架构,用于获取足够的信息,方便后续预测。


在此,作者认为:


现有的方法忽略了一个问题,即当输入数据经过逐层特征提取和空间变换时,会丢失大量信息。


因此,YOLOv9主要破解的就是数据通过深度网络传输时丢失的问题,具体来说就是“信息瓶颈和可逆函数”。


具体贡献上,一是提出可编程梯度信息(PGI)的概念,来应对深度网络检测多个目标所需的各种变化。


PGI可以为目标任务提供完整的输入信息来计算目标函数,从而获得可靠的梯度信息来更新网络权重。


下图为PGI及相关网络架构和方法示意图。


其中(a)为路径聚合网络,(b) 为可逆列,(c)传统深度监督,(d)为作者提出的可编程梯度信息(即PGI)



它主要由三部分组成:


  • 主分支:用于推理的架构;

  • 辅助可逆分支:生成可靠的梯度,为主分支提供反向传输;

  • 多级辅助信息:用来控制主分支学习可规划的多级语义信息。

作者解释:


由于可逆架构在浅层网络上的性能比在一般网络上差,因为复杂的任务需要在更深的网络中进行转换。

因此该设计的特点之一是不强迫主分支保留完整的原始信息,而是通过辅助监督机制生成有用的梯度来进行更新。>

这样的优点是,方法也可以应用于较浅的网络。

YOLOv9的第二个贡献是设计了一种新的基于梯度路径规划的轻量级网络架构GELAN,用于证明PGI的有效性。



它通过模仿CSPNet架构+扩展ELAN网络而得出,可以支持任何计算块(CSPNet和ELAN都是采用梯度路径规划设计的神经网络)



大小同类模型都完胜


效果验证在MS COCO数据集上进行。


所有模型都使用从头开始训练策略进行训练,总训练次数为500个epoch。


基于YOLOv7和Dynamic YOLOv7构建了YOLOv9的通用版和扩展版。



下表为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在各个方面都有了显著的改进,PGI的设计使其可以用于从轻量到大型的各种模型。


除此之外,测试还将ImageNet预训练模型包括进来,结果如下:



在这之中,就参数数量而言,性能最好的大型模型是RTDETR。


从上图中我们可以看到,在参数利用方面,使用传统卷积的YOLOv9甚至比使用深度卷积的YOLO MS更好。


在大模型的参数利用方面,它也大大超过了使用ImageNet预训练模型的RT-DETR。


更厉害的是,在深度模型中,YOLOv9显示了使用PGI的巨大优势。


通过准确地保留和提取将数据映射到目标所需的信息,YOLOv9只需要64%的参数,就能同时保持和RT DETR-X一样的准确性。


来自v7作者


众所周知,YOLO系列的作者几乎每次都不是同一个,且有的是个人有的是公司。


比如v4是Alexey Bochkovskiy和Chien-Yao Wang等人,v5是Ultralytics公司,v6是美团公司,v7又变成v4的个人作者。



这次,v9又是由谁开发呢?


答案是Chien-Yao Wang等人。



这位一作的名字不算陌生,v7、v4都有他。


他于2017年获得台湾省National Central University计算机科学与信息工程博士学位,现在就职于该省Academia Sinica的信息科学研究所。


One More Thing


知乎上几个月前就有这么一个问题:


想用yolov8做毕业设计,如果开题之后,yolov9出来了怎么办呢?


现在看来,这位网友的担心可是成真了(狗头)


不过实际不用慌,如大伙所说:


最新检测器的泛化性不一定比以前的检测器要好。你所选择的只是一个基准算法,最重要的还是有自己的创新~

传送门:

https://arxiv.org/abs/2402.13616

https://github.com/WongKinYiu/yolov9


参考链接:

https://twitter.com/skalskip92/status/1760717291593834648

https://www.zhihu.com/question/618277378


文章来自于微信公众号“量子位”(ID: QbitAI),作者 “丰色”