物体检测数据集概览
训练一个强大而准确的物体检测模型需要一个全面的数据集。本指南介绍了与Ultralytics YOLO 模型兼容的各种格式的数据集,并深入介绍了它们的结构、用法以及如何在不同格式之间进行转换。
支持的数据集格式
Ultralytics YOLO 格式
Ultralytics YOLO 格式是一种数据集配置格式,它允许您定义数据集根目录、训练/验证/测试图像目录的相对路径或 *.txt
文件(包含图像路径)和类名字典。下面是一个例子:
# 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 格式,并带有一个 *.txt
文件。如果图像中没有对象,则没有 *.txt
文件是必需的。文件 *.txt
文件格式,每个对象在 class x_center y_center width height
格式。方框坐标必须使用 归一化 xywh 格式(从 0 到 1)。如果您的方框以像素为单位,则应将其除以 x_center
和 width
图像宽度,以及 y_center
和 height
由图像高度决定。类号应为零索引(从 0 开始)。
上述图像对应的标签文件包含 2 个人(类别 0
)和平局(班级 27
):
使用Ultralytics YOLO 格式时,请按照下面COCO8 数据集示例中的方法组织训练和验证图像及标签。
使用方法
下面介绍如何使用这些格式来训练模型:
示例
支持的数据集
下面是支持的数据集列表和每个数据集的简要说明:
- Argoverse:该数据集包含来自城市环境的三维跟踪和运动预测数据,并附有丰富的注释。
- COCO:Common Objects in Context (COCO) 是一个大型物体检测、分割和字幕数据集,包含 80 个物体类别。
- LVIS:大规模物体检测、分割和字幕数据集,包含 1203 个物体类别。
- COCO8:COCO train 和 COCO val 中前 4 幅图像的较小子集,适合快速测试。
- COCO128:COCO train 和 COCO val 中前 128 幅图像的较小子集,适用于测试。
- 全球小麦 2020:包含 2020 年全球小麦挑战赛小麦头图像的数据集。
- 对象 365:用于物体检测的高质量大规模数据集,包含 365 个物体类别和 600K 多张注释图像。
- OpenImagesV7:由Google 提供的综合数据集,包含 170 万张训练图像和 4.2 万张验证图像。
- SKU-110K:这是一个以零售环境中密集物体检测为特色的数据集,包含超过 11K 幅图像和 170 万个边界框。
- VisDrone:这是一个数据集,包含来自无人机捕获图像的物体检测和多物体跟踪数据,有超过 10K 幅图像和视频序列。
- VOC:用于物体检测和分割的 Pascal Visual Object Classes (VOC) 数据集,包含 20 个物体类别和超过 11K 幅图像。
- xView:用于高空图像中物体检测的数据集,包含 60 个物体类别和 100 多万个注释物体。
- Roboflow 100:一个多样化的物体检测基准,包含 100 个数据集,横跨 7 个图像领域,用于综合模型评估。
- 脑肿瘤用于检测脑肿瘤的数据集包括核磁共振成像或 CT 扫描图像,其中包含有关肿瘤存在、位置和特征的详细信息。
- 非洲野生动物非洲野生动物:非洲野生动物图像数据集,包括水牛、大象、犀牛和斑马。
- 签名这是一个数据集,收录了带有签名注释的各种文件图像,支持文件验证和欺诈检测研究。
添加自己的数据集
如果您有自己的数据集,并希望将其用于使用Ultralytics YOLO 格式训练检测模型,请确保该数据集遵循上文 "Ultralytics YOLO format "中指定的格式。将注释转换为所需格式,并在 YAML 配置文件中指定路径、类数和类名。
移植或转换标签格式
将 COCO 数据集格式转换为YOLO 格式
使用以下代码片段,您可以轻松地将标签从流行的 COCO 数据集格式转换为YOLO 格式:
示例
该转换工具可用于将 COCO 数据集或任何 COCO 格式的数据集转换为Ultralytics YOLO 格式。
切记仔细检查您要使用的数据集是否与您的模型兼容,并遵循必要的格式约定。格式正确的数据集对于训练成功的物体检测模型至关重要。
常见问题
Ultralytics YOLO 数据集格式是什么,如何构建数据集?
Ultralytics YOLO 格式是一种结构化配置,用于在训练项目中定义数据集。它包括设置训练、验证和测试图像的路径以及相应的标签。例如
path: ../datasets/coco8 # dataset root directory
train: images/train # training images (relative to 'path')
val: images/val # validation images (relative to 'path')
test: # optional test images
names:
0: person
1: bicycle
2: car
# ...
标签保存在 *.txt
文件,每个图像一个文件,格式为 class x_center y_center width height
的坐标。有关详细指南,请参阅 COCO8 数据集示例.
如何将 COCO 数据集转换为YOLO 格式?
您可以使用Ultralytics 转换工具将 COCO 数据集转换为YOLO 格式。下面是一个快速方法:
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/")
该代码将把您的 COCO 注释转换为YOLO 格式,实现与Ultralytics YOLO 模型的无缝集成。有关更多详情,请访问 "移植或转换标签格式"部分。
Ultralytics YOLO 支持哪些数据集进行物体检测?
Ultralytics YOLO 支持多种数据集,包括
每个数据集页面都提供了有关结构和使用的详细信息,这些信息都是为高效的YOLO11 训练量身定制的。请在 "支持的数据集"部分查看完整列表。
如何使用我的数据集开始训练YOLO11 模型?
要开始训练YOLO11 模型,请确保数据集格式正确,并在 YAML 文件中定义了路径。使用以下脚本开始训练:
示例
有关使用不同模式(包括CLI 命令)的更多详情,请参阅 "使用"部分。
在哪里可以找到使用Ultralytics YOLO 进行物体检测的实用示例?
Ultralytics 提供了大量在各种应用中使用YOLO11 的示例和实用指南。要了解全面的概述,请访问Ultralytics 博客,在那里您可以找到使用YOLO11 进行对象检测、分割等的案例研究、详细教程和社区故事。有关具体示例,请查看文档中的 "使用 "部分。