Ultralytics YOLO27:
Get Started

数据集概览#

Ultralytics 支持多种数据集,以便开展目标检测、实例分割、语义分割、深度估计、分类、姿态估计和有向边界框(OBB)等计算机视觉任务。下面列出了主要的 Ultralytics 数据集,并概述了各项计算机视觉任务及其对应的数据集。跟踪模式可基于检测、分割、姿态和 OBB 模型运行,无需针对跟踪器进行专门训练;请参阅跟踪数据集。



观看: Ultralytics 数据集概览

目标检测#

边界框目标检测是一种计算机视觉技术,通过在图像中的每个目标周围绘制边界框来检测并定位目标。

  • African-wildlife:一个包含非洲野生动物图像的数据集,动物包括水牛、大象、犀牛和斑马。
  • Argoverse:一个包含城市环境中 3D 跟踪和运动预测数据的数据集,并带有丰富的标注。
  • Brain-tumor:用于检测脑肿瘤的数据集,包含 MRI 或 CT 扫描图像,并提供肿瘤是否存在、位置和特征等详细信息。
  • COCO:COCO(常见场景中的物体)是一个大规模目标检测、分割和图像描述数据集,包含 80 个目标类别。
  • COCO8:从 COCO train2017 的前 8 张图像中选取的较小子集,其中 4 张用于训练,4 张用于验证,适合快速测试。
  • COCO8-Grayscale:将 RGB 转换为灰度图像后生成的 COCO8 灰度版本,适用于单通道模型评估。
  • COCO8-Multispectral:通过插值 RGB 波长生成的 COCO8 10 通道多光谱版本,适用于具备光谱感知能力的模型评估。
  • COCO12-Formats:包含 12 张图像的测试数据集,覆盖 12 种受支持的图像格式(AVIF、BMP、DNG、HEIC、JP2、JPEG、JPG、MPO、PNG、TIF、TIFF、WebP),用于验证图像加载流程。
  • COCO128:从 COCO train2017 的前 128 张图像中选取的较小子集,适用于测试。
  • Construction-PPE:一个建筑工地影像数据集,标注了头盔、背心、手套、靴子和护目镜等关键安全装备,以及装备缺失情况,可用于开发合规性和工人保护相关的 AI 模型。
  • Global Wheat 2020:一个包含 2020 年全球小麦挑战赛所用麦穗图像的数据集。
  • HomeObjects-3K:一个带有标注的室内场景数据集,包含 12 种常见家居用品,非常适合开发和测试智能家居系统、机器人和增强现实领域的计算机视觉模型。
  • KITTI:一个知名的自动驾驶数据集,包含立体视觉、LiDAR 和 GPS/IMU 输入,可用于多种道路场景中的 2D 目标检测。
  • LVIS:一个大规模目标检测和实例分割数据集,包含 1,203 个目标类别。
  • Medical-pills:一个包含已标注药片图像的数据集,旨在帮助开展药品质量控制、分拣和确保符合行业标准等工作。
  • Objects365:一个高质量、大规模的目标检测数据集,包含 365 个目标类别和超过 170 万张已标注图像。
  • OpenImagesV7:Google 提供的综合性数据集,包含 170 万张训练图像和 4.2 万张验证图像。
  • RF100:一个多样化的目标检测基准,涵盖七个图像领域的 100 个数据集,可用于全面评估模型。
  • Signature:一个包含各种文档图像及签名标注的数据集,可支持文档验证和欺诈检测研究。
  • SKU-110K:一个零售环境中的密集目标检测数据集,包含超过 1.1 万张图像和 170 万个边界框。
  • TT100K:清华-腾讯 100K 交通标志数据集,包含 16,817 张街景图像,涵盖 221 种标志类别。
  • VisDrone:一个包含无人机拍摄图像中目标检测和多目标跟踪数据的数据集,拥有超过 1 万张图像和视频序列。
  • VOC:Pascal Visual Object Classes(VOC)目标检测和分割数据集,包含 20 个目标类别和超过 2.1 万张图像。
  • xView:一个用于俯视图像目标检测的数据集,包含 60 个目标类别和超过 100 万个已标注目标。

