【YOLOv9】完胜V8的SOTA模型Yolov9(论文阅读笔记)

官方论文地址: 论文地址点击即可跳转

官方代码地址: GitCode - 开发者的代码家园

                          官方代码地址点击即可跳转

1 总述

当输入数据经过各层的特征提取和变换的时候,都会丢失一定的信息。针对这一问题:

  1. 论文中提出的可编程梯度信息(PGI)能够为目标检测任务提供完整的信息,进而计算目标函数,得到可靠的梯度信息来更新网络的权重参数。本文引入了DynamicDet架构作为设计可逆分支的基础。此外,可逆信息进一步引入到所提出的PGI中。所提出的新架构在推理过程中不需要额外的连接,因此可以完全保留速度、参数数量和准确性的优势。
  2. 论文中提出了基于梯度路径规划的新型轻量级网络结构-GELAN(Generalized Efficient Layer Aggregation Network, 广义高效层聚合网络)。GELAN优化了网络架构的参数利用率和计算效率,展现了轻巧、快速和准确的巨大优势。
  3. 论文使用GELAN改进架构,并使用所提出的PGI改进训练过程,然后得到了新一代YOLO系列对象检测系统-YOLOv9。使用MS COCO数据集进行实验,实验结果验证了提出的YOLOv9的性能相当优秀。

 接下来,我们先看看YOLOv9的表现,如下图:

从上图可以看出:基于GELAN和PGI的对象检测方法在对象检测性能方面超越了之前的所有从零开始训练的方法。在准确性方面,新的方法优于预训练的RT - DETR ,并且在参数利用率方面,它也优于基于深度卷积设计的YOLO MS。

2 信息丢失问题

在深度网络中,输入数据在前向传播过程中丢失信息的现象通常被称为信息瓶颈。目前,可以缓解这种现象的主要方法如下:

  1. 使用可逆架构:这种方法主要通过重复使用输入数据并以显式方式保持输入数据的信息。这种方法需要额外的层来组合重复输入的数据,这将显著增加推理成本。同时还存在输入数据层到输出层的路径不能太深这一限制
  2. 使用掩码建模:主要通过重构损失使用隐式方式最大化提取的特征并保留输入信息。掩码建模重构损失有时与目标损失冲突。除此之外,大多数掩码机制也会产生错误的数据关联的情况
  3. 引入深度监督概念:它使用尚未丢失太多重要信息的浅层特征,预先建立从特征到目标的映射,以确保重要信息可以传输到更深的层。但是,这种方法会产生错误累积,如果浅层监督在训练过程中丢失信息,后续层将无法检索所需信息

综上所述,上述方法在训练过程和推理过程中都有不同的缺点或问题,在困难任务和小型模型上会更加显著。

从上图可以看出:不同网络架构的随机初始权重输出特征图的可视化结果。

(a) 输入图像,(b) PlainNet,(c) ResNet,(d) CSPNet,和 (e) 本文的GELAN。从这些可视化结果中,提供给目标函数用以计算损失的信息在不同程度上有所丢失,而提议的GELAN架构能够保留最完整的信息,并为计算目标函数提供最可靠的梯度信息。这对于目标检测等任务至关重要,因为信息的完整性直接关系到网络最后预测的准确性。

3 PGI

可编程梯度信息(PGI)就是为了解决输入数据在前馈过程中丢失信息的问题而设计的。PGI机制使得轻量级模型能从辅助监督机制中受益可以应用于各种大小的深度神经网络,更为通用。

① 信息瓶颈

数据X在经过变换时可能会导致信息损失,公式如下:

解决上述问题的方法是增加模型的大小。这一方法允许即使在数据前馈过程中丢失了信息,仍有机会保留足够的信息以执行到目标的映射。上述现象解释了为什么在大多数现代模型中宽度比深度更重要。然而,上述结论不能从根本上解决非常深的神经网络中不可靠梯度的问题。

可逆函数

当函数r具有逆变换函数v的时候,称这个函数r为可逆函数,如下述公式(2)所示。

数据X通过可逆函数转换而不丢失信息,如下述公式(3)所示。当网络的转换函数由可逆函数组成时,可以获得更可靠的梯度来更新模型,如下述公式(4)所示。尝试找到r的逆变换v,以便转换后的特征可以使用稀疏特征保留足够的信息,公式(5)如下所示。信息瓶颈的公式如公式(6)所示。

轻量级模型本身处于欠参数化状态,因此在前馈阶段很容易丢失大量重要信息。因此,对轻量级模型的目标是如何从I(X;X)中准确筛选出I(Y;X)。至于完全保留X的信息,那是难以实现的。因此,本文提出一种新的深度神经网络训练方法,不仅能生成可靠的梯度来更新模型,而且也适用于浅层和轻量级神经网络。

