深度学习(十一):YOLOv9之最新的目标检测器解读

YOLOv9

  • 1.YOLOv9:物体检测技术的飞跃发展
    • 1.1 YOLOv9 简介
    • 1.2YOLOv9 的核心创新
      • 1.2.1信息瓶颈:神经网络在抽取相关性时的理论边界
      • 1.2.2可逆函数:保留完整的信息流
      • 1.2.3对轻型模型的影响:解决信息丢失
      • 1.2.4可编程梯度信息 (PGI):解决信息瓶颈
      • 1.2.5通用高效层聚合网络(GELAN):实现更高的参数利用率和计算效率
      • 1.2.6结论:合作与创新
  • 2.代码

1.YOLOv9:物体检测技术的飞跃发展

YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information
有关YOLOv9的论文和代码
代码
论文
在这里插入图片描述

YOLOv9 引入了可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN) 等开创性技术,标志着实时目标检测领域的重大进步。该模型在效率、准确性和适应性方面都有显著提高,在 MS COCO 数据集上树立了新的标杆。

1.1 YOLOv9 简介

在追求最佳实时物体检测的过程中,YOLOv9 以其创新的方法克服了深度神经网络固有的信息丢失难题,脱颖而出。通过整合 PGI 和多功能 GELAN 架构,YOLOv9 不仅增强了模型的学习能力,还确保了在整个检测过程中保留关键信息,从而实现了卓越的准确性和性能。

1.2YOLOv9 的核心创新

1.2.1信息瓶颈:神经网络在抽取相关性时的理论边界

信息瓶颈理论认为,网络像把信息从一个瓶颈中挤压出去一般,去除掉那些含有无关细节的噪音输入数据,只保留与通用概念最相关的特征

2015年,Tishby和他的学生Noga Zaslavsky假设深度学习是一个信息瓶颈过程,尽可能地压缩噪声数据,同时保留数据所代表的信息 。Tishby和Shwartz-Ziv对深度神经网络的新实验揭示了瓶颈过程如何实际发生的。在一种情况下,研究人员使用小型神经网络,使用随机梯度下降和BP,经过训练后,能够用1或0(也即“是狗”或“不是狗”)标记输入数据,并给出其282个神经连接随机初始强度,然后跟踪了网络在接收3000个样本输入数据集后发生了什么。

实验中,Tishby和Shwartz-Ziv跟踪了每层网络保留了多少输入中的信息和输出标签中的信息。结果发现,信息经过逐层传递,最终收敛到信息瓶颈的理论边界:也就是Tishby、Pereira和Bialek在他们1999年论文中推导出的理论界限,代表系统在抽取相关信息时能够做到的最好的情况。在这个边界上,网络在没有牺牲准确预测标签能力的情况下,尽可能地压缩输入。

论文

I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))

其中 I 表示互信息,而 f 和 g 表示带参数的变换函数 theta 和 phi分别为YOLOv9 通过实施可编程梯度信息(PGI)应对了这一挑战,PGI 有助于保留整个网络深度的重要数据,确保更可靠的梯度生成,从而提高模型的收敛性和性能。

1.2.2可逆函数:保留完整的信息流

可逆函数的概念是 YOLOv9 设计的另一个基石。如果一个函数可以在不丢失任何信息的情况下被反转,那么这个函数就被认为是可逆的:

X = v_zeta(r_psi(X))

与 psi 和 zeta 分别作为可逆函数及其反函数的参数。这一特性对深度学习架构至关重要,因为它能让网络保留完整的信息流,从而更准确地更新模型参数。YOLOv9 在其架构中加入了可逆函数,以降低信息退化的风险,尤其是在较深的层中,从而确保为物体检测任务保留关键数据。

似乎不好理解为什么要引入可逆函数?

简而言之,其目的是为了让网络保留完整的信息流

