数据集#
Ultralytics Platform 数据集为管理训练数据提供了简化方案。上传后,平台会自动处理图像、标签和统计信息。
处理完成后,只要数据集中 train 划分至少有一张图像、val 或 test 划分至少有一张图像,并且至少有一张已标注图像,数据集就可以开始训练。满足这三个条件时,数据集标题会显示 Ready 徽标;否则会显示 Not Ready 徽标 — 点击徽标即可查看具体缺少哪个条件。
使用 Agents 收集图像#
使用 Agents 在模型检测结果满足条件时向数据集添加图像,例如置信度落在指定范围内。将条件连接到 Dataset 块,并选择一个你有权编辑的目标数据集。图像会以未标注状态添加到 train 划分;已存在的副本会被跳过。使用现有的标注编辑器检查并标注这些图像。
上传数据集#
Ultralytics Platform 支持多种上传格式,使用起来更加灵活。
如果你的数据集已经存放在 Roboflow 中,可以使用 Integrations 直接导入 — 无需手动导出或重新上传。Google Cloud Storage、Amazon S3 或 Azure Blob Storage 中的数据可以通过 Cloud storage 直接使用。Enterprise 工作区可以使用 On Premise 为本地数据建立索引并进行训练,而无需将像素数据发送到 Platform。
支持的格式#
| 格式 | 扩展名 | 备注 | 最大尺寸 |
|---|---|---|---|
| JPEG | .jpg, .jpeg | 最常见,推荐使用 | 50 MB |
| PNG | .png | 支持透明背景 | 50 MB |
| WebP | .webp | 现代格式,压缩效果好 | 50 MB |
| BMP | .bmp | 未压缩 | 50 MB |
| TIFF | .tiff, .tif | 高质量 | 50 MB |
| HEIC | .heic | iPhone 照片 | 50 MB |
| AVIF | .avif | 新一代格式 | 50 MB |
| JP2 | .jp2 | JPEG 2000 | 50 MB |
| DNG | .dng | 相机原始格式 | 50 MB |
| MPO | .mpo | 多图对象 | 50 MB |
视频编解码器支持#
仅凭文件扩展名无法判断:如果处理过程中无法解码视频所用的编解码器,视频仍可能无法处理。
MP4 容器中的 H.264 视频具有最广泛的解码器支持,是最稳妥的选择。如果视频无法处理,请使用 FFmpeg 重新编码:
ffmpeg -i input.mov \
-c:v libx264 -pix_fmt yuv420p \
-c:a aac -movflags +faststart \
output.mp4准备数据集#
Platform 支持 Ultralytics YOLO、COCO、LabelMe JSON、语义 PNG 掩码、深度数据集、Ultralytics NDJSON 和 Labelbox NDJSON,以及原始(未标注)上传数据:
使用标准 YOLO 目录结构,并包含一个 data.yaml 文件:
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.yamlYAML 文件定义数据集配置:
# data.yaml
train: images/train
val: images/val
names:
0: person
1: car
2: dog原始数据:上传未标注的图像(无标签)。如果你计划直接在平台上使用标注编辑器进行标注,这种方式会很有用。
系统会自动检测格式:包含 data.yaml,且包含 names、train 或 val 键的数据集会被视为 YOLO 数据集。包含 COCO JSON 文件(其中含有 images、annotations 和 categories 数组)的数据集会被视为 COCO 数据集。如果没有 COCO 文件,则会将每张图片对应的 LabelMe JSON 文件(其中含有 shapes 和 imagePath)读取为 LabelMe 标注。.ndjson 导出文件会作为 Ultralytics NDJSON 导入;如果这些文件的行包含 data_row 键,则会作为 Labelbox 导出文件导入。只有图片而没有标注的数据集会被视为原始数据集。
当归档文件中包含多个 YAML 文件时,Platform 会优先选择最接近归档根目录的标准文件名(data.yaml、data.yml、dataset.yaml、dataset.yml)。每个归档文件中保留一个名称明确的 YAML 文件,以免产生歧义。
系统会检测 Pascal VOC XML 格式的标签文件,但不会导入其中的标注——图片会在没有标注的情况下上传;如果文件夹(例如 images/ 或 JPEGImages/)中有五张或更多图片,系统还会将该文件夹名称用作类别名。上传开始前,Platform 会向你发出警告(“检测到 Pascal VOC 标签”)。请先将 VOC XML 转换为 YOLO 或 COCO;参见格式转换工具。
如果标签引用了类别 ID,但没有提供类别名称,Platform 会将这些 ID 重新映射为从 0 开始的连续序列,并将每个类别命名为其来源 ID(class0、class3、…);之后你可以在类别选项卡中重命名这些类别。
上传流程#
创建数据集的步骤:
- 在侧边栏中前往
Annotate - 点击
New Dataset - 选择一个数据源选项卡(参见下文的数据源)
- 添加名称——系统会自动生成 URL 路径标识,也可以手动编辑——并可选择填写描述
- 选择任务类型(参见支持的任务)、可选的许可证(参见可用许可证)以及可见性(公开或私有)。新建的公开数据集默认选中 CC BY 4.0;选择其他许可证或 None 即可更改
- 点击
Create & Upload选择本地文件,点击Create & Import选择 URL 或已连接的数据源,或点击Create Dataset创建空数据集

