提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、找到default.yaml文件
- 二、修改default.yaml文件
- 三、代码实现
- 四、生成结果展示
- 补充(呼应前面代码训练数据集的路径位置)
前言
我们经常会遇到数据集的标注经别人帮忙后不知道标注是否好用或者又有新来的数据集需要标注。以上两种情况发生,我们可以实现用yolov8去实现数据集的自动标注前提是已经训练出了一个模型哦
一、找到default.yaml文件
二、修改default.yaml文件
- 将false修改为True:这样我们在跑yolov8去重新预测数据集或新的数据集的时候不仅会将框识别标出来还 会自动生成yolo需要的txt格式的label
三、代码实现
import os
from PIL import Image
from ultralytics import YOLO
import multiprocessing
if __name__ == '__main__':
multiprocessing.freeze_support()
# 指定文件夹路径
folder_path = r"D:\ultralytics-main\ultralytics\datasets\pc3_new\images\train"
# 加载之前训练完的模型
model = YOLO(r"D:\ultralytics-main\ultralytics\runs\detect\train28\weights\best.pt")
# 遍历文件夹中的文件
for filename in os.listdir(folder_path):
# 判断文件是否为图片文件
if filename.endswith(".jpg") or filename.endswith(".png"):
# 拼接文件的完整路径
file_path = os.path.join(folder_path, filename)
# 打开图片文件
# image = Image.open(file_path)
# 预测并生成标签
results = model(file_path,save=True)
# 进行相关操作,例如显示图片、处理图片等
# image.show()
四、生成结果展示
运行的结果会在runs\detect\predict
下生成对应的images和labels文件夹,
- 我们可以看到对应的labels和图片已经一一对应的生成并标注好了。
补充(呼应前面代码训练数据集的路径位置)
- 数据集的yaml文件要提前写好哦,我相信走到这步的都是会玩yolov8的不需要我去多说了就明白了