什么样的神经网络不丢失信息

  1. 变量离散
    互信息公式
    I ( X ; Y ) = E X , Y log ⁡ P ( X , Y ) P ( X ) P ( Y ) = E X , Y log ⁡ P ( X ∣ Y ) P ( X ) I(X;Y)=E_{X,Y}\log\frac{P(X,Y)}{P(X)P(Y)}=E_{X,Y}\log\frac{P(X|Y)}{P(X)} I(X;Y)=EX,YlogP(X)P(Y)P(X,Y)=EX,YlogP(X)P(XY)
    如果神经网络是可逆的, 因为一个X只对应一个Y,那么 P ( X ∣ Y ) = 1 P(X|Y)=1 P(XY)=1
    如果神经网络不可逆,因为多个X会对应同一个Y,就会有 P ( X ∣ Y ) < 1 P(X|Y)<1 P(XY)<1
    也就是说, 如果神经网络是可逆的, 那么X和Y的互信息是最大的.
  2. 变量连续
    根据Physical Review E的一篇文章"Estimating mutual information"的一个结论, 如果我们对于变量的变换是平滑(smooth)的, 并且是可逆(invertible)的, 那么互信息可以保持不变性。也就是说:
    I ( X ; Y ) = I ( f ( X ) ; g ( Y ) ) I(X;Y)=I(f(X);g(Y)) I(X;Y)=I(f(X);g(Y))
    在这里 f f f g g g都是连续可逆函数。那么, 如果函数 f ( X ) = X f(X)=X f(X)=X , 该函数可逆, 函数 g ( X ) g(X) g(X)则为我们的神经网络, 也是可逆的, 我们有:
    I ( X ; X ) = I ( f ( X ) ; g ( X ) ) = I ( X ; Y ) I(X;X)=I(f(X);g(X))=I(X;Y) I(X;X)=I(f(X);g(X))=I(X;Y)
    结果说明:输出 Y Y Y有输入 X X X所有的信息。
    这篇文章在这里。
    论文

1.2.3对轻型模型的影响:解决信息丢失

解决信息丢失问题对于轻量级模型尤为重要,因为轻量级模型通常参数化不足,在前馈过程中容易丢失大量信息。YOLOv9 的架构通过使用 PGI 和可逆函数,确保即使是精简的模型,也能保留并有效利用准确检测物体所需的基本信息。

1.2.4可编程梯度信息 (PGI):解决信息瓶颈

PGI 是 YOLOv9 为解决信息瓶颈问题而引入的一个新概念,可确保在深层网络中保留重要数据。这样就可以生成可靠的梯度,促进模型的准确更新,提高整体检测性能。

YOLOv9

PGI主要包括三个组成部分,即==(1)主分支,(2)辅助可逆分支,(3)多级辅助信息。==从图 (d) 中我们可以看到,PGI 的推理过程仅使用 main 分支,因此不需要任何额外的推理成本。至于其他两个组件,它们用于解决或减缓深度学习方法中的几个重要问题。其中,辅助可逆分支旨在处理神经网络深化带来的问题。网络深化会造成信息瓶颈,使损失函数无法生成可靠的梯度。对于多级辅助信息,旨在处理深度监管导致的误差累积问题,特别是针对多预测分支的架构和轻量级模型。

1.2.5通用高效层聚合网络(GELAN):实现更高的参数利用率和计算效率

GELAN 是一项战略性的架构进步,使 YOLOv9 能够实现更高的参数利用率和计算效率。它的设计允许灵活集成各种计算模块,使 YOLOv9 能够适应广泛的应用,而不会牺牲速度或精度。
在这里插入图片描述

我们将介绍拟议的新网络架构 – GELAN。通过结合两种神经网络架构,CSPNet[64]和
ELAN[65],采用梯度路径规划设计,我们设计了考虑轻量级、推理速度和准确性的广义高效层聚合网络 (GELAN)。其整体架构如图 4
所示。我们推广了ELAN的能力[65],最初只使用卷积层的堆叠,到可以使用任何计算块的新架构。

1.2.6结论:合作与创新

YOLOv9 代表了实时目标检测领域的关键发展,在效率、准确性和适应性方面都有显著提高。通过 PGI 和 GELAN 等创新解决方案解决关键挑战,YOLOv9 为该领域的未来研究和应用开创了新的先例。随着人工智能领域的不断发展,YOLOv9 充分证明了合作与创新在推动技术进步方面的力量。