要向现有数据集添加文件,请打开该数据集页面,然后将文件拖到图库中,或点击页面标题栏中的上传图标。由于数据集任务已定义,上传图标会直接打开浏览器自带的文件选择器。
数据来源#
New Dataset 对话框提供四种数据源:
| 数据源 | 说明 |
|---|---|
| 上传 | 拖入文件或浏览选择文件——支持图片、视频、归档文件或 NDJSON |
| URL | 粘贴指向 .zip、.tar、.tar.gz、.tgz 或 .ndjson 文件的直接链接;Platform 会在服务器端下载并导入该文件 |
| 云端 | 直接使用 Google Cloud Storage、Amazon S3 或 Azure Blob Storage 中的数据(Pro 和 Enterprise) |
| 本地部署 | 通过 本地部署工作节点索引数据并进行训练,数据始终保留在你自己的设备上(Enterprise) |
深度数据集只能通过 上传 或 URL 创建;深度任务不支持 云端 和 本地部署 选项卡。
URL 导入的上限取决于你的套餐单次上传限制(Free 为 10 GB / Pro 为 20 GB / Enterprise 为 50 GB)和剩余存储配额,两者取较小值。链接必须可通过 HTTP 或 HTTPS 公开访问,且以受支持的扩展名结尾。
开始上传前#
Platform 会在上传任何文件前于浏览器中验证文件,因此常见问题会立即显现,而不是等到漫长的传输结束后才发现。系统会检查归档文件是否损坏、为空或受密码保护,以及 YAML 语法是否有误,并会按名称列出超大文件。
随后可能会出现两个对话框:
如果 ZIP 存档声明了类别名称,而你的数据集已有类别,Map classes 对话框会为存档中的每个类别列出一行。将每个类别映射到现有类别或创建新类别,也可以取消选中其 包含 复选框以跳过该类别。名称匹配时(忽略大小写,但一到两个字符的名称除外)会预先选中匹配项,被跳过类别的标注不会导入。
上传后,平台会自动处理你的数据:
- 验证:检查格式和大小
- 规范化:大图像会调整大小(最大 4096px,最短边至少 28px),灰度图会扩展为 RGB,透明区域会铺在白色背景上,并应用 EXIF 方向信息;除非训练需要转换 TIFF 原始文件(见下文“存储图像编码”),否则会按上传时的状态存储
- 缩略图:生成 256px 的 WebP 预览图
- 标签解析:提取 YOLO、COCO、LabelMe 以及 Ultralytics 或 Labelbox NDJSON 标签
- 统计:计算类别分布和图片尺寸
TIFF 原始文件会逐字节存储,但每个最多含 3 个通道的数据集中,训练无法读取的多波段浮点 TIFF 除外:这类文件会保留前三个波段,缩放为 8 位并重新编码。如果 AVIF 和 WebP 原始文件无需调整大小或更改颜色,则会逐字节存储。其他所有文件都会重新编码——WebP 源文件仍存为 WebP,其他所有源文件(JPEG、PNG、BMP、HEIC、JP2、DNG、MPO、转换后的 TIFF,以及调整大小或更改颜色后的 AVIF)都会以质量 92 保存为 JPEG。原始文件名和源文件扩展名会作为元数据保留。

上传前验证
你可以在本地上传数据集前先进行验证:
from ultralytics.data.utils import check_det_dataset
check_det_dataset("path/to/data.yaml")图像最短边必须至少为 28px。处理过程中会拒绝尺寸小于此值的图像。最长边大于 4096px 的图像会自动调整大小并保持纵横比,但逐字节保留的 TIFF 原始文件除外(见上文“存储图像编码”)。
浏览图片#
以多种布局查看数据集中的图片。
在图库工具栏中打开聚类面板,以交互式二维散点图的形式探索数据集。
| 视图 | 说明 |
|---|---|
| 网格 | 带有标注叠加层的缩略图网格(默认) |
| 紧凑 | 更小的缩略图,便于快速浏览 |
| 表格 | 列表中包含缩略图、文件名、尺寸、大小、数据集划分、类别和标签数量 |

排序和筛选#
你可以对图片进行排序和筛选,以便高效浏览:
每个选项都可在升序(↑)和降序(↓)之间切换:
| 排序方式 | 说明 |
|---|---|
| 创建时间 ↑/↓ | 上传顺序(默认 ↓) |
| 名称 ↑/↓ | 按文件名的字母顺序排序 |
| 高度 ↑/↓ | 图片高度(像素) |
| 宽度 ↑/↓ | 图片宽度(像素) |
| 大小 ↑/↓ | 磁盘上的文件大小 |
| 标注数 ↑/↓ | 每张图片的标注数量 |
对于图片超过 100,000 张的数据集,系统会隐藏名称、宽度、高度和大小排序选项,以确保图库响应流畅。创建时间和标注数量排序仍可使用。
将 Annotations 筛选器设为 Unannotated,即可快速找到仍需标注的图片。这对于需要跟踪标注进度的大型数据集尤其有用。
搜索框位于图库工具栏右侧,可筛选所有视图模式——网格、紧凑和表格。搜索会匹配图片文件名(文件扩展名可省略)、图片中已标注的任何类别名称,以及自定义元数据键、标量值和数组条目。因此,搜索 img_0042、boat 或 yacht,都能找到名为 img_0042、带有 boat 标注和 {"ship_type": "yacht"} 元数据的图片。
不会匹配嵌套在子对象中的值。粘贴 24 个字符的图像 ID 或 32 个字符的内容哈希时,系统会直接查找对应图像,跳过文本搜索。
结果按相关性排序:文件名、类别或元数据匹配的图像排在前面,之后最多显示 1,000 张外观与搜索内容相似的图像,例如 forklift near a doorway。搜索处于活动状态时无法排序;如果搜索词以文件扩展名结尾,则不会显示外观相似的图像。
全屏查看器#
点击任意图片,即可打开全屏查看器,其中提供:
- 导航:使用方向键或缩略图预览浏览图片
- 图片信息:查看 Platform 生成的属性、自定义元数据和嵌入文件中的元数据(例如 EXIF)
- 自定义元数据:所有者和编辑者可以添加或替换 JSON 对象,包括嵌套值;序列化后最多 500,000 个字符,顶层键最多 128 个字符
- 标注:切换标注叠加层的显示状态
- 类别分布:按类别统计标签数量并显示颜色指示
- 标注:拥有编辑权限时,在桌面端打开全屏查看器后,标注控件会立即启用
- 模糊人脸:右键点击图像或标注,即可在可用时预览并应用人脸模糊
- 下载:下载原始图像文件
- 删除:从数据集中删除图像
- 缩放:使用
Cmd/Ctrl+Scroll、Cmd/Ctrl++或Cmd/Ctrl+=放大,使用Cmd/Ctrl+-缩小 - 重置视图:使用
Cmd/Ctrl + 0或重置按钮,使图像适合查看器大小 - 平移:按住
Space并拖动,或按住鼠标中键拖动,即可在任意缩放级别平移画布 - 像素视图:切换像素化渲染,以便近距离检查
- 深度帘幕:在深度数据集中,可拖动分隔线,在 RGB 图像和着色后的深度图之间切换

