当前位置: 首页 > news >正文

YOLOv10实时端到端目标检测

文章目录

    • 前言
    • 一、非极值大抑制(NMS)
    • 二、NMS算法的具体原理和步骤
    • 三、YOLOV10创新点
    • 四、YOLOv10使用教程
    • 五、官方github地址


前言

  距离上次写YOLOv5已经过去了两年,正好最近用YOLOv10重构了项目,总结下YOLOv10。
YOLOv10真正实时端到端目标检测,那么什么是端到端?
  端到端目标检测是一种从原始数据输入到最终结果输出的直接过程,无需分步骤处理或人工干预。在YOLOv10中移除非最大抑制(NMS),从而减少了推理延迟。


一、非极值大抑制(NMS)

  非最大值抑制(NMS)是一种在目标检测中广泛应用的算法,主要用于去除冗余的检测框,只保留最有可能包含目标物体的框。
    在目标检测任务中,通常会有多个候选框同时检测到同一个目标,这些框之间会有不同程度的重叠。为了从这些重叠的框中筛选出最佳检测结果,NMS算法被提出和应用。
在这里插入图片描述

二、NMS算法的具体原理和步骤

  1.置信度排序:根据每个边界框的置信度进行降序排列,置信度最高的边界框被认为是最有可能正确检测到目标的。

  2.选择边界框:从排序后的列表中选择置信度最高的边界框,标记为已选,并将其添加到最终的检测结果列表中。

  3.计算交并比:对于剩余的每个边界框,计算它与已选边界框的交并比(IOU),即交集与并集的比值。

  4.剔除低置信度框:如果某个边界框与已选框的IOU超过了预设的阈值(例如0.5或0.7),则认为这两个框表示的是同一个目标,于是根据置信度较低的原则,剔除这个低置信度的边界框。

  5.重复选择过程:继续选择剩余边界框中置信度最高的,重复计算IOU和剔除过程,直到所有边界框都被检查过。

  6.结束,选出最优框

三、YOLOV10创新点

  YOLOv10通过引入双重标签分配策略和一致匹配度量,成功去除了非最大抑制(NMS)机制。
  双重标签分配策略:其中包括一对多和一对一两种分配模式。这种策略不仅提供了丰富的监督信号,确保了训练过程中的准确性,而且避免了在推理阶段使用NMS,从而提高了整体的效率。这一创新的方法有效地平衡了训练与推理之间的需求。
  一致匹配度量:该策略确保了在训练过程中,不同的预测头产生的预测结果能够保持一致性。这种一致性的优化进一步保证了在去除NMS的情况下,模型仍然能够维持高性能和高准确性。

四、YOLOv10使用教程

  YOLOv10进行了高度封装,使用步骤也很简单,我常规的使用方法是通过OpenCV读取rtsp流进行检测

import cv2
from ultralytics import YOLOv10
detect = YOLOv10("yolov10s.pt")if __name__ == '__main__':cap = cv2.VideoCapture(rtsp)while cap.isOpened():success, frame = cap.read()if success:# conf指定阈值 classes指定检测类目results = detect.predict(frame, conf=0.5, classes=[0])# 返回json格式的数据,需要不同的格式具体可以查看源码print(results[0].tojson())else:cap = cv2.VideoCapture(rtsp)

YOLOv10 提供了多种模型:

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

五、官方github地址

https://github.com/THU-MIG/yolov10

相关文章:

YOLOv10实时端到端目标检测

文章目录 前言一、非极值大抑制(NMS)二、NMS算法的具体原理和步骤三、YOLOV10创新点四、YOLOv10使用教程五、官方github地址 前言 距离上次写YOLOv5已经过去了两年,正好最近用YOLOv10重构了项目,总结下YOLOv10。 YOLOv10真正实时端到端目标检测&#xff…...

Java中的Annotation注解

