目标检测新SOTA:YOLOv9 问世,新架构让传统卷积重焕生机

在目标检测领域,YOLOv9 实现了一代更比一代强,利用新架构和方法让传统卷积在参数利用率方面胜过了深度卷积。

继 2023 年 1 月 YOLOv8 正式发布一年多以后,YOLOv9 终于来了!

我们知道,YOLO 是一种基于图像全局信息进行预测的目标检测系统。自 2015 年 Joseph Redmon、Ali Farhadi 等人提出初代模型以来,领域内的研究者们已经对 YOLO 进行了多次更新迭代,模型性能越来越强大。

此次,YOLOv9 由中国台湾 Academia Sinica、台北科技大学等机构联合开发,相关的论文《Learning What You Want to Learn Using Programmable Gradient Information 》已经放出。

论文地址:https://arxiv.org/pdf/2402.13616.pdf

GitHub 地址:https://github.com/WongKinYiu/yolov9

如今的深度学习方法重点关注如何设计最合适的目标函数,从而使得模型的预测结果能够最接近真实情况。同时,必须设计一个适当的架构,可以帮助获取足够的信息进行预测。然而,现有方法忽略了一个事实,即当输入数据经过逐层特征提取和空间变换时,大量信息将会丢失。

因此,YOLOv9 深入研究了数据通过深度网络传输时数据丢失的重要问题,即信息瓶颈和可逆函数。

研究者提出了 可编程梯度信息(programmable gradient information,PGI) 的概念,来应对深度网络实现多个目标所需要的各种变化。PGI 可以为目标任务计算目标函数提供完整的输入信息,从而获得可靠的梯度信息来更新网络权值。

此外,研究者基于梯度路径规划设计了一种新的轻量级网络架构,即通用高效层聚合网络(Generalized Efficient Layer Aggregation Network,GELAN)。该架构证实了 PGI 可以在轻量级模型上取得优异的结果。

研究者在基于 MS COCO 数据集的目标检测任务上验证所提出的 GELAN 和 PGI。结果表明,与基于深度卷积开发的 SOTA 方法相比,GELAN 仅使用传统卷积算子即可实现更好的参数利用率。

对于 PGI 而言,它的适用性很强,可用于从轻型到大型的各种模型。我们可以用它来获取完整的信息,从而使从头开始训练的模型能够比使用大型数据集预训练的 SOTA 模型获得更好的结果。下图 1 展示了一些比较结果。

对于新发布的 YOLOv9,曾参与开发了 YOLOv7、YOLOv4、Scaled-YOLOv4 和 DPT 的 Alexey Bochkovskiy 给予了高度评价,表示 YOLOv9 优于任何基于卷积或 transformer 的目标检测器。

YOLOv9 看起来就是新的 SOTA 实时目标检测器,他自己的自定义训练教程也在路上了。

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

方法介绍

可编程梯度信息(PGI)

该研究提出了一种新的辅助监督框架:可编程梯度信息(Programmable Gradient Information,PGI),如图 3(d)所示。

PGI 主要包括三个部分,即(1)主分支,(2)辅助可逆分支,(3)多级辅助信息。

  • PGI 的推理过程仅使用了主分支,因此不需要额外的推理成本;

  • 辅助可逆分支是为了处理神经网络加深带来的问题, 网络加深会造成信息瓶颈,导致损失函数无法生成可靠的梯度;

  • 多级辅助信息旨在处理深度监督带来的误差累积问题,特别是多个预测分支的架构和轻量级模型。

GELAN 网络

此外,该研究还提出了一个新的网络架构 GELAN(如下图所示),具体而言,研究者把 CSPNet、 ELAN 这两种神经网络架构结合起来,从而设计出兼顾轻量级、推理速度和准确性的通用高效层聚合网络(generalized efficient layer aggregation network ,GELAN)。研究者将最初仅使用卷积层堆叠的 ELAN 的功能泛化到可以使用任何计算块的新架构。

实验结果

为了评估 YOLOv9 的性能,该研究首先将 YOLOv9 与其他从头开始训练的实时目标检测器进行了全面的比较,结果如下表 1 所示。

该研究还将 ImageNet 预训练模型纳入比较中,结果如下图 5 所示。值得注意的是,使用传统卷积的 YOLOv9 在参数利用率上甚至比使用深度卷积的 YOLO MS 还要好。

相关推荐
张李浩5 小时前
Leetcode 054螺旋矩阵 采用方向数组解决
算法·leetcode·矩阵
luoganttcc5 小时前
自动驾驶 世界模型 有哪些(二)
人工智能·机器学习·自动驾驶
人工智能AI技术5 小时前
315曝光AI投毒!用C#构建GEO污染检测与数据安全防护方案
人工智能·c#
big_rabbit05025 小时前
[算法][力扣101]对称二叉树
数据结构·算法·leetcode
Hamm5 小时前
不想花一分钱玩 OpenClaw?来,一起折腾这个!
javascript·人工智能·agent
美好的事情能不能发生在我身上6 小时前
Hot100中的:贪心专题
java·数据结构·算法
乌白云6 小时前
深度学习中的四种归一化方法
深度学习·归一化·批量归一化·层归一化
_李小白6 小时前
【AI大模型学习笔记之平台篇】第二篇:Gemini
人工智能·音视频
2301_821700536 小时前
C++编译期多态实现
开发语言·c++·算法
一点一木6 小时前
🚀 2026 年 2 月 GitHub 十大热门项目排行榜 🔥
人工智能·github