YOLOv10训练教程—用YOLOv10训练自己的数据集

4692ebf863f78d6b492ba.png (1600×800) (telegraph-image-b1x.pages.dev)



✨✨✨✨立志真正解决大家问题,只写精品博客文章,感谢关注,共同进步✨✨✨✨


YOLOv9还没捂热乎,YOLOv10就推出来了,太卷了,太快了,坐等YOLOv9000🤣🤣🤣🤣

在这里插入图片描述


标题:YOLOv10: Real-Time End-to-End Object Detection
论文:https://arxiv.org/pdf/2405.14458
源码:https://github.com/THU-MIG/yolov10

YOLOv10简介

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

亮点

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

模型介绍

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

ModelTest Size#ParamsFLOPsAPvalLatency
YOLOv10-N6402.3M6.7G38.5%1.84ms
YOLOv10-S6407.2M21.6G46.3%2.49ms
YOLOv10-M64015.4M59.1G51.1%4.74ms
YOLOv10-B64019.1M92.0G52.5%5.74ms
YOLOv10-L64024.4M120.3G53.2%7.28ms
YOLOv10-X64029.5M160.4G54.4%10.70ms

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

下载源码

源码地址: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 .

准备数据集

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: D:/**/**/**  # dataset root dir 数据集根目录
train: train/images  # train images (relative to 'path') 128 images
val: val/images  # val images (relative to 'path') 128 images
test: test/images # test images (optional)

训练模型:

命令行

训练模型的话直接用命令行就可以了

yolo detect train data=custom_dataset.yaml model=yolov10s.yaml epochs=300 batch=8 imgsz=640 device=0,1

device:设备id,如果只有一张显卡,则device=0,如果有两张,则device=0,1,依次类推。
imgsz:图像放缩大小resize,默认是640,如果资源不够可以设置为320试试。

py文件

考虑到部分同学不喜欢使用命令行方式

注意这个地方需要导入YOLOv10模块,不是YOLO模块。
训练代码如下:

#coding:utf-8
from ultralytics import YOLOv10
# 模型配置文件
model_yaml_path = "ultralytics/cfg/models/v10/yolov10n.yaml"
#数据集配置文件
data_yaml_path = ''
#预训练模型
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=8,
                          name='train_v10')

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

在这里插入图片描述

验证

yolo val model=yolov10s.pt data=coco.yaml batch=8

模型推理

模型推理测试((默认读取yolov10/ultralytics/assets文件夹下的所有图像)

yolo predict model=yolov10s.pt

如果测试别的路径下的文件可以在上面命令后面加上source=‘xxx/bus.jpg’,如果想测试视频,可以使用source=‘xxx/bus.mp4’。

或者模型推理代码如下:

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()

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

参考文献

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

https://blog.csdn.net/qq_40734883/article/details/139194191

图片

  • 12
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
您好!对于Windows 10上使用YOLOv5训练自己的数据集,您可以按照以下步骤进行操作: 1. 安装Anaconda:首先,您需要在Windows 10上安装Anaconda,这是一个用于创建和管理Python环境的工具。 2. 创建虚拟环境:打开Anaconda Prompt,并创建一个新的虚拟环境,以隔离您的项目依赖。 ``` conda create -n yolov5 python=3.8 ``` 3. 激活虚拟环境:激活新创建的虚拟环境。 ``` conda activate yolov5 ``` 4. 克隆YOLOv5仓库:在虚拟环境中,使用Git克隆YOLOv5仓库。 ``` git clone https://github.com/ultralytics/yolov5.git ``` 5. 安装依赖:进入克隆的YOLOv5仓库目录,并安装所需的依赖。 ``` cd yolov5 pip install -r requirements.txt ``` 6. 准备数据集:将您的自定义数据集准备好,并按照YOLOv5的要求进行标注。 7. 配置训练参数:在`yolov5/data`目录下,创建一个新的`.yaml`文件,用于配置您的数据集训练参数。 ``` cd data cp coco.yaml your_dataset.yaml ``` 编辑`your_dataset.yaml`文件,将相关路径和设置修改为您的数据集信息。 8. 开始训练:回到YOLOv5目录,并运行训练命令。 ``` cd .. python train.py --data data/your_dataset.yaml --cfg models/yolov5s.yaml --batch-size 16 ``` 这是一个简单的示例命令,您可以根据实际情况调整参数。 9. 监控训练过程:训练过程中,您可以通过Tensorboard来监控训练指标和可视化结果。 ``` tensorboard --logdir=runs/train ``` 10. 测试模型:训练完成后,您可以使用训练得到的模型进行目标检测任务。 ``` python detect.py --source your_image.jpg --weights runs/train/exp/weights/best.pt --conf 0.4 ``` 以上是一个基本的流程,您可以根据自己的需求和数据集进行相应的调整和优化。希望对您有所帮助!如果您有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aedream同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值