实例分割#

实例分割是一种计算机视觉技术,可在像素级别识别和定位图像中的目标。与仅对每个像素进行分类的语义分割不同,实例分割能够区分同一类别中的不同实例。

  • Carparts-seg:专为车辆零部件识别打造的数据集,可满足设计、制造和研究需求。该数据集适用于目标检测和分割任务。
  • COCO:一个用于目标检测、分割和图像描述任务的大规模数据集,包含超过 20 万张已标注图像。
  • COCO8-seg:一个用于实例分割任务的小型数据集,包含 COCO 中 8 张带分割标注的图像子集。
  • COCO128-seg:一个用于实例分割任务的小型数据集,包含 COCO 中 128 张带分割标注的图像子集。
  • Crack-seg:专为检测道路和墙面裂缝打造的数据集,适用于目标检测和分割任务。
  • Package-seg:专为识别仓库或工业环境中的包裹打造的数据集,适用于目标检测和分割应用。

语义分割#

语义分割为图像中的每个像素分配一个类别标签,生成密集的场景图,可用于自动驾驶、场景解析和土地覆盖制图等应用。

  • Cityscapes:用于城市街景语义分割的数据集,包含 19 个训练类别。
  • Cityscapes8:Cityscapes 的精简子集,仅包含 8 张图像,可用于快速检查语义分割流程。
  • ADE20K:场景解析数据集,包含 150 个语义类别。

深度估计#

单目深度估计根据单张 RGB 图像预测逐像素深度图,单位为米,可用于 3D 场景重建、机器人导航和 AR/VR 应用。

  • Depth8:SUN RGB-D 的精简子集,仅包含 8 张图像,可用于快速检查流程。
  • ARKitScenes:使用 Apple ARKit LiDAR 采集的真实室内 RGB-D 数据,是规模最大的真实训练数据源。
  • SUN RGB-D:使用四种不同 RGB-D 传感器采集的真实室内场景。
  • DIODE:使用测量级激光扫描仪采集的高密度室内和室外深度数据。
  • Hypersim:具有完美逐像素深度数据的逼真合成室内场景。
  • TartanAir:具有高密度深度数据的合成 AirSim 环境,深度约为 ~80 m。
  • Virtual KITTI 2:对 KITTI 驾驶场景进行合成重建的数据集,具有高密度深度数据。
  • KITTI:真实世界的室外自动驾驶场景,包含 Velodyne LiDAR 深度数据,也是 KITTI Eigen 基准。
  • ImageNet(伪标签):带有 Depth Anything 3 伪标签的 ImageNet-1K 图像,可用于蒸馏。
  • NYU Depth V2:使用 Microsoft Kinect v1 采集的标准室内深度基准数据集。
  • ETH3D:高精度室内和室外激光扫描基准数据集。
  • Make3D:分布外的室外校园基准数据集。
  • iBims-1:用于深度边缘和平面表面的高质量室内基准数据集。

分类#

