Skip to main content

数据集概览

Ultralytics 提供对各种数据集的支持,以促进计算机视觉任务的发展,例如检测、实例分割姿态估计、分类和多目标跟踪。以下是主要的 Ultralytics 数据集列表,随后是每种计算机视觉任务及其对应数据集的汇总。



Watch: Ultralytics Datasets Overview

目标检测

BBox 对象检测是一种计算机视觉技术,它通过在图像中的每个对象周围绘制一个 bbox 来检测并定位对象。

  • African-wildlife: 一个包含非洲野生动物图像的数据集,包括水牛、大象、犀牛和斑马。
  • Argoverse: 一个包含来自城市环境且带有丰富标注的 3D 跟踪和运动预测数据的数据集。
  • Brain-tumor: 一个用于脑肿瘤检测的数据集,包含 MRI 或 CT 扫描图像,并附有关于肿瘤存在情况、位置和特征的详细信息。
  • 检测文档: Common Objects in Context (COCO) 是一个大规模的目标检测、分割和字幕数据集,包含 80 个对象类别。
  • COCO8: 一个较小的子集,包含来自 COCO train 和 COCO val 的前 4 张图像,适合快速测试。
  • COCO8-Grayscale: COCO8 的灰度版本,通过将 RGB 转换为灰度创建,适用于单通道模型评估。
  • COCO8-Multispectral: COCO8 的 10 通道多光谱版本,通过插值 RGB 波长创建,适用于光谱感知模型评估。
  • COCO128: 一个较小的子集,包含来自 COCO train 和 COCO val 的前 128 张图像,适合测试。
  • Construction-PPE: 一个工地图像数据集,标注了关键的安全装备,如头盔、背心、手套、靴子和护目镜,并带有缺失设备的标签,支持用于合规性和工人保护的 AI 模型开发。
  • Global Wheat 2020: 一个包含全球小麦挑战赛 2020 (Global Wheat Challenge 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 万个 bbox。
  • VisDrone: 一个包含来自无人机拍摄影像的目标检测和多目标跟踪数据的数据集,拥有超过 1 万张图像和视频序列。
  • VOC: Pascal Visual Object Classes (VOC) 数据集,用于目标检测和分割,包含 20 个对象类别和超过 1.1 万张图像。
  • xView: 一个用于高空影像目标检测的数据集,包含 60 个对象类别和超过 100 万个带标注的对象。

检测

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

  • Carparts-seg: 专为车辆零件识别而构建的数据集,满足设计、制造和研究需求。它既可用于目标检测,也可用于分割任务。
  • 检测文档: 一个大规模数据集,专为目标检测、分割和字幕任务而设计,拥有超过 20 万张标注图像。
  • COCO8-seg: 一个较小的实例分割任务数据集,包含 COCO 图像的一个 8 张图片子集,并带有分割标注。
  • COCO128-seg: 一个较小的实例分割任务数据集,包含 COCO 图像的一个 128 张图片子集,并带有分割标注。
  • Crack-seg: 专门用于检测道路和墙壁裂缝的数据集,适用于目标检测和分割任务。
  • Package-seg: 专门用于识别仓库或工业环境中包裹的数据集,适用于目标检测和分割应用。

姿态估计

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

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

旋转目标检测

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

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

水平边界框

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

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

多目标追踪

多目标跟踪是一种计算机视觉技术,涉及在视频序列中随时间检测和跟踪多个对象。这项任务通过在帧间保持对象的一致身份来扩展目标检测功能。

  • Argoverse: 一个包含来自城市环境的 3D 跟踪和运动预测数据的数据集,具有丰富的标注,用于多目标跟踪任务。
  • VisDrone: 一个包含来自无人机拍摄影像的目标检测和多目标跟踪数据的数据集,拥有超过 1 万张图像和视频序列。

贡献新数据集

贡献新数据集需要遵循几个步骤,以确保其与现有基础架构良好兼容。以下是必要的步骤:



Watch: How to Contribute to Ultralytics Datasets

贡献新数据集的步骤

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

  2. 标注图像: 根据任务需求,为这些图像添加 BBox、分割掩码或关键点标注。

  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: 创建一个文档页面来描述你的数据集及其如何融入现有框架。之后,提交一个 Pull Request (PR)。参考 Ultralytics Contribution Guidelines 以获取有关如何提交 PR 的更多详细信息。

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

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

FAQ

Ultralytics 支持哪些目标检测数据集?

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

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

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

我该如何向 Ultralytics 贡献新数据集?

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

  1. 收集图像: 从公共数据库或个人藏品中收集图像。
  2. 标注图像: 根据任务需求,应用 BBox、分割或关键点标注。
  3. 导出标注: 将标注转换为 YOLO *.txt 格式。
  4. 组织数据集: 使用带有 train/val/ 目录的文件夹结构,每个目录中包含 images/labels/ 子目录。
  5. 创建 data.yaml 文件: 包含数据集描述、类别和其他相关信息。
  6. 优化图像(可选): 减小数据集大小以提高效率。
  7. 压缩数据集: 将数据集压缩为 zip 文件。
  8. 编写文档并提交 PR: 描述你的数据集并按照以下指引提交 Pull Request:Ultralytics Contribution Guidelines.

访问 贡献新数据集 以获取完整指南。

为什么我应该为我的数据集使用 Ultralytics Platform?

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

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

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

Ultralytics YOLO 模型在计算机视觉方面有哪些独特功能?

Ultralytics YOLO 模型为 计算机视觉 任务提供了几个独特功能:

  • 实时性能: 为时间敏感型应用提供高速推理和训练能力。
  • 多功能性: 在统一框架内支持检测、分割、分类和姿态估计任务。
  • 预训练模型: 访问用于各种应用的高性能预训练模型,减少训练时间。
  • 广泛的社区支持: 活跃的社区和全面的文档,便于排查问题和开发。
  • 简易集成: 用于与现有项目和工作流集成的简单 API。

在以下页面了解更多关于 YOLO 模型的信息:Ultralytics Models 页面。

我该如何使用 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)

此过程有助于减小数据集大小,以实现更高效的存储和更快的下载速度。了解更多关于如何 优化并压缩数据集.

评论