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,并在该文件夹下激活 yolov8 虚拟环境。

(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

 

 
posted @ 2024-07-31 10:02  ttweixiao9999  阅读(1)  评论(0编辑  收藏  举报