YOLO Vision 2026:

数据集概览#

Ultralytics 提供对各种数据集的支持,以方便进行计算机视觉任务,例如检测、实例分割、语义分割、深度估计、分类、姿态估计和旋转边界框 (OBB)。以下是主要的 Ultralytics 数据集列表,后面是每个计算机视觉任务及其各自数据集的摘要。跟踪模式在检测、分割、姿态和 OBB 模型之上运行,无需特定于跟踪器的训练;请参阅跟踪数据集



Watch: Ultralytics Datasets Overview

目标检测#

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

  • African-wildlife:一个包含非洲野生动物图像的数据集,包括水牛、大象、犀牛和斑马。
  • Argoverse:一个包含来自城市环境的 3D 跟踪和运动预测数据以及丰富标注的数据集。
  • Brain-tumor:一个用于检测脑肿瘤的数据集,包含 MRI 或 CT 扫描图像以及有关肿瘤存在、位置和特征的详细信息。
  • COCO:Common Objects in Context (COCO) 是一个具有 80 个对象类别的大规模对象检测、分割和字幕数据集。
  • COCO8:来自 COCO train 和 COCO val 的前 4 张图像的较小子集,适用于快速测试。
  • COCO8-Grayscale:通过将 RGB 转换为灰度创建的 COCO8 灰度版本,适用于单通道模型评估。
  • COCO8-Multispectral:通过对 RGB 波长进行插值创建的 COCO8 的 10 通道多光谱版本,适用于光谱感知模型评估。
  • COCO128:来自 COCO train2017 的前 128 张图像的较小子集,适用于测试。
  • Construction-PPE:一个建筑工地图像数据集,标注了头盔、背心、手套、靴子和护目镜等关键安全装备,以及缺少设备的标签,支持开发用于合规和工人保护的 AI 模型。
  • Global Wheat 2020:一个包含 2020 年全球小麦挑战赛麦穗图像的数据集。
  • HomeObjects-3K:一个包含 12 种常见家居用品的带注释室内场景数据集,非常适合在智能家居系统、机器人技术和增强现实中开发和测试计算机视觉模型。
  • KITTI 新增:一个著名的自动驾驶数据集,具有立体声、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 万个标注对象。

实例分割#

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

  • Carparts-seg:专为识别汽车零件而构建的数据集,满足设计、制造和研究需求。它适用于对象检测和分割任务。
  • COCO:一个大规模数据集,专为具有 200 多万张带标签图像的对象检测、分割和字幕任务而设计。
  • COCO8-seg:一个较小的实例分割任务数据集,包含 8 张带有分割标注的 COCO 图像子集。
  • COCO128-seg:一个较小的实例分割任务数据集,包含 128 张带有分割标注的 COCO 图像子集。
  • Crack-seg:专门为检测道路和墙壁裂缝而制作的数据集,适用于对象检测和分割任务。
  • Package-seg:量身定制的数据集,用于识别仓库或工业环境中的包裹,适用于对象检测和分割应用。

语义分割#

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

  • Cityscapes:包含 19 个训练类别的城市场景语义分割数据集。
  • Cityscapes8:一个紧凑的 8 图像 Cityscapes 子集,用于快速语义分割管道检查。
  • ADE20K:包含 150 个语义类别的场景解析数据集。

深度估计#

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

  • NYU Depth V2:使用 Microsoft Kinect v1 捕获的标准室内深度基准。
  • KITTI:具有 Velodyne LiDAR 深度的现实世界室外自动驾驶场景。
  • Depth8:一个紧凑的 8 图像 SUN RGB-D 子集,用于快速管道检查。

Classification#

Image classification 是一种计算机视觉任务,涉及根据图像的视觉内容将图像分类到一个或多个预定义的类或类别中。

  • Caltech 101:一个包含 101 个对象类别图像的数据集,用于图像分类任务。
  • Caltech 256:Caltech 101 的扩展版本,包含 256 个对象类别和更具挑战性的图像。
  • CIFAR-10:一个包含 10 个类别共 6 万张 32x32 彩色图像的数据集,每个类别 6 千张图像。
  • CIFAR-100:CIFAR-10 的扩展版本,包含 100 个对象类别,每个类别 600 张图像。
  • Fashion-MNIST:一个包含 70,000 张来自 10 个时尚类别的灰度图像的数据集,用于图像分类任务。
  • ImageNet:一个用于对象检测和图像分类的大规模数据集,包含超过 1400 万张图像和 20,000 个类别。
  • ImageNet-10:ImageNet 的一个较小子集,包含 10 个类别,用于更快的实验和测试。
  • Imagenette:ImageNet 的一个较小子集,包含 10 个易于区分的类别,用于更快的训练和测试。
  • Imagewoof:ImageNet 的一个更具挑战性的子集,包含 10 个狗品种类别,用于图像分类任务。
  • MNIST:一个包含 70,000 张手写数字灰度图像的数据集,用于图像分类任务。
  • MNIST160:来自 MNIST 训练和测试拆分集的每个数字 (0-9) 的前 8 张图像。数据集总共包含 160 张图像。

Pose Estimation#

