数据集
Ultralytics Platform 数据集为管理您的训练数据提供了简化的解决方案。一旦上传,数据集即可立即用于模型训练,并自动进行处理和统计数据生成。
上传数据集
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 | .heic | iPhone 照片 | 50 MB |
| AVIF | .avif | 下一代格式 | 50 MB |
| JP2 | .jp2 | JPEG 2000 | 50 MB |
| DNG | .dng | 原始相机 | 50 MB |
| MPO | .mpo | 多图片对象 | 50 MB |
视频会在客户端以1 FPS的速度自动提取为帧(每个视频最多100帧)。
| 格式 | 扩展名 | 提取 | 最大大小 |
|---|---|---|---|
| MP4 | .mp4 | 1 FPS,最多 100 帧 | 1 GB |
| WebM | .webm | 1 FPS,最多 100 帧 | 1 GB |
| MOV | .mov | 1 FPS,最多 100 帧 | 1 GB |
| AVI | .avi | 1 FPS,最多 100 帧 | 1 GB |
| MKV | .mkv | 1 FPS,最多 100 帧 | 1 GB |
| M4V | .m4v | 1 FPS,最多 100 帧 | 1 GB |
视频帧提取
视频帧在上传前会在浏览器中以每秒1帧的速度提取。一个60秒的视频会生成60帧。每个视频的最大帧数为100帧,因此超过约100秒的视频将被采样。
压缩包将自动提取并处理。
| 格式 | 扩展名 | 备注 | 最大大小 |
|---|---|---|---|
| ZIP | .zip | 最常见 | 10 GB |
| TAR | .tar | 未压缩的归档文件 | 10 GB |
| TAR.GZ | .tar.gz, .tgz | 压缩文件 | 10 GB |
| GZ | .gz | Gzip 压缩 | 10 GB |
准备数据集
平台支持两种标注格式以及原始上传:Ultralytics YOLO、COCO 和原始(未标注图像):
使用标准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.yaml
yaml 文件定义了您的数据集配置:
# data.yaml
path: .
train: images/train
val: images/val
names:
0: person
1: car
2: dog
使用具有标准COCO结构的JSON标注文件:
my-coco-dataset/
├── train/
│ ├── _annotations.coco.json
│ ├── img001.jpg
│ └── img002.jpg
└── val/
├── _annotations.coco.json
├── img003.jpg
└── img004.jpg
JSON 文件包含 images, annotations和 categories 数组:
{
"images": [{ "id": 1, "file_name": "img001.jpg", "width": 640, "height": 480 }],
"annotations": [{ "id": 1, "image_id": 1, "category_id": 0, "bbox": [100, 50, 200, 300] }],
"categories": [{ "id": 0, "name": "person" }]
}
COCO 注释在上传过程中自动转换。detect (bbox)、segment (segmentation 多边形),以及姿势估计(keypoints) 任务受支持。类别ID被重新映射为所有标注文件中的密集0索引序列。有关格式转换,请参阅 格式转换工具.
原始上传
原始数据:上传未标注的图像(无标签)。当您计划使用 标注编辑器 直接在平台上进行标注时非常有用。
扁平目录结构
您也可以在没有 train/val 文件夹结构的情况下上传图片。未按拆分文件夹上传的图片将被分配到 train 默认拆分。您以后可以使用批量移动到拆分功能重新分配它们。
格式自动检测
格式自动检测:数据集具有 data.yaml 包含 names, train或 val 键被视为 YOLO。包含 COCO JSON 文件的数据集(其中包含 images, annotations和 categories 数组) 被视为 COCO。仅包含图像而无标注的数据集被视为原始数据集。
上传过程
- 导航至
Datasets在侧边栏中 - 点击
New Dataset或将文件拖到上传区域 - 选择任务类型(参见支持的任务)
- 添加名称和可选描述
- 设置可见性(公开或私有)和可选许可证(参见可用许可证)
- 点击
Create

上传后,平台通过多阶段管道处理您的数据:
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
- 验证:格式和大小检查
- 归一化:大图像已调整大小(最大4096像素,最小维度28像素)
- 缩略图:生成 256px WebP 预览图
- 标签解析:提取YOLO和COCO格式标签
- 统计信息:计算类别分布和图像尺寸

