数据集

Ultralytics Platform 数据集为你管理训练数据提供了一套精简的解决方案。上传后,平台会自动处理图像、标签和统计数据。只要处理完成,且数据集在 train 拆分中至少有一张图片,在 valtest 拆分中至少有一张图片,且至少有一张已标注图片,总共至少有两张图片,该数据集即可用于训练。

上传数据集

Ultralytics Platform 支持多种上传格式,以提供灵活性。

受支持的格式

格式扩展名备注最大尺寸
JPEG.jpg, .jpeg最常见,推荐使用50 MB
PNG.png支持透明度50 MB
WebP.webp现代格式,压缩效果好50 MB
BMP.bmp未压缩50 MB
TIFF.tiff, .tif高质量50 MB
HEIC.heiciPhone 照片50 MB
AVIF.avif新一代格式50 MB
JP2.jp2JPEG 200050 MB
DNG.dng原始相机格式50 MB
MPO.mpo多图片对象50 MB

准备你的数据集

平台支持 Ultralytics YOLOCOCOUltralytics NDJSON 和原始(未标注)上传:

使用带有 data.yaml 文件的标准 YOLO 目录结构:

my-dataset/
├── images/
│   ├── train/
│   │   ├── img001.jpg
│   │   └── img002.jpg
│   └── val/
│       ├── img003.jpg
│       └── img004.jpg
├── labels/
│   ├── train/
│   │   ├── img001.txt
│   │   └── img002.txt
│   └── val/
│       ├── img003.txt
│       └── img004.txt
└── data.yaml

YAML 文件定义了你的数据集配置:

# data.yaml
path: .
train: images/train
val: images/val

names:
    0: person
    1: car
    2: dog
原始上传

原始:上传未标注的图片(无标签)。当你计划直接在平台上使用 标注编辑器 进行标注时非常有用。

平面目录结构

你也可以在没有明确拆分文件夹的情况下上传图片。平台在上传期间会遵循活跃的拆分目标,对于非分类数据集,如果未提供拆分信息,它可能会从训练集中自动创建验证集。你以后总是可以使用批量移动到拆分或拆分重新分配来重新指派图片。

格式自动检测

The format is detected automatically: datasets with a data.yaml containing names, train, or val keys are treated as YOLO. Datasets with COCO JSON files (containing images, annotations, and categories arrays) are treated as COCO. .ndjson exports are imported as Ultralytics NDJSON. Datasets with only images and no annotations are treated as raw.

有关任务特定格式的详细信息,请参阅 支持的任务数据集概览