按数据集划分筛选#
按数据集划分筛选图像:
| 划分 | 用途 |
|---|---|
| 训练 | 用于模型训练 |
| 验证集 | 用于训练期间的验证 |
| 测试集 | 用于最终评估 |
聚类#
Clustering 面板会将数据集投影到交互式二维散点图中,视觉上相似的图像会彼此靠近。你可以用它发现聚类、查找重复项和异常值,并检查数据中各划分或类别的分布情况——无需离开图库。你可以在任意数据集页面的图库工具栏中,点击散点图图标打开该面板。该面板仅适用于桌面端;数据集完成分析后,没有编辑权限的查看者也会看到此图标。

运行分析#
开始分析:
- 打开数据集,然后点击图库工具栏中的散点图图标
- 点击
Analyze Dataset - 等待进度条完成——结果会显示在同一面板中
分析在后台分两个阶段运行:Computing embeddings 和 Clustering;具体耗时取决于数据集大小,可能需要几分钟。你可以关闭面板或离开页面,之后再返回。
要进行分析,数据集至少需要 20 张、最多 200,000 张未出错的图像。云存储数据集需要开启 AI 功能,且不支持本地部署数据集。
可视化#
分析完成后,面板会显示所有已分析图像的二维散点图,并附有图例和点数计数器。图库筛选条件(划分、类别、已标注/未标注)会淡化筛选范围外的点,让你专注于所需子集——计数器随后会显示 visible / total points。

按以下属性着色#
使用面板工具栏中的 Color by 下拉菜单,更改数据点的着色方式。你可以随时切换视图模式——图表会立即重新着色,让你查看各聚类中划分、类别或图像属性的分布情况:
| 选项 | 着色方式 |
|---|---|
| 划分 | 训练集 / 验证集 / 测试集 |
| 类别 | 每张图像上的首个标注类别 |
| 聚类 | 布局中的视觉岛,按面积从大到小排列;分散点表示位于任何岛之外的点,未计算表示在此选项推出前分析的布局 |
| 宽度 | 图像宽度 |
| 高度 | 图像高度 |
| 大小 | 文件大小 |
| 标注 | 每张图像的标注数量 |

套索和点击选择#
在图表上圈出任意区域以突出显示其中的点,或点击某个点以选择所有以相同颜色绘制的点(按宽度、高度、大小或标注数量着色时,仅选择该点);点击图表中的空白区域可清除选择。图库会筛选出匹配的图像,你可以使用常见的图像操作检查、重新标注、移动或删除这些图像。
图表上方的标签会显示所选点的数量——点击 × 或图表中的空白区域,即可清除选择并返回完整图库视图。
套索或点击选择最多可匹配 1,000 张图像。如果匹配数量超过此上限,Platform 会显示抽样选出的 1,000 张图像,并建议你圈选更小的区域。
平移和缩放#
你可以直接使用鼠标和键盘浏览大型散点图,也可以使用图表左下角的缩放按钮:
| 输入 | 操作 |
|---|---|
| 滚动 | 在二维空间中平移图表 |
| Cmd/Ctrl+滚动 | 以光标为锚点放大或缩小 |
| 按住空格键 | 切换到拖动平移模式 |
| 重置按钮 | 恢复显示图表的完整范围 |
重新分析#
如果分析后数据集发生变化(例如有新图像加入,或已分析图像数量与数据集不再一致),或者分析是在 聚类 着色选项推出前完成的,面板顶部就会为所有者和编辑者显示 Re-analyze 按钮。
点击 Re-analyze,从头重新计算嵌入和二维投影。
查找相似图像#
这些嵌入向量还可用于在公共数据集以及你自己的数据集和团队数据集中进行相似性搜索。在你可以编辑的数据集中,在 Grid 或 Compact 视图中右键点击一张图片(或在 Table 视图中右键点击唯一选中的一行),然后选择 Find similar images。对话框会在源图片旁显示最多 24 张最相似的图片,每张图片都标有相似度分数;你的数据集以及任何包含所选图片副本的数据集都不会显示。点击图片可全尺寸预览,并查看图片的源数据集、许可证和相似度分数。勾选图片旁的复选框来选择图片(也可以全选),然后点击 Add N to dataset:这些图片会作为未标注图片添加到 train 划分中,占用你的存储空间,并可供标注。

对于尚未分析的数据集中的图像,或上次分析后添加的图像,如果尚无嵌入向量,打开对话框时会自动生成嵌入向量,因此你无需先运行聚类分析。云存储数据集需要开启 AI 功能,并且只能浏览,因为无法向已连接的数据集中添加图像;本地部署数据集不支持此功能。模型的逐图验证诊断会针对表现最差的图像运行相同的搜索。
数据集选项卡#
每个数据集页面最多可显示六个选项卡,具体取决于数据集状态和你的权限:
图像选项卡#
默认视图,显示带有标注叠加层的图像图库。支持网格、紧凑和表格视图模式。将文件拖放到此处即可添加更多图像。
类别选项卡#
当数据集中有图像且其任务包含类别时,会显示此选项卡。
管理数据集的标注类别:
- 类别直方图:按频次排序的类别标注数量柱状图,并提供线性/对数刻度切换
- 类别表格:可排序、可搜索的表格,包含索引、名称、标注数量和图像数量
- 编辑类别名称:点击任意类别名称,即可直接重命名
- 编辑类别颜色:点击颜色样本即可更改类别颜色
- 添加新类别:使用底部的输入框添加类别
- 合并类别:选择两行或更多行,然后点击
Merge into one - 删除类别:选择一行或更多行,然后点击
Delete