姿态估计是一种用于确定对象相对于摄像机或世界坐标系姿态的技术。这涉及识别对象(特别是人类或动物)上的关键点或关节。

  • COCO:一个包含人体姿态标注的大规模数据集,专为姿态估计任务而设计。
  • COCO8-pose:一个较小的姿态估计任务数据集,包含 8 张带有人体姿态标注的 COCO 图像子集。
  • Dog-pose:一个全面的数据集,包含大约 8,500 张以狗为中心的图像,每只狗标注了 24 个关键点,专为姿态估计任务量身定制。
  • Hand-Keypoints:一个简洁的数据集,包含超过 26,000 张以人手为中心的图像,每只手标注了 21 个关键点,专为姿态估计任务设计。
  • Tiger-pose:一个由 263 张以老虎为中心的图像组成的紧凑数据集,每只老虎标注了 12 个关键点,用于姿态估计任务。

Oriented Bounding Boxes (OBB)#

旋转边界框 (OBB) 是一种计算机视觉方法,用于通过旋转后的边界框检测图像中的倾斜对象,常应用于航空和卫星图像。与传统的边界框不同,OBB 能更好地拟合处于各种方向的对象。

  • DOTA-v2:一个流行的 OBB 航空影像数据集,包含 170 万个实例和 11,268 张图像。
  • DOTA8:来自 DOTAv1 拆分集的前 8 张图像的较小子集,其中 4 张用于训练,4 张用于验证,适用于快速测试。
  • DOTA128:DOTA 数据集的 128 图像子集,包含 128 张用于训练和验证的图像,为测试 OBB 模型在规模和多样性之间提供了良好的平衡。

贡献新数据集#

贡献新数据集涉及几个步骤,以确保其与现有基础设施保持一致。以下是必要步骤:



Watch: How to Contribute to Ultralytics Datasets

贡献新数据集的步骤#

  1. 收集图像:收集属于该数据集的图像。这些图像可以从各种来源(如公共数据库或你自己的收藏)中获取。

  2. 标注图像:根据任务使用边界框、片段或关键点标注这些图像。

  3. Export Annotations: 将这些注释转换为 Ultralytics 支持的 YOLO *.txt 文件格式。

  4. Organize Dataset: 将数据集安排到正确的文件夹结构中。您应该拥有 images/labels/ 顶级目录,并且在每个目录中都有一个 train/val/ 子目录。

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

  6. 优化图像(可选):如果你想减小数据集的大小以实现更高效的处理,可以使用下面的代码优化图像。这不是必须的,但对于较小的数据集规模和更快的下载速度,建议这样做。

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

  8. Document and PR: 创建一个描述你的数据集及其如何融入现有框架的文档页面。之后,提交 Pull Request (PR)。有关如何提交 PR 的更多详细信息,请参阅 Ultralytics Contribution Guidelines

用于优化和压缩数据集的示例代码#

优化并压缩数据集
   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 现有的结构中。

常见问题解答#

  • Ultralytics 支持用于 object detection 的各种数据集,包括:

    • COCO:一个具有 80 个对象类别的大规模对象检测、分割和字幕数据集。
    • LVIS:一个包含 1203 个对象类别的广泛数据集,专为更细粒度的对象检测和分割而设计。
    • Argoverse:一个包含来自城市环境的 3D 跟踪和运动预测数据以及丰富标注的数据集。
    • VisDrone:一个包含无人机捕获影像中的对象检测和多目标跟踪数据的数据集。
    • SKU-110K:在零售环境中提供密集对象检测功能,拥有超过 1.1 万张图像。

    这些数据集有助于为各种对象检测应用训练强大的 Ultralytics YOLO 模型。

  • 贡献新数据集涉及几个步骤:

    1. 收集图像:从公共数据库或个人收藏中收集图像。
    2. 标注图像:根据任务应用边界框、片段或关键点。
    3. Export Annotations: 将注释转换为 YOLO *.txt 格式。
    4. Organize Dataset: 使用包含 train/val/ 目录的文件夹结构,每个目录包含 images/labels/ 子目录。
    5. Create a data.yaml File: 包含数据集描述、类别和其他相关信息。
    6. 优化图像(可选):减小数据集大小以提高效率。
    7. 压缩数据集:将数据集压缩为 zip 文件。
    8. Document and PR: 描述你的数据集并按照 Ultralytics Contribution Guidelines 提交 Pull Request。

    访问 Contribute New Datasets 获取综合指南。

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

    • 无缝数据集管理:在一个地方上传、组织和管理你的数据集。
    • 即时训练集成:直接使用上传的数据集进行模型训练,无需额外设置。
    • 可视化工具:探索并可视化你的数据集图像和标注。
    • 数据集分析:深入了解你的数据集分布和特征。

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

  • Ultralytics YOLO 模型为 computer vision 任务提供了几个独特的功能:

    • 实时性能:为时间敏感型应用提供高速推理和训练能力。
    • 多功能性:在统一框架内支持检测、实例分割、语义分割、深度估计、分类和姿态估计任务。
    • 预训练模型:获取用于各种应用的高性能预训练模型,从而减少训练时间。
    • 广泛的社区支持:活跃的社区和全面的文档,助力故障排除和开发。
    • 轻松集成:用于与现有项目和工作流程集成的简单 API。

    Ultralytics Models 页面上了解有关 YOLO 模型的更多信息。

  • 要使用 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 上了解更多信息。

评论