2.代码

在下一篇。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

掘根宝典之C++迭代器简介

在C中&#xff0c;容器是一种用于存储和管理数据的数据结构。C标准库提供了多种容器&#xff0c;每种容器都有其独特的特点和适用场景。 我们知道啊&#xff0c;我们可以通过下标运算符来对容器内的元素进行访问&#xff0c;但是只有少数几种容器才同时支持下标运算符&#xf…

Leetcode 3.12

leetcode hot 100 链表1.两两交换链表中的节点2.随机链表的复制3.排序链表 链表 1.两两交换链表中的节点 两两交换链表中的节点 1.必须要设置一个dummy (temp) 结点2.保存第二个节点3.先让第一个节点指向第三个节点4.再让第二个节点指向第一个节点5.最后让dummy指向第二个节点…

2024 年 2 月 NFT 行业动态:加密货币飙升,NFT 市场调整

作者&#xff1a;stellafootprint.network 数据来源&#xff1a;NFT 研究页面 - Footprint Analytics 2024 年 2 月&#xff0c;加密货币与 NFT 市场显现出了复杂性。该月&#xff0c;NFT 领域的交易量达到 12 亿美元&#xff0c;环比下降了 3.7%。值得关注的是&#xff0c;包…

AI智能分析网关V4将HTTP消息推送至安防监控视频汇聚EasyCVR平台的操作步骤

TSINGSEE青犀视频智能分析网关V4内置了近40种AI算法模型&#xff0c;支持对接入的视频图像进行人、车、物、行为等实时检测分析&#xff0c;上报识别结果&#xff0c;并能进行语音告警播放。硬件管理平台支持RTSP、GB28181协议、以及厂家私有协议接入&#xff0c;可兼容市面上常…

从根到叶:深入了解Map和Set

窗间映出一片高远的天空&#xff0c; 向晚的天际宁静而又清明。 我孤独的心灵在幸福地哭泣&#xff0c; 它在为天空如此美好而高兴。 恬静的晚霞一片火红&#xff0c; 晚霞灼烧着我的热情。 此刻的世界没有别人&#xff0c; 只有上帝&#xff0c;我和天空。 ——&#x…

利用“定时执行专家”软件的25种任务与12种触发器,提升IT系统管理自动化水平

在IT系统管理中&#xff0c;自动化是提高工作效率、减少人为错误的关键。而《定时执行专家》这款软件&#xff0c;以其强大的功能、易用性和毫秒级的执行精度&#xff0c;成为了IT系统管理员的得力助手。今天&#xff0c;我们就来探讨一下如何利用这款软件的25种任务类型和12种…

【AI绘画】AI绘画免费网站推荐

人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是指一种模拟人类智能的技术。它是通过计算机系统来模拟人的认知、学习和推理能力&#xff0c;以实现类似于人类智能的行为和决策。人工智能技术包含多个方面&#xff0c;包括机器学习、深度学习、自…

unity3d Animal Controller的动物组件使用明天继续

控制器介绍 动物脚本负责控制动物的所有运动逻辑.它管理所有的动画师和刚体参数,以及所有的状态和模式,动物可以做。 动物控制器 是一个动画框架控制器,根动或到位,为任何生物或人形。它利用刚体与物理世界的互动和动画师的玩动画。 States States 是不互相重叠的动画。例如…

Android Kotlin知识汇总(三)Kotlin 协程

Kotlin的重要优势及特点之——结构化并发 Kotlin 协程让异步代码像阻塞代码一样易于使用。协程可大幅简化后台任务管理&#xff0c;例如网络调用、本地数据访问等任务的管理。本主题介绍如何使用 Kotlin 协程解决以下问题&#xff0c;从而让您能够编写出更清晰、更简洁的应用代…

Docker进阶:深入了解容器数据卷