如果数据集存在类别不平衡(例如,“person”有 10,000 个标注,而“bicycle”只有 50 个),请使用类别直方图上的 Log Scale 切换按钮,以清晰查看所有类别。
合并类别#
合并操作会整合重复或重叠的标签,例如将 car、automobile 和 vehicle 合并为一个类别:
- 使用行复选框选择两个或更多类别
- 点击表格标题中的
Merge into one,或右键点击所选内容 - 选择一个类别作为目标类别,其他类别将合并到该类别中
- 确认
源类别中的所有标注都会重新分配到目标类别,源类别则会被移除。不会删除任何标注,因此数据集的标注总数保持不变。
删除类别#
- 使用行复选框选择一个或多个类别
- 点击表格标题中的
Delete,或右键点击所选内容 - 确认
删除类别会移除该类别及其所有标注。对于分类数据集,标签会被移除,但图像会保留并变为未标注状态。
类别 ID 按位置确定。合并或删除类别会使所有更高的类别索引下移以填补空缺,因此更改前写入的导出文件和标签文件将不再与新索引对应。如果你需要保留旧编号,请先创建一个版本。
类别计数最多根据 100,000 张图像计算。对于更大的数据集,直方图上方会显示说明:“基于此数据集的 100,000 张图像子集。”
图表标签页#
数据集包含图像时,此标签页会显示。
根据你的数据集自动计算的统计信息:
图表按以下顺序显示;如果数据集没有相应数据,则会省略该图表——原始图像数据集不会显示标注图表,而 Points per Instance 仅会在分割和姿态数据中显示:
| 图表 | 说明 |
|---|---|
| 划分分布 | 训练集/验证集/测试集图像数量及已标注比例的环形图 |
| 热门类别 | 出现频率最高的 10 个标注类别的环形图,其余类别归为“其他” |
| 图像尺寸 | 图像宽度和高度分布直方图(叠加显示),并标出均值 |
| 图像文件大小 | 图像文件大小分布直方图 |
| 图像尺寸二维分布 | 宽度与高度的二维热力图,带有纵横比参考线 |
| 标注位置 | 边界框中心位置的二维热力图 |
| 图像格式 | 源图像格式(JPG、PNG 等)的分布 |
| 边界框尺寸 | 边界框宽度和高度直方图(叠加显示) |
| 每张图像的对象数 | 每张图像的标注数量直方图 |
| 每个实例的点数 | 每个标注中的多边形顶点数或关键点数(分割/姿态) |

平台会缓存计算出的统计信息,并在图像、标注、类别或数据集划分发生变化时使缓存失效。对于超过 100,000 张图像的数据集,图表会根据 100,000 张图像的子集计算,网格上方会对此进行说明。
点击任意热力图上的展开按钮,即可全屏查看。这样可以获得更大、更详细的视图,便于了解大型数据集中的空间模式。
模型标签页#
在可搜索的表格中查看使用此数据集训练的所有模型:
| 列 | 说明 |
|---|---|
| 模型 | 父级项目和模型名称,带链接 |
| 版本 | 用于训练的不可变数据集版本;仅当所列模型使用了某个版本时显示 |
| 状态 | 训练状态徽标 |
| 任务 | YOLO 任务类型 |
| 训练轮数 | 最佳训练轮数 / 总训练轮数 |
| 指标 | 表格中每种任务的两项主要指标,例如检测任务的 mAP50 和 mAP50-95,或 Top-1 和 Top-5 准确率 |
| 创建时间 | 创建日期 |

错误标签页#
只有一个或多个文件处理失败时,此标签页才会显示。
处理失败的图像会在此处列出,并附有:
- 错误横幅:失败图像的总数和相关说明
- 错误表格:文件名、易于理解的错误说明、修复提示和预览缩略图
- 常见错误包括文件损坏、格式不受支持、图像尺寸过小(最小 28px)以及颜色模式不受支持

常见处理错误
| 错误 | 原因 | 修复方法 |
|---|---|---|
| 无法读取图像文件 | 文件已损坏或格式不受支持 | 从图像编辑器重新导出 |
| 文件不完整或已损坏 | 文件在传输过程中被截断 | 重新下载原始文件 |
| 图像格式不受支持 | 平台无法解码此格式 | 转换为 JPG、PNG 或 WebP |
| 文件权限错误 | 文件已锁定或受写保护 | 解锁文件并重新上传 |
| 图像尺寸过小 | 最小尺寸低于 28px | 使用分辨率更高的源图像 |
| 颜色模式不受支持 | CMYK 或索引颜色模式 | 转换为 RGB 模式 |
版本标签页#
创建不可变的 NDJSON 快照,以便复现数据集训练。每个版本都会记录创建时的图像数量、类别数量、标注数量以及新增的存储空间。
| 列 | 说明 |
|---|---|
| 版本 | 版本号(v1、v2……) |
| 说明 | 用户提供的说明(可编辑) |
| 图像 | 创建快照时的图像数量 |
| 类别 | 创建快照时的类别数量 |
| 标注 | 创建快照时的标注数量 |
| 大小 | 此版本新增的存储空间 |
| 创建时间 | 版本创建时间 |
| 操作 | 比较、下载或还原 |
创建版本的步骤:
- 打开 版本 标签页
- 可选:填写说明(例如“添加了 500 张训练图像”或“修正了错误标注的类别”)
- 点击 新建版本
- 新版本会显示在表格中。如果数据集与现有版本相同(例如刚刚还原了该版本),系统会重复使用该版本;如果你填写了新说明,也会为该版本更新说明
每个版本按顺序编号(v1、v2、v3……),且不可变——版本无法编辑或删除,只能更改说明。你可以随时使用行操作下载或还原任意版本。
比较版本#
点击 v1 之后任一版本上的比较图标,即可查看与较早版本相比有哪些变化。比较版本默认从 前一版本开始;在 From 菜单中选择其他版本。归于 Images、Annotations、 Classes 和 Settings 的标签会统计新增、移除、修改以及移至其他数据拆分的图像数量,还会统计 新增和移除的标注,并列出新增、移除或重命名的类别以及发生变化的数据集设置。每张变更的 图像都会显示其标签。选择一张图像即可查看其 Before 和 After 状态,每一侧都会显示 该版本保存的标签。当图像的元数据发生变化时,Metadata changes 会列出每个新增、移除或修改的键,以及 该键在两个版本中的值。如果图像、图像元数据和标注都相同,对话框会显示 No changes;如果只有类别定义或数据集设置不同,则会显示 No image changes。
还原操作会将数据集当前的图像、数据集划分、类别和标注替换为所选快照;除非你先将当前状态另存为其他版本,否则无法撤销。数据集重建期间会锁定,并显示 processing 状态。还原过程中不会重新上传任何内容,因此即使是大型数据集,还原通常也很快。
在云端训练对话框中启用 保存数据集版本,即可将模型关联到训练时使用的确切数据集。如果数据集内容没有变化,平台会重复使用匹配的版本;只有在内容发生变化时,平台才会创建新版本。
数据集达到 ready 状态后,才能创建和还原版本。版本不适用于已连接的云端数据集或 On Premise 数据集。
在对数据集进行重大更改前后创建一个版本,例如添加图像、修复标注或重新平衡划分。这样你就可以比较不同数据集状态下的模型性能。
显示的大小是该版本新增的压缩快照存储空间:图像记录(URL、划分、标注和元数据)以及数据集设置,不包括图像像素。与早期版本相比未发生变化的快照数据会被共享,并计入首次存储该数据的版本。实际图像数据单独存储,并通过签名 URL 访问。快照存储会计入工作区的存储配额,因此如果剩余空间不足,创建新版本会失败;复用匹配的版本则不会。
导出数据集#
你可以从数据集页眉或 Versions 选项卡下载 NDJSON,将数据集导出以供离线使用。
导出方法:
- 点击数据集页眉中的 Download 按钮(下载图标)
- 直接下载当前 NDJSON 快照
- 如果你需要不可变的编号快照,以便稍后重新下载,请使用 Versions 选项卡

