Skip to content

数据集概览

Ultralytics支持多种数据集,以促进目标检测、实例分割、姿态估计、分类和多目标跟踪等计算机视觉任务。以下是Ultralytics主要数据集的列表,随后是每个计算机视觉任务及其相应数据集的概述。



观看: Ultralytics数据集概览

Ultralytics Explorer 🚀 新功能

为您的数据集创建嵌入,搜索相似图像,运行SQL查询,执行语义搜索,甚至使用自然语言进行搜索!您可以使用我们的GUI应用程序开始,或使用API构建您自己的应用程序。了解更多这里

Ultralytics Explorer截图

目标检测

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

  • Argoverse: 一个包含城市环境中3D跟踪和运动预测数据的带有丰富标注的数据集。
  • COCO: 上下文中的常见对象(COCO)是一个大规模的目标检测、分割和字幕数据集,包含80个对象类别。
  • LVIS: 一个大规模的目标检测、分割和字幕数据集,包含1203个对象类别。
  • COCO8: COCO训练集和验证集的前4张图像的一个较小子集,适合快速测试。
  • COCO128: COCO训练集和验证集的前128张图像的一个较小子集,适合测试。
  • Global Wheat 2020: 一个包含2020年全球小麦挑战赛小麦头图像的数据集。
  • Objects365: 一个高质量、大规模的目标检测数据集,包含365个对象类别和超过60万张标注图像。
  • OpenImagesV7: 由Google提供的综合数据集,包含170万张训练图像和4.2万张验证图像。
  • SKU-110K: 一个在零售环境中密集目标检测的数据集,包含超过1.1万张图像和170万个边界框。
  • VisDrone: 一个包含无人机拍摄图像的目标检测和多目标跟踪数据集,包含超过1万张图像和视频序列。
  • VOC: Pascal视觉对象类别(VOC)数据集,用于目标检测和分割,包含20个对象类别和超过1.1万张图像。
  • xView: 一个用于航拍图像目标检测的数据集,包含60个对象类别和超过100万个标注对象。
  • Roboflow 100: 一个多样化的目标检测基准,包含100个数据集,涵盖七个图像领域,用于全面模型评估。
  • Brain-tumor: 一个用于检测脑肿瘤的数据集,包含MRI或CT扫描图像,详细标注了肿瘤的存在、位置和特征。
  • African-wildlife: 一个包含非洲野生动物图像的数据集,包括水牛、大象、犀牛和斑马。
  • Signature: 一个包含各种文档图像的数据集,标注了签名,支持文档验证和欺诈检测研究。

实例分割

实例分割是一种计算机视觉技术,涉及在像素级别识别和定位图像中的对象。

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

姿态估计

姿态估计是一种用于确定物体相对于相机或世界坐标系姿态的技术。

  • COCO: 一个大规模数据集,包含用于姿态估计任务的人体姿态标注。
  • COCO8-pose: 一个较小的姿态估计数据集,包含8张带有人体姿态标注的COCO图像子集。
  • Tiger-pose: 一个包含263张专注于老虎的紧凑数据集,每只老虎标注了12个关键点,用于姿态估计任务。
  • 手部关键点: 一个简洁的数据集,包含超过26,000张以人手为中心的图像,每只手标注了21个关键点,专为姿态估计任务设计。

分类

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

  • Caltech 101: 一个包含101个对象类别的图像分类任务数据集。
  • Caltech 256: Caltech 101的扩展版本,包含256个对象类别和更具挑战性的图像。
  • CIFAR-10: 一个包含60K张32x32彩色图像的数据集,分为10个类别,每类6K张图像。
  • 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数据集中每个类别的头8张图像。数据集总共包含160张图像。

定向边界框 (OBB)

定向边界框 (OBB) 是一种计算机视觉方法,用于使用旋转边界框检测图像中的倾斜对象,常用于航空和卫星图像。

  • DOTA-v2: 一个流行的OBB航空图像数据集,包含170万个实例和11,268张图像。
  • DOTA8: DOTAv1分割集的前8张图像的较小子集,4张用于训练,4张用于验证,适合快速测试。

多目标跟踪

多目标跟踪是一种计算机视觉技术,涉及在视频序列中检测和跟踪多个对象。

  • Argoverse: 一个包含城市环境中的3D跟踪和运动预测数据的数据集,具有丰富的多目标跟踪任务标注。
  • VisDrone: 一个包含无人机捕获图像的对象检测和多目标跟踪数据的数据集,包含超过10K张图像和视频序列。

贡献新数据集

贡献新数据集涉及多个步骤,以确保其与现有基础设施良好契合。以下是必要的步骤:

