YOLOv9来了!实时目标检测新SOTA

先上一把网上的测试效果对比:

 

YOLOv9架构图

速度论文

代码:GitHub - WongKinYiu/yolov9: Implementation of paper - YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information

论文:[2402.13616] YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information (arxiv.org)

      我们提出了可编程梯度信息(PGI)的概念,以应对深度网络实现多重目标所需的各种变化。PGI可以为目标任务提供完整的输入信息来计算目标函数,从而获得可靠的梯度信息来更新网络权重。此外,还设计了一种基于梯度路径规划的新型轻量级网络架构——广义高效层聚合网络(GELAN)。GELAN的架构证实了PGI在轻量化模型上取得了优异的成绩。我们在基于MS COCO数据集的目标检测上验证了所提出的GELAN和PGI。结果表明,与基于深度卷积的现有方法相比,GELAN仅使用传统的卷积算子即可实现更好的参数利用。PGI可用于从轻量级到大型的各种型号。它可以用来获得完整的信息,使从头开始训练的模型比使用大数据集预训练的最先进的模型获得更好的结果,比较结果如图1所示。

 信息瓶颈原理图

      在深度网络中,输入数据丢失的现象前馈过程中的信息通常是称为信息瓶颈[59],其原理图如图2所示。

PGI(可编程梯度信息)组件

PGI主要包括三个组成部分,即:

  1. 主分支
  2. 辅助可逆分支
  3. 多级辅助信息

PGI及相关网络架构和方法。(a) 路径聚合网络 (PAN)) [37], (b) 可逆列(修订版)[3],(c)传统的深度监督,以及(d)我们提出的可编程梯度信息(PGI)。PGI主要由以下部分组成
由三个组件组成:(1)主分支:用于推理的架构,(2)辅助可逆分支:生成可靠的梯度以提供
主分支用于反向传输,(3)多级辅助信息:控制主分支学习可规划的多级语义信息。

GELAN模块

我们将可逆支路视为深度监督支路的扩展,然后设计辅助可逆支路,新网络架构——GELAN:

GELAN的架构:(a)CSPNet [64],(b) ELAN [65],(c)提议的GELAN。我们模仿CSPNet并扩展ELAN到可以支持任何计算块的 GELAN。

YOLOv9的网络配置

实验结果

       我们在基于 MS COCO 数据集的目标检测上验证了所提出的 GELAN 和 PGI。 结果表明,与基于深度卷积开发的最先进方法相比,GELAN 仅使用传统的卷积算子即可实现更好的参数利用率。 PGI 可用于从轻型到大型的各种模型。 它可以用来获取完整的信息,从而使从头开始训练的模型能够比使用大型数据集预训练的最先进的模型获得更好的结果。

图5.最先进的实时目标检测器的比较。参与比较的方法都使用 ImageNet 作为预训练权重,包括 RT DETR [43]、RTMDet [44] 和 PP-YOLOE [74] 等。使用从头开始训练方法的 YOLOv9明显超过其他方法的性能。

可视化

图6.PlainNet、ResNet、CSPNet、GELAN在不同时随机初始权重输出的特征图(可视化结果)
深处。100 层后,ResNet 开始产生足以混淆对象信息的前馈输出。我们提议的
GELAN仍然可以保留相当完整的信息,直到第150层,并且仍然有足够的判别力,直到第200层。

图7.GELAN的PAN特征图(可视化结果)和 YOLOv9 (GELAN + PGI) 经过一个时期的偏置预热。GELAN 最初有一些分歧,但在添加 PGI 的可逆分支,它更有能力聚焦在目标物体上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/493615.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

x-cmd pkg | g - 功能和交互更为丰富的 `ls` 替代方案

目录 简介首次用户功能特点竞品和相关作品进一步阅读 简介 g 是一项用 Go 开发的、功能和交互更为丰富的 ls 替代方案。它拥有 100 多个功能选项,主要是通过各式图标、各种布局选项和 git status 集成来增强视觉效果,并且支持多种输出格式,如…

在having、select子句中使用子查询

目录 在having子句中使用子查询 统计出部门平均工资高于公司平均工资的部门编号、平均工资、部门人数 在select子句中使用子查询 查询每个员工的编号、姓名、职位、部门名称 Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 在havin…

内存函数(C语言进阶)

目录 前言 1、memcpy 2、memmove 3、memcmp 4、memset 结语 前言 本篇介绍了C语言中的内存函数,内存函数,顾名思义就是处理内存的函数。 1、memcpy memcpy:内存拷贝函数。 相对于strcpy只能拷贝字符串来讲,memcpy能拷…

printf输出彩色log

在软件开发过程中,log调试是一个非常重要的排查问题的手段,log的输出结果可以帮助工程师验证其软件逻辑与执行结果是否一致。所以一个有彩色效果的log输出,可以帮到工程师更好的定位问题所在,并且利用特定的宏定义可以定位到问题出…

C#使用QQ邮箱发送邮件

简介 在c#中发送邮箱我们只需要引入官方提供的命名空间 System.Net.Mail ,这个命名空间包含了一系列类,用于创建、配置和发送电子邮件消息。 这个命名空间中的一些主要类包括: MailMessage:表示一个电子邮件消息,包…

猫头虎分享已解决Bug || AttributeError: ‘Sequential‘ object has no attribute ‘session‘

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

Vue 项目脚手架结构介绍

昨天,撰写了一篇文章,介绍如何 0 基础入门 Vue,算是讲清楚了学习 Vue 的路线图,今天,继续来介绍一些具体的东西。 一、开发工具 开发 Vue 的项目,我推荐使用 VS Code,有非常多的插件支持基于 …

【前端素材】推荐优质后台管理系统Uena平台模板(附源码)

一、需求分析 后台管理系统(或称作管理后台、管理系统、后台管理平台)是一种专门用于管理网站、应用程序或系统后台运营的软件系统。它通常由一系列功能模块组成,为管理员提供了管理、监控和控制网站或应用程序的各个方面的工具和界面。以下…

从零开始手写mmo游戏从框架到爆炸(二十三)— 装备系统一

导航:从零开始手写mmo游戏从框架到爆炸(零)—— 导航-CSDN博客 目录 装备模板 装备模型 装备模板配置 加载装备模板 下一步,就是要考虑经验、金币、和装备掉落的问题。经验金币都好说,装备系统是目前需要考虑的问…

LeetCode_Java_动态规划系列(1)(题目+思路+代码)

目录 斐波那契类型 746.使用最小花费爬楼梯 矩阵 120. 三角形最小路径和 斐波那契类型 746.使用最小花费爬楼梯 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。…

Pyglet控件的批处理参数batch和分组参数group简析

先来复习一下之前写的两个例程: 1. 绘制网格线 import pygletwindow pyglet.window.Window(800, 600) color (255, 255, 255, 255) # 白色 lines []for y in range(0, window.height, 40):lines.append(pyglet.shapes.Line(0, y, window.width, y, colorcolo…

【AIGC大模型】跑通wonder3D (windows)

这两天看了AI大神李某舟被封杀,课程被下架的新闻,TU商 认为:现在这种玩概念、徒具高大上外表却无实质内容的东西太多了,已经形成一种趋势和风潮,各行各业各圈层都在做大做强这种势,对了,这种行为…