【目标检测】——Gold-YOLO为啥能超过YOLOV8

华为
https://arxiv.org/pdf/2309.11331.pdf
文章的出发点:FPN中的信息传输问题

1. 简介

基于全局信息融合的概念,提出了一种新的收集和分发机制(GD),用于在YOLO中进行有效的信息交换。通过全局融合多层特征并将全局信息注入到更高的层次,显著增强了NECK的信息融合能力,提高了模型在不同对象大小上的性能。具体来说,GD机制包括两个分支:一个浅层收集和分发分支和一个深层收集和分发分支,它们通过卷积基础块和注意力基础块提取和融合特征信息。为了进一步促进信息流动,我们引入了一个轻量级的相邻层融合模块,它在局部范围内结合了来自相邻层的特征。我们的Gold-YOLO架构超越了现有的YOLO系列,有效地展示了我们提出的方法的有效性。

为了进一步提高模型的准确性,我们还引入了一种预训练方法,我们使用MAE方法在ImageNet 1K上预训练模型的主干网络,这显著提高了模型的收敛速度和准确性。例如,我们的Gold-YOLO-S经过预训练后,实现了46.4%的AP,超过了之前的SOTA YOLOv6-3.0-S的45.0%的AP,同时速度相似。

2. method

现有Neck的问题
传统上,不同层次的特征携带了关于各种大小对象的位置信息。较大的特征包含了较小对象的低维纹理细节和位置。相反,较小的特征包含了较大对象的高维信息和位置。特征金字塔网络(FPN)的原始思想是,这些不同的信息可以通过相互协助来提高网络性能。FPN提供了一种有效的架构设计,通过跨尺度连接和信息交换来融合多尺度特征,从而提高了对各种大小对象的检测精度。

基于FPN,路径聚合网络(PANet)引入了一个自下而上的路径,使得不同层次之间的信息融合更为充分。类似地,EfficientDet提出了一种新的可重复模块(BiFPN),以提高不同层次之间信息融合的效率。M2Det引入了一个具有U形和特征融合模块的高效MLFPN架构。Ping-Yang Chen通过双向融合模块改进了深层和浅层之间的交互。与这些层间工作不同,[35]使用集中特征金字塔(CFP)方法探索了单个特征信息。此外,[51]扩展了FPN,使用渐近特征金字塔网络(AFPN)进行非相邻层之间的交互。

YOLO系列的颈部结构,如图3所示,采用了传统的FPN结构,该结构包含多个分支用于多尺度特征融合。然而,它只能完全融合来自相邻层次的特征,对于其他层次的信息,只能通过“递归”方式间接获取。在图3中,展示了传统FPN的信息融合结构:其中现有的level-1、2和3从上到下排列。FPN用于不同层次之间的融合。当level-1从其他两个层次获取信息时,有两种不同的情况:

1. 如果第一层(level-1)想要使用来自第二层(level-2)的信息,它可以直接获取并融合这些信息。
2. 如果第一层想要使用来自第三层(level-3)的信息,它需要递归地调用相邻层的信息融合模块。具体来说,必须先融合第二层和第三层的信息,然后第一层可以通过结合第二层的信息间接获取第三层的信息。

这种方法是为了解决在传统的特征金字塔网络(FPN)结构中存在的信息传输问题。在FPN中,当需要跨层级融合信息时(例如,将level-1和level-3进行融合),传统的FPN结构无法无损地传输信息,这阻碍了YOLOs更好地进行信息融合。因此,作者提出了一种新的收集和分发机制(GD),通过全局融合多尺度特征并将全局信息注入到更高的层次,显著增强了脖子的信息融合能力,提高了模型在不同对象大小上的性能

在这里插入图片描述
收集和分发过程对应于三个模块:特征对齐模块(FAM),信息融合模块(IFM)和信息注入模块(Inject)

收集过程涉及两个步骤。首先,FAM从各个层次收集并对齐特征。其次,IFM融合对齐的特征以生成全局信息。
在从收集过程中获取融合的全局信息后,注入模块将此信息分发到每个层次并使用简单的注意力操作注入,从而增强分支的检测能力。 为了增强模型检测不同大小对象的能力,我们开发了两个分支:低阶收集和分发分支(Low-GD)和高阶收集和分发分支(High-GD)。这些分支分别提取和融合大尺寸和小尺寸的特征图。