上传前验证
您可以在上传前在本地验证您的数据集:
from ultralytics.hub import check_dataset
check_dataset("path/to/dataset.zip", task="detect")
图像尺寸要求
图像最短边必须至少为28像素。小于此尺寸的图像在处理过程中将被拒绝。最长边大于4096像素的图像将自动调整大小并保持宽高比。
浏览图像
以多种布局查看您的数据集图像:
| 查看 | 描述 |
|---|---|
| 网格 | 带标注叠加层的缩略图网格(默认) |
| 紧凑 | 更小的缩略图用于快速扫描 |
| 表格 | 包含缩略图、文件名、尺寸、大小、分割、类别和标签计数的列表 |

排序和筛选
图像可以排序和筛选,以便高效浏览:
| 排序 | 描述 |
|---|---|
| 最新 | 最近添加的 |
| 最旧 | 最早添加的 |
| 名称 A-Z | 按字母顺序 |
| 名称 Z-A | 字母倒序 |
| 大小(最小) | 最小文件优先 |
| 大小(最大) | 最大文件优先 |
| 大多数标签 | 大多数标注 |
| 最少标签 | 最少标注 |
| 筛选 | 选项 |
|---|---|
| 拆分过滤器 | 训练、验证、测试或全部 |
| 标签筛选器 | 所有图像,已标注或未标注 |
| 搜索 | 按文件名筛选图像 |
查找未标注图像
使用标签过滤器设置为 Unannotated 快速查找仍需标注的图像。这对于需要track标注进度的大型数据集特别有用。
全屏查看器
点击任意图像以打开全屏查看器,其中包含:
- 导航:使用方向键或缩略图预览进行浏览
- 元数据:文件名、尺寸、分割标记、注释计数
- 标注:切换标注叠加层可见性
- 类别细分:带有颜色指示器的每类标签计数
- 编辑:进入标注模式以添加或修改标签
- 下载:下载原始图像文件
- 删除:从数据集中删除图像
- Zoom:
Cmd/Ctrl+Scroll放大/缩小 - 像素视图:切换像素化渲染以进行仔细检查

按拆分筛选
按数据集拆分筛选图像:
| 拆分 | 目的 |
|---|---|
| 训练 | 用于模型训练 |
| 验证 | 用于训练期间的验证 |
| 测试 | 用于最终评估 |
数据集选项卡
每个数据集页面都有六个可从选项卡栏访问的选项卡:
图像选项卡
默认视图显示带有标注叠加层的图片库。支持网格、紧凑和表格视图模式。将文件拖放到此处以添加更多图片。
类别选项卡
管理您数据集的标注类别:
- 类别直方图:显示每类标注计数的条形图,带有线性/对数刻度切换
- 类别表:可排序、可搜索的表格,包含类别名称、标签计数和图像计数
- 编辑类别名称:点击任意类别名称以进行内联重命名
- 编辑类别颜色:点击色样以更改类别颜色
- 添加新类别:使用底部的输入框添加类别

不平衡数据集的对数尺度
如果您的数据集存在类别不平衡(例如,10,000 个“人”标注,但只有 50 个“自行车”),请使用 Log Scale 开启类别直方图以清晰地可视化所有类别。
图表选项卡
根据您的数据集计算的自动统计数据:
| 图表 | 描述 |
|---|---|
| 拆分分布 | 训练/验证/测试图像数量和已标注百分比的环形图 |
| 热门类别 | 10个最常见标注类别的环形图 |
| 图像宽度 | 带均值的图像宽度分布直方图 |
| 图像高度 | 带均值的图像高度分布直方图 |
| 每个实例的点数 | 每个标注的多边形顶点或关键点数量 (segment/姿势估计) |
| 标注位置 | 边界框中心位置的 2D 热力图 |
| 图像尺寸 | 2D 宽度与高度热力图,带有纵横比参考线 |

