YOLOv10来了

  • B站:啥都会一点的研究生
  • 公众号:啥都会一点的研究生

前言

YOLOv10 由清华大学研究人员在 Ultralytics版基础上进行进一步开发,引入了一种新的实时目标检测方法,解决了以前版本 YOLO 在后处理和模型架构方面的不足。通过消除非最大抑制(NMS)和优化各种模型组件,YOLOv10 在显著降低计算开销的同时实现了最先进的性能。广泛的实验证明,YOLOv10 在多个模型尺度上实现了卓越的精度-延迟权衡

Code | https://github.com/THU-MIG/yolov10
PDF  | https://arxiv.org/abs/2405.14458

概述

实时物体检测旨在以较低的延迟准确预测图像中的物体类别和位置。YOLO 系列在性能和效率之间取得了平衡,因此一直处于这项研究的前沿。然而,对 NMS 的依赖和架构上的低效阻碍了最佳性能的实现YOLOv10 通过为无 NMS 训练引入一致的双重分配和以效率-准确性为导向的整体模型设计策略,解决了这些问题

模型架构

YOLOv10 的架构借鉴了以往 YOLO 模型的优点,同时引入了几项关键创新。模型架构由以下部分组成:

  • Backbone:YOLOv10 中的骨干网负责特征提取,使用增强版 CSPNet(Cross Stage Partial Network)来改善梯度流并减少计算冗余
  • Neck:颈部用于汇聚不同尺度的特征,并将其传递给头部。它包括 PAN(Path Aggregation Network)层,可实现有效的多尺度特征融合
  • One-to-Many Head:在训练过程中为每个对象生成多个预测,以提供丰富的监督信号并提高学习准确性
  • One-to-One Head:在推理过程中为每个对象生成一个最佳预测,从而消除对 NMS 的需求,减少延迟并提高效率

核心特点

  • NMS-Free Training:利用一致的双重分配来消除对 NMS 的需求,从而减少推理延迟

  • Holistic Model Design:从效率和准确性的角度对各种组件进行全面优化,包括轻量级分类头、空间通道去耦向下采样和等级引导块设计

  • Enhanced Model Capabilities:纳入大核卷积和部分自注意模块,在不增加大量计算成本的情况下提高性能

模型型号

YOLOv10 有多种型号,可满足不同的应用需求

  • YOLOv10-N:纳米版本,适用于资源极其有限的环境
  • YOLOv10-S:兼顾速度和精度的小型版本
  • YOLOv10-M:通用的中型版本
  • YOLOv10-B:平衡型,宽度增加,精度更高
  • YOLOv10-L:大型版本,精度更高,但计算资源增加
  • YOLOv10-X:超大型版本可实现最高精度和性能

性能

在准确性和效率方面,YOLOv10 优于以前的 YOLO 版本和其他最先进的模型。例如,在 COCO 数据集上,YOLOv10-S 比具有类似 AP 的 RT-DETR-R18 快 1.8 倍;在性能相同的情况下,YOLOv10-B 比 YOLOv9-C 减少了 46% 的延迟和 25% 的参数

方法

一致的双重分配,实现无 NMS 训练

YOLOv10 采用双重标签分配,在训练过程中将一对多和一对一策略结合起来,以确保丰富的监督和高效的端到端部署。一致匹配度量可调整两种策略之间的监督,从而提高推理过程中的预测质量

效率-准确度驱动的整体模型设计

效率提升
  • Lightweight Classification Head:通过使用深度可分离卷积,减少分类头的计算开销
  • Spatial-Channel Decoupled Down sampling:解耦空间缩减和信道调制,最大限度地减少信息损失和计算成本
  • Rank-Guided Block Design:根据内在阶段冗余调整块设计,确保最佳参数利用
精度提升
  • Large-Kernel Convolution:扩大感受野以增强特征提取能力。
  • Partial Self-Attention (PSA):整合自注意模块,以最小的开销改进全局表征学习

实验和结果