网络结构
在这里插入图片描述

2.1 low-stage gather-and-distribute branch

分为:对齐,融合,注入三步
在这里插入图片描述

  • 用PSP对齐不同尺度的特征
  • 再用conv,RepConv进行特征融合
  • 最后用split分类两个特征用于同B3,B4融合
  • 注入:采用注意力机制。具体的实现:
    在这里插入图片描述

2.2 High-stage gather-and-distribute branch

在这里插入图片描述

  • 特征融合用transformer来做了。

2.3 增强的特征插入模块

在这里插入图片描述
不用原始的特征,而是用多尺度融合后的特征。

2.4 MIM预训练

采用Spark的预训练方式。在ImageNet 1K上预训练了我们模型的主干网络,用于多个Gold-YOLO模型,并取得了显著的改进。

3 实验

3.1 Low-GD, High-GD模块作用

在这里插入图片描述
1:说明了Low-GD,低层特征对小目标的作用
2:说明High-GD, 高层特征对大目标的作用

3.2 预训练MIM的作用

采用预训练之后能带来1个点左右的提升
在这里插入图片描述

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

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

相关文章

【学习笔记】深度学习分布式系统

深度学习分布式系统 前言1. 数据并行:参数服务器2. 流水线并行:GPipe3. 张量并行:Megatron LM4. 切片并行:ZeRO5. 异步分布式:PATHWAYS总结参考链接 前言 最近跟着李沐老师的视频学习了深度学习分布式系统的发展。这里…

第5讲:v-if与v-show的使用方法及区别

v-if条件判断 v-if是条件渲染指令,它根据表达式的真假来删除和插入元素,它的基本语法如下: v-if “expression” expression是一个返回bool值的表达式,表达式可以是一个bool属性,也可以是一个返回bool的运算式 &#…

【从入门到起飞】JavaSE—Stream流

🎊专栏【JavaSE】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🥰欢迎并且感谢大家指出我的问题 文章目录 🍔Stream流的作用🍔Stream流的使用步骤🎄获取Strea…

基于css变量轻松实现网站的主题切换功能

我们经常看到一些网站都有主题切换,例如vue官方文档。那他是怎么实现的呢? 检查元素,发现点击切换时,html元素会动态的添加和移除一个class:dark,然后页面主题色就变了。仔细想想,这要是放在以前&#xff0…

电缆隧道在线监测系统:提升电力设施安全与效率的关键

随着城市化进程的加快,电力电缆隧道在保障城市电力供应方面的地位日益重要。然而,电缆隧道环境复杂,容易受到多种因素影响,如温度、湿度、烟雾、水位等,严重威胁电力设施的安全与稳定运行。在此背景下,电缆…

修改switch Nand无线区码 以支持高频5G 信道

环境:NS switch 问题:日版,港版无法连接大于44信道的5G WIFI 解决办法:修改PRODINFO.dec的WIFI 区域码 背景:我的switch是最早买的港版的一批,WIFI 只能连接日本的信道,家里的路由器是国行的&am…

国庆day1---消息队列实现进程之间通信方式代码,现象

snd&#xff1a; #include <myhead.h>#define ERR_MSG(msg) do{\fprintf(stderr,"__%d__:",__LINE__);\perror(msg);\ }while(0)typedef struct{ long msgtype; //消息类型char data[1024]; //消息正文 }Msg;#define SIZE sizeof(Msg)-sizeof(long)int main…

释放潜力:人工智能对个性化学习的影响

人工智能有潜力通过使个性化学习成为一种实用且可扩展的方法来彻底改变教育。它使教育工作者能够满足每个学生的独特需求&#xff0c;促进参与并提高整体学习成果。然而&#xff0c;必须解决道德问题&#xff0c;并确保技术仍然是教育工作者手中的工具&#xff0c;为学生创造更…

Mysql——三、SQL语句(上篇)

Mysql 一、SQL语句基础1、SQL简介2、SQL语句分类3、SQL语句的书写规范 二、数据库操作三、MySQL 字符集1、变量2、utf8和utf8mb4的区别 四、数据库对象五、SELECT语句1、简单的SELECT语句2、SQL函数2.1 聚合函数2.2 数值型函数2.3 字符串函数2.4 日期和时间函数2.5 流程控制函数…