NDJSON 格式每行存储一个 JSON 对象。第一行包含数据集元数据,后续每行对应一张图像:
{"type": "dataset", "task": "detect", "name": "my-dataset", "description": "...", "bytes": 12345678, "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", "metadata": {"location": {"site": "factory-1"}, "reviewed": true}, "annotations": {"boxes": [[0, 0.5, 0.5, 0.2, 0.3]]}}
{"type": "image", "file": "img002.jpg", "url": "https://...", "width": 1280, "height": 720, "split": "val"}将 NDJSON 文件导入 Platform 时,可选的图像级 metadata 对象会保留下来。你可以在图像的全屏信息面板中查看或编辑该对象。对于以编程方式上传归档文件,Ingest Dataset Data API 接受等效的 imageMetadata 路径映射。
姿态数据集的头部行中也包含 kpt_shape 字段;如果尚未设置该字段,系统会根据标注推断其值。
深度导出会在数据集行中声明 "task": "depth" 和 "depth_scale": 1000。每张图像对应的行都包含一个 depth.url,指向其配对的纯 uint16 PNG。Ultralytics 会并行下载图像和深度 URL,并写入使用相同尺度的 训练 YAML,因此可以将 NDJSON 文件直接传递给 model.train(data=...)。
NDJSON 文件链接到图像,而不是包含图像。要将图像和 YOLO 格式标签下载到你的电脑上,请将文件或数据集的 ul:// URI直接传给 model.train(data=...),Ultralytics 就会为你下载图像并创建 YOLO 文件夹。要在不进行训练的情况下获取文件夹,请在本地转换文件:
import asyncio
from ultralytics.data.converter import convert_ndjson_to_yolo
yaml_path = asyncio.run(convert_ndjson_to_yolo("my-dataset.ndjson", output_path="datasets"))导出的 NDJSON 中的图像 URL 均为签名 URL,有效期为 7 天。如果数据集未发生变化,Platform 最多会复用缓存的导出文件 6 天,因此重新下载时,URL 的有效期始终至少还剩一天。如果你需要更早获取新 URL,请更改数据集或创建新版本。
本地部署数据集不支持导出,因为图像字节不会传输到 Platform。
完整规范请参阅 Ultralytics NDJSON 格式文档。
图像操作#
快捷操作#
在 Grid 或 Compact 视图中右键点击图像,或在 Table 视图中右键点击单个选中行,即可使用快捷操作。可用操作取决于你的编辑权限和数据集来源:
| 操作 | 说明 |
|---|---|
| 移动到划分 | 将图像重新分配到 Train、Val 或 Test 划分 |
| 查找相似图像 | 在公共数据集、个人数据集和团队数据集中搜索相似图像并添加(参见查找相似图像) |
| 生成相似图像 | 创建 AI 生成的变体,然后添加你想保留的图像(参见生成相似图像) |
| 模糊人脸 | 模糊图像中检测到的人脸(参见模糊人脸) |
| 复制 / 剪切 | 复制或剪切图像,以便将其粘贴到其他数据集(参见复制和移动图像) |
| 粘贴 | 将复制或剪切的图像粘贴到此数据集;当剪贴板中包含来自其他数据集的图像时,此选项才会显示 |
| 下载 | 下载原始图像文件 |
| 删除 | 从数据集中删除图像 |

图像上下文菜单对你点击的图像执行操作,但 Paste 会添加剪贴板中的图像。要对多张图像执行批量操作,请在 Table 视图中使用复选框选择图像。
批量移动到划分#
将选中的图像重新分配到同一数据集中的其他划分:
- 切换到 Table 视图
- 使用复选框选择图像
- 右键点击以打开上下文菜单
- 选择
Move to split> Train、Validation 或 Test
你也可以在网格视图中将图像拖放到划分筛选选项卡上。如果移动图像会与目标划分中一张完全相同的图像冲突,Platform 会询问你是跳过、保留两张,还是替换。
将所有图像上传到一个数据集,然后使用批量移动到划分功能,将子集整理到训练、验证和测试划分中。
重新分配划分#
使用自定义比例,将所有图像重新分配到训练、验证和测试划分:
- 在 Images 选项卡中,点击 All / Train / Val / Test 正下方的细彩色 split bar,打开 Redistribute Splits 对话框
- 使用以下任一方法调整划分百分比
- 查看实时图像计数预览,以确认分配结果
- 点击 Apply,根据你设置的百分比随机重新分配所有图像

