YOLOv9|加入2023Gold YOLO中的GD机制!遥遥领先!

2024-03-16 10:04

本文主要是介绍YOLOv9|加入2023Gold YOLO中的GD机制!遥遥领先!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,助力高效涨点!!!


一、Gold YOLO摘要

        在过去的几年里,YOLO系列模型已经成为实时目标检测领域的领先方法。许多研究通过修改体系结构、增加数据和设计新的损失,将基线提高到了更高的水平。然而,我们发现以前的模型仍然存在信息融合问题,尽管特征金字塔网络(FPN)和路径聚合网络(PANet)已经缓解了这一问题。因此,本研究提供了一种先进的聚集和分布机制(GD)机制,该机制通过卷积和自注意操作来实现。这个新设计的模型名为Gold YOLO,它增强了多尺度特征融合能力,并在所有模型尺度上实现了延迟和准确性之间的理想平衡。


二、Gold YOLO模块详解

 2.1 模块简介

       Gold yolo的主要思想: 使用GD(gather-and-distribute)机制代替现有的通过不停间接迭代融合不同level的信息的机制​​​​​​​。

        GD由3种模块组成:FAM(Feature Alignment Module,特征对齐模块)、IFM(Information Fusion Module,信息融合模块)、Inject(Information Injection Module,信息注入模块)。其中FAM与IFM用于特征收集,Inject用于分发。

        low-GD主要用于融合模型浅层的特征信息,取代原Neck中的FPN结构,输入为B2,B3,B4,B5的特征张量。输入的特征张量首先通过Low-FAM进行空间尺度对齐并拼接在一起,之后送入IFM模块。分别经过Conv、RepVGGBlock、Conv进行特征提取融合,最后Split,送入Inject模块。

        high-GD主要用于融合模型深层的特征信息,取代原Neck中的FPN结构,输入为P3,P4,P5的特征张量。输入的特征张量首先通过High-FAM进行空间尺度对齐并拼接在一起,之后送入IFM模块。分别经过多头注意力机制和前向网络进行特征提取融合,最后Split,送入Inject模块。

        Inject模块输入有两个,一个是x_local,一个是x_global,也就是GD中处理完的特征张量。通过图中的Conv与空间的缩放操作与x_local进行特征融合,融合方式主要为点积和相加。


三、 GD模块使用教程

3.1 GD模块的代码


3.2 在YOLO v9中的添加教程


3.3 运行配置文件

这部分文章暂不开源!

⭐现在入手仅$ 59.9,早入早发论文!⭐

联系QQ: 2668825911 ,欢迎交流!

本项目持续更新,不付费订阅也可关注等每周更新,每周开源1-2篇。


这篇关于YOLOv9|加入2023Gold YOLO中的GD机制!遥遥领先!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/815121

相关文章

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

Jvm sandbox mock机制的实践过程

《Jvmsandboxmock机制的实践过程》:本文主要介绍Jvmsandboxmock机制的实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、背景二、定义一个损坏的钟1、 Springboot工程中创建一个Clock类2、 添加一个Controller

Dubbo之SPI机制的实现原理和优势分析

《Dubbo之SPI机制的实现原理和优势分析》:本文主要介绍Dubbo之SPI机制的实现原理和优势,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Dubbo中SPI机制的实现原理和优势JDK 中的 SPI 机制解析Dubbo 中的 SPI 机制解析总结Dubbo中

Java 的 Condition 接口与等待通知机制详解

《Java的Condition接口与等待通知机制详解》在Java并发编程里,实现线程间的协作与同步是极为关键的任务,本文将深入探究Condition接口及其背后的等待通知机制,感兴趣的朋友一起看... 目录一、引言二、Condition 接口概述2.1 基本概念2.2 与 Object 类等待通知方法的区别

嵌入式Linux驱动中的异步通知机制详解

《嵌入式Linux驱动中的异步通知机制详解》:本文主要介绍嵌入式Linux驱动中的异步通知机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、异步通知的核心概念1. 什么是异步通知2. 异步通知的关键组件二、异步通知的实现原理三、代码示例分析1. 设备结构

JVM垃圾回收机制之GC解读

《JVM垃圾回收机制之GC解读》:本文主要介绍JVM垃圾回收机制之GC,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、死亡对象的判断算法1.1 引用计数算法1.2 可达性分析算法二、垃圾回收算法2.1 标记-清除算法2.2 复制算法2.3 标记-整理算法2.4

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

SpringRetry重试机制之@Retryable注解与重试策略详解

《SpringRetry重试机制之@Retryable注解与重试策略详解》本文将详细介绍SpringRetry的重试机制,特别是@Retryable注解的使用及各种重试策略的配置,帮助开发者构建更加健... 目录引言一、SpringRetry基础知识二、启用SpringRetry三、@Retryable注解