编程笔记

lifelong learning & practice makes perfect

YOLOV8自定义数据集训练模型

使用YOLOV8训练自定义数据集,实现多目标检测

流程

  • 自定义标签
  • 数据标注
  • 训练
  • 验证

自定义标签

这里通过工具X-AnyLabeling进行标注,需要按照工具要求添加标签,这里我添加了2个标签,person和car如下

1
2
3
#新增 classes.txt,内容:
person
car

数据标注

启动X-AnyLabeling,选择YOLO格式,导入自定义标签,然后开始标注

点击format选择格式为YOLO并导入自定义标签,如图

设置format

打开存放有待标注数据的文件夹,开启自动保存,(每次标注后自动保存结果到磁盘),可开启AI(Auto Labe)辅助标注(效果参考项目官网)

训练

使用yolo包训练,训练前需要拆分并设置训练集和验证集,配置到train.yaml中

1
2
3
4
5
6
7
8
# 训练
from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt') # load a pretrained model (recommended for training)

# Train the model
results = model.train(data='train.yaml', epochs=100)

训练结果

训练结果2

验证

1
2
3
# 加载训练得到的模型,多目标检测
model = YOLO('best.pt',task='detect')
model.predict(source=image_file,save=False)

参考

欢迎关注我的其它发布渠道