统计缓存
统计数据缓存5分钟。标注的更改将在缓存过期后反映。
全屏热力图
点击任何热图上的展开按钮以全屏模式查看。这提供了更大、更详细的视图——有助于理解大型数据集中的空间模式。
模型选项卡
在一个可搜索的表格中查看在此数据集上训练的所有模型:
| 列 | 描述 |
|---|---|
| 名称 | 带链接的模型名称 |
| 项目 | 带图标的父项目 |
| 状态 | 训练状态徽章 |
| 任务 | YOLO任务类型 |
| 训练轮次 | 最佳周期 / 总周期数 |
| mAP50-95 | 平均精度 |
| mAP50 | IoU 0.50时的mAP |
| 创建日期 | 创建日期 |

错误选项卡
处理失败的图像将在此处列出,并显示:
- 错误横幅:失败图像总数及指导
- 错误表格:文件名、用户友好的错误描述、修复提示和预览缩略图
- 常见错误包括文件损坏、不支持的格式、图像过小(最小 28 像素)以及不支持的颜色模式

常见处理错误
| 错误 | 原因 | 修复 |
|---|---|---|
| 无法读取图像文件 | 损坏或不支持的格式 | 从图像编辑器重新导出 |
| 不完整或已损坏 | 文件在传输过程中被截断 | 重新下载原始文件 |
| 图像过小 | 最小尺寸低于 28 像素 | 使用更高分辨率的源图像 |
| 不支持的颜色模式 | CMYK 或索引颜色模式 | 转换为 RGB 模式 |
版本选项卡
为您的数据集创建不可变的 NDJSON 快照,用于可复现的训练。每个版本都会在创建时捕获图像数量、类别数量、标注数量和文件大小。
| 列 | 描述 |
|---|---|
| 版本 | 版本号(v1、v2等) |
| 描述 | 用户提供的描述(可编辑) |
| 图像 | 快照时的图像数量 |
| 类别 | 快照时的类别计数 |
| 标注 | 快照时的标注数量 |
| 尺寸 | NDJSON 导出文件大小 |
| 创建日期 | 版本创建时间 |
创建版本:
- 打开版本选项卡
- 可选地输入描述(例如,“添加了500张训练图像”或“修复了错误标记的类别”)
- 点击 + 新版本
- NDJSON 快照已生成并自动下载
每个版本都按顺序编号(v1、v2、v3...)并永久存储。您可以随时从版本表中下载任何以前的版本。
何时创建版本
在对数据集进行重大更改(例如添加图像、修复标注或重新平衡拆分)之前和之后创建版本。这使您能够比较不同数据集状态下的模型性能。
NDJSON 文件大小
显示的大小是NDJSON导出文件的大小,其中包含图像URL和标注,而非图像本身。实际图像数据单独存储并通过签名URL访问。
导出数据集
将您的数据集导出为 NDJSON 格式以供离线使用:
- 点击数据集标题中的下载图标
- NDJSON 文件自动下载

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 格式文档以获取完整规范。
图像操作
快速操作
在网格或紧凑视图中右键单击任意图像以访问快速操作:
| 操作 | 描述 |
|---|---|
| 移至拆分 | 将图像重新分配到训练集、验证集或测试集 |
| 下载 | 下载原始图像文件 |
| 删除 | 从数据集中删除图像 |

