Advertisement

如何使用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软件建立一个木材缺陷检测的数据集;接着,在第五步中,请您将前一步骤生成的数据集导入到预处理后的模型中,并将其用于预测木材缺陷的位置与特征

全部评论 (0)

还没有任何评论哟~