YOLOv10 在 COCO 等标准基准上进行了广泛测试,显示出卓越的性能和效率。该模型在不同的变体中都取得了最先进的结果,与以前的版本和其他当代探测器相比,在延迟和准确性方面都有显著提高

在这里插入图片描述

  • 在精度相似的情况下,YOLOv10-S / X 比 RT-DETR-R18 / R101 快 1.8 倍 / 1.3 倍
  • 在精度相同的情况下,YOLOv10-B 的参数比 YOLOv9-C 少 25%,延迟比 YOLOv9-C 低 46
  • YOLOv10-L / X 的性能比 YOLOv8-L / X 高 0.3 AP / 0.5 AP,参数少 1.8 倍 / 2.3 倍

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

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

相关文章

[8] CUDA之向量点乘和矩阵乘法

CUDA之向量点乘和矩阵乘法 计算类似矩阵乘法的数学运算 1. 向量点乘 两个向量点乘运算定义如下: #真正的向量可能很长,两个向量里边可能有多个元素 (X1,Y1,Z1) * (Y1,Y2,Y3) X1Y1 X2Y2 X3Y3这种原始输入是两个数组而输出却缩减为一个(单一值)的运…

linux 查看csv文件,按指定列聚合 排序

在Linux中,你可以使用awk工具来查看CSV文件的内容,并按照指定的列进行聚合。awk是一种强大的文本处理工具,它可以处理文本文件中的数据,并根据条件执行相应的操作。 以下是一个示例,假设你有一个名为data.csv的CSV文件…

单点登录(JWT实现)

单点登陆的英文名是:Single Sign On(简称SSO),只需要登陆一次,就可以访问所有信任的应用系统。 在单体项目中,我们登陆之后可以把验证用户信息的值放入session中,单个tomcat中的session是可以共…

C++ 数据结构算法 学习笔记(33) -查找算法及企业级应用

C 数据结构算法 学习笔记(33) -查找算法及企业级应用 数组和索引 日常生活中,我们经常会在电话号码簿中查阅“某人”的电话号码,按姓查询或者按字母排 序查询;在字典中查阅“某个词”的读音和含义等等。在这里,“电话号码簿”和…

【FPGA】Verilog:2-bit 二进制比较器的实现(2-bit binary comparator)

解释 2-bit 二进制比较器仿真结果及过程说明(包括真值表和卡诺图) 真值表和卡洛图如下: 2-bit Binary Comparator A1 A2 B1

写好的文章怎样联系媒体投稿?

作为单位信息宣传的桥梁,我肩负着将单位的每一次活动、每一项成就转化为社会认可与赞美的重任。初涉此职,我满腔热血,以为凭借扎实的文字功底与不懈的努力,便能在各大媒体平台上为单位赢得一席之地。然而,现实很快就给了我一记响亮的耳光。 我最初采取的是最直接的方式——邮箱…

QT 使用QLsitView 实现多个子项选中取消效果

文章目录 效果图概述部分代码总结 效果图 概述 整个界面的布局介绍请看这篇博客想要的到这种自由选择中的Item效果,需要使用到Model-view的思想,每个item中都要存放一个标志位,用在Paint函数去判断是否绘制为按下的状态。每次item被点击时&a…

记录下所遇到远程桌面连接方法winSCP跟mstsc

之前公司使用过连接远程桌面,今天又遇到要使用远程桌面问题,来记录下。 之前公司使用的是winR 然后回车弹出 后面按照用户名密码就能登陆了 今天后台给了我一张图片准备接着用这个方法,后台就说这个东西要下载winSCP 后台发给我图片 然后去…

[笔试强训day09]

文章目录 BC146 添加逗号DP2 跳台阶JZ61 扑克牌顺子解法一&#xff1a;排序模拟解法二&#xff1a;规律哈希 BC146 添加逗号 BC146 添加逗号 #include<iostream> #include<string>using namespace std;int main() {string s;cin>>s;string ans;for(int i0;i…

LLaMa系列模型详解(原理介绍、代码解读):LLaMA 2

