Ultralytics YOLOv8 训练和导出的 Label Studio 之间的数据集格式不匹配

问题描述 投票:0回答:1

我之前使用过 Tensorflow,现在是 PyTorch 和 Ultralytics YOLOv8 的新手。我最近学会了训练(微调)YOLOv8 对象检测模型以适应我自己的数据集。然而,官方文档只展示了如何使用YAML文件以COCO8格式进行训练。 Label Studio 导出的数据集仅为 JSON,而不是 YAML(甚至导出为 YOLO 格式!)。

然后我尝试直接将

model.train(data="coco8.yaml", epochs=100, imgsz=640)
替换为
model.train(data="coco/result.json", epochs=100, imgsz=640)
。但毫不奇怪,它不起作用。

所以,我有两个问题:

  1. YOLOv8是否支持其他格式的数据进行微调?那么Label Studio中的YOLO和YOLOv8 OBB选项有什么问题吗?
  2. 我可以在 Label Studio 中导出 COCO8 格式的 YAML 文件吗?

编辑:

通过查看 GitHub 中的示例 coco8.yaml 文件,我发现 yaml 文件可以轻松地手动硬编码。不过我还是想知道Label Studio导出的数据集怎么用,为什么会出现格式接口的问题。

pytorch object-detection yolo yolov8 label-studio
1个回答
0
投票
YOLOv8是否支持其他格式的数据进行微调?

不可以,Ultralytics YOLOv8 仅支持 YOLO 格式的数据集,如官方文档中所述:用于对象检测
https://docs.ultralytics.com/datasets/detect/

,用于定向边界框检测 https:// docs.ultralytics.com/datasets/obb/,等等。

那么Label Studio中的YOLO和YOLOv8 OBB选项有什么问题吗?

正如预期的那样

,从Label Studio以YOLO格式导出的数据将具有以下内容:notes.json、classes.txt、images和labels文件夹。您仍然需要进行一些预处理才能从这些文件创建 YOLO 数据集。

我可以在 Label Studio 中导出 COCO8 格式的 YAML 文件吗?

这里的YAML文件只是YOLO数据集的简短文本描述(数据集路径和类列表),在这种情况下您需要手动创建它。

首先,将图像及其相应的标签划分为训练集和验证集,这样您将拥有
    train
  1. val 文件夹,其中每个文件夹内都有 imageslabels 文件夹。 创建一个新的文本文件并按以下格式描述您的数据集:
  2. # Train/val/test sets as 1) dir: path/to/imgs path: "../datasets/mydataset" # dataset root dir train: "train" # train folder (relative to 'path') val: "val" # validation folder (relative to 'path') test: # test folder (optional) # Classes list names: 0: person 1: bicycle 2: car
将此文本文件重命名为 
    mydataset.yaml
  1. 。这是您的 YAML 文件,从 Label Studio 导出的原始数据中不存在该文件。
  2. 对导出的数据集进行预处理后,您可以在其上训练 yolo 模型:

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="/path/to/mydataset.yaml", epochs=100, imgsz=640)

	
© www.soinside.com 2019 - 2024. All rights reserved.