③ PGI

PGI的目的是通过辅助可逆分支(上图中虚线框中的部分)来解决信息瓶颈问题,以便在不增加推理成本的情况下为深度网络提供更可靠的梯度。通过这种设计使得轻量级和浅层的神经网络也可以实现有效的信息保留和准确的梯度更新。

  1. 主分支:只用于推理的架构,因此不需要任何额外的推理成本。
  2. 辅助可逆分支:生成可靠的梯度,以供给主分支进行反向传播,以帮助提取正确和重要的信息,并使主分支能够获取更有效的目标任务特征。旨在处理由神经网络加深造成的信息瓶颈问题。辅助可逆分支可以在推理阶段移除
  3. 多级辅助信息:控制主分支学习可规划的多级语义信息。旨在处理由深度监督造成的误差累积问题,特别是对于具有多个预测分支的架构和轻量型模型。

4 GELAN

GELAN允许支持多种类型的计算块,这使得它可以更好地适应各种不同的计算需求和硬件约束。

5 实验

选择CSP-ELAN作为YOLOv9中GELAN的组成单元。

6 可视化

GELAN有更稳定的结果和更清晰的边界信息。

7 结论

PGI的引入使得轻量级模型和深度模型都能实现精度的显著提升。通过结合PGI和GELAN设计的YOLOv9展现了强大的竞争力。其出色的设计使得深度模型与YOLOv8相比,参数数量减少了49%,计算量减少了43%,但在MS COCO数据集上仍然实现了0.6%的AP提升。

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

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

相关文章

MATLAB实现遗传算法优化BP神经网络预测数值(GABP)

遗传算法(Genetic Algorithm, GA)和反向传播(Back Propagation, BP)神经网络是两种强大的算法,分别用于优化和机器学习。将遗传算法与BP神经网络结合,可以利用遗传算法的全局搜索能力来优化BP神经网络的初始…

Socket 通信机制详解

Socket 是网络编程中一种重要的通信机制,它允许不同的计算机通过网络进行数据交换。 一、 Socket 的概念 Socket(套接字)是计算机网络编程中的一种抽象,它提供了在网络上进行通信的接口。 Socket 本质上是一种通信的端点&#…

C++ ─── 类和对象(上)

目录 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 3.1 类的成员函数两种定义方式: 4.类的访问限定符及封装 4.1 访问限定符 4.2 封装 5.类的作用域 6.类的实例化 7.类对象模型 7.1 如何计算类对象的大小 7.2 结构体内存对齐规则 8.this指针 …

CSS display属性

目录 概述: 设置display示例: none: block: inline: inline-block : 概述: 在CSS中我们可以使用display属性来控制元素的布局,我们可以通过display来设置元素的类型。 在不设置…

IO-序列化流

简介 这个流是为了传输对象而生的对象序列化:把java对象写入到文件中对象反序列化:把文件中的对象读出来 继承体系 ObjectInputStream:把文件中的对象读出来ObjectOutputStream:把java对象写入到文件中 常用API 示例 实体类必须实现序列化接口这其实就是…

【Excel2LaTeX】复杂表格制作的解决方案

刚开始用LaTeX写论文,遇到的第一道坎就是绘制表格,较小的普通表格可以通过简单的语法实现,但是较大的复杂的表格却让我无从下手。 Excel2LaTeX插件 这里介绍一种我用到非常顺手的工具:Excel2LaTeX插件,下载地址&#x…

C语言 【函数】

1.函数概述 函数是一种可重用的代码块&#xff0c;用于执行特定任务或完成特定功能 函数作用&#xff1a;对具备相同逻辑的代码进行封装&#xff0c;提高代码的编写效率&#xff0c;实现对代码的重用 2. 函数的使用 2.1 无参无返回值 #include <stdio.h>// 函数名…

AWS Key disabler:AWS IAM用户访问密钥安全保护工具

关于AWS Key disabler AWS Key disabler是一款功能强大的AWS IAM用户访问密钥安全保护工具&#xff0c;该工具可以通过设置一个时间定量来禁用AWS IAM用户访问密钥&#xff0c;以此来降低旧访问密钥所带来的安全风险。 工具运行流程 AWS Key disabler本质上是一个Lambda函数&…

Methoxy PEG Propionic acid具有良好的亲水性和分子量可控性

