yolov8 训练自定义数据集(windows+CPU)
本文实现使用yolov8训练自己的火灾数据集。
1. 数据的获取。
本文所使用的火灾数据集是在Roboflow上下载的。Roboflow是一款专为YOLOv8设计的自动化训练数据工具,它为YOLOv8提供了一种更便捷、更快速的方式来准备训练数据。它能够自动从开发者提供的原始图像数据中提取所需的信息,并将其转换为YOLOv8可以直接使用的格式。Roboflow还提供了一种独特的标记方式,让开发者更轻松地为图像中的物体设定标签,以便YOLOv8能够更有效地识别它们。
本文所使用的火灾数据集下载地址:https://universe.roboflow.com/custom-thxhn/fire-wrpgm
点击 Download this Dataset,选择YOLOv8 格式,选择 再点击 Continue 就可以下载该数据。下载下来的数据下图所示:
2. 使用 Anaconda 搭建 yolov8 虚拟环境,具体搭建环境方法看:1. Windows 环境下使用 CPU 运行 yolov8 环境搭建
3. 环境搭建好后,新建一个文件夹 yolov8_project,再打开 Anaconda 提示窗口,并在该文件夹下激活 yolov8 虚拟环境,如我的 yolov8_project 文件夹在 E 盘目录下,那么具体操作如下所示:
(1)在该环境下新建一个config文件夹,并在该文件夹下新建一个detection_fire.yaml文件,并输入以下内容:
train: E:\python_project\yolov8_project\dataset\fire_data\train
test: E:\python_project\yolov8_project\dataset\fire_data\test
val: E:\python_project\yolov8_project\dataset\fire_data\valid
#Classes
nc: 3 # replace according to your number of classes
#classes names
#replace all class names list with your classes names
names: ['Fire', 'default', 'smoke']
(2)在该文件夹下新建一个 dataset 文件夹,并把下载下来的数据集文件 fire.v8i.yolov8 重命名 fire_data,放在该文件夹下。
(3)在该文件夹下新建一个 model 文件夹,把下载下来的 yolov8 预训练模型 yolov8n.pt 放在该文件夹下。
4. 训练模型。
yolo task=detect mode=train model=./model/yolov8n.pt data=./config/detection_fire.yaml epochs=2 imgsz=640
参数:
task:表示当前模型所执行的任务类型,可以选择 segment,classify,detect,pose,obb 这五种;
mode:表示当前是模型选择训练模型、验证模式还是预测模式,可以选择 train,val,predict 这三种;
model:表示预训练模型的路径,可选择预训练模型有 yolov8n.pt, yolov8s.pt, yolov8m.pt, yolov8l.pt, yolov8x.pt 这五种;
epochs:设置模型训练轮数;
imgsz:设置输入图片大小,最好是32的倍数。
训练过程如下图所示:最终的训练结果也提示了保存在 runs\detect\train 下。
5. 使用训练好的模型进行预测。
yolo task=detect mode=predict model=runs/detect/train/weights/best.pt source=E:\python_project\data\fire2.mp4
预测结果:
测试数据可在网盘中 ”data_fire“ 文件夹下获取:https://pan.baidu.com/s/1dNzrVkpsXtO7uXyrMxADhA?pwd=6611