常用注解 override:重写方法deprecated:弃用SuppressWarnings:抑制编译器警告 元注解(注解的注解) Target:描述注解所能修饰的类型Retention:描述注解的生命周期(SOURCE源代码、C…...

小五金加工:细节决定产品质量与性能

在小五金加工领域,细节往往决定着最终产品的质量、性能以及市场竞争力。看似微不足道的细微之处,实际上蕴含着巨大的影响。时利和将介绍小五金加工中细节的重要性。 首先,细节关乎产品的精度。小五金零件通常尺寸较小,但对精度的要…...

VS Code安装配置ssh服务结合内网穿透远程连接本地服务器详细步骤

文章目录 前言1. 安装OpenSSH2.VS Code配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…...

世界首位「AI科学家」问世!独立生成10篇学术论文! 横扫「顶会」?

大家好,我是 Bob! 😊 一个想和大家慢慢变富的 AI 程序员💸 分享 AI 前沿技术、项目经验、面试技巧! 欢迎关注我,一起探索,一起破圈!💪 AI科学家出世 最近一位人工智能AI科学家横空出世。 它是…...

【高阶数据结构】图

图 1. 图的基本概念2. 图的存储结构2.1 邻接矩阵2.2 邻接表2.3 邻接矩阵的实现2.4 邻接表的实现 3. 图的遍历3.1 图的广度优先遍历3.2 图的深度优先遍历 4. 最小生成树4.1 Kruskal算法4.2 Prim算法 5. 最短路径5.1 单源最短路径--Dijkstra算法5.2 单源最短路径--Bellman-Ford算…...

调研-音视频

音视频 基础概念主要内容音频基础概念音频量化过程音频压缩技术视频基础概念视频bug视频编码H264视频像素格式YUVRGB参考文献基础概念 ● 实时音视频应用环节 ○ 采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节。 主要内容 音频 基础概念 三要素:音调(音频)、…...

【数据结构】链式结构实现:二叉树

二叉树 一.快速创建一颗二叉树二.二叉树的遍历1.前序、中序、后序遍历(深度优先遍历DFS)2.层序遍历(广度优先遍历BFS) 三.二叉树节点的个数四.二叉树叶子节点的个数五.二叉树的高度六.二叉树第k层节点个数七.二叉树查找值为x的节点…...

20221元组

在Python语言中, (7)是一种可变的、有序的序列结构,其中元素可以重复。 A.元组(tuple) B. 字符串(str) C. 列表(list) D.集合(set) ChatGPT 说: ChatGPT 在Python中,选项 C 列表(list) 符合题目描述。 解释: 列表 (list) 是一种可变的、有…...

艾瑞白皮书解读(三)丨剖析制造业、工程设计、创投数据治理痛点与典型方案

2024年7月 艾瑞咨询公司对国内数据治理行业进行了研究,访问了国内多位大中型企业数据治理相关负责人,深度剖析中国企业在数字化转型过程中面临到的核心数据问题后,重磅发布《2024中国企业数据治理白皮书》(以下简称“白皮书”&…...

如何在 Odoo 16 Studio 模块中自定义视图和报告

为了有效地运营公司,需要定制的软件系统。Odoo 平台提供针对单个应用程序量身定制的管理解决方案和用户友好的界面,以便开发应用程序,而无需更复杂的后端功能。该平台支持使用简单的拖放功能和内置工具创建和修改更多定制的 Odoo 应用程序。企…...

Redis的十大数据类型的常用命令(上)

目录 1.key的操作命令2.String的常用命令案例一:dy点赞案例二:文章的喜欢数 3. List的常用命令案例:公众号订阅的消息 4. Hash的常用命令案例:早期购物车设计 5. Set的常用命令案例一:抽奖小程序案例二:朋友…...

智慧服务管理平台小程序开发方案

智慧服务管理平台小程序系统为用户提供一站式、个性化的服务管理解决方案,帮助用户优化服务流程、提升服务效率、增强客户满意度。适用于智慧校园、食堂、养老、智慧停车、智慧园区、智慧医院、智慧农业、康养、智慧社区、智慧农场等行业场景。一、目标用户 企业客户…...

【轻松拿捏】Java中ArrayList 和 LinkedList 的区别是什么?

ArrayList 和 LinkedList 的区别是什么? 1. ArrayList 2. LinkedList 3.总结 🎈边走、边悟🎈迟早会好 ArrayList 和 LinkedList 都是 Java 中常用的 List 接口的实现类,但它们在内部结构和操作性能上有所不同。 1. ArrayLis…...

【排序篇】快速排序的非递归实现与归并排序的实现

🌈个人主页:Yui_ 🌈Linux专栏:Linux 🌈C语言笔记专栏:C语言笔记 🌈数据结构专栏:数据结构 文章目录 1 快速排序非递归2. 归并排序3.排序算法复杂度及稳定性分析 1 快速排序非递归 利…...

Java垃圾收集器工作原理

在Java编程中,对象的内存分配主要发生在堆(Heap)上。堆是Java虚拟机(JVM)中的一块运行时数据区,用于存放由new关键字创建的对象和数组。与栈(Stack)内存分配相比,堆内存分…...

STM32CubeMX stm32不限长度使用DMA收发串口数据

STM32CubeMX 配置 代码 stm32h7xx_it.c /*** brief This function handles UART7 global interrupt.*/ void UART7_IRQHandler(void) {/* USER CODE BEGIN UART7_IRQn 0 */if (UART7 huart7.Instance) // 判断是否是空闲中断{if (__HAL_UART_GET_FLAG(&huart7, UART_FLA…...

Jmeter系列之作用域、执行顺序

这一节主要解释元件作用域和执行顺序,以及整理之前说过的参数化的方式。 作用域 之前也留下了一个问题。怎么给不同的请求设置不同的Header?后续也透露了可以使用Sample Controller,结合元件的作用域来实现 在Jmeter中,元件的作…...

舜宇光学科技社招校招入职测评:商业推理测验真题汇总、答题要求、高分技巧

舜宇光学科技(集团)有限公司,成立于1984年,是全球领先的综合光学零件及产品制造商。2007年在香港联交所主板上市,股票代码2382.HK。公司专注于光学产品的设计、研发、生产及销售,产品广泛应用于手机、汽车、…...

C语言——构造(结构体)

指针——内存操作 我们对于内存的操作借助于 <string.h>这个库提供的内存操作函数。 内存填充 头文件: #include<string.h> 函数原型: void*memset(void *s,int c,size_t n); 函数功能&#xff1a; 填充s开始的堆内存空间前n个字节&#xff0c;使得每个字节值为c…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...