yolov10训练自己的数据集

1 准备数据集

车牌识别

数据集标注使用LabelImg,具体使用和标注可参考下面文章:

实战 | YOLOv8自定义数据集训练实现手势识别 (标注+训练+预测 保姆级教程)

这里直接给出数据集,大家可以自行下载:

https://github.com/AarohiSingla/YOLOv10-Custom-Object-Detection/tree/main/custom_dataset/dataset

1 图片样本

数据集包含300张图片样本,训练集210张,验证集60张,测试集30张。

 2 标注文件

2 模型训练 

2.1 训练脚本

custom_train_car.ipynb

指定数据集配置文件路径和训练结果保存路径,及训练批次等参数

from ultralytics import YOLO

# 加载预训练模型
#  model = YOLO('weights/yolov10n.pt')
model = YOLO("yolov10n.yaml")

# 使用自定义数据集训练模型
results = model.train(
    data='../datasets/car/custom_data.yaml',  # 数据集配置文件路径
    epochs=100,  # 训练轮次
    batch=16,
    workers=4,
    # imgsz=640  # 输入图像尺寸
    project='../datasets/car/detect',
    name='train',
    save=True
)

2.2 数据集配置

train: custom_dataset/dataset/train/images

val: custom_dataset/dataset/valid/images

test: custom_dataset/dataset/test/images

nc: 1

names: ['car']

分类数量 nc:1

2.3 训练结果

2.3.1 相关指标

3 模型验证评估

#val 验证
from ultralytics import YOLOv10                # 导入 YOLO 类

# 加载模型
model = YOLOv10('../datasets/car/detect/train/weights/best.pt')        # 模型路径

# 调用验证方法
model.val(batch=32,
              imgsz=640,
              data='../datasets/car/custom_data.yaml',
              project='../datasets/car/detect',
              name='val',
              save=True
              )

输出

Ultralytics YOLOv8.1.34 🚀 Python-3.12.11 torch-2.7.1+cu128 CUDA:0 (NVIDIA GeForce RTX 5060 Laptop GPU, 8151MiB) YOLOv10n summary (fused): 285 layers, 2694806 parameters, 0 gradients, 8.2 GFLOPs

val: Scanning F:\ai\yolov\v10\datasets\car\custom_dataset\dataset\valid\labels.cache... 60 images, 0 backgrounds, 0 corrupt: 100%|██████████| 60/60 [00:00<?, ?it/s] Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 2/2 [00:08<00:00, 4.18s/it]

all 60 64 0.768 0.781 0.825 0.454 Speed: 1.8ms preprocess, 12.3ms inference, 0.0ms loss, 1.0ms postprocess per image Results saved to ..\datasets\car\detect\val

 PR

 4 推理

测试集进行推理

#推理
from ultralytics import YOLOv10

model = YOLOv10('../datasets/car/detect/train/weights/best.pt')

# 对测试集进行推理
test_source = '../datasets/car/custom_dataset/dataset/test/images'
results = model.predict(
    source=test_source,  # 测试集图片目录
    save=True,           # 保存带有预测结果的图片
    save_txt=True,       # 保存预测结果的文本文件
    imgsz=640,           # 输入图像的尺寸
    conf=0.5,            # 置信度阈值,只保留置信度高于该值的预测框
    iou=0.45             # 交并比阈值,用于非极大值抑制
)

# 遍历推理结果
for result in results:
    boxes = result.boxes  # 边界框信息
    masks = result.masks  # 分割掩码信息(如果有)
    keypoints = result.keypoints  # 关键点信息(如果有)
    probs = result.probs  # 分类概率(如果是分类任务)

结果输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值