0

0

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

PHPz

PHPz

发布时间:2024-02-23 12:49:28

|

825人浏览过

|

来源于机器之心

转载

在目标检测领域,yolov9 在实现过程中不断进步,通过采用新架构和方法,有效提高了传统卷积的参数利用率,这使得其性能远超前代产品。

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

自2015年Joseph Redmon和Ali Farhadi等人提出了第一代YOLO模型以来,目标检测领域的研究者们对其进行了多次更新和迭代。YOLO是一种基于图像全局信息的预测系统,其模型性能不断得到增强。通过不断改进算法和技术,研究人员取得了显著的成果,使得YOLO在目标检测任务中表现出越来越强大的能力。这些不断的改进和优化为目标检测技术的发展带来了新的机遇和挑战,同时也推动了该领域的进步和创新。YOLO的成功也激励着研究者们继续努力,

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

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

论文地址: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 展示了一些比较结果。

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

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

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

                                    来源:https://twitter.com/alexeyab84/status/1760685626247250342

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

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

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

更有「勤劳」的网友已经为 YOLOv9 模型添加了 pip 支持。

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

                                 来源:https://twitter.com/kadirnar_ai/status/1760716187896283635

接下来看 YOLOv9 的详细信息。

问题陈述

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

研究者通过对信息瓶颈的深入分析,推断出了该问题的根本原因:梯度最初从非常深层的网络传递出来后不久,就丢失了许多达成目标所需的信息。为了验证这一推断,研究者们对具有初始权重的不同架构的深度网络进行前馈处理。图 2 对此进行了可视化说明。显然,PlainNet 在深层丢失了很多进行对象检测所需的重要信息。至于 ResNet、CSPNet 和 GELAN 能够保留的重要信息比例,确实与训练后能够获得的准确性正相关。研究者进一步设计了基于可逆网络的方法来解决上述问题的原因。

方法介绍

可编程梯度信息(PGI)

超能文献
超能文献

超能文献是一款革命性的AI驱动医学文献搜索引擎。

下载

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

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

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

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

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

GELAN 网络

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

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

实验结果

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

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

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

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

消融实验

为了探究 YOLOv9 中各个组件的作用,该研究进行了一系列消融实验。

该研究首先对 GELAN 的计算块进行消融实验。如下表 2 所示,该研究发现用不同的计算块替换 ELAN 中的卷积层后,系统可以保持良好的性能。

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

然后该研究又在不同尺寸的 GELAN 上针对 ELAN 块深度和 CSP 块深度进行了消融实验,结果如下表 3 所示。

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

在 PGI 方面,研究者分别在主干网络和 neck 上对辅助可逆分支和多级辅助信息进行了消融研究。表 4 列出了所有实验的结果。从表 4 中可以看出,PFH 只对深度模型有效,而本文提出的 PGI 在不同组合下都能提高精度。

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

研究者进一步在不同大小的模型上实现了 PGI 和深度监控,并对结果进行了比较,结果如表 5 所示。

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

图 6 显示了从基准 YOLOv7 到 YOLOv9- E 逐步增加组件的结果。

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

可视化

研究者探讨了信息瓶颈问题,并将其进行了可视化处理,图 6 显示了在不同架构下使用随机初始权重作为前馈获得的特征图的可视化结果。

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

图 7 说明了 PGI 能否在训练过程中提供更可靠的梯度,从而使用于更新的参数能够有效捕捉输入数据与目标之间的关系。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

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

更多技术细节,请阅读原文。

相关专题

更多
pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

339

2023.10.09

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

411

2024.12.20

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

755

2024.12.23

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

345

2025.07.23

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

392

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

572

2023.08.10

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

7

2026.01.21

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

403

2023.08.14

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号