该对话框提供三种设置目标划分比例的方式:
| 方法 | 说明 |
|---|---|
| 拖动 | 拖动彩色区段之间的控制柄,以直观地调整划分边界 |
| 输入 | 编辑任一划分的百分比输入值(另外两个划分会按比例自动重新平衡) |
| 自动 | 一键立即设置 80/20 的训练/验证划分,并将测试划分设为 0% |
实时预览会在应用更改前准确显示每个划分将包含的图像数量。
点击 Auto 按钮,立即设置推荐的 80/20 训练/验证划分。这是最常用于训练的比例。
批量删除#
一次删除多张图像:
- 在表格视图中选择图像
- 右键点击并选择
Delete,或按Cmd/Ctrl+Delete - 确认删除
复制和移动图像#
将图像从一个你有权编辑的数据集复制或移动到另一个数据集,也可以是不同工作区中的数据集:
- 在源数据集中,在 Grid 或 Compact 视图中右键点击图像并选择 Copy 或 Cut;也可以在 Table 视图中选择图像,然后按
Cmd/Ctrl+C或Cmd/Ctrl+X。Esc会清空剪贴板。 - 打开目标数据集,右键点击图像并选择 Paste,或按
Cmd/Ctrl+V。
粘贴的图像会保留其标签和划分;如果目标数据集在同一划分中已包含这些图像,则会跳过。Cut 会从源数据集中删除已粘贴的图像;Copy 不会更改源数据集。源数据集和目标数据集必须具有相同的任务以及兼容的图像通道、姿态关键点设置和深度尺度,即使复制的图像没有标签也一样。空目标数据集可以继承尚未设置的图像通道和姿态设置。图像不能粘贴到已连接的数据集中。
类别按名称匹配,除一到两个字符的名称外均忽略大小写;目标数据集没有类别时,会采用源数据集的类别列表。粘贴的图像使用了目标数据集没有的类别时,映射类别 对话框会要求你将每个此类类别映射到数据集中的类别或新类别,也可以取消选中其 包含 复选框以丢弃该类别的标签;无论如何,图像都会被粘贴。
生成相似图像#
根据已有图像创建新的训练图像。在你可以编辑的数据集中,在 Grid 或 Compact 视图中右键点击图像(或在 Table 视图中选中单个行),然后选择 Generate similar images。Platform 会根据该图像描述并生成受其启发的新场景,每个场景生成一张图像,因此结果会保留源图像的主体和风格,但不会照搬源图像。
| 设置 | 说明 |
|---|---|
| 模型 | Ultralytics Image 4B(默认)速度最快;Ultralytics Image 6B 的风格不同,生成所需时间也更长 |
| 图像数量 | 要创建的变体数量,从 1 到 16(默认值为 4) |
| 图像尺寸 | 目标最长边长度,从 256 到 2048 px,步长为 64(默认值为 1024) |
| 说明 | 可选:描述要改变或保留的内容,例如光照、视角、背景或物体 |

Ultralytics Image 9B 和 Krea 2 Turbo 也会列出,但只有开启抢先体验后才能选择。Krea 2 Turbo 是最慢的选项。在支持的情况下,系统会保留源图像的比例。非常窄的图像可能需要设置更大的长边;输出尺寸会取整,并限制为生成器支持的尺寸。
点击 生成,或在 说明 中按 ⌘/Ctrl+Enter。图像完成后会逐张显示,并且默认全部选中;点击 停止 可结束正在运行的批次,同时保留已生成的图像。若要尝试其他说明或设置,请修改后点击 生成更多:每个新批次都会显示在之前的批次上方,之前批次中的图像仍保持原有的选择状态。点击图像可查看大图,取消勾选不需要的图像,然后点击 将 N 张图像添加到数据集。保留的图像会以 JPEG 格式上传,文件名沿用源图像的名称,不带标签,会计入你的存储用量,并可立即用于标注。这些图像会遵循当前启用的数据集拆分筛选条件:生成前选择 Train,即可将它们添加到 train。选择 All 时,会按常规上传拆分规则分配图像,包括在需要时自动拆分验证集。点击 取消 会丢弃预览,不添加图像。生成的图像遵循数据集的上传图像人脸模糊设置。云存储数据集需要开启 AI 功能,且存储桶必须具有写入权限:保留的图像会写入数据集文件夹中的 generated/ 文件夹,而不是 Platform 存储空间。只读存储桶和本地部署数据集不支持此功能。
付费图像生成模型#

模型选择器还会按 API 名称列出各提供商的付费模型。OpenAI 模型以低质量生成图像。
| Provider | Model | Cost per 1M tokens (input / output), or per image |
|---|---|---|
| OpenAI | GPT Image 2.5 Flare gpt-image-2.5-flare | $5.00 / $30.00 |
| OpenAI | GPT Image 2.5 Sunburst gpt-image-2.5-sunburst | $5.00 / $30.00 |
Nano Banana 2.1 gemini-nano-banana-2.1 | $1.50 / $7.50 (image output $30.00) | |
Gemini 3.1 Flash-Lite Image gemini-3.1-flash-lite-image | $0.25 / $1.50 (image output $30.00) | |
Gemini 3 Pro Image gemini-3-pro-image | $2.00 / $12.00 (image output $120.00) | |
| Meta | Muse Image 1.0 muse-image-1.0 | $0.01 / image |
| SpaceXAI | Grok Imagine 2.0 grok-imagine-image-2.0 | $0.04 / image |
| SpaceXAI | Grok Imagine grok-imagine-image | $0.02 / image |
| Z.ai | GLM-Image glm-image | $0.015 / image |
付费模型使用保存在数据集工作区设置 > API 密钥中的提供商密钥进行生成,提供商会像使用付费标注模型一样,按每张图像向该密钥计费。如果没有保存密钥,批次会在生成任何图像之前失败,并显示一个添加 API 密钥链接;如果提供商拒绝该密钥,错误消息会链接到检查 API 密钥。在团队工作区中,请让工作区所有者添加密钥。每个批次都会列出模型、尺寸和费用:托管模型显示免费;付费模型则显示提供商收取的费用,否则显示计费方和提供商名称。结果上方的总计会随着图像生成,显示付费批次的累计费用。
模糊人脸#
在你可以编辑的数据集中,你可以模糊图像中的人脸,例如保护数据中人员的隐私。已连接的数据集或图像通道数超过三个的数据集不支持模糊人脸。
- 单张图像:在 Grid 或 Compact 视图中右键点击图像(或在 Table 视图中右键点击单个选中的行);也可以在全屏查看器中进行标注时(分类数据集除外),右键点击图像或标注,然后选择 Blur faces。
- 整个数据集:在数据集页面中打开 More actions (
⋯),然后选择 Blur faces。
对话框会先预览最多六张图像(或单张图像)中检测到的人脸,不会修改图像。调整 Confidence(默认值为 0.25)和 Box scale(0.5–1.5,默认值为 1;该参数用于围绕中心缩放每个人脸框),即可重新运行预览;然后点击 Apply,替换所有检测到人脸的图像中的原始像素。未检测到人脸的图像不会更改;标签和划分会保留。系统可能会漏掉部分人脸,因此请检查处理结果。模糊操作不会自动创建版本快照。对整个数据集进行模糊处理的费用为每处理 1,000 张图像 $1.00,每次运行最低收费 $0.01(按 Auto-Annotation 计费);对话框会在你应用操作前显示预估费用。预览和单张图像模糊处理免费。