图像分类是一项计算机视觉任务,根据图像的视觉内容将图像归入一个或多个预定义的类别。

  • Caltech 101:一个包含 101 个目标类别图像的数据集,可用于图像分类任务。
  • Caltech 256:Caltech 101 的扩展版本,包含 256 个目标类别和更具挑战性的图像。
  • CIFAR-10:一个包含 6 万张 32x32 彩色图像的数据集,分为 10 个类别,每个类别有 6,000 张图像。
  • CIFAR-100:CIFAR-10 的扩展版本,包含 100 个目标类别,每个类别有 600 张图像。
  • Fashion-MNIST:一个包含 70,000 张灰度图像的数据集,图像分为 10 个时尚类别,可用于图像分类任务。
  • ImageNet:一个用于目标检测和图像分类的大规模数据集,包含超过 1,400 万张图像和 20,000 个类别。
  • ImageNet-10:ImageNet 的较小子集,包含 10 个类别,可加快实验和测试。
  • Imagenette:ImageNet 的较小子集,包含 10 个易于区分的类别,可加快训练和测试。
  • Imagewoof:ImageNet 中更具挑战性的子集,包含 10 种犬类,可用于图像分类任务。
  • MNIST:一个包含 70,000 张手写数字灰度图像的数据集,可用于图像分类任务。
  • MNIST160:从 MNIST 训练集和测试集中分别选取数字 0-9 的前 8 张图像。该数据集总共包含 160 张图像。

姿态估计#

姿态估计是一种用于确定目标相对于相机或世界坐标系姿态的技术。这涉及识别目标上的关键点或关节,尤其是人类或动物身上的关键点或关节。

  • COCO:一个带有人体姿态标注的大规模数据集,专为姿态估计任务设计。
  • COCO8-pose:一个用于姿态估计任务的小型数据集,包含 COCO 中 8 张带有人体姿态标注的图像子集。
  • Dog-pose:一个综合性数据集,包含约 8,500 张以狗为主题的图像,并为每只狗标注了 24 个关键点,专为姿态估计任务设计。
  • Hand-Keypoints:一个精简数据集,包含超过 26,000 张以人手为主题的图像,并为每只手标注了 21 个关键点,专为姿态估计任务设计。
  • Tiger-pose:一个精简数据集,包含 263 张以老虎为主题的图像,并为每只老虎标注了 12 个关键点,可用于姿态估计任务。

有向边界框 (OBB)#

有向边界框(OBB)是一种计算机视觉方法,通过旋转边界框检测图像中的倾斜目标,常用于航空和卫星图像。与传统边界框相比,OBB 能更贴合不同方向的目标。

  • DOTA-v2:一个广受欢迎的航空图像 OBB 数据集,包含 170 万个实例和 11,268 张图像。
  • DOTA8:从 DOTAv1 划分集中前 8 张图像中选取的较小子集,其中 4 张用于训练,4 张用于验证,适合快速测试。
  • DOTA128:DOTA 数据集的 128 张图像子集,其中 128 张图像用于训练和验证,在测试 OBB 模型时兼顾了规模和多样性。

贡献新数据集#

贡献新数据集需要完成几个步骤,以确保数据集与现有基础设施良好兼容。以下是必要步骤:



观看: 如何为 Ultralytics 数据集做出贡献

贡献新数据集的步骤#

  1. 收集图像:收集属于该数据集的图像。图像可以来自各种来源,例如公共数据库或你自己的收藏。

  2. 标注图像:根据任务需求,为这些图像标注边界框、分割区域或关键点。

  3. 导出标注:将这些标注转换为 Ultralytics 支持的 YOLO *.txt 文件格式。

  4. 整理数据集:按照正确的文件夹结构整理数据集。你应创建 images/ 和 labels/ 顶层目录,并在每个目录下创建 train/ 和 val/ 子目录。

    dataset/
    ├── images/
    │   ├── train/
    │   └── val/
    └── labels/
        ├── train/
        └── val/
  5. 创建 data.yaml 文件:在数据集根目录中,创建一个 data.yaml 文件,用于描述数据集、类别和其他必要信息。

  6. 优化图像(可选):如果你想缩小数据集,以提高处理效率,可以使用下面的代码优化图像。这不是必需步骤,但对于较小的数据集和更快的下载速度,建议这样做。

  7. 压缩数据集:将整个数据集文件夹压缩为 zip 文件。

  8. 编写文档并提交 PR:创建一个文档页面,介绍你的数据集以及它如何融入现有框架。然后提交一个拉取请求(PR)。有关如何提交 PR 的更多详细信息,请参阅 Ultralytics 贡献指南。