上传流程

  1. 导航到侧边栏中的 Datasets
  2. 点击 New Dataset 或将文件拖入上传区域
  3. 选择任务类型(请参阅 支持的任务
  4. 添加名称和可选描述
  5. 设置可见性(公开或私有)以及可选许可(请参阅 可用许可
  6. 点击 Create

Ultralytics Platform Datasets Upload Dialog Task Selector

上传后,平台会通过一个多阶段流水线处理你的数据:

graph LR
    A[Upload] --> B[Validate]
    B --> C[Normalize]
    C --> D[Thumbnail]
    D --> E[Parse Labels]
    E --> F[Statistics]

    style A fill:#4CAF50,color:#fff
    style B fill:#2196F3,color:#fff
    style C fill:#2196F3,color:#fff
    style D fill:#2196F3,color:#fff
    style E fill:#2196F3,color:#fff
    style F fill:#9C27B0,color:#fff
  1. 验证:格式和大小检查
  2. 归一化:调整大图尺寸(最大 4096px,最小维度 28px)
  3. 缩略图:生成 256px WebP 预览图
  4. 标签解析:提取 YOLO 和 COCO 格式标签
  5. 统计信息:计算类别分布和图像尺寸

Ultralytics Platform Datasets Upload Progress Bar

上传前验证

你可以在上传前在本地验证你的数据集:

from ultralytics.data.utils import check_det_dataset

check_det_dataset("path/to/data.yaml")
图像尺寸要求

图像的最短边必须至少为 28px。小于此尺寸的图像将在处理过程中被拒绝。最长边超过 4096px 的图像将在保持纵横比的情况下自动调整大小。

浏览图片

以多种布局查看你的数据集图片。

从图库工具栏打开 聚类 面板,以交互式 2D 散点图形式探索你的数据集。

视图描述
网格带标注覆盖层的缩略图网格(默认)
紧凑用于快速扫描的更小缩略图
表格包含缩略图、文件名、尺寸、大小、拆分、类别和标签计数的列表

Ultralytics Platform Datasets Gallery Grid View With Annotations

排序和筛选

图片可以排序和筛选,以便高效浏览:

排序描述
最新 / 最旧上传 / 创建顺序
名称 A-Z / Z-A文件名按字母顺序
高度 ↑/↓以像素为单位的图像高度
宽度 ↑/↓以像素为单位的图像宽度
大小 ↑/↓磁盘上的文件大小
标注 ↑/↓每张图像的标注数量
大型数据集

对于超过 100,000 张图像的数据集,名称 / 大小 / 宽度 / 高度排序将被禁用,以保持画廊的响应速度。最新、最旧和标注数量排序仍然可用。

查找未标注的图像

使用设置为 Unlabeled 的标签筛选器,快速查找仍需标注的图像。这对于想要跟踪标注进度的大型数据集特别有用。

全屏查看器

点击任何图像以打开全屏查看器,其中包含:

  • 导航:使用方向键或缩略图预览进行浏览
  • 元数据:文件名、尺寸、拆分标签、标注数量
  • 标注:切换标注覆盖层的可见性
  • 类别分解:按类别显示标注数量,并带有颜色指示器
  • 编辑:进入标注模式以添加或修改标签
  • 下载:下载原始图像文件
  • 删除:从数据集中删除该图像
  • 缩放:使用 Cmd/Ctrl+ScrollCmd/Ctrl++Cmd/Ctrl+= 进行放大,使用 Cmd/Ctrl+- 进行缩小
  • 重置视图:使用 Cmd/Ctrl + 0 或重置按钮将图像调整至适合查看器的大小
  • 平移:在缩放时按住 Space 并拖动以平移画布
  • 像素视图:切换像素化渲染以进行仔细检查

带有元数据面板的 Ultralytics Platform 数据集全屏查看器

按拆分筛选

按数据集拆分筛选图像:

拆分目的
训练用于模型训练
Val用于训练期间的验证
Test用于最终评估

聚类

Clustering 面板将你的数据集投射到一个交互式 2D 散点图中,视觉上相似的图像会靠在一起。使用它可以发现聚类、识别重复项和离群值,并检查拆分或类别如何在你的数据中分布 —— 无需离开画廊。在任何数据集页面的画廊工具栏中,点击散点图图标即可打开。

Ultralytics Platform 数据集聚类空白状态

运行分析

开始分析:

  1. 打开一个数据集,点击画廊工具栏中的散点图图标
  2. 点击 Analyze Dataset
  3. 等待进度条完成 —— 结果将出现在同一个面板中

分析在后台运行,根据数据集的大小可能需要几分钟。你可以关闭面板或离开页面,稍后再回来。

可视化

分析完成后,面板会显示所有已分析图像的 2D 散点图。画廊筛选器(拆分、类别、已标注/未标注)会调暗筛选范围外的点,以便你专注于关心的子集。

Ultralytics Platform 数据集聚类散点图

着色依据

使用面板工具栏中的 Color by 下拉菜单更改数据点的着色方式。随时切换查看模式 —— 图表会立即重新着色,以便你查看拆分、类别或图像属性如何在你的聚类中分布:

选项着色
拆分训练 / 验证 / 测试
类别 (Classes)每张图像上的第一个标注类别
宽度图像宽度
高度图像高度
大小文件大小
标注每张图像的标注数量

Ultralytics Platform 数据集聚类颜色模式

套索选择

在图表上的一个区域周围绘制自由形式的选择框以突出显示点。画廊会自动筛选出匹配的图像,以便你使用常规的 图像操作 对其进行检查、重新标注、移动或删除。

清除选择

图表上方的一个芯片显示选择了多少个点 —— 点击 × 以清除套索并返回完整的画廊视图。

平移和缩放

直接通过鼠标和键盘导航大型散点图:

输入动作
滚动在 2D 中平移图表
Cmd/Ctrl+Scroll以光标为中心放大或缩小
按住 Space切换到拖拽平移模式

重新分析

如果数据集在分析后发生更改,所有者和编辑者可以看到面板顶部出现的 Re-analyze 按钮。

点击 Re-analyze 以从头开始重新计算嵌入向量和 2D 投影。

数据集选项卡

根据数据集的状态和你的权限,每个数据集页面最多可以显示六个标签页:

图像标签页

默认视图,显示带有标注覆盖层的图像画廊。支持网格、紧凑和表格视图模式。将文件拖放到此处即可添加更多图像。

类别标签页

当数据集包含图像时,会出现此标签页。

管理你数据集的标注类别:

  • 类别直方图:显示每个类别标注数量的柱状图,带有线性/对数刻度切换功能
  • 类别表格:可排序、可搜索的表格,包含类别名称、标签数量和图像数量
  • 编辑类别名称:点击任何类别名称即可直接重命名
  • 编辑类别颜色:点击颜色样本即可更改类别颜色
  • 添加新类别:使用底部的输入框添加类别

Ultralytics Platform 数据集类别标签页直方图和表格

用于不平衡数据集的对数刻度

如果你的数据集存在类别不平衡(例如,有 10,000 个“人”的标注,但只有 50 个“自行车”),请使用类别直方图上的 Log Scale 切换按钮,以清晰地查看所有类别。

图表选项卡

当数据集包含图像时,会出现此标签页。

从你的数据集中自动计算的统计信息:

图表描述
拆分分布显示训练/验证/测试图像数量及标注百分比的圆环图
顶级类别出现频率最高的 10 个标注类别的圆环图
图像宽度带平均值的图像宽度分布直方图
图像高度带平均值的图像高度分布直方图
每个实例的点数每个标注(分割/姿态)的多边形顶点或关键点计数
标注位置边界框中心位置的 2D 热力图
图像尺寸带有长宽比引导线的 2D 宽对高热力图

Ultralytics Platform Datasets Charts Tab Statistics Grid

统计数据缓存

统计数据会缓存 5 分钟。对标注的更改将在缓存过期后反映出来。

全屏热力图

点击任何热力图上的展开按钮以全屏模式查看。这提供了更大、更详细的视图,有助于理解大型数据集中的空间模式。

模型选项卡

在可搜索的表格中查看在此数据集上训练的所有模型:

描述
名称带有链接的模型名称
项目带有图标的父项目
状态训练状态徽章
任务YOLO 任务类型
Epochs最佳 epoch / 总 epoch 数
mAP50-95平均精度均值
mAP50IoU 为 0.50 时的 mAP
已创建创建日期

Ultralytics Platform Datasets Models Tab Trained Models Table

错误选项卡

此选项卡仅在一个或多个文件处理失败时显示。

处理失败的图像将在此列出,包括:

  • 错误横幅:失败图像的总数和指导信息
  • 错误表格:文件名、用户友好的错误描述、修复提示和预览缩略图
  • 常见错误包括损坏的文件、不受支持的格式、过小的图像(最小 28px)以及不受支持的颜色模式

Ultralytics Platform Datasets Errors Tab Processing Failures

常见处理错误
错误原因修复
无法读取图像文件格式已损坏或不受支持从图像编辑器重新导出
不完整或已损坏文件在传输过程中被截断重新下载原始文件
图像太小最小尺寸低于 28px使用更高分辨率的源图像
不受支持的颜色模式CMYK 或索引颜色模式转换为 RGB 模式

版本选项卡

为你的数据集创建不可变的 NDJSON 快照以实现可重复的训练。每个版本在创建时都会捕获图像计数、类别计数、标注计数和文件大小。

描述
版本版本号 (v1, v2, ...)
描述用户提供的描述(可编辑)
图像快照时的图像计数
类别快照时的类别计数
标注快照时的标注计数
大小NDJSON 导出文件大小
已创建版本创建时间

要创建版本:

  1. 打开 Versions 选项卡
  2. 可选:输入描述(例如 "Added 500 training images" 或 "Fixed mislabeled classes")
  3. 点击 + New Version
  4. 新版本出现在表格中
  5. 需要时可从表格中单独下载该版本

每个版本按顺序编号(v1, v2, v3...)并永久存储。你可以随时从版本表中下载任何以前的版本。

仅限就绪数据集

数据集达到 ready 状态后即可创建版本。

何时创建版本

在对数据集进行重大更改(添加图像、修复标注或重新平衡拆分)之前和之后创建版本。这使你可以比较不同数据集状态下的模型性能。

NDJSON 文件大小

显示的大小是 NDJSON 导出文件的大小,其中包含图像 URL 和标注,而不包含图像本身。实际图像数据单独存储,并通过签名 URL 访问。

导出数据集

通过数据集标题或版本选项卡下载 NDJSON,以便离线使用你的数据集。

要导出:

  1. 点击数据集标题中的 Export 按钮
  2. 直接下载当前的 NDJSON 快照
  3. 当你需要一个以后可以重新下载的不可变编号快照时,请使用 Versions 选项卡

Ultralytics Platform Datasets Export Ndjson Download

NDJSON 格式每行存储一个 JSON 对象。第一行包含数据集元数据,随后每行对应一个图像:

{"type": "dataset", "task": "detect", "name": "my-dataset", "description": "...", "url": "https://platform.ultralytics.com/...", "class_names": {"0": "person", "1": "car"}, "version": 1, "created_at": "2026-01-15T10:00:00Z", "updated_at": "2026-02-20T14:30:00Z"}
{"type": "image", "file": "img001.jpg", "url": "https://...", "width": 640, "height": 480, "split": "train", "annotations": {"boxes": [[0, 0.5, 0.5, 0.2, 0.3]]}}
{"type": "image", "file": "img002.jpg", "url": "https://...", "width": 1280, "height": 720, "split": "val"}
签名 URL

导出的 NDJSON 中的图像 URL 是签名的,有效期为 7 天。如果需要新的 URL,请重新导出数据集或创建新版本。

有关完整规范,请参阅 Ultralytics NDJSON 格式文档

图像操作

快捷操作

GridCompact 视图中右键单击任何图像以访问快速操作:

动作描述
移动到拆分 (Move to Split)将图像重新分配到 Train(训练集)、Val(验证集)或 Test(测试集)拆分
下载下载原始图像文件
删除从数据集中删除该图像

Ultralytics Platform Datasets Image Card Context Menu

单项 vs 批量

图像上下文菜单仅针对单个图像操作。如需对多张图像执行批量操作,请使用带有复选框选择功能的表格视图。

批量移动拆分

将选定的图像重新分配到同一数据集内的不同拆分中:

  1. 切换到表格视图
  2. 使用复选框选择图像
  3. 右键点击以打开上下文菜单
  4. 选择 Move to split(移动到拆分)> Train(训练集)、Validation(验证集)或 Test(测试集)

你也可以将图像拖放到网格视图中的拆分筛选选项卡上。

组织 Train/Val 拆分

将所有图像上传到一个数据集,然后使用批量移动拆分功能将子集组织为训练集、验证集和测试集。

拆分重分配

使用自定义比例在训练集、验证集和测试集之间重新分配所有图像:

  1. 点击数据集工具栏中的拆分栏以打开重新分配拆分对话框
  2. 使用以下任意一种方法调整拆分百分比
  3. 查看实时图像数量预览以确认分配情况
  4. 点击应用,按照你设定的百分比随机重新分配所有图像

Ultralytics Platform Datasets Split Redistribution Dialog

该对话框提供了三种设置目标拆分比例的方法:

方法描述
拖动拖动颜色段之间的手柄以直观地调整拆分边界
输入编辑任意拆分的百分比输入(其他两个拆分会自动按比例重新平衡)
自动一键即可立即设置 80/20 的训练/验证拆分,并将测试拆分设为 0%

实时预览会显示在你应用之前,每个拆分中将包含的确切图像数量。

快速 80/20 拆分

点击自动按钮可立即设置推荐的 80/20 训练/验证拆分。这是最常用的训练比例。

批量删除

一次性删除多张图像:

  1. 在表格视图中选择图像
  2. 右键点击并选择 Delete(删除)
  3. 确认删除

数据集 URI

使用 ul:// URI 格式引用平台数据集(请参阅 使用平台数据集):

ul://username/datasets/dataset-slug

使用此 URI 可在任何地方训练模型:

export ULTRALYTICS_API_KEY="YOUR_API_KEY"
yolo train model=yolo26n.pt data=ul://username/datasets/my-dataset epochs=100
使用平台数据随处训练

ul:// URI 适用于任何环境:

  • 本地机器:在你的硬件上进行训练,数据会自动下载
  • Google Colab:在笔记本中访问你的平台数据集
  • 远程服务器:在云虚拟机上进行训练,并获得完整的数据集访问权限

可用许可证

平台支持以下数据集许可证:

许可证类型
未选择许可证
CC0-1.0公共领域
CC-BY-2.5宽松型
CC-BY-4.0宽松型
CC-BY-SA-4.0Copyleft(著佐权)
CC-BY-NC-4.0非商业用途
CC-BY-NC-SA-4.0Copyleft(著佐权)
CC-BY-ND-4.0禁止演绎
CC-BY-NC-ND-4.0非商业用途
Apache-2.0宽松型
MIT宽松型
AGPL-3.0Copyleft(著佐权)
GPL-3.0Copyleft(著佐权)
仅限研究受限
其他自定义
Copyleft 许可证

当克隆带有 Copyleft 许可证(AGPL-3.0、GPL-3.0、CC-BY-SA-4.0、CC-BY-NC-SA-4.0)的数据集时,克隆版本将继承该许可证,且许可证选择器会被锁定。

可见性设置

控制谁可以查看你的数据集:

设置描述
私有仅你自己可以访问
公开任何人都可以在“探索”页面查看

可见性是在 New Dataset(新建数据集)对话框中使用切换开关设置的。公开的数据集在 Explore(探索)页面可见。

编辑数据集

数据集元数据可以直接在数据集页面上进行行内编辑,无需对话框:

  • 名称:点击数据集名称进行编辑。更改会在失去焦点或按 Enter 键时自动保存。
  • 描述:点击描述(或“Add a description...”占位符)进行编辑。更改会自动保存。
  • 任务类型:点击任务徽章以选择不同的任务类型。
  • 许可证:点击许可证选择器以更改数据集许可证。
更改任务类型

每张图像都会一起存储所有任务类型的注释。更改数据集任务类型可以控制编辑器中可见的注释,以及导出和训练中包含的内容。其他任务类型的注释会保留在数据库中,并在你切回时重新出现。

克隆数据集

在查看你不拥有的公开数据集时,点击 Clone Dataset(克隆数据集)即可在你的工作区中创建副本。克隆包含所有图像、注释和类别定义。如果原始数据集具有 Copyleft 许可证,克隆版本将继承它,且许可证选择器会被锁定。

星标和分享

  • 星标:点击星标按钮以收藏数据集。星标数量对所有用户可见。
  • 分享:对于公开数据集,点击分享按钮即可复制链接或分享到社交平台。

删除数据集

删除你不再需要的数据集:

  1. 打开数据集操作菜单
  2. 点击 Delete(删除)
  3. 在对话框中确认:“This will move [name] to trash. You can restore it within 30 days.”(这会将 [名称] 移至回收站。你可以在 30 天内恢复它。)
回收站和恢复

删除的数据集会移至“回收站”,而非永久删除。你可以在 30 天内通过 Settings > Trash 将其恢复。

使用数据集进行训练

直接从你的数据集启动训练:

  1. 在数据集页面点击 New Model
  2. 选择一个项目或创建一个新项目
  3. 配置训练参数
  4. 开始训练
graph LR
    A[Dataset] --> B[New Model]
    B --> C[Select Project]
    C --> D[Configure]
    D --> E[Start Training]

    style A fill:#2196F3,color:#fff
    style E fill:#4CAF50,color:#fff

详情请参阅 Cloud Training

常见问题 (FAQ)

上传后我的数据会怎样?

你的数据将在你选择的区域(美国、欧盟或亚太地区)进行处理和存储。图像处理流程如下:

  1. 校验格式和尺寸
  2. 如果最小维度小于 28px 则拒绝上传
  3. 如果大于 4096px 则进行归一化处理(保持纵横比;编码以优化存储)
  4. 使用带有 XXH3-128 哈希的“内容寻址存储”(CAS) 进行存储
  5. 生成 256px WebP 缩略图以实现快速浏览

存储机制是怎样的?

Ultralytics Platform 使用 内容寻址存储 (CAS) 来实现高效存储:

  • 去重:不同用户上传的相同图像仅存储一次
  • 完整性:XXH3-128 哈希确保数据完整性
  • 效率:降低存储成本并加快处理速度
  • 区域化:数据保留在你选择的区域(美国、欧盟或亚太地区)

我可以向现有数据集添加图像吗?

可以,将文件拖放到数据集页面或使用上传按钮即可添加其他图像。新的统计数据将自动计算。

如何移动不同分割之间的图像?

使用批量移动到分割 (move-to-split) 功能:

  1. 在表格视图中选择图像
  2. 右键点击并选择 Move to split
  3. 选择目标分割(训练集、验证集或测试集)

支持哪些标签格式?

Ultralytics Platform 支持 YOLO 标签、COCO JSON、Ultralytics NDJSON 以及原始图像上传:

每个图像对应一个包含归一化坐标(0-1 范围)的 .txt 文件:

任务格式示例
检测class cx cy w h0 0.5 0.5 0.2 0.3
分割class x1 y1 x2 y2 ...0 0.1 0.1 0.9 0.1 0.9 0.9
姿态class cx cy w h kx1 ky1 v1 ...0 0.5 0.5 0.2 0.3 0.6 0.7 2
OBBclass x1 y1 x2 y2 x3 y3 x4 y40 0.1 0.1 0.9 0.1 0.9 0.9 0.1 0.9
分类目录结构train/cats/, train/dogs/

姿态可见性标志:0=未标注,1=已标注但被遮挡,2=已标注且可见。

我可以为同一个数据集标注多种任务类型吗?

可以。每张图像都存储了所有 5 种任务类型(检测、分割、姿态、OBB、分类)的标注。你可以随时切换数据集的当前活跃任务类型,而不会丢失现有标注。编辑器中仅显示与活跃任务类型匹配的标注,并将其包含在导出和训练中 —— 其他任务的标注会保留,并在你切回时重新出现。

评论