【试剂详情】 英文名称 mPEG-PA&#xff0c;mPEG-Propionic acid&#xff0c; Methoxy PEG PA&#xff0c; Methoxy PEG Propionic acid 中文名称 聚乙二醇单甲醚丙酸&#xff0c; 甲氧基-聚乙二醇-丙酸 外观性状 由分子量决定&#xff0c;固体或者液体 分子量 400&…

在Postgres中,如何有效地管理大型数据库的大小和增长

文章目录 一、定期清理和维护1. VACUUM和ANALYZE2. 删除旧数据和归档 二、分区表三、压缩数据四、配置优化1. 调整维护工作负载2. 监控和日志 五、使用外部存储和扩展1. 外部表和FDW2. 扩展和插件 六、定期备份和恢复测试结论 管理大型数据库的大小和增长是数据库管理员&#x…

粒子群算法及基于该算法的典型问题求解实践

说明 我在上个月(3.15&#xff0c;时间过得真快&#xff0c;已经一个月了…)写了两篇关于遗传算法的博文[1]&#xff1a;遗传算法及基于该算法的典型问题的求解实践-CSDN博客 和[2]&#xff1a;基于遗传算法的波束形成优化-仿真实践-CSDN博客&#xff0c;当时关注到该算法时&am…

Vuforia AR篇(一)— 开启AR之门

目录 前言一、 Vuforia Engine简介二、主要功能与特点2.1 图像识别2.2 VuMarks技术2.3 多目标识别2.4 圆柱体目标识别2.5 平面跟踪技术2.6 云服务支持2.7 模型目标识别2.8 区域目标识别 三、平台兼容性四、技术实现结语 前言 随着科技的不断发展&#xff0c;增强现实&#xff…

授权协议OAuth 2.0之如何接入授权服务

写在前面 为了能够更好以场景化的方式来理解OAuth2.0&#xff0c;本文一起看下&#xff0c;假定我们现在要开发一个交友类软件&#xff0c;为了提高用户登录的便利程度&#xff0c;需要对接微信开放平台&#xff0c;获取到用户的微信账号信息&#xff0c;作为用户的注册信息来…

Java面试八股文(JVM篇)(❤❤)

Java面试八股文_JVM篇 1、知识点汇总2、知识点详解&#xff1a;3、说说类加载与卸载11、说说Java对象创建过程12、知道类的生命周期吗&#xff1f;14、如何判断对象可以被回收&#xff1f;17、调优命令有哪些&#xff1f;18、常见调优工具有哪些20、你知道哪些JVM性能调优参数&…

Unity Pro 2019 for Mac:专业级游戏引擎,助力创意无限延伸!

Unity Pro 2019是一款功能强大的游戏开发引擎&#xff0c;其特点主要体现在以下几个方面&#xff1a; 强大的渲染技术&#xff1a;Unity Pro 2019采用了新的渲染技术&#xff0c;包括脚本化渲染流水线&#xff0c;能够轻松自定义渲染管线&#xff0c;通过C#代码和材料材质&…

react v18 项目初始化

按照以下命令进行傻瓜式操作即可&#xff1a; 全局安装脚手架工具&#xff1a; npm install -g create-react-app创建项目my-react-app&#xff1a; create-react-app my-react-app安装 antd: yarn add antd安装 react-router-dom&#xff1a; yarn add react-router-dom启动项…

第十五届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组(基础题)

试题 C: 好数 时间限制 : 1.0s 内存限制: 256.0MB 本题总分&#xff1a;10 分 【问题描述】 一个整数如果按从低位到高位的顺序&#xff0c;奇数位&#xff08;个位、百位、万位 &#xff09;上 的数字是奇数&#xff0c;偶数位&#xff08;十位、千位、十万位 &…

汽车咨询|基于SprinBoot的汽车资讯管理系统设计与实现(源码+数据库+文档)

汽车资讯管理系统目录 基于SprinBoot的汽车资讯管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&#xff…

机器学习基础入门(一)(机器学习定义及分类)

机器学习定义 给予计算机无需特意带有目的性编程便有学习能力的算法 深度学习算法 主要有监督学习和非监督学习两类 监督学习&#xff08;supervised learning&#xff09; 定义 1、学习由x映射到y的映射关系 2、主动给予机器学习算法正确示例&#xff0c;算法通过示例来学习…

意大利侍酒师Galvan Maurizia分享意大利葡萄酒与美食文化魅力

在酒水行业日益繁荣的今天&#xff0c;消费者对酒类产品的品质、文化和品味的追求不断提升。为了满足这一市场需求&#xff0c;云仓酒庄近日宣布开启首届《综合品酒师》培训&#xff0c;旨在培养更多具备专业素养和品鉴能力的品酒师&#xff0c;为酒水行业的专业化和形象提升注…