【训练数据集介绍】
数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)
图片数量(jpg文件个数):6415
标注数量(xml文件个数):6415
标注数量(txt文件个数):6415
标注类别数:5
标注类别名称(注意yolo格式类别顺序不和这个对应,而以labels文件夹classes.txt为准):["climb","eat","fight","lie","stand"]
每个类别标注的框数:
climb 框数 = 1794
eat 框数 = 20
fight 框数 = 360
lie 框数 = 4653
stand 框数 = 13895
总框数:20722
使用标注工具:labelImg
标注规则:对类别进行画矩形框
重要说明:暂无
特别声明:本数据集不对训练的模型或者权重文件精度作任何保证,数据集只提供准确且合理标注
图片预览:
标注例子:
【训练步骤】
首先我们获取到数据集为一个压缩包格式,比如zip格式或者7z格式。这时候我们解压压缩包后可以得到下面文件夹结构:
温馨提醒:请尽量不要将数据集放到有中文或者有空格路径下面以防训练时候读取图像报错。
这里比如我解压的到C:\Users\Administrator\Downloads,由于使用yolo训练数据集,因此Annotations文件夹用不上可以放一边。
在data文件夹下面新建train和val一共2个文件夹,然后分别在train和val文件夹再新建images和labels文件夹,如下图
然后将JPEGImages文件夹下面前100张图片和对应标注移动到val文件夹对应目录中,当然您也可以随便选择指定数量图片移动或者复制都行。最后把剩余图片和标注txt文件复制到train文件夹指定目录。
参考coco128.yaml配置写自己训练配置文件,如果没有yaml文件可以按照下面格式书写配置文件
train: C:\Users\Administrator\Downloads\data\train\images
val: C:\Users\Administrator\Downloads\data\val\images
nc: 4
names:
0: climb
1: eat
2: fight
3: lie
4: stand
写好后这里我叫data.yaml,注意上面类别一定要和labels文件夹里面classes.txt类别要一致
之后就是开始训练了,注意训练yolov11模型需要自己提前安装好环境。
使用预训练模型开始训练
yolo task=detect mode=train model=yolo11n.pt data=data.yaml epochs=100 imgsz=640 batch=8 workers=2
参数说明:
model: 使用的模型类型,如 yolo11s.pt(小模型)、yolo11m.pt(中)、yolo11l.pt(大) data: 指定数据配置文件 epochs: 训练轮数 imgsz: 输入图像尺寸 batch: 批量大小(根据显存调整)
workers:指定进程数(windows最好设置0或者1或2,linux可以设置8) 训练完成后,最佳权重保存路径为:runs/detect/train/weights/best.pt,如果多次运行命令runs/detect/train2,runs/detect/train3文件夹生成只需要到数字最大文件夹查看就可以找到模型
图片预测:
from ultralytics import YOLO
# 加载训练好的模型
model = YOLO('runs/detect/train/weights/best.pt')
# 图像预测
results = model('path_to_your_image.jpg')
视频或摄像头预测
results = model('path_to_video.mp4') # 视频
#results = model(0) # 摄像头
验证集评估
yolo task=detect mode=val model=runs/detect/train/weights/best.pt data=data.yaml
输出指标图像,一般在模型训练后生成,文件位置在runs/detect/train/results.png:
上面训练结果图片常用评估参数介绍
【常用评估参数介绍】
在目标检测任务中,评估模型的性能是至关重要的。你提到的几个术语是评估模型性能的常用指标。下面是对这些术语的详细解释:
这些指标共同构成了评估目标检测模型性能的重要框架。通过比较不同模型在这些指标上的表现,可以判断哪个模型在实际应用中可能更有效。
将模型导出为ONNX、TensorRT等格式以用于部署:
yolo export model=runs/detect/train/weights/best.pt format=onnx 支持格式包括:onnx, engine, tflite, pb, torchscript 等。
经过上面训练可以使用模型做一步部署,比如使用Onnx模型在嵌入式部署,使用engine模型在jetson上deepstream部署,使用torchscript模型可以在C++上部署等等。