【YOLOv10训练教程】如何使用YOLOv10训练自己的数据集并且推理使用

简介: 【YOLOv10训练教程】如何使用YOLOv10训练自己的数据集并且推理使用


引言

本文主要介绍如何使用YOLOv10训练自己的目标检测数据集并且进行模型的推理使用。本文所有代码及数据集都已打包好,供小伙伴们学习。需要的小伙伴可通过文末直接获取。

YOLOv10简介

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

亮点

  1. 无 NMS 设计:利用一致的双重分配来消除对 NMS 的需求,从而减少推理延迟。
  2. 整体模型设计:从效率和准确性的角度全面优化各种组件,包括轻量级分类头、空间通道去耦向下采样和等级引导块设计。
  3. 增强的模型功能:纳入大核卷积和部分自注意模块,在不增加大量计算成本的情况下提高性能。

模型介绍

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

YOLOv10-N:用于资源极其有限环境的纳米版本。

YOLOv10-S:兼顾速度和精度的小型版本。

YOLOv10-M:通用中型版本。

YOLOv10-B:平衡型,宽度增加,精度更高。

YOLOv10-L:大型版本,精度更高,但计算资源增加。

YOLOv10-X:超大型版本可实现最高精度和性能。

YOLOv10与v8结构对比

从结构上看添加了PSA和在C2f结构中添加了CBI结构。结构设计如下:

而且去掉了NMS:

下载源码

源码地址:https://github.com/THU-MIG/yolov10

下载源码后解压,目录如下:

环境配置

使用conda 创建虚拟环境配置【输入命令前,需进入到项目目下】。命令如下:

conda create -n yolov10 python=3.9
conda activate yolov10
pip install -r requirements.txt
pip install -e .

准备数据集

将需要训练的数据集,放入项目目录下,格式如下:

训练模型:

注意这个地方需要导入YOLOv10模块,不是YOLO模块。

训练代码如下:

#coding:utf-8
from ultralytics import YOLOv10
# 模型配置文件
model_yaml_path = "ultralytics/cfg/models/v10/yolov10n.yaml"
#数据集配置文件
data_yaml_path = 'datasets/Data/data.yaml'
#预训练模型
pre_model_name = 'yolov10n.pt'
if __name__ == '__main__':
    #加载预训练模型
    model = YOLOv10(model_yaml_path).load(pre_model_name)
    #训练模型
    results = model.train(data=data_yaml_path,
                          epochs=150,
                          batch=4,
                          name='train_v10')

点击运行后开始训练,打印的网路结构如下:

模型推理

模型推理代码如下:

from ultralytics import YOLOv10
# Load a pretrained YOLOv10n model
model = YOLOv10("yolov10n.pt")
# Perform object detection on an image
# results = model("test1.jpg")
results = model.predict("test1.jpg")
# Display the results
results[0].show()

运行后显示结果,会直接显示推理结果:

目录
打赏
0
0
0
1
115
分享
相关文章
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
250 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
YOLOv10的改进、部署和微调训练总结
YOLOv10在实时目标检测中提升性能与效率,通过无NMS训练解决延迟问题,采用一致的双任务和效率-精度驱动的模型设计。YOLOv10-S比RT-DETR-R18快1.8倍,YOLOv10-B比YOLOv9-C延迟减少46%。新方法包括一致性双标签分配,优化计算冗余和增强模型能力。实验结果显示YOLOv10在AP和延迟上均有显著改善。文章还提供了部署和微调YOLOv10的示例代码。
887 2
手把手教你使用YOLOV5训练自己的目标检测模型
本教程由肆十二(dejahu)撰写,详细介绍了如何使用YOLOV5训练口罩检测模型,涵盖环境配置、数据标注、模型训练、评估与使用等环节,适合大作业及毕业设计参考。提供B站视频、CSDN博客及代码资源链接,便于学习实践。
1156 1
手把手教你使用YOLOV5训练自己的目标检测模型
如何制作数据集并基于yolov5训练成模型并部署
这篇文章介绍了如何为YOLOv5制作数据集、训练模型、进行模型部署的整个流程,包括搜集和标注图片、创建数据集文件夹结构、编写配置文件、训练和评估模型,以及将训练好的模型部署到不同平台如ROS机器人、微信小程序和移动应用等。
如何制作数据集并基于yolov5训练成模型并部署
【YOLO系列】YOLOv10模型结构详解与推理部署实现
【YOLO系列】YOLOv10模型结构详解与推理部署实现
1383 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等