YOLOv9:一个关注信息丢失问题的目标检测

本文来自公众号“AI大道理”

当前的深度学习方法关注的是如何设计最合适的目标函数,使模型的预测结果最接近地面的真实情况。同时,必须设计一个适当的体系结构,以方便获取足够的预测信息。

现有方法忽略了一个事实,即输入数据在逐层进行特征提取和空间变换时,会丢失大量的信息。

YOLOv9给出了解决方案。

YOLOv9前身是YOLOv7,这是同一个团队。

1、YOLOv9的改进

在反向传播中深层特征层由于更加靠近标签,所以参数更容易更新,而浅层(离输入图片近的对方)由于山高皇帝远比较难以更新。

怎么办?YOLOv9左右开弓,建立辅助头。

右边是熟悉的类似yolov8一样的结构,是标准的neck+head结构。

左边则新建一个backbone,乱七八糟一堆neck,加上head作为辅助头。

有什么用?

backbone一般来说需要从右边的检测头经过neck再慢慢回传,现在YOLOv9有了左边的分支,左边的backbone离检测头要近很多,从这里回传又快损失又少。这个backbone和主路的backbone一模一样,共享参数。

当然这么做只是在训练的时候更好的训练,一旦到了推理和测试阶段,辅助头果断抛弃,只留下标准的右边的结构即可。

这个思想之前在检测头部分已经有了,只不过那时候是为了更好的训练检测头,现在是为了更好的训练浅层部分。

(这个思想怎么这么熟悉,和resnet有异曲同工之妙)

核心改进两点:

  • PGI(可编程梯度信息)

  • GLEAN(广义高效层聚合网络)

2、PGI(可编程梯度信息)

在深度网络的训练过程中,由于层与层之间的复杂映射,有用的信息可能会逐渐丢失,这会导致梯度信号变弱,最终影响网络的学习效率和预测准确性。

PGI是一种旨在解决深度网络中的信息瓶颈问题的策略,它可以为目标任务提供完整的输入信息来计算目标函数,从而获得可靠的梯度信息来更新网络权值。

YOLOv9的PGI技术包括辅助可逆分支和多级辅助信息,这些设计有助于在网络的深层中保留更多的信息,生成更可靠的梯度,从而在训练过程中确保了更准确的目标与输入之间的关联。

(可编程梯度信息的解释:一个高大上的名字,无非就是想说你可以随意回传到哪一层,你可以自己决定,即可编程,主要还是在于这个思想)

PAN (Path Aggregation Network): 这种结构通过聚合不同路径的信息来缓解信息瓶颈问题,但仍然存在信息丢失的问题。

RevCol (Reversible Columns): 这种结构旨在保持信息流的完整性,通过可逆列来避免信息的损失,但代价是计算成本较高。

深度监督 (Deep Supervision): 这个方法通过在网络的不同深度层添加预测头来实现辅助监督,这可以帮助网络学习到多层次的辅助信息,但可能导致信息损坏。

可编程梯度信息 (PGI): 这是论文提出的新方法,它通过辅助可逆分支产生可靠的梯度,以供主分支使用,从而控制主分支在多个语义层次上的学习,这有助于更好地保留语义信息并优化梯度流。

图中的蓝色块代表神经网络中的层,灰色块代表预测头或辅助分支,虚线框高亮了每种方法的关键特征。

3、GLEAN(广义高效层聚合网络)

广义高效层聚合网络(GELAN)是一种新颖的架构,它结合了 CSPNet 和 ELAN 原理来进行梯度路径规划。它优先考虑轻量级设计、快速推理和准确性。GELAN 通过允许任何计算块来扩展 ELAN 的层聚合,从而确保灵活性。

该架构旨在实现高效的特征聚合,同时在速度和准确性方面保持有竞争力的性能。GELAN的整体设计融合了CSPNet的跨级部分连接和ELAN的高效层聚合,以实现有效的梯度传播和特征聚合。

GELAN是将CSPNet和ELAN的特点结合在一起,并扩展以支持任何计算块的新型网络架构。

CSPNet: 这种架构包括一个分裂-合并的过程,它通过在网络的不同层之间分裂和合并特征来提高性能和效率。

ELAN: 这是一种更进一步的架构,它在CSPNet的基础上增加了多个卷积层(conv)的堆叠,每个卷积层都会进行特征转换,之后再进行合并。

