Link to this section数据集概览#
Ultralytics 支持多种数据集,以助力检测、实例分割、语义分割、姿态估计、分类和多目标跟踪等计算机视觉任务。以下是主要的 Ultralytics 数据集列表,后文会对各项计算机视觉任务及对应的数据集进行总结。
Watch: Ultralytics Datasets Overview
Link to this section目标检测#
边界框目标检测是一种计算机视觉技术,通过在每个对象周围绘制边界框来识别并定位图像中的对象。
- African-wildlife:一个包含非洲野生动物图像的数据集,包括水牛、大象、犀牛和斑马。
- Argoverse:一个包含来自城市环境的 3D 跟踪和运动预测数据的数据集,具有丰富的标注。
- Brain-tumor:用于检测脑肿瘤的数据集,包含 MRI 或 CT 扫描图像,并标注了肿瘤的存在、位置和特征详情。
- COCO:Context 中的常用对象 (COCO) 是一个大规模的目标检测、分割和标注数据集,包含 80 个对象类别。
- COCO8:COCO train 和 COCO val 中前 4 张图片组成的较小数据集子集,适合进行快速测试。
- COCO8-Grayscale:将 RGB 转换为灰度图后得到的 COCO8 灰度版本,适用于单通道模型评估。
- COCO8-Multispectral:通过插值 RGB 波长创建的 10 通道多光谱版本 COCO8,适用于光谱感知模型评估。
- COCO128:COCO train2017 中前 128 张图片组成的较小数据集子集,适合进行测试。
- Construction-PPE:一个建筑工地图像数据集,标注了头盔、背心、手套、靴子和护目镜等关键安全装备,并附有缺失装备的标签,支持开发用于合规和工人保护的 AI 模型。
- Global Wheat 2020:一个包含 2020 年全球小麦挑战赛麦穗图像的数据集。
- HomeObjects-3K:一个标注了 12 种常见家居用品的室内场景数据集,非常适合在智能家居系统、机器人技术和增强现实领域开发和测试计算机视觉模型。
- KITTI New:一个著名的自动驾驶数据集,包含立体视觉、LiDAR 和 GPS/IMU 输入,用于多种道路场景下的 2D 目标检测。
- LVIS:一个包含 1203 个对象类别的大规模目标检测、分割和标注数据集。
- Medical-pills:一个包含医药药片标签图像的数据集,旨在协助药物质量控制、分拣以及确保符合行业标准。
- Objects365:一个高质量、大规模的目标检测数据集,拥有 365 个对象类别和超过 60 万张标注图像。
- OpenImagesV7:Google 提供的综合数据集,包含 170 万张训练图像和 4.2 万张验证图像。
- RF100:一个多样化的目标检测基准,包含涵盖七个图像领域的 100 个数据集,用于全面的模型评估。
- Signature:一个包含各种带标注签名文件的文档图像数据集,支持文档验证和欺诈检测研究。
- SKU-110K:一个零售环境下的密集目标检测数据集,包含超过 1.1 万张图像和 170 万个边界框。
- VisDrone:一个包含无人机拍摄图像的目标检测和多目标跟踪数据集,具有超过 1 万张图像和视频序列。
- VOC:Pascal Visual Object Classes (VOC) 数据集,用于目标检测和分割,包含 20 个对象类别和超过 1.1 万张图像。
- xView:一个用于高空俯视图像目标检测的数据集,包含 60 个对象类别和超过 100 万个标注对象。
Link to this section实例分割#
实例分割是一种在像素级别识别并定位图像中对象的计算机视觉技术。与仅对每个像素进行分类的语义分割不同,实例分割可以区分同一类别的不同实例。
- Carparts-seg:专门用于识别车辆零件的数据集,满足设计、制造和研究需求。它既适用于目标检测任务,也适用于分割任务。
- COCO:一个专为目标检测、分割和标注任务设计的大规模数据集,包含超过 20 万张标注图像。
- COCO8-seg:一个用于实例分割任务的较小数据集,包含 8 张带有分割标注的 COCO 图像子集。
- COCO128-seg:一个用于实例分割任务的较小数据集,包含 128 张带有分割标注的 COCO 图像子集。
- Crack-seg:专门为检测道路和墙壁裂缝而创建的数据集,适用于目标检测和分割任务。
- Package-seg:为识别仓库或工业环境中的包裹而量身定制的数据集,适用于目标检测和分割应用。
Link to this section语义分割#
语义分割为图像中的每个像素分配一个类标签,生成密集的场景图,用于自动驾驶、场景解析和土地覆盖测绘等应用。
- Cityscapes:城市街景语义分割数据集,包含 19 个训练类别。
- Cityscapes8:一个紧凑的 8 张图像 Cityscapes 子集,用于快速检查语义分割流程。
- ADE20K:场景解析数据集,包含 150 个语义类别。
Link to this section姿态估计#
姿态估计是一种用于确定对象相对于摄像机或世界坐标系姿态的技术。这涉及识别对象(特别是人类或动物)上的关键点或关节。
- COCO:一个包含人体姿态标注的大规模数据集,专为姿态估计任务设计。
- COCO8-pose:一个用于姿态估计任务的较小数据集,包含 8 张带有标注人体姿态的 COCO 图像子集。
- Dog-pose:一个综合数据集,包含约 8500 张以狗为中心的图像,每只狗标注了 24 个关键点,专为姿态估计任务而设计。
- Hand-Keypoints:一个简洁的数据集,包含超过 2.6 万张以人手为中心的图像,每只手标注了 21 个关键点,专为姿态估计任务而设计。
- Tiger-pose:一个紧凑的数据集,包含 263 张以老虎为中心的图像,每只老虎标注了 12 个关键点,用于姿态估计任务。
Link to this section分类#
图像分类是一种计算机视觉任务,根据图像的视觉内容将其归入一个或多个预定义的类或类别。
- Caltech 101:一个包含 101 个对象类别的图像数据集,用于图像分类任务。
- Caltech 256:Caltech 101 的扩展版本,包含 256 个对象类别和更具挑战性的图像。
- CIFAR-10:一个包含 6 万张 32x32 彩色图像的数据集,分为 10 个类别,每类 6000 张图像。
- CIFAR-100:CIFAR-10 的扩展版本,包含 100 个对象类别,每类 600 张图像。
- Fashion-MNIST:一个由 7 万张 10 类时尚服装灰度图像组成的数据集,用于图像分类任务。
- ImageNet:一个用于目标检测和图像分类的大规模数据集,包含超过 1400 万张图像和 2 万个类别。
- ImageNet-10:ImageNet 的一个较小子集,包含 10 个类别,用于更快的实验和测试。
- Imagenette:ImageNet 的一个较小子集,包含 10 个易于区分的类别,用于更快速的训练和测试。
- Imagewoof:ImageNet 的一个更具挑战性的子集,包含 10 个犬种类别,用于图像分类任务。
- MNIST:一个由 7 万张手写数字灰度图像组成的数据集,用于图像分类任务。
- MNIST160:MNIST 训练集和测试集中每个数字 (0-9) 的前 8 张图片。数据集总共包含 160 张图像。
Link to this section旋转边界框 (OBB)#
旋转边界框 (OBB) 是一种计算机视觉方法,用于通过旋转后的边界框检测图像中的倾斜对象,常应用于航空和卫星图像。与传统的边界框不同,OBB 能更好地拟合处于各种方向的对象。
- DOTA-v2:一个流行的 OBB 航空图像数据集,包含 170 万个实例和 11268 张图像。
- DOTA8:DOTAv1 分割集的前 8 张图像组成的较小数据集子集(4 张用于训练,4 张用于验证),适合进行快速测试。
- DOTA128:DOTA 数据集的 128 张图像子集(128 张用于训练和验证),为测试 OBB 模型提供了大小和多样性之间的良好平衡。
Link to this section多目标跟踪#
多目标跟踪是一种计算机视觉技术,涉及在视频序列中随时间检测和跟踪多个对象。这项任务通过在帧间保持对象的一致身份来扩展目标检测。
- Argoverse:一个包含来自城市环境的 3D 跟踪和运动预测数据的数据集,具有丰富的标注,适用于多目标跟踪任务。
- VisDrone:一个包含无人机拍摄图像的目标检测和多目标跟踪数据集,具有超过 1 万张图像和视频序列。
Link to this section贡献新数据集#
贡献新数据集涉及几个步骤,以确保其与现有基础设施保持一致。以下是必要步骤:
Watch: How to Contribute to Ultralytics Datasets
Link to this section贡献新数据集的步骤#
-
收集图像:收集属于该数据集的图像。这些图像可以从各种来源(如公共数据库或你自己的收藏)中获取。
-
标注图像:根据任务使用边界框、片段或关键点标注这些图像。
-
导出标注:将这些标注转换为 Ultralytics 支持的 YOLO
*.txt文件格式。 -
整理数据集:将数据集安排为正确的文件夹结构。你应该拥有顶层的
images/和labels/目录,并在每个目录下创建train/和val/子目录。dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
创建
data.yaml文件:在数据集的根目录下,创建一个描述数据集、类别和其他必要信息的data.yaml文件。 -
优化图像(可选):如果你想减小数据集的大小以实现更高效的处理,可以使用下面的代码优化图像。这不是必须的,但对于较小的数据集规模和更快的下载速度,建议这样做。
-
压缩数据集:将整个数据集文件夹压缩为 zip 文件。
-
记录文档并提交 PR:创建描述你的数据集以及它如何融入现有框架的文档页面。之后,提交拉取请求 (PR)。有关如何提交 PR 的详细信息,请参阅 Ultralytics Contribution Guidelines。
Link to this section用于优化和压缩数据集的示例代码#
from pathlib import Path
from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory
# Define dataset directory
path = Path("path/to/dataset")
# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
compress_one_image(f)
# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)通过遵循这些步骤,你可以贡献一个新的数据集,使其很好地集成到 Ultralytics 现有的结构中。
Link to this section常见问题解答#
Link to this sectionUltralytics 支持哪些用于目标检测的数据集?#
Ultralytics 支持多种用于目标检测的数据集,包括:
- COCO:一个大规模目标检测、分割和标注数据集,包含 80 个对象类别。
- LVIS:一个拥有 1203 个对象类别的综合数据集,专为更细粒度的目标检测和分割而设计。
- Argoverse:一个包含来自城市环境的 3D 跟踪和运动预测数据的数据集,具有丰富的标注。
- VisDrone:一个包含来自无人机捕捉图像的目标检测和多目标跟踪数据的数据集。
- SKU-110K:零售环境下的密集目标检测数据集,包含超过 1.1 万张图像。
这些数据集有助于训练稳健的 Ultralytics YOLO 模型,以应用于各种目标检测场景。
Link to this section我该如何向 Ultralytics 贡献一个新数据集?#
贡献新数据集涉及几个步骤:
- 收集图像:从公共数据库或个人收藏中收集图像。
- 标注图像:根据任务应用边界框、片段或关键点。
- 导出标注:将标注转换为 YOLO
*.txt格式。 - 整理数据集:使用包含
train/和val/目录的文件夹结构,每个目录都包含images/和labels/子目录。 - 创建
data.yaml文件:包含数据集描述、类别和其他相关信息。 - 优化图像(可选):减小数据集大小以提高效率。
- 压缩数据集:将数据集压缩为 zip 文件。
- 记录文档并提交 PR:描述你的数据集并按照 Ultralytics Contribution Guidelines 提交拉取请求。
访问 贡献新数据集 获取详细指南。
Link to this section我为什么要为我的数据集使用 Ultralytics 平台?#
Ultralytics Platform 为数据集管理和分析提供了强大的功能,包括:
- 无缝数据集管理:在一个地方上传、组织和管理你的数据集。
- 即时训练集成:直接使用上传的数据集进行模型训练,无需额外设置。
- 可视化工具:探索并可视化你的数据集图像和标注。
- 数据集分析:深入了解你的数据集分布和特征。
该平台简化了从数据集管理到模型训练的过渡,使整个过程更加高效。了解更多关于 Ultralytics Platform Datasets 的信息。
Link to this sectionUltralytics YOLO 模型在计算机视觉方面有哪些独特的功能?#
Ultralytics YOLO 模型为 computer vision 任务提供了几项独特功能:
- 实时性能:为时间敏感型应用提供高速推理和训练能力。
- 多功能性:在统一框架内支持检测、实例分割、语义分割、分类和姿态估计任务。
- 预训练模型:获取用于各种应用的高性能预训练模型,从而减少训练时间。
- 广泛的社区支持:活跃的社区和全面的文档,助力故障排除和开发。
- 轻松集成:用于与现有项目和工作流程集成的简单 API。
在 Ultralytics Models 页面了解更多关于 YOLO 模型的信息。
Link to this section我该如何使用 Ultralytics 工具来优化和压缩数据集?#
要使用 Ultralytics 工具优化和压缩数据集,请参考以下示例代码:
from pathlib import Path
from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory
# Define dataset directory
path = Path("path/to/dataset")
# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
compress_one_image(f)
# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)此过程有助于减小数据集大小,从而实现更高效的存储和更快的下载速度。了解更多关于如何 Optimize and Zip a Dataset 的信息。