云原生开发:从容器到微服务的全栈指南

文章目录 什么是云原生开发&#xff1f;1. 容器化2. 微服务架构 云原生开发的优势1. 可伸缩性2. 高可用性3. 灵活性4. 快速交付 云原生开发的1. 学习曲线2. 复杂性3. 运维挑战 云原生开发的最佳实践1. 自动化部署2. 监控和日志3. 安全性4. 弹性设计5. 文档和培训 未来展望结论 …

C++ 迭代器(iterator)

迭代器介绍 迭代器&#xff08;iterator&#xff09;&#xff1a;容器类型内置的“指针” - 使用迭代器可以访问某个元素&#xff0c;迭代器也能从一个元素移动到另一个元素。 - 有迭代器的类型都拥有 begin 和 end 成员- begin&#xff1a;返回指向第一个元素&#xff08;或字…

博客无限滚动加载(html、css、js)实现

介绍 这是一个简单实现了类似博客瀑布流加载功能的页面&#xff0c;使用html、css、js实现。简单易懂&#xff0c;值得学习借鉴。&#x1f44d; 演示地址&#xff1a;https://i_dog.gitee.io/easy-web-projects/infinite_scroll_blog/index.html 代码 index.html <!DOCT…

知识工程---neo4j 5.12.0+GDS2.4.6安装

&#xff08;已安装好neo4j community 5.12.0&#xff09; 一. GDS下载 jar包下载地址&#xff1a;https://neo4j.com/graph-data-science-software/ 下载得到一个zip压缩包&#xff0c;解压后得到jar包。 二. GDS安装及配置 将解压得到的jar包放入neo4j安装目录下的plugi…

【数据结构--八大排序】之冒泡排序+选择排序+插入排序

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

ROS系统读取USB相机图像数据

ROS系统读取USB相机图像数据 前言usb_cam 功能包下载与编译摄像头选择连接摄像头可配置参数 前言 usb_cam功能包简介 为了丰富机器人与外界的交互方式&#xff0c;已经增加了与机器人的语音交互方式&#xff0c;不仅使机器人能够说话发声&#xff0c;还能听懂我们说的话&#…

26947-2011 手动托盘搬运车 学习记录

声明 本文是学习GB-T 26947-2011 手动托盘搬运车. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了手动托盘搬运车(以下简称托盘车)的结构参数、技术要求、试验方法、检验规则、 标志、包装、运输和贮存。 本标准适用于额定载荷…

GPIO的输入模式

1. GPIO支持4种输入模式&#xff08;浮空输入、上拉输入、下拉输入、模拟输入&#xff09; 1. 模拟输入 首先GPIO输出部分(N-MOS,P-MOS)是不起作用的。并且TTL施密特触发器也是不工作的。 上下拉电阻的开关都是关闭的。相当于I/o直接接在模拟输入。 模拟输入模式下&#xff…

【每日一题】种花问题

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;贪心 写在最后 Tag 【贪心】【数组】【2023-09-29】 题目来源 605. 种花问题 题目解读 种花要种在空地&#xff08;没有种过花的位置&#xff09;上&#xff0c;花不能种在相邻位置上否则会抢夺水资源无法正常生长&a…

ChatGPT,AIGC 助力人力资源管理对身份证号处理

HR&#xff0c;行政&#xff0c;文员办公对于员工信息管理中有一项目非常重要的操作&#xff0c;便是从身份证号中提取相关信息如下&#xff1a; 可以用ChatGPT完成三个字段的提取与计算。 我们先让ChatGPT描述一下身份证号每一位都代表什么意思。 接下来从身份证号中提取出生…

集合-ArrayList源码分析(面试)

系列文章目录 1.集合-Collection-CSDN博客​​​​​​ 2.集合-List集合-CSDN博客 3.集合-ArrayList源码分析(面试)_喜欢吃animal milk的博客-CSDN博客 目录 系列文章目录 前言 一 . 什么是ArrayList? 二 . ArrayList集合底层原理 总结 前言 大家好,今天给大家讲一下Arra…