要在上传图像时模糊人脸,请在通过 Upload 或 URL 创建数据集时开启 Blur faces,或在针对整个数据集的 Blur faces 对话框中开启 Blur future uploads。即使你关闭对话框而不点击 Apply,Blur future uploads 开关也会立即保存。此后上传到该数据集的图像会在处理过程中自动模糊,且不收取费用;更改此设置不会模糊数据集中已有的图像。
数据集 URI#
使用 ul:// URI 格式引用 Platform 数据集(参见使用 Platform 数据集):
ul://username/datasets/dataset-slug你也可以直接粘贴数据集或模型网页 URL(例如 https://platform.ultralytics.com/username/datasets/dataset-slug);系统会自动将其改写为 ul:// URI。传入数据集列表会依次使用每个数据集微调同一个基础模型,例如 model.train(data=["ul://username/datasets/a", "ul://username/datasets/b"])。
使用此 URI 从任何位置训练模型:
export ULTRALYTICS_API_KEY="YOUR_API_KEY"
yolo train model=yolo26n.pt data=ul://username/datasets/my-dataset epochs=100ul:// URI 可在任何环境中使用:
- 本地计算机:使用你的硬件训练,数据会自动下载
- Google Colab:在笔记本中访问你的平台数据集
- 远程服务器:在云 VM 上训练,并完整访问数据集
可用许可证#
平台支持以下数据集许可证:
| 许可证 | 类型 |
|---|---|
| 无 | 未选择许可证 |
| CC0-1.0 | 公有领域 |
| PDM-1.0 | 公有领域 |
| CC-BY-2.5 | 宽松型 |
| CC-BY-3.0 | 宽松型 |
| CC-BY-4.0 | 宽松型 |
| CC-BY-NC-2.0 | 非商业用途 |
| CC-BY-NC-3.0 | 非商业用途 |
| CC-BY-NC-4.0 | 非商业用途 |
| CC-BY-SA-3.0 | 著佐权 |
| CC-BY-SA-4.0 | 著佐权 |
| CC-BY-NC-SA-3.0 | 著佐权 |
| CC-BY-NC-SA-4.0 | 著佐权 |
| CC-BY-ND-4.0 | 禁止演绎 |
| CC-BY-NC-ND-2.0 | 非商业用途 |
| CC-BY-NC-ND-4.0 | 非商业用途 |
| Apache-2.0 | 宽松型 |
| MIT | 宽松型 |
| BSD-3-Clause | 宽松型 |
| AGPL-3.0 | 著佐权 |
| GPL-2.0 | 著佐权 |
| GPL-3.0 | 著佐权 |
| LGPL-3.0 | 著佐权 |
| ODbL-1.0 | 著佐权 |
| DbCL-1.0 | 要求使用 ODbL |
| 仅限研究用途 | 受限 |
| 其他 | 自定义 |
克隆采用著佐权许可证(AGPL-3.0、GPL-2.0、GPL-3.0、LGPL-3.0、ODbL-1.0、CC-BY-SA-3.0、CC-BY-SA-4.0、CC-BY-NC-SA-3.0、CC-BY-NC-SA-4.0)的数据集时,克隆数据集会继承该许可证,并且许可证选择器会被锁定。
可见性设置#
控制谁可以查看你的数据集:
| 设置 | 说明 |
|---|---|
| 私有 | 你和获准的工作区成员可以访问 |
| 公开 | 任何人都可以查看,包括通过“探索”页面访问 |
创建数据集时,你可以在 New Dataset 对话框中通过切换开关设置可见性;开关初始值为工作区的默认可见性。之后若要更改可见性,点击页面面包屑中数据集名称旁的 Public 或 Private 标记;将数据集设为公开时,系统会要求你确认。On Premise 数据集始终为私有。公开数据集会显示在 Explore 页面上。
编辑数据集#
你可以直接在数据集页面内编辑元数据,无需打开对话框:
- 名称:点击数据集名称进行编辑。失去焦点或输入
Enter时会自动保存更改。名称最多为 100 个字符。 - 描述:点击描述(或“添加描述...”占位文本)进行编辑。更改会自动保存。描述最多为 1,000 个字符。
- 任务类型:点击任务徽标以选择其他任务类型。
- 许可证:点击许可证选择器以更改数据集许可证。
- 图标:点击数据集图标,可上传自己的图像、将数据集中的某张图像设为图标,或选择一个字母和颜色。
自定义元数据#
打开 更多操作,然后选择 信息,查看以下两个部分:
- Ultralytics 元数据:只读的平台信息,例如数据集 ID、所有者、任务、图像和标注数量、存储区域及时间戳
- 自定义元数据:你自己的 JSON 对象,可用于记录来源、采集条件、客户 ID、治理信息或其他上下文数据
工作区查看者可以检查元数据,拥有编辑权限的成员则可以替换自定义元数据对象。序列化后的元数据对象最多为 500,000 个字符,每个顶层键最多为 128 个字符。保存空对象 ({}) 即可清除自定义元数据。
克隆数据集#
查看你不拥有的公开数据集时,点击 Clone Dataset 打开克隆对话框。检查目标工作区、名称、可见性和许可证,然后确认克隆。除非你只选择部分 Splits 或某个已保存的 Versions,副本会包含所有图像、标注和类别定义;而 Existing dataset 会将无标签图像添加到你拥有的数据集中。若要只复制部分图像,请选中这些图像并点击 Clone Images;其中的 Annotations 开关决定是否同时复制这些图像的标签。除非工作区的默认数据集可见性为私有,否则公开源数据集默认仍为公开。如果原始数据集采用著佐权许可证,克隆数据集会继承该许可证,且许可证选择器会被锁定。
创建新数据集时,如果目标工作区中已使用该 URL,克隆对话框会禁用 Clone Dataset。克隆需要有足够的剩余存储配额来容纳副本。
收藏和分享#
- 收藏:点击星形按钮,将数据集加入书签。所有用户都能看到收藏数。
- 分享:对于公开数据集,点击分享按钮即可复制链接、获取嵌入代码,或分享到社交平台。
删除数据集#
删除不再需要的数据集:
- 在数据集页眉中打开 更多操作(
…按钮) - 选择 删除数据集
- 在对话框中确认:“这会将 [name] 移至回收站。你可以在 30 天内恢复。”
同一菜单中还有 信息,用于打开自定义元数据中所述的元数据对话框;还有 刷新,用于从服务器重新读取数据集。
已删除的数据集会移至回收站,而不是永久删除。你可以在 30 天内通过 Settings > Trash 恢复数据集。
使用数据集训练#
直接从数据集开始训练:
- 在数据集页面上点击
New Model - 选择一个项目或新建项目
- 配置训练参数
- 开始训练
详情请参阅云端训练。
常见问题#
你的数据会在你选择的区域(美国、欧盟或亚太地区)进行处理和存储。图像会:
- 验证格式和大小
- 最小尺寸小于 28px 时予以拒绝
- 大于 4096px 时进行规范化(保持纵横比;编码后优化存储;大多数 TIFF 原始文件按上传时的状态存储)
- 通过去重方式存储,因此相同图像只保留一份
- 生成 256px 的 WebP 缩略图,以便快速浏览
Ultralytics Platform 会高效管理存储:
- 重复数据删除:同一数据区域中的相同图像只存储一次
- 完整性:验证上传内容以确保数据完整性
- 高效性:克隆会复用已存储的图像,而不是复制图像,但仍会计入目标工作区的存储配额
- 区域性:数据会保留在你选择的区域(美国、欧盟或亚太地区)
可以。将文件拖到数据集图库中,或点击页面标题栏中的上传图标,直接打开浏览器的原生文件选择器。处理完成后会自动计算新的统计数据。
可以。在一个数据集中复制或剪切图像,然后粘贴到你有编辑权限的另一个数据集中;图像会保留其标签和数据集划分,剪切会将图像从源数据集中移除。系统会按名称匹配类别;如果目标数据集缺少某些类别,可以在映射类别对话框中处理。请参阅复制和移动图像。
上传方式决定数据集划分。选择 All 划分筛选器后,
train/、val/或test/文件夹中的图像会保留各自的划分。上传前选择 Train、Val 或 Test,则所有新图像都会划分到所选集合。如果上传时未选择划分,且val为空,Platform 会将约 20% 的训练图像(至少一张)移到val。分类数据集使用自身的文件夹结构;深度数据集则遵循针对配对深度图的单独规则。训练前请检查数据集的Ready徽标。之后如需更改划分方式:
创建数据集前,请检查可见性切换开关:新数据集的初始可见性为工作区的默认可见性;在 Free 和 Pro 计划中为 Public,在 Enterprise 计划中为 Private,直到所有者或管理员更改设置。任何人(包括未登录的用户)都可以查看公开数据集,且公开数据集会显示在 Explore 页面上。只有你和获准的工作区成员可以查看私有数据集。拥有编辑权限的成员可以通过数据集名称旁的标记更改可见性;On Premise 数据集始终为私有。将数据集设为私有不会删除其他用户已克隆的副本。请参阅可见性设置。
Ultralytics Platform 支持 YOLO 标签、COCO JSON、LabelMe JSON、Ultralytics 和 Labelbox NDJSON、语义 PNG 掩码和深度图,以及原始图像上传。Pascal VOC XML 标签可以被检测到,但不会导入:
每张图像对应一个
.txt文件,坐标需归一化(范围为 0-1):任务 格式 示例 检测 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 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 2OBB class 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=已标注且可见。语义数据集也支持使用 PNG 掩码代替多边形文件(参见语义掩码)。
可以。每张图像都会一并存储全部 6 种标注任务类型(检测、分割、语义分割、分类、姿态、OBB)的标注。你可以随时切换数据集当前启用的任务类型,而不会丢失现有标注。编辑器只会显示与当前启用任务类型匹配的标注,导出和训练时也只会包含这些标注(检测数据集还会将 OBB 标注用作外接框);其他任务的标注会保留,切换回来时会重新显示。
有:
限制 值 每个数据集的类别数 25,000 每张图像的标注数 10,000 每个标注的坐标数 10,000 数据集名称 100 个字符 数据集描述 1,000 个字符 自定义元数据 500,000 个序列化字符 元数据顶层键 128 个字符 从云存储或本地部署源读取的数据集会将图像像素保留在 Platform 之外。需要由 Platform 持有图像字节副本的功能不可用;需要在 Ultralytics GPU 上读取图像的功能则要求云存储开启 AI 功能:
特性 连接云存储 本地部署 智能标注和批量标注 开启 AI 功能 不可用 聚类分析 开启 AI 功能 不可用 克隆 不可用 不可用 版本快照 不可用 不可用 NDJSON 导出 可用 不可用 语义 PNG 掩码导入 不可用 可用 模糊人脸 不可用 不可用 查找相似图像 开启 AI 功能,仅供浏览 不可用 生成相似图像 开启 AI 功能并具有写入权限 不可用 将图像粘贴到数据集中 不可用 不可用 浏览、手动标注、类别管理、数据集划分、统计和训练均可正常使用。