GELAN: 提出的GELAN架构不仅模仿了CSPNet的分裂-合并机制,还扩展了ELAN的设计,使其可以使用任何类型的计算块,而不仅限于卷积层。

这种设计增加了网络的灵活性,使其能够根据不同的应用需求选择最合适的计算块。

4、其他

backbone:主要就是多了一条backhone,backbone中使用了RepNCSPELAN4 模块。

neck/head:主要是增加了辅助头。

loss function:loss为DFL Loss + CIoU Loss

正负样本匹配策略:为TaskAlign样本匹配

5、总结

YOLOv9结合了PGI(可编程梯度信息)和GELAN(广义高效层聚合网络)技术来克服信息瓶颈和深度监督在轻量级网络中的不适用性问题。

YOLOv9的PGI技术包括辅助可逆分支和多级辅助信息,这些设计有助于在网络的深层中保留更多的信息,生成更可靠的梯度,从而在训练过程中确保了更准确的目标与输入之间的关联。

(左边的辅助头可以千变万化,又是一个魔改的方向,目测要yolov1000000......)

 ——————

浅谈则止,细致入微AI大道理

扫描下方“AI大道理”,选择“关注”公众号

—————————————————————

  

—————————————————————

投稿吧   | 留言吧

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

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

相关文章

docker安装以及简单使用

如何安装安装 yum install -y yum-utils yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 列出可用的版本 yum list docker-ce.x86_64 --showduplicates | sort -r yum install -y docker-ce-23.0.6-1.el8 #开机自动启动 …

day02_员工管理

文章目录 新增员工需求分析和设计代码开发功能测试代码完善录入的用户名已存在,抛出异常后没有处理新增员工的时候,创建人id和修改人id设置为了固定值ThreadLocal(面试题) 分页查询问题解决 启用禁用员工账号需求和分析代码设计 编…

Vue3项目打包优化

