如何使用YOLOv8来训练——木材缺陷数据集 6类

该木材缺陷数据集采用标注完成的方式进行构建。其中的数据全部以文本文件格式存储,并遵循yolo数据格式要求,在训练阶段已预先划分好训练集与验证集,并包含了各类别标签文件。该数据集共分为6个类别:'干节'、'健全节'、'边界节'、'小节'、'裂纹'以及'波纹'。经过实际测试验证,在使用yolov8s模型进行训练时(平均计算50%精度),其各分类指标表现优异。
具体步骤包括利用YOLOv8模型对木材缺陷数据集进行训练。木材缺陷数据集已完成标注工作,并已划分为训练集与验证集;类别标签已完成准备。
数据集描述

该数据集包含以下六种类别:
- 干节(dry_knot)
- 健全节(sound_knot)
- 边界(edge_knot)
- 小结(small_knot)
- 裂纹(split)
- 波形(wave)
数据集已经按类别标注好,并且是YOLO格式的.txt文件。

数据集组织
假设你的数据集目录结构如下:
wood_defect_dataset/
├── train/
│ ├── images/
│ └── labels/
├── valid/
│ ├── images/
│ └── labels/
└── data.yaml # 数据配置文件
其中:
train/存储着训练数据的图像与标签。valid/存储着验证数据的图像与标签。data.yaml完整记录了数据路径以及其他必要的设置参数。
数据配置文件
首先,创建或确认data.yaml文件是否正确配置了数据集路径和类别信息:
train: ./train/images/ # 训练集图像路径
val: ./valid/images/ # 验证集图像路径
test: ./test/images/ # 测试集图像路径(如果有)
# Classes
nc: 6 # 类别数量
names: ['dry_knot', 'sound_knot', 'edge_knot', 'small_knot', 'split', 'wave'] # 类别名称列表
安装YOLOv8
如果你还没有安装YOLOv8,可以使用以下命令安装:
pip install ultralytics
训练模型

运行YOLOv8模型训练的命令极为简便
cd path/to/wood_defect_dataset/
# 下载预训练权重
wget https://github.com/ultralytics/ultralytics/releases/download/v8.0.19/yolov8n.pt
# 开始训练
ultralytics train model=yolov8n.yaml data=./data.yaml epochs=100 imgsz=640
在这个命令中:
model=yolov8n.yaml:指定了YOLOv8模型配置文件的使用。data=./data.yaml:确定了数据配置文件。epochs=100:设定训练周期数为100次。imgsz=640:规定输入图像尺寸为640像素宽度和高度。
使用预定义配置

YOLOv8提供了不同版本的预定义模型配置...。你可以根据具体需求选择适合不同场景的模型版本来进行训练。例如:
ultralytics train model=yolov8s.yaml data=./data.yaml epochs=100 imgsz=640
模型评估
训练完成后,可以使用以下命令评估模型在验证集上的表现:
ultralytics val model=best.pt data=./data.yaml imgsz=640
这里的best.pt是训练过程中产生的最佳模型权重文件。
模型预测
你可以使用训练好的模型对新图像进行预测:
ultralytics predict model=best.pt source=path/to/your/image.jpg imgsz=640
查看训练结果
在训练过程中产生的记录信息会存储于runs/detect/文件夹中。你可以访问训练过程中的损失值、准确率等数据。
在训练过程中产生的记录信息会存储于runs/detect/文件夹中。你可以访问训练过程中的损失值、准确率等数据。
注意事项
- 数据集质量:保证数据集的标准(即质量),涵盖清晰度与标注准确性。
- 模型选择:建议基于当前需求选择增强性能的模型版本(如YOLOv8m或YOLOv8l)。
- 超参数调整:为了优化训练效果,请明确指定批量大小(
batch-size)与图像尺寸(imgsz)等关键参数。 - 监控性能:建议在训练过程中持续监测损失函数与mAP指标的变化情况,并关注模型是否达到最佳收敛状态。
按照以下步骤操作:第一步至第三步完成,请确保每一步骤均正确无误地执行完毕;随后,在第四步中,请您利用YOLOv8软件建立一个木材缺陷检测的数据集;接着,在第五步中,请您将前一步骤生成的数据集导入到预处理后的模型中,并将其用于预测木材缺陷的位置与特征
