零基础教程:使用yolov8训练自己的目标检测数据集

1.前言

Ultralytics YOLOv8 是一款前沿、最先进(SOTA)的模型,基于先前 YOLO 版本的成功,引入了新功能和改进,进一步提升性能和灵活性。YOLOv8 设计快速、准确且易于使用,使其成为各种物体检测与跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。

2.源码下载以及部署

1.下载地址:

https://github.com/ultralytics/ultralytics

零基础教程:使用yolov8训练自己的目标检测数据集_第1张图片

下载预训练权重

零基础教程:使用yolov8训练自己的目标检测数据集_第2张图片

将下载好的预训练权重放在根目录下面

零基础教程:使用yolov8训练自己的目标检测数据集_第3张图片

下载完之后用pycharm打开

2.部署环境

激活虚拟环境之后

pip install ultralytics

零基础教程:使用yolov8训练自己的目标检测数据集_第4张图片

零基础教程:使用yolov8训练自己的目标检测数据集_第5张图片

在pycharm里面选择自己的深度学习环境

零基础教程:使用yolov8训练自己的目标检测数据集_第6张图片

3.准备数据集

yolo格式的数据集(COCO):标签是txt文件

VOC数据集:标签是xml文件

将准备好的txt格式数据集放在data文件夹下面

零基础教程:使用yolov8训练自己的目标检测数据集_第7张图片

4.修改配置文件

1.修改数据集的路径

找到coco128.yaml文件

零基础教程:使用yolov8训练自己的目标检测数据集_第8张图片

复制coco128.yaml到同级文件夹,改名叫mycoco128.yaml

零基础教程:使用yolov8训练自己的目标检测数据集_第9张图片

替换数据集目录

零基础教程:使用yolov8训练自己的目标检测数据集_第10张图片

目录路径是相对路径

零基础教程:使用yolov8训练自己的目标检测数据集_第11张图片

零基础教程:使用yolov8训练自己的目标检测数据集_第12张图片

修改训练验证以及测试的路径

零基础教程:使用yolov8训练自己的目标检测数据集_第13张图片

5.修改类别

零基础教程:使用yolov8训练自己的目标检测数据集_第14张图片

6.修改类别数

找到yolov8.yaml文件

零基础教程:使用yolov8训练自己的目标检测数据集_第15张图片

复制yolov8.yaml到同级文件夹,并改名叫myyolov8.yaml

然后修改nc(类别数):6

零基础教程:使用yolov8训练自己的目标检测数据集_第16张图片

3.训练自己的数据集

1.打开官方指导步骤

Python - Ultralytics YOLOv8 Docs

复制这段代码

零基础教程:使用yolov8训练自己的目标检测数据集_第17张图片

from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO('yolov8n.yaml')

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

# Train the model using the 'coco128.yaml' dataset for 3 epochs
results = model.train(data='coco128.yaml', epochs=3)

# Evaluate the model's performance on the validation set
results = model.val()

# Perform object detection on an image using the model
results = model('https://ultralytics.com/images/bus.jpg')

# Export the model to ONNX format
success = model.export(format='onnx')

2.在根目录新建一个自己的训练文件

零基础教程:使用yolov8训练自己的目标检测数据集_第18张图片

3.将官方的代码复制进去

预测和导出的代码先注释掉,先演示一下训练和验证

零基础教程:使用yolov8训练自己的目标检测数据集_第19张图片

4.修改参数,将里面的文件都换成自己的路径

epoch换成30

零基础教程:使用yolov8训练自己的目标检测数据集_第20张图片

5.直接运行,发现报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 22-23: truncated \uXXXX escape

零基础教程:使用yolov8训练自己的目标检测数据集_第21张图片

解决方法:将路径的右斜杠(\)换成左斜杠(/)

零基础教程:使用yolov8训练自己的目标检测数据集_第22张图片

将之前hatDataDemo的右斜杠也换成左斜杠

零基础教程:使用yolov8训练自己的目标检测数据集_第23张图片

然后运行mytrain.py

你可能感兴趣的:(YOLO,目标检测,人工智能,python,计算机视觉,深度学习)