Ultralytics YOLO 数据集格式指南

在进行对象检测任务时,一个全面的数据集是必不可少的。本指南将介绍与Ultralytics YOLO模型兼容的各种数据集格式,并深入探讨它们的结构、使用方法以及如何在不同格式之间进行转换。

Ultralytics YOLO数据集格式

Ultralytics YOLO格式是一种用于配置数据集的格式,它允许指定数据集的根目录或训练/验证/测试图像的相对路径。此外,还包括一个包含图像路径和类别名称字典的.txt文件。以下是一个配置示例:

# 数据集的根目录 path: ../datasets/coco8 # 训练图像(相对于'path') train: images/train # 验证图像(相对于'path') val: images/val # 测试图像(可选) test: images/test # 类别名称 names: 0: person 1: bicycle 2: car # ... 77: teddy bear 78: hair drier 79: toothbrush

每个图像的标签需要导出为YOLO格式的.txt文件。如果没有图像中的物体,则不需要.txt文件。每个.txt文件应该按照class x_center y_center width height的格式进行格式化,其中坐标应为归一化的xywh格式(从0到1)。如果框是像素单位,需要将x_centerwidth除以图像的宽度,将y_centerheight除以图像的高度。类别编号应从零开始索引。

支持的数据集

以下是支持的数据集列表及其简要描述:

  • Argoverse: 包含3D追踪和动作预测数据的城市环境数据集,具有丰富的注释。
  • COCO: 广泛用于对象检测、分割和标记的数据集,包含80个类别的对象。
  • LVIS: 广泛用于对象检测、分割和解释的数据集,包含1203个类别的对象。
  • COCO8: 一个较小的COCO训练和验证图像的子集,适合快速测试。
  • COCO128: 一个较小的COCO训练和验证图像的子集,适合测试。
  • 全球小麦2020: 包含小麦头图像的全球小麦2020挑战数据集。
  • Objects365: 高质量和广泛的对象检测数据集,包含365个类别的对象和超过600,000张标记图像。
  • OpenImagesV7: Google提供的全面数据集,包含1.7百万训练图像和42,000张验证图像。
  • SKU-110K: 在零售环境中检测密集物体的数据集,包含超过11,000张图像和170万个边界框。
  • VisDrone: 包含由无人机拍摄的图像中的对象检测和多对象跟踪数据的数据集,包含超过10,000张图像和视频序列。
  • Pascal VOC车辆: Pascal视觉对象类别(VOC)数据集,用于对象检测和分割,包含20个类别的对象和超过11,000张图像。
  • xView: 在航拍图像中检测对象的数据集,包含60个类别的对象和超过100万个标记对象。
  • Roboflow 100: 用于对象检测的多样化标准,涵盖七个图像领域的100个数据集,以进行全面的模型评估。
  • 脑瘤: 用于检测脑瘤的数据集,包括MRI或CT扫描图像,以及有关肿瘤存在、位置和属性的详细信息。
  • 非洲野生动物: 包含非洲野生动物图像的数据集,包括长颈鹿、犀牛、角马和野驴。
  • 签名: 包含不同文档图像的数据集,标记有签名,支持文档验证和欺诈检测研究。

添加数据集

如果有自己的数据集并希望使用它来训练Ultralytics YOLO模型,请确保它遵循上述的“Ultralytics YOLO格式”。将注释转换为所需的格式,并在YAML配置文件中指定路径、类别数量和类别名称。

转换标签格式

可以轻松地将COCO数据集的标签转换为YOLO格式,使用以下Python代码片段:

from ultralytics.data.converter import convert_coco convert_coco(labels_dir="path/to/coco/annotations/")

这个工具可以将COCO格式的数据集或任何COCO格式的数据集转换为Ultralytics YOLO格式。

常见问题解答

Q: Ultralytics YOLO数据集格式是什么,如何构建?

A:Ultralytics YOLO格式是一种组织良好的配置,用于指定训练、验证和测试图像的路径和标签。例如:

path: ../datasets/coco8 train: images/train val: images/val test: images/test names: 0: person 1: bicycle 2: car # ...

标签保存在.txt文件中,每个图像一个文件,格式为class x_center y_center width height,坐标为自然对数。有关详细指南,请参考COCO8数据集示例。

Q: 如何将COCO数据集转换为YOLO格式?

A: 可以使用Ultralytics提供的转换工具将COCO数据集转换为YOLO格式。以下是快速方法:

from ultralytics.data.converter import convert_coco convert_coco(labels_dir="path/to/coco/annotations/")

这将把COCO注释转换为YOLO格式,允许与Ultralytics YOLO模型无缝集成。有关更多详细信息,请访问文档中的“执行或转换标签格式”部分。

Q:Ultralytics YOLO支持哪些数据集用于对象检测

A:Ultralytics YOLO支持多种数据集,包括Argoverse、COCO、LVIS、COCO8、全球小麦2020、Objects365、OpenImagesV7等。每个数据集页面都提供了针对高效YOLO11训练的结构和使用详细信息。在“支持的数据集”部分查看完整列表。

Q: 如何使用数据集开始训练YOLO11模型?

A: 要开始训练YOLO11模型,请确保数据集格式正确,并且在YAML文件中定义了路径。使用以下脚本来开始训练:

from ultralytics import YOLO model = YOLO("yolo11n.pt") results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)

有关使用不同命令行选项的详细信息,请访问文档中的“使用”部分。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485