LLaMA 2 大型语言模型&#xff08;LLMs&#xff09;作为高度能力的人工智能助手&#xff0c;在需要跨多个领域专家知识的复杂推理任务中表现出巨大潜力&#xff0c;包括编程和创意写作等专业领域。它们通过直观的聊天界面与人类互动&#xff0c;这导致了快速和广泛的公众采用。…

军工单位如何做到安全跨网文件交换与导出的

在现代信息化战争中&#xff0c;军工单位在信息安全方面的需求尤为突出。跨网文件交换与导出作为军工单位日常运营的重要环节&#xff0c;面临着网络带宽限制、数据安全风险、合规性要求和传输稳定性等挑战。下面&#xff0c;我们将从以下几个方面探讨军工单位如何实现安全、高…

【C++】开源:RabbitMQ安装与配置使用(SimpleAmqpClient)

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更新不迷路&#x1…

用队列实现栈 用栈实现队列 设计循环队列

用队列实现栈 思路 栈的特点&#xff1a;后进先出 队列的特点&#xff1a;先进先出 使用两个队列实现栈&#xff1a; 我们可以使用两个队列&#xff0c;一个队列为&#xff1a;空队列&#xff0c;一个队列为&#xff1a;非空队列 当我们要出队列时&#xff1a; 将 size - …

多线程JUC 第2季 BlockingQueue 阻塞队列

一 阻塞队列 1.1 阻塞队列介绍 阻塞队列&#xff08;BlockingQueue&#xff09;是一个在队列基础上又支持了两个附加操作的队列&#xff1a; put方法&#xff1a;当队列装满时&#xff0c;添加的线程则被阻塞&#xff0c;直到队列不满&#xff0c;则可用。 take方法&#x…

力扣2028. 找出缺失的观测数据

题目&#xff1a; 现有一份 n m 次投掷单个 六面 骰子的观测数据&#xff0c;骰子的每个面从 1 到 6 编号。观测数据中缺失了 n 份&#xff0c;你手上只拿到剩余 m 次投掷的数据。幸好你有之前计算过的这 n m 次投掷数据的 平均值 。 给你一个长度为 m 的整数数组 rolls &a…

【Linux 网络】网络基础(三)(数据链路层协议:以太网协议、ARP 协议)

一、以太网 两个不同局域网的主机传递数据并不是直接传递的&#xff0c;而是通过路由器 “一跳一跳” 的传递过去。 跨网络传输的本质&#xff1a;由无数个局域网&#xff08;子网&#xff09;转发的结果。 所以&#xff0c;要理解数据跨网络转发原理就要先理解一个局域网中数…

安全厂商第一站!OASA 走进绿盟科技圆满结束

近日&#xff0c;龙蜥社区安全联盟&#xff08;OASA&#xff09;走进联盟成员单位绿盟科技集团股份有限公司&#xff08;以下简称“绿盟科技”&#xff09;&#xff0c;就未来合作方向&#xff0c;双方进行了一次深入的合作交流。该会议共有 11 位人员出席&#xff0c;有来自绿…

视频监控平台AS-V1000产品介绍:账户或用户数据的导入和导出功能介绍

目录 一、功能描述 &#xff08;一&#xff09;导入功能定义 &#xff08;二&#xff09;导出功能定义 二、用户数据的导入导出的作用 三、AS-V1000新版本的导出和导入功能介绍 &#xff08;一&#xff09;功能主界面 &#xff08;二&#xff09;导出功能 1、导出操作 …

从零开始构建 Vision Transformer(ViT) 模型

Transformer 模型最早由 Vaswani 等人在 2017 年论文 Attention Is All You Need 中提出&#xff0c;并已广泛应用于自然语言处理。 2021年&#xff0c;Dosovitsky 等人在论文An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale中提出将 Transforme…

第十二届蓝桥杯物联网试题(国赛)

不得不说国赛相比较省赛而言确实&#xff0c;功能变得更加复杂&#xff0c;更加繁琐&#xff0c;特别是串口LORA通信相结合的更加频繁&#xff0c;且对收取的字符处理要求要更加复杂&#xff0c;处理判别起来会更加复杂。 对于收发数据本身来说&#xff0c;收发的数据本身是以…