ultralytics官方更新 | 添加YOLOv10到ultralytics


💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 


专栏目录:《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有40+篇内容,内含各种Head检测头、损失函数Loss、Backbone、Neck、NMS等创新点改进


对YOLOv10感兴趣的同学可以先看YOLOv8,因为改进方式大部分一样,我也会尽快更新相关的教程 

论文地址:YOLOv10: Real-Time End-to-End Object Detection点击即可跳转

官方代码:官方代码仓库点击即可跳转

今天看到YOLOv10已经被添加到了ultralytics的仓库中, 也就是说,以后YOLOv8的代码仓库也可以下载直接运行YOLOv10。预计以后发布的YOLO系列都会被收入到这个仓库中。

 YOLOv10启动脚本供参考:

from ultralytics import YOLOv10 
# Load a model
model = YOLOv10("ultralytics/cfg/models/v10/yolov10n.yaml")
# train
model.train(data='dataset/data.yaml',cache=False,imgsz=640,epochs=100,batch=16,close_mosaic=0,workers=4,device='0',optimizer='SGD', # using SGDamp=False, # close ampproject='runs/train',name='exp',)

YOLOv10创新点回顾:

1. 创新点

无NMS的一致双分配(consistent dual assignments):

YOLOv10提出了一种通过双标签分配而不用非极大值抑制NMS的策略。这种方法结合了一对多和一对一分配策略的优势,提高了效率并保持了性能。

效率-精度驱动的模型设计(Holistic Efficiency-Accuracy Driven Model Design):

轻量化分类头:在不显著影响性能的情况下,减少了计算开销。

空间-通道解耦下采样:解耦空间下采样和通道调整,优化计算成本。

基于秩的块设计:根据各阶段的内在秩适应块设计,减少冗余,提高效率。

大核卷积和部分自注意力PSA:在不显著增加计算成本的情况下,增强了感受野和全局建模能力。

2. 一致双分配策略(Consistent Dual Assignments)

YOLOv10引入了一种新的双分配策略,用于在训练期间同时利用一对多(one-to-many)和一对一(one-to-one)标签分配。这种方法在保持模型高效训练的同时,摆脱了推理过程中对非极大值抑制NMS的依赖。

双标签分配(Dual Label Assignments)

一对多分配:在训练期间,多个预测框被分配给一个真实物体标签。这种策略提供了丰富的监督信号,优化效果更好。

一对一分配:仅一个预测框被分配给一个真实物体标签,避免了NMS,但由于监督信号较弱,容易导致收敛速度慢和性能欠佳。

双头架构:模型在训练期间使用两个预测头,一个使用一对多分配,另一个使用一对一分配。这样,模型可以在训练期间利用一对多分配的丰富监督信号,而在推理期间则使用一对一分配的预测结果,从而实现无NMS的高效推理。

3. 一致匹配度量(Consistent Matching Metric)

为了在训练期间保持两个预测头的一致性,提出了一致匹配度量。通过调整匹配度量参数,使得一对一和一对多分配的监督信号一致,减少了训练期间的监督差距,提升了模型的预测质量。

整体效率-精度驱动的模型设计(Holistic Efficiency-Accuracy Driven Model Design)

YOLOv10在模型架构的各个方面进行了全面优化,旨在提升效率和精度。

3.1 效率驱动的模型设计

轻量化分类头(Lightweight Classification Head)

在YOLO系列中,分类头和回归头通常共享相同的架构,但分类任务的计算开销更大。为分类头采用轻量级的架构,包括两个3×3的深度可分离卷积(depthwise separable convolutions)和一个1×1卷积,以减少计算开销。

空间-通道解耦下采样(Spatial-Channel Decoupled Downsampling)

传统的下采样方法同时进行空间和通道的转换,计算成本较高。YOLOv10首先使用逐点卷积(pointwise convolution)调整通道维度,然后使用深度卷积(depthwise convolution)进行空间下采样。这样可以最大限度地保留信息,同时减少计算成本。

3.2 基于秩的块设计(Rank-Guided Block Design)

在YOLO模型中,各阶段通常使用相同的基本构建块,容易导致深层阶段的计算冗余。因此根据各阶段的内在秩(intrinsic rank)调整块设计,减少冗余,采用紧凑的反向块(Compact Inverted Block, CIB)设计,用深度卷积进行空间混合和逐点卷积进行通道混合,提高效率。

3.3 精度驱动的模型设计

大核卷积(Large-Kernel Convolution)

大核卷积的感受野较大,能够更好地捕捉图像中的全局信息。然而,直接在所有阶段使用大核卷积可能会导致小物体特征的污染,并增加高分辨率阶段的I/O开销和延迟。因此,在深层阶段使用大核深度卷积(如7×7)来扩大感受野,增强模型能力,同时使用结构重参数化技术(structural reparameterization)优化训练。

对于小模型规模(如YOLOv10-N/S),大核卷积的使用能够显著提升性能,而对于大模型规模(如YOLOv10-M),其天然较大的感受野使得大核卷积的效果不明显,因此仅在小模型中使用。

部分自注意力(Partial Self-Attention, PSA)

部分自注意力模块通过引入全局建模能力来提升模型性能,同时保持较低的计算开销。

自注意力(self-attention)在视觉任务中因其出色的全局建模能力而被广泛使用,但其计算复杂度和内存占用较高。本文引入PSA模块,通过将特征按通道分成两部分,仅对一部分应用多头自注意力(Multi-Head Self-Attention, MHSA),然后进行融合,增强全局建模能力,降低计算复杂度。

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

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

相关文章

【C++】类和对象(六)

文章目录 二、static成员概念面试题一个题目 三、友元友元函数说明 友元类 四、内部类(了解)概念:注意:特性: 五、匿名对象 书接上回: 【C】类和对象(五)隐式类型转换 二、static成员 01_31 03 12 01 概…

Xcode 手动添加模拟器

在Xcode中下载iOS模拟器很慢,且经常出现下载失败,需重新从头开始下载的问题。现了解Xcode 15 和运行环境是分离的,故阐述一下手动添加模拟器的步骤: 官网下载所需模拟器:https://developer.apple.com/download/all/?…

idea项目推送gitee/github

选择需要的项目创建本地Git仓库 添加到暂存区 第一次提交 或者点击这里 写备注并commit 推送远程仓库 填写地址 解决上图警告 右键打开项目,输入 git pull origin master –allow-unrelated-historiesgit push -u origin master -f推送成功 idea项目推送github及克…

怎么用韩语说帮忙更合体,柯桥零基础韩语培训

1. **详细解释:** - **标准写法与音译:** - **돕다**(读作 dop-da):动词“帮助”。 - **도와주다**(读作 do-wa-ju-da):动词“帮忙”,字面意思是“给予帮助”。 - **도움…

PMP证书在国内已经泛滥了,大家怎么看?

目前,越来越多的人获得了PMP证书。自1999年PMP引入中国以来,全国累计PMP考试人数接近60万人次,通过PMP认证的人数约为42万人。虽然这个数据看起来很大,但绝对不能说是过多。 首先,PMP在中国并不普遍。根据美国项目管理…

【源码+文档+调试讲解】灾害应急救援平台

摘 要 灾害应急救援平台的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。 与安卓,iOS相比较起来&…

linux好用的分屏器byobu

什么是byobu byobu是linux下分屏器工具tmux或screen的包装器。 安装 sudo apt-get install byobu 启动 emaubuntu:~$ byobu配置通知栏 按F9进入Byobu配置菜单导航到切换状态通知选项,然后按ENTER键可以在选中和不选中之间切换选择要启用的状态通知后&#xff…

深度学习项目实例(一)—— 实时AI换脸项目

一、前言 人工智能(AI)技术的快速发展为各个领域带来了革命性的变化,其中之一就是人脸识别与图像处理技术。在这之中,AI换脸技术尤其引人注目。这种技术不仅在娱乐行业中得到广泛应用,如电影制作、视频特效等&#xf…

static在C/C++中的作用

C语言中 static 的作用: 文件作用域的全局变量: 当static修饰一个全局变量时,这个变量只在定义它的文件内部可见,不会被其他文件访问。 静态局部变量: 在函数内部,static关键字确保局部变量的生命周期贯穿整…

目前公认最好用充电宝!四款高性价比充电宝推荐,一文看懂!

当我们在旅行途中,手机和相机等设备必不可少。长时间使用这些设备,电量很容易耗尽。此时,充电宝就能派上用场,让我们在欣赏美景、记录美好时光的同时,不再担心电量不足。特别在假期出游的时候在我们玩的特别尽兴的时候…

力扣2815.数组中的最大数对和

力扣2815.数组中的最大数对和 遍历每个元素 并求其中最大的数字 将每个数字对应的最大元素存在数组中每遍历到一个新的元素 &#xff0c;将其存在对应的数组位置中 class Solution {public:int maxSum(vector<int>& nums) {vector<int> cnt(10,INT_MIN);int…

【C++】关于虚函数的理解

深入探索C虚函数&#xff1a;原理、应用与实例分析 一、虚函数的原理二、虚函数的应用三、代码实例分析四、总结 在C面向对象编程的世界里&#xff0c;虚函数&#xff08;Virtual Function&#xff09;扮演着至关重要的角色。它不仅实现了多态性这一核心特性&#xff0c;还使得…

查看linux服务器cpu,硬盘,内存

lscpu 查看cpu 释义 Architecture: x86_64 // 指定系统架构&#xff0c;这里是 x86_64&#xff0c;表示一个64位系统。 CPU op-mode(s): 32-bit, 64-bit // 指示支持的 CPU 操作模式&#xff0c;显示了32位和64位两种模式。 Byte Order: Little…

红酒与珠宝:璀璨与醇香的奢华交响,双重诱惑难挡

在璀璨的灯光下&#xff0c;红酒与珠宝各自闪耀着迷人的光芒&#xff0c;它们如同夜空中的繁星&#xff0c;交相辉映&#xff0c;共同演绎着奢华的双重诱惑。今天&#xff0c;就让我们一起走进这个充满魅力的世界&#xff0c;感受红酒与珠宝带来的无尽魅力。 首先&#xff0c;让…

java中自定义线程池最佳实践

java中自定义线程池最佳实践 在现代应用程序中&#xff0c;线程池是一种常用的技术&#xff0c;可以有效管理和复用线程资源&#xff0c;从而提升系统的并发性能和稳定性。本文将详细介绍自定义线程池的最佳实践&#xff0c;涵盖从线程池大小配置、队列选择到拒绝策略、任务设…

基于STM32+ESP8266打造智能家居温湿度监控系统(附源码接线图)

摘要: 本文将介绍如何使用STM32单片机、ESP8266 Wi-Fi模块和Python Flask框架构建一个完整的物联网系统&#xff0c;实现传感器数据采集、无线传输、云端存储及Web可视化展示。 关键词: STM32, ESP8266, 传感器, Flask, 物联网, 云平台, 数据可视化 1. 系统概述 本系统以STM…

Spring底层原理之proxyBeanMenthod实例 动态代理 反射 Bean的拦截

proxyBeanMenthod 假设我们要进行一个系统的二次开发 然后第一次开发我们实用的是XML声明bean 二次开发的时候要用注解 我们如何把bean都加载上来呢 我们首先创建一个全新的配置类 package com.bigdata1421.config;public class SpringConfig32 { } 我们创建一个APP 加载…

Perl语言入门学习读物

1. PERL 是什么? Perl 最初的设计者为Larry Wall&#xff0c;Perl借取了C、sed、awk、shell scripting以及很多其他程序语言的特性。Perl一般被称为“实用报表提取语言”(PracticalExtraction andReportLanguage)&#xff0c;有时也被称做“病态折中垃圾列表器”(Pathologica…

springboot+vue3无感知刷新token实战

目录 一、java后端 1、token构造实现类 ①验证码方式实现类 ②刷新token方式实现类 2、token相关操作&#xff1a;setCookie ①createToken ②refreshToken 二、前端&#xff08;vue3axios&#xff09; web网站中&#xff0c;前后端交互时&#xff0c;通常使用token机制…

全球最快的 JSON 文件查询工具

本文字数&#xff1a;1684&#xff1b;估计阅读时间&#xff1a;5分钟 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 介绍 在 ClickHouse&#xff0c;我们热衷于基准测试和性能优化。所以当我第一次看到 Hacker News 上那篇“查询大…