优化并压缩数据集的示例代码#

优化并压缩数据集
from pathlib import Path

from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory

# 定义数据集目录
path = Path("path/to/dataset")

# 优化数据集中的图像(可选)
for f in path.rglob("*.jpg"):
    compress_one_image(f)

# 将数据集压缩到 'path/to/dataset.zip'
zip_directory(path)

按照这些步骤操作,你就可以贡献一个能够很好地融入 Ultralytics 现有结构的新数据集。

常见问题#

  • Ultralytics 支持多种 目标检测 数据集,包括:

    • COCO:一个大规模目标检测、分割和图像描述数据集,包含 80 个目标类别。
    • LVIS:一个包含 1,203 个目标类别的大型数据集,旨在支持更细粒度的目标检测和分割。
    • Argoverse:一个包含城市环境中 3D 跟踪和运动预测数据的数据集,并带有丰富的标注。
    • VisDrone:一个包含无人机拍摄图像中的目标检测和多目标跟踪数据的数据集。
    • SKU-110K:包含零售环境中的密集目标检测数据,图像数量超过 11K。

    这些数据集有助于训练 Ultralytics YOLO 模型,以用于各种目标检测应用。

  • 贡献新数据集需要完成以下几个步骤:

    1. 收集图像:从公共数据库或个人收藏中收集图像。
    2. 标注图像:根据任务需求,添加边界框、分割区域或关键点标注。
    3. 导出标注:将标注转换为 YOLO *.txt 格式。
    4. 整理数据集:按照文件夹结构组织数据,包含 images/ 和 labels/ 目录,每个目录中都包含 train/ 和 val/ 子目录。
    5. 创建 data.yaml 文件:添加数据集说明、类别和其他相关信息。
    6. 优化图像(可选):减小数据集大小以提高效率。
    7. 压缩数据集:将数据集压缩为 zip 文件。
    8. 编写文档并提交 PR:介绍你的数据集,并按照 Ultralytics 贡献指南 提交拉取请求。

    访问 贡献新数据集,查看完整指南。

  • Ultralytics Platform 提供强大的数据集管理和分析功能,包括:

    • 轻松管理数据集:在一个地方上传、整理和管理数据集。
    • 即时集成训练流程:直接使用已上传的数据集训练模型,无需额外设置。
    • 可视化工具:浏览并可视化数据集图像和标注。
    • 数据集分析:深入了解数据集的分布和特征。

    该平台简化了从数据集管理到模型训练的流程,让整个过程更加高效。详细了解 Ultralytics Platform 数据集。

  • Ultralytics YOLO 模型为计算机视觉任务提供多项独特功能:

    • 实时性能:具备高速推理和训练能力,适用于对时效性要求高的应用。
    • 多功能性:在统一框架中支持检测、实例分割、语义分割、深度估计、分类、姿态估计和有向边界框(OBB)任务。
    • 预训练模型:提供适用于各种应用的高性能预训练模型,从而缩短训练时间。
    • 广泛的社区支持:活跃的社区和全面的文档,助你排查问题并开展开发工作。
    • 易于集成:提供简单易用的 API,可集成到现有项目和工作流中。

    在 Ultralytics 模型 页面了解更多 YOLO 模型信息。

  • 要使用 Ultralytics 工具优化并压缩数据集,请参考以下示例代码:

    优化并压缩数据集
    from pathlib import Path
    
    from ultralytics.data.utils import compress_one_image
    from ultralytics.utils.downloads import zip_directory
    
    # 定义数据集目录
    path = Path("path/to/dataset")
    
    # 优化数据集中的图像(可选)
    for f in path.rglob("*.jpg"):
        compress_one_image(f)
    
    # 将数据集压缩到 'path/to/dataset.zip'
    zip_directory(path)

    此流程有助于减小数据集大小,从而更高效地存储并加快下载速度。了解如何优化并压缩数据集。

评论