请你继续卷:YOLOV9

简介: 请你继续卷:YOLOV9

引言

  yolov7-depth,yolov7-3d挂了两年还没出,真是服了,现在又搞个yolov9。吐槽归吐槽,但新菜来了,又怎能忍住不品尝呢?大家通过我的吐槽隐约可以得到一个结论:yolov7和yolov9是同一拨作者。在这里我们一起看看最新的yolov9有哪些变化呢?

前言

  现在的深度学习方法集中在如何设计最合适的目标函数,使模型的检测结果更接近真值。同时,一个合适的架构可以充分获取足够的信息以进行预测,但这需要精妙的设计。现在存在的方法忽略了这样的一个事实:当输入数据经历逐层特征时空间转换,大量的信息会丢失。在yolov9这篇文章中主要是在讨论:当数据通过深度网络传输时数据丢失的情况,即信息瓶颈和可逆函数。

核心贡献:

  1. YOLOv9从可逆函数角度理论上分析了现有的CNN架构,基于这种分析,YOLOv9作者还设计了PGI和辅助可逆分支,并取得了优秀的结果;
  2. YOLOv9用到的PGI解决了深度监督只能用于极深的神经网络架构的问题,因此使得新的轻量级架构才更适合落地;
  3. YOLOv9中设计的GELAN仅使用传统卷积,就能实现比基于最先进技术的深度可分卷积设计更高的参数使用率,同时展现出轻量级、快速和精确的巨大优势;
  4. 基于所提出的PGI和GELAN,YOLOv9在MS COCO数据集上的性能在所有方面都大大超过了现有的实时目标检测器。

综合比对

GELAN

  通过下图我们可以得到在更小parameter的可以获取更高的精度。这是受益于广义有效聚合网络(GELAN),设计了基于梯度路径规划设计GELAN。

image.png

  在深度学习中向前传播过程中数据会存在丢失,这种丢失现象通常被描述为信息瓶颈问题。如下图所示,在不同网络结构的随机初始权重输出特征映射的可视化结果,从左至右分别是:原始图像、PlainNet、ResNet、CSPNet、GELAN 在图中我们可以看到在不同体系结构中GELAN可以保持最为完整的信息,这为计算目标函数提供了最可靠的梯度信息。


image.png

  GELAN通过结合两种神经网络架构,即结合用梯度路径规划(CSPNet)和(ELAN)设计了一种广义的高效层聚合网络(GELAN);GELAN综合考虑了轻量级、推理速度和准确度。GELAN整体架构如下图所示:

image.png

YOLOv9将ELAN的能力进行了泛化,原始ELAN仅使用卷积层的堆叠,而GELAN可以使用任何计算块作为基础Module。

PGI

  PGI及相关的网络架构和方法如下图所示。其主要组成部分为:

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

image.png   

根据图中的信息传递可得到PGI在推理的过程中仅使用主分支,所以不需要额外的推理成本。这一设计精巧地应对了深度学习中的关键挑战,通过两个关键组件提升模型性能:

1.辅助可逆分支:引入此组件是为了解决随着网络深度增加而引发的信息瓶颈问题。这种信息瓶颈会干扰损失函数生成有效梯度的能力,辅助可逆分支通过保持信息流动的完整性来克服这一障碍。

2.多级辅助信息:此部分旨在解决深度监督可能导致的误差累积问题,尤其是在拥有多个预测分支的结构和轻量级模型中。通过引入多级辅助信息,模型能够更有效地学习并减少误差传播

  【最先进的实时对象检测器的比较:】从下表中的比对信息可以看出在2D领域的目标检测yolov9性能的确top,后续应该会有各种魔改v9的操作吧。

image.png

  GELAN的pan特征图(可视化结果)和yolov9(gelen+pgi)采用热启动。gelan在初始阶段有一些不同,但是在加入了PGI后可逆分支,它能更好的聚焦于目标检测。

image.png

