yolov8训练自己的数据集(标注到训练)

yolov8可以用作目标检测,分割,姿态,跟踪。这里举例目标检测从标注到训练的过程。
官网连接
先把代码下载下来,这个不用说了。

然后准备数据集,创建一个文件夹dataset(自己命名),下面有images和labels.

在这里插入图片描述
images和labels文件夹下分别创建train和val文件夹,
把用作训练的图片放进train, 用作validation的图片放进val.
这时labels文件夹下的train和val都为空,因为还没有标注。
在这里插入图片描述

标注

可以用labelme或者其他工具标注,这里用makesense.ai,
这个只支持目标框和图像分类,并不支持分割。

yolov8训练自己的数据集(标注到训练)_第1张图片

点get started,打开train或val整个文件夹的image, 选择“目标检测”,然后点start project就可以开始标注,

yolov8训练自己的数据集(标注到训练)_第2张图片

yolov8训练自己的数据集(标注到训练)_第3张图片

标完框之后,选择右边的select label, 会提示label为空,点击label为空的地方,会出现编辑label。
编辑完保存之后下次标注就能直接选择label.

yolov8训练自己的数据集(标注到训练)_第4张图片

train文件夹或者val文件夹中的所有图片标完之后,选择“Export Annotations"。然后选择YOLO格式。会得到zip文件。
分别解压到labels文件夹下的train, val中,标注结束。

yolov8训练自己的数据集(标注到训练)_第5张图片

训练

数据集放在ultralytics/datasets下面。

yolov8训练自己的数据集(标注到训练)_第6张图片

创建自己的custom.yaml文件,放在ultralytics/datasets下面。
编辑路径,label.

yolov8训练自己的数据集(标注到训练)_第7张图片

写训练代码:

from ultralytics import YOLO

if __name__ == "__main__":
    #train
    model = YOLO('yolov8n.pt')

    model.train(
        data="ultralytics/datasets/custom.yaml",
        epochs=50,
        imgsz=640,
        batch=2,
        save_period=10,
    )

测试效果

yolov8训练自己的数据集(标注到训练)_第8张图片

你可能感兴趣的:(DeepLearning,YOLO)