【手把手教你】训练YOLOv8分割模型

1.下载文件

在github上下载YOLOV8模型的文件,搜索yolov8,star最多这个就是【手把手教你】训练YOLOv8分割模型_第1张图片

2. 准备环境

环境要求python>=3.8,PyTorch>=1.8,自行安装ptyorch环境即可
在这里插入图片描述

2. 制作数据集

制作数据集,需要使用labelme这个包,安装命令为

pip install labelme -i https://pypi.tuna.tsinghua.edu.cn/simple

然后启动labelme,在终端输入labelme这个命令即可
在这里插入图片描述
打开后是这样,我这个是汉化过的了,正常打开是英文的
【手把手教你】训练YOLOv8分割模型_第2张图片
然后点击labelme界面的打开文件夹,打开你准备标的图片
【手把手教你】训练YOLOv8分割模型_第3张图片

正常标即可,标完后,你会在文件夹下看到很多.json格式的文件,正常时一张图片,对应一个.json文件。

到现在数据集还不能用,需要把标好的数据集转化称YOLOv8能用的数据集,这里需要下载一个包,叫做labelme2yolo,直接pip命令下载即可

	pip install labelme2yolo

然后输入命令,改变数据集格式

labelme2yolo --json_dir /path/to/labelme_json_dir/ --val_size 0.15 --test_size 0.15

这里的 –val_size 0.15 --test_size 0.15表示,划分数据集,其中70%用来训练,15%评估,15%测试

完成后,你会看到文件夹下的数据集,名称为YOLODataset,YOLODataset问价下有两个文件夹,分别是images和labels,和一个dataset.yaml文件

【手把手教你】训练YOLOv8分割模型_第4张图片

3.训练模型

训练模型,首先需要准备训练文件

from ultralytics import YOLO
# Load a model
#
model = YOLO('yolov8n-seg.yaml').load('yolov8n-seg.pt')  # build from YAML and transfer weights
# Train the model
#这里需的dataset.yaml文件,是第二步使用labelme2yolo自动生成的
model.train(data='E:\\edge_downlond\\ultralytics-main\\ultralytics-main_9_7\\datasets\\YOLODataset\\dataset.yaml' , epochs=300)

如果第一次运行,这里需要下载预训练文件,需要梯子下载,没有的话需要手动去github下载,预训练文件有不同大小的,这里根据需求选择即可,一般来说,大模型效果更好,但是花费的时间也更多,速度慢
【手把手教你】训练YOLOv8分割模型_第5张图片

启动训练文件,运行即可,这样就是成功训练了

【手把手教你】训练YOLOv8分割模型_第6张图片

训练完成后,会生成权重文件,保存在runs文件夹下

在这里插入图片描述
在这里插入图片描述

3.运行模型

创建一个运行模型的文件

from ultralytics import YOLO

model = YOLO('runs/segment/train5/weights/best.pt')  # load a custom model
#改成自己的权重文件路径
results = model(source="./6.mp4", save=True )
#source的路径改成自己需要分割的,图片视频均可

点击文件运行即可,运行的结果保存在runs文件夹下面在这里插入图片描述

你可能感兴趣的:(YOLO)