Docker进阶&#xff1a;深入了解容器数据卷 一、前言二、容器数据卷的作用三、容器数据卷的使用方法四、实战--使用docker部署前端项目&#xff08;数据卷挂载&#xff09;4.1 重要&#xff1a;准备工作&#xff0c;先在本地创建挂载目录4.2 启动一个临时的nginx容器&#xff0…

vscode使用npm命令无反应,而终端可以的解决办法

如若你遇到这种情况 使用命令 get-command npm 去下面这个路径把它删掉就可以了

初识Spring MVC

什么是Spring MVC? 官方给的解释是 Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架&#xff0c;从⼀开始就包含在 Spring 框架中。它的 正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc)&#xff0c;但它通常被称为"Spring MVC" 注:Severlet是…

离线下载的pytorch/torchvision/torchaudio

链接&#xff1a;https://download.pytorch.org/whl/torch_stable.html 下载pytorch-torchvision-torchaudio等一系列一定要版本匹配&#xff0c;并且如果是在gpu上跑的话&#xff0c;一定要都是cu版本 参考链接&#xff1a;https://blog.csdn.net/AiTanXiing/article/detail…

C语言 ——关键字

关键字&#xff1a;在C语言中被赋予了特定含义的英文单词&#xff0c;一共有32个关键字 * 关键字全部小写 * 在特定的编译器中&#xff0c;关键字是高亮显示的 vs&#xff1a;蓝色或者紫色 vs&#xff1a;蓝色 下图圈起来的都是关键字 c auto break case char const con…

Codeforces Round 933 (Div. 3) --- G. Rudolf and Subway --- 题解

G. Rudolf and Subway&#xff1a; 题目大意&#xff1a; 思路解析&#xff1a; 这道题很容易看出是一个最短路的图论问题&#xff0c;但是Java普通最短路常数有点高会被卡。 因为他是地铁线路&#xff0c;线路一定是一直连着的&#xff0c;不会中间断开&#xff0c;那我们可以…

Android Studio开发项目——记账簿应用

项目资源&#xff1a; 百度网盘链接&#xff1a;https://pan.baidu.com/s/1zN9lrIypi1t_QpuoBcdBNQ?pwdxj5h 提取码&#xff1a;xj5h 项目设计内容 1.基本功能描述 电子记账本是一种在线财务管理工具&#xff0c;用于帮助用户记录和管理他们的收入与支出。以下是电…

行业突破!四信实现低延时摄像头弱网状态100ms以内实时传输

随着人工智能、大数据、区块链等技术在城市中快速发展&#xff0c;人们日常生活中已经离不开网络的支撑&#xff0c;而实现“人与人”、“人与物”及“物与物”之间高速连接应用的“时延”&#xff0c;是网络支撑中最重要的存在。 以城市生活例子为例&#xff0c;当网络延时出现…

刷题日记——16进制不进位加法(厦门大学机试)

例题 分析 输入 本题解题关键在于输入的两个数位数不同时候需要尾数对齐&#xff0c;由于是16进制输入&#xff0c;含有字母&#xff0c;需要当作字符串输入&#xff0c;当然输出也要字母&#xff0c;那么就需要我们的两个老伙计了&#xff0c;一个是map&#xff0c;另一个是…

第五篇【传奇开心果系列】Python的自动化办公库技术点案例示例:深度解读Pandas在教育数据和研究数据处理领域的应用

传奇开心果博文系列 系列博文目录Python的自动化办公库技术点案例示例系列 博文目录前言一、Pandas 在教育和学术研究中的常见应用介绍二、数据清洗和预处理示例代码三、数据分析和统计示例代码四、数据可视化示例代码五、时间序列分析示例代码六、数据导入和导出示例代码七、数…

搜维尔科技:工作室选择 OptiTrack 进行新的虚拟制作舞台

35North Studios 成立于 2020 年&#xff0c;是一家最先进的制作工作室。他们的全方位服务方法可帮助电影制片人和企业在一个设备齐全且先进的地点规划、拍摄、编辑、评分和完成项目。该工作室位于爱荷华州克利尔湖&#xff0c;为创作者提供了一个安静的空间&#xff0c;让他们…