前言 本文介绍在实际项目中进行打包优化过程 目前评分 good npm install web-vitals在App.vue加入如下代码测试网页性能指标 import { onLCP, onINP, onCLS, onFCP, onTTFP } from web-vitals/attributiononCLS(console.log) onINP(console.log) onLCP(console.log) onFCP(…

cfDNA甲基化疾病早筛研究思路分享

游离DNA(Circulating free DNA,cfDNA)是人体组织释放到血液等循环体系中降解的DNA片段,是一种新型的肿瘤分子标志物。ctDNA甲基化是重要的表观学修饰之一,可以在不改变基因序列的情况下,改变遗传表现&#…

身边的故事(十五):阿文的故事:再消失

物镜人非,沧海桑田。像我们这些普通的凡人,哪有什么试错的机会,每走一步都是如履薄冰,小心谨慎,错一步可能就会万劫不复。唉,如果...唉...哪有什么如果... 阿文的房子很快装修完成,入新房那天就…

ubantu安装k8s集群服务

进行主机优化配置 参考&#xff1a; 修改主机名称 hostnamectl set-hostname k8s-node03 关闭swap分区 swapoff -a #临时关闭 sed -i /\/swap/s/^/# /etc/fstab #永久关闭 增加主机解析 cat >> /etc/hosts << EOF 10.1.60.119 k8s-master01 10.1.60.12…

zdppy+onlyoffice+vue3解决文档加载和文档强制保存时弹出警告的问题

解决过程 第一次排查 最开始排查的是官方文档说的 https://api.onlyoffice.com/editors/troubleshooting#key 解决方案。参考的是官方的 https://github.com/ONLYOFFICE/document-server-integration/releases/latest/download/Python.Example.zip 基于Django的Python代码。 …

短视频美化:成都柏煜文化传媒有限公司

短视频美化&#xff1a;创意与技术的艺术交融 在数字时代的浪潮中&#xff0c;短视频以其独特的魅力迅速崛起&#xff0c;成为人们生活中不可或缺的一部分。从记录生活点滴到分享创意灵感&#xff0c;短视频以其短小精悍、形式多样的特点&#xff0c;让每个人都能成为自己故事…

Linux安装elasticsearch单机版

一、检查内核 uname -a uname -m 二、下载版本 下载版本选择自己服务器相同的内核版本 我这边是aaech64 ES下载地址 Kibana 下载地址 二、上传服务器解压 tar -xvf elasticsearch-8.14.1-linux-aarch64.tar.gz 三、安装ES 因为ES不能用root用户启动先创建用户 #新增 es …

vue-cli 脚手架详细介绍

4 vue-cli 脚手架 1 脚手架介绍 vue-cli也叫vue脚手架,vue-cli是vue官方提供的一个全局命令工具&#xff0c;这个命令可以帮助我们快速的创建一个vue项目的基础架子。 脚手架&#xff1a;搭建好的一个架子&#xff0c;我们在架子上进行开发 开箱即用零配置基于webpack、webpac…

新增多种图表类型,新增插件管理模块,DataEase开源数据可视化分析工具v2.8.0发布

2024年7月8日&#xff0c;人人可用的开源数据可视化分析工具DataEase正式发布v2.8.0版本。 这一版本的功能变动包括&#xff1a;图表方面&#xff0c;新增组合图、热力地图、符号地图、K线图等图表类型&#xff0c;并对已有的仪表盘、明细表、指标卡、富文本等图表类型进行了功…

【已解决】微信小程序报错:request 合法域名校验出错 如若已在管理后台更新域名配置,请刷新项目配置后重新编译项目,操作路径:“详情-域名信息”

场景复现 最近在写微信小程序时&#xff0c;打开开发者工具会出现一下报错&#xff0c;甚至连手机移动端使用时也会出现“网络出错了”这样的错误提示。 解决方法 查看微信官方的文档和网上的一些解决方法&#xff0c;可以按照下面的图文步骤进行设置&#x1f447;&#x1f4…

caeses软件许可优化解决方案

Caeses软件介绍 CAESES是一款十分很不错的三维建模仿真的软件。它功能很大、优化效率高、可以自动化优化、分析工具快速 CAESES拥有多种不同的试验设计及单目标、多目标优化算法&#xff0c;能够根据仿真计算评估的结果。软件可以帮助用户轻松的打造出自各种船舶、汽车、航空航…

Ai Native应用开发(一)--数字人

背景 刚参加完24年世界人工智能大会&#xff08;WAIC&#xff09;&#xff0c;聊聊自己的一些感受。这次会明显比去年多很多人&#xff0c;用人山人海来形容应该也不为过。根据我自己粗浅观察参会的人员也比去年更多样化。去年更多还是从业者或者是这块研究人员。今年每个论坛…

sql盲注

文章目录 布尔盲注时间盲注 布尔盲注 介绍&#xff1a;在网页只给你两种回显的时候是用&#xff0c;类似于布尔类型的数据&#xff0c;1表示正确&#xff0c;0表示错误。 特点&#xff1a;思路简单&#xff0c;步骤繁琐且麻烦。 核心函数&#xff1a; length()函数substr()函…

day4单向链表

主程序 #include "fun.h" int main(int argc, const char *argv[]) { node_p Lcreate_head();//创建链表 printf("########################链表的头插尾插\n"); insert_head(L,45);//头插 insert_head(L,45); insert_tail(L,45);/…

Go-Zero 框架使用 MongoDB,数据采集入库如此简单

目录 引言 环境准备 如何使用 main入口代码实现 实现采集网络接口 总结 其他资源 引言 Go-Zero 是一个高性能、可扩展的微服务框架&#xff0c;专为 Go 语言设计。它提供了丰富的功能&#xff0c;如 RPC、RESTful API 支持、服务发现、熔断器、限流器等&#xff0c;使开…

PyQt5显示QImage并将QImage转换为PIL图像保存到缓存

PyQt5显示QImage并将QImage转换为PIL图像保存到缓存 1、效果图 2、流程 1、获取摄像头资源,打开摄像头 2、截取图像 3、opencv读的通道是BGR,要转成RGB 4、往显示视频的Label里显示QImage 5、将QImage转换为PIL图像,并保存到缓存 6、获取图像中人脸信息3、代码 # -*- codin…

2024年【安全员-C证】考试及安全员-C证免费试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-C证考试根据新安全员-C证考试大纲要求&#xff0c;安全生产模拟考试一点通将安全员-C证模拟考试试题进行汇编&#xff0c;组成一套安全员-C证全真模拟考试试题&#xff0c;学员可通过安全员-C证免费试题全真模…

论文解析——Full Stack Optimization of Transformer Inference: a Survey

作者及发刊详情 摘要 正文 主要工作贡献 这篇文章的贡献主要有两部分&#xff1a; 分析Transformer的特征&#xff0c;调查高效transformer推理的方法通过应用方法学展现一个DNN加速器生成器Gemmini的case研究 1&#xff09;分析和解析Transformer架构的运行时特性和瓶颈…