单张与批量
图像上下文菜单作用于单张图像。对于多张图像的批量操作,请使用带有复选框选择的表格视图。
批量移动到数据集划分
将选定图像重新分配到同一数据集中的不同拆分:
- 切换到表格视图
- 使用复选框选择图片
- 右键单击以打开上下文菜单
- 选择
Move to split> 训练, 验证或 测试
您还可以将图像拖放到网格视图中的拆分筛选器选项卡上。
组织训练/验证集划分
将所有图像上传到一个数据集,然后使用批量移动到拆分功能,将子集组织为训练集、验证集和测试集。
批量删除
一次删除多张图像:
- 在表格视图中选择图片
- 右键单击并选择
Delete - 确认删除
数据集 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
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(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.0 | 著作权共享 |
| CC-BY-NC-4.0 | 非商业用途 |
| CC-BY-NC-SA-4.0 | 著作权共享 |
| CC-BY-ND-4.0 | 无派生 |
| CC-BY-NC-ND-4.0 | 非商业用途 |
| Apache-2.0 | 宽松的 |
| MIT | 宽松的 |
| AGPL-3.0 | 著作权共享 |
| GPL-3.0 | 著作权共享 |
| 仅限研究 | 受限 |
| 其他 | 自定义 |
著作权共享许可
克隆带有Copyleft许可证(AGPL-3.0、GPL-3.0、CC-BY-SA-4.0、CC-BY-NC-SA-4.0)的数据集时,克隆将继承该许可证,并且许可证选择器将被锁定。
可见性设置
控制谁可以查看您的数据集:
| 设置 | 描述 |
|---|---|
| 私有 | 仅您可访问 |
| 公开 | 任何人均可在探索页面查看 |
在创建数据集时设置可见性在 New Dataset 使用切换开关的对话框。公共数据集可在 探索 页面。
编辑数据集
数据集元数据可在数据集页面上直接内联编辑 — 无需对话框:
- 名称: 点击数据集名称进行编辑。更改会在失焦或
Enter. - 描述:点击描述(或“添加描述...”占位符)进行编辑。更改将自动保存。
- 任务类型: 点击任务徽章以选择不同的任务类型。
- 许可证:点击许可证选择器以更改数据集许可证。
更改任务类型
更改任务类型可能会影响现有标注的显示方式。不兼容的标注将不会显示。
克隆数据集
当查看您不拥有的公共数据集时,点击 Clone Dataset 在您的工作区中创建副本。该克隆包含所有图像、标注和类别定义。如果原始数据集具有版权共享许可,则克隆会继承该许可,并且许可选择器将被锁定。
星标并分享
- 星标:点击星标按钮以收藏数据集。星标数量对所有用户可见。
- 分享: 对于公共数据集,点击分享按钮以复制链接或分享到社交平台。
删除数据集
删除不再需要的数据集:
- 打开数据集操作菜单
- 点击
Delete - 在对话框中确认:“这将把 [name] 移至垃圾箱。您可以在 30 天内恢复它。”
回收站与恢复
已删除的数据集将移至回收站,而非永久删除。您可以在30天内从以下位置恢复它们: Settings > Trash.
在数据集上训练
直接从您的数据集开始训练:
- 点击
New Model在数据集页面上 - 选择一个项目或创建新项目
- 配置训练参数
- 开始训练
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
请参阅云训练了解详情。
常见问题
上传后我的数据会怎样?
您的数据将在您选择的区域(美国、欧盟或 AP)进行处理和存储。图像为:
- 已验证格式和大小
- 如果最小尺寸低于28像素则拒绝
- 如果大于4096像素则进行归一化 (保持宽高比;编码以优化存储)
- 使用内容寻址存储 (CAS) 和 XXH3-128 散列进行存储
- 生成的 256px WebP 缩略图,用于快速浏览
存储如何工作?
Ultralytics 平台使用内容可寻址存储 (CAS)以实现高效存储:
- 去重:不同用户上传的相同图像仅存储一次
- 完整性: XXH3-128 哈希确保数据完整性
- 效率:降低存储成本并加快处理速度
- 区域性:数据保留在您选择的区域(美国、欧盟或 AP)
我可以向现有数据集添加图像吗?
是的,将文件拖放到数据集页面或使用上传按钮添加更多图像。新的统计数据将自动计算。
我如何在分割之间移动图像?
使用批量移动到划分功能:
- 在表格视图中选择图片
- 右键单击并选择
Move to split - 选择目标划分(训练集、验证集或测试集)
支持哪些标签格式?
Ultralytics 平台支持两种用于上传的标注格式:
一 .txt 每个图像一个文件,带有归一化坐标(0-1 范围):
| 任务 | 格式 | 示例 |
|---|---|---|
| 检测 | class cx cy w h | 0 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 |
| OBB | class x1 y1 x2 y2 x3 y3 x4 y4 | 0 0.1 0.1 0.9 0.1 0.9 0.9 0.1 0.9 |
| 分类 | 目录结构 | train/cats/, train/dogs/ |
姿势估计可见性标志:0=未标注,1=已标注但被遮挡,2=已标注且可见。
包含 JSON 文件的 images, annotations和 categories 数组。支持 detect (bbox)、segment (多边形) 和 姿势估计 (keypoints) 任务。COCO 使用绝对像素坐标,这些坐标在上传时会自动转换为归一化格式。