相关文章
|
人工智能 并行计算 PyTorch
【PyTorch&TensorBoard实战】GPU与CPU的计算速度对比(附代码)
【PyTorch&TensorBoard实战】GPU与CPU的计算速度对比(附代码)
1541 0
|
人工智能 算法 计算机视觉
我的自描外挂制作日志——FPS类游戏的自瞄【构思准备】
我的自描外挂制作日志——FPS类游戏的自瞄【构思准备】
1493 0
|
人工智能 JavaScript 开发工具
MCP详解:背景、架构与应用
模型上下文协议(MCP)是由Anthropic提出的开源标准,旨在解决大语言模型与外部数据源和工具集成的难题。作为AI领域的“USB-C接口”,MCP通过标准化、双向通信通道连接模型与外部服务,支持资源访问、工具调用及提示模板交互。其架构基于客户端-服务器模型,提供Python、TypeScript等多语言SDK,方便开发者快速构建服务。MCP已广泛应用于文件系统、数据库、网页浏览等领域,并被阿里云百炼平台引入,助力快速搭建智能助手。未来,MCP有望成为连接大模型与现实世界的通用标准,推动AI生态繁荣发展。
10495 66
|
存储 安全 Windows
U盘文件损坏且无法读取怎么修复?五个方法帮你搞定
U盘文件目录损坏无法读取可能是硬件、软件或人为操作导致的问题。修复方法包括:1) 使用数据恢复软件提取重要文件;2) 运行Windows的磁盘检查工具;3) 格式化U盘(数据会丢失);4) 检查U盘健康状况,如坏道修复;5) 若硬件故障,联系官方售后。在修复前,记得先备份数据。加强数据备份能减少损失。
|
人工智能 自然语言处理 前端开发
牛x,这也许是Coze(字节)平替,AIFlowy:企业级AI应用开发平台
AIFlowy 是一个基于 Java 的企业级开源 AI 应用开发平台,专为中国 toB 场景打造。它提供可视化 AI 工作流编排、大模型配置与市场、RAG 知识库、Bot 应用、素材中心及系统管理模块,帮助企业快速构建和部署 AI 应用。平台支持多样模型接入、复杂流程组装、素材生成及系统治理,适用于智能客服、知识运营、营销素材生产等场景。技术栈成熟,本土化支持良好,具备完整的开发、部署和管理能力,是企业级 AI 落地的理想选择。
1345 0
|
机器学习/深度学习 算法 Java
Java 大视界 -- Java 大数据在智能物流运输车辆智能调度与路径优化中的技术实现(218)
本文深入探讨了Java大数据技术在智能物流运输中车辆调度与路径优化的应用。通过遗传算法实现车辆资源的智能调度,结合实时路况数据和强化学习算法进行动态路径优化,有效提升了物流效率与客户满意度。以京东物流和顺丰速运的实际案例为支撑,展示了Java大数据在解决行业痛点问题中的强大能力,为物流行业的智能化转型提供了切实可行的技术方案。
|
缓存 自然语言处理 安全
快速调用 Deepseek API!【超详细教程】
Deepseek 强大的功能,在本教程中,将指导您如何获取 DeepSeek API 密钥,并演示如何使用该密钥调用 DeepSeek API 以进行调试。
|
SQL 关系型数据库 数据库
C语言与数据库:使用C语言操作SQLite等数据库。
C语言与数据库:使用C语言操作SQLite等数据库。
|
消息中间件 存储 Java
Kafka 如何避免重复消费?
在Apache Kafka中,避免消息的重复消费是确保数据准确处理的关键。本文详细介绍了七种避免重复消费的方法:使用消费者组、幂等生产者、事务性生产者与消费者、手动提交偏移量、外部存储管理偏移量、去重逻辑及幂等消息处理逻辑。每种方法均有其优缺点,可根据实际需求选择合适方案。结合消费者组、手动提交偏移量和幂等处理逻辑通常是有效策略,而对于高一致性要求,则可考虑使用事务性消息。
3070 0
|
应用服务中间件 网络安全 nginx
Nginx配置同时访问http和https
Nginx配置同时访问http和https
2978 1

热门文章

最新文章