如何使用本地下载的开放图像数据集训练YOLO模型?

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

我最近下载了 Open Images 数据集来为计算机视觉项目训练 YOLO(You Only Look Once)模型。然而,我面临着一些挑战,我正在寻求如何继续的指导。以下是我的设置的详细信息:

数据集下载: 我已经下载了 Open Images 数据集,包括测试数据、训练数据和验证数据。 数据集分为三个文件夹:测试、训练和验证。 ** 缺少 .yaml 文件:** YOLO 需要一个 .yaml 文件来配置数据集。但是,我在下载的数据集中找不到任何 .yaml 文件。我是否需要创建一个?如果需要,如何为 YOLO 创建 .yaml 文件?

数据集结构: train 文件夹内有三个子文件夹:数据、标签和元数据。 labels文件夹包含三个大文件:分类、检测和分割。每个文件的大小以 GB 为单位。这是正常现象还是我下载的数据集不正确?仅适用于 150 张图像

我非常感谢任何关于如何正确配置 YOLO 训练数据集的帮助或指导。我正在做我的大学项目,目前我陷入了困境,不知道我应该做什么。

我已经下载了 Open Images 数据集,包括测试数据、训练数据和验证数据。 数据集分为三个文件夹:测试、训练和验证。为了训练自定义 YOLO 模型,我需要给 t 一个 .yaml 文件。但下载的数据集没有.yaml文件

computer-vision object-detection data-preprocessing yolov8
1个回答
0
投票

labels文件夹包含三个大文件:分类、检测和分割。每个文件的大小以 GB 为单位。这是正常现象还是我下载的数据集不正确?仅适用于 150 张图像

完整的 Open Images V7 数据集包含 1,743,042 个训练图像和 41,620 个验证图像,下载时需要大约 561 GB 的存储空间,如 Ultralytics YOLOv8 Docs 中所述。我想您只下载了它的一个子集,但标签文件仍然可以包含完整版本的信息。

我在下载的数据集中找不到任何 .yaml 文件。我是否需要创建一个?如果需要,如何为 YOLO 创建 .yaml 文件?

您拥有的数据集现在不是YOLO格式,所以是的,您需要手动创建一个dataset.yaml文件。幸运的是,这并不是什么大问题:dataset.yaml 文件包含有关数据集所在位置以及它具有哪些类的信息。例子是这里

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco8  # dataset root dir
train: images/train  # train images (relative to 'path') 4 images
val: images/val  # val images (relative to 'path') 4 images
test:  # test images (optional)

# Classes (80 COCO classes)
names:
  0: person
  1: bicycle
  2: car
  # ...
  77: teddy bear
  78: hair drier
  79: toothbrush

如何正确配置YOLO训练的数据集?

要训练 YOLO 模型,需要有 YOLO 格式的数据集,可以下载已格式化的数据集或自行格式化。第一种情况是找到合适的来源,例如,您可以在https://universe.roboflow.com/找到开源数据集,并且大多数数据集都可以以不同版本的YOLO格式下载。 第二种情况是自己格式化数据集。以下是一些步骤:

  1. 选择您需要的任务:图像分类、对象检测、分割或其他:https://docs.ultralytics.com/tasks/
  2. 此处探索与任务相关的标签格式。例如,此处描述了对象检测标签格式:https://docs.ultralytics.com/datasets/detect/#ultralytics-yolo-format
  3. 了解您拥有什么格式的数据集、如何迭代其注释以及如何查找自定义 yolo 数据集的相关信息。
  4. 您可以尝试找到一个现成的解决方案来将一种数据集格式转换为另一种数据集格式。例如,https://github.com/ibaiGorordo/OpenImages-Yolo-converter可能很有用。
  5. 如果没有现成的解决方案,请迭代数据集注释并获取相关信息(对于对象检测任务,它将是您拥有的所有图像的检测对象的边界框坐标和类名称)。如果需要,将获得的信息转换为YOLO形式,例如:Xmin,Xmax,Ymin,Ymax边界框坐标为x-centre,y-centre,w,h。
  6. 将获取并转换后的信息写入yolo标注.txt文件中。
  7. 构建用于训练的自定义 YOLO 数据集。对于物体检测任务,工作解决方案是:
dataset/
|-- train/
| |-- images/
| |-- labels/
|-- val/
| |-- images/
| |-- labels/
|-- test/
| |-- images/
| |-- labels/
© www.soinside.com 2019 - 2024. All rights reserved.