贡献新数据集的步骤

  1. 收集图像: 收集属于数据集的图像。这些图像可以从各种来源收集,如公共数据库或您自己的收藏。
  2. 标注图像: 根据任务需求,为这些图像标注边界框、分割或关键点。
  3. 导出标注: 将这些标注转换为Ultralytics支持的YOLO *.txt文件格式。
  4. 组织数据集: 将您的数据集整理成正确的文件夹结构。您应该有train/val/顶级目录,每个目录下有images/labels/子目录。

    ``` dataset/ ├── train/ │ ├── images/ │ └── labels/ └── val/ ├── images/ └── labels/

    5. **创建 `data.yaml` 文件**:在数据集的根目录中,创建一个 `data.yaml` 文件,描述数据集、类别和其他必要信息。
    6. **优化图像(可选)**:如果你想减少数据集的大小以提高处理效率,可以使用下面的代码优化图像。这不是必需的,但推荐用于较小的数据集大小和更快的下载速度。
    7. **压缩数据集**:将整个数据集文件夹压缩成一个 zip 文件。
    8. **文档和 PR**:创建一个文档页面描述你的数据集以及它如何适应现有的框架。之后,提交一个 Pull Request (PR)。参考 [Ultralytics 贡献指南](https://docs.ultralytics.com/help/contributing/) 了解更多关于如何提交 PR 的详细信息。
    
    ### 优化和压缩数据集的示例代码
    
    !!! example "优化和压缩数据集"
    
        === "Python"
    
           ```python
           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 支持哪些用于[目标检测](https://www.ultralytics.com/glossary/object-detection)的数据集?
    
    Ultralytics 支持多种用于目标检测的数据集,包括:
    
    - [COCO](detect/coco.md):一个大规模的目标检测、分割和字幕数据集,包含 80 个对象类别。
    - [LVIS](detect/lvis.md):一个包含 1203 个对象类别的广泛数据集,设计用于更细粒度的目标检测和分割。
    - [Argoverse](detect/argoverse.md):一个包含城市环境中 3D 跟踪和运动预测数据的数集,具有丰富的注释。
    - [VisDrone](detect/visdrone.md):一个包含无人机拍摄图像的目标检测和多目标跟踪数据的数据集。
    - [SKU-110K](detect/sku-110k.md):在零售环境中具有密集目标检测的数据集,包含超过 11K 张图像。
    
    这些数据集有助于训练用于各种目标检测应用的稳健模型。
    
    ### 如何向 Ultralytics 贡献一个新的数据集?
    
    贡献一个新的数据集涉及以下几个步骤:
    
    1. **收集图像**:从公共数据库或个人收藏中收集图像。
    2. **标注图像**:根据任务应用边界框、分割或关键点。
    3. **导出标注**:将标注转换为 YOLO `*.txt` 格式。
    4. **组织数据集**:使用包含 `train/` 和 `val/` 目录的文件夹结构,每个目录包含 `images/` 和 `labels/` 子目录。
    5. **创建 `data.yaml` 文件**:包含数据集描述、类别和其他相关信息。
    6. **优化图像(可选)**:减少数据集大小以提高效率。
    7. **压缩数据集**:将数据集压缩成一个 zip 文件。
    8. **文档和 PR**:描述你的数据集并按照 [Ultralytics 贡献指南](https://docs.ultralytics.com/help/contributing/) 提交 Pull Request。
    
    访问 [贡献新数据集](#contribute-new-datasets) 获取详细指南。
    
    ### 为什么我应该使用 Ultralytics Explorer 处理我的数据集?
    
    Ultralytics Explorer 提供了强大的数据集分析功能,包括:
    
    - **嵌入生成**:为图像创建向量嵌入。
    - **语义搜索**:使用嵌入或 AI 搜索相似图像。
    - **SQL 查询**:运行高级 SQL 查询进行详细数据分析。
    - **自然语言搜索**:使用简单语言查询进行搜索,易于使用。
    
    探索 [Ultralytics Explorer](explorer/index.md) 了解更多信息并尝试 [GUI 演示](explorer/index.md)。
    
    ### Ultralytics YOLO 模型在[计算机视觉](https://www.ultralytics.com/glossary/computer-vision-cv)方面有哪些独特功能?
    
    Ultralytics YOLO 模型提供了几个独特功能:
    
    - **实时性能**:高速推理和训练。
    - **多功能性**:适用于检测、分割、分类和姿态估计任务。
    - **预训练模型**:访问高性能的预训练模型,适用于各种应用。
    - **广泛社区支持**:活跃的社区和全面的文档,用于故障排除和开发。
    
    在 [Ultralytics YOLO](https://www.ultralytics.com/yolo) 页面了解更多关于 YOLO 的信息。
    
    ### 如何使用 Ultralytics 工具优化和压缩数据集?
    
    要使用 Ultralytics 工具优化和压缩数据集,请遵循以下示例代码:
    
    !!! example "优化和压缩数据集"
    
        === "Python"
    
            ```python
            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)
            ```
    
    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)
    ```
    

了解更多关于如何优化和压缩数据集的信息。


📅 Created 11 months ago ✏️ Updated 3 days ago

Comments