Yolov10训练自己的数据集

前置准备步骤

  1. 代码下载
  2. 数据集准备
    ----- datasets
    ----------- data.yml
    ----------- train
    ---------------------- images
    -------------------------------------------- 1.png
    ---------------------- labels
    -------------------------------------------- 1.txt
    ----------- val
    ---------------------- images
    -------------------------------------------- 1.png
    ---------------------- labels
    -------------------------------------------- 1.txt
  3. txt文件内容
    label, center_x, center_y, w, h
    0, 0.5, 0.5, 0.3, 0.4

训练以及测试代码

训练代码

#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=20,
                          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()

c++ 部署

代码下载

onnx 库安装

https://github.com/microsoft/onnxruntime/releases/tag/v1.17.1 下载对应版本
cmake.txt配置相应路径

find_path(ONNXRUNTIME_INCLUDE_DIR onnxruntime_c_api.h
    HINTS /home/xxx/data/lib/onnx-1.17.1/include
)
find_library(ONNXRUNTIME_LIBRARY onnxruntime
    HINTS /home/xxx/data/lib/onnx-1.17.1/lib
)

模型转换

from ultralytics import YOLOv10

model_name = "xxx.pt"
onnx_name = "xxx.onnx"
model = YOLOv10(model_name)

model.export(format='onnx')

推理命令

./yolov10_cpp best.onnx t.png

python 与C++结果推理不一致

  1. 过滤阈值不一致
  2. 预处理图像格式不一致(BGR2RGB)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
YOLO(You Only Look Once)是一种实时目标检测算法,YOLOv10YOLO系列的最新版本之一,它在前几代的基础上进行了优化和改进。训练自己的数据集是使用YOLO进行目标检测任务的关键步骤,下面是一些关键步骤: 1. 数据收集:首先,你需要一个包含目标物体及其对应标注信息(边界框坐标、类别标签)的数据集数据集应包括不同角度、光照和背景的图像,以提高模型的泛化能力。 2. 数据预处理:对图片进行标准化,如调整大小(通常保持网络输入尺寸的一致性),转换为RGB格式,并将像素值缩放到特定的范围(例如[0, 1]或[-1, 1])。 3. 创建标注文件:对于YOLO,需要的是`.txt`格式的标注文件,每个条目包含图像文件名、类别的ID、以及对应的框信息(左上角和右下角坐标)。 4. 数据划分:将数据集划分为训练集、验证集和测试集,通常比例可能为70%、15%和15%,以便在训练过程中进行模型选择和性能评估。 5. 配置文件:准备YOLOv10训练配置文件,其中定义了训练参数、优化器、损失函数、学习率策略等。 6. 模型训练:使用深度学习框架(如TensorFlow或PyTorch)加载预训练YOLOv10模型,然后使用自定义数据集进行训练训练过程可能需要一段时间,取决于数据量、GPU性能和设置的超参数。 7. 模型评估与调整:训练完成后,用验证集评估模型性能。如果效果不理想,可能需要调整网络结构、优化器参数或训练参数,然后重新训练

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AICVer

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

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

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

打赏作者

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

抵扣说明:

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

余额充值