Label Studio 集成#
我们即将支持直接从 Label Studio 导入到 Ultralytics Platform,届时你可以按原样上传原始图像检测或分割导出文件,无需选择格式。
在此之前,你现在可以通过一个简单的方法完成导入:Label Studio 的 YOLO with Images 导出格式采用了 Platform 可以读取的目录结构,并包含类别列表。
立即从 Label Studio 导入#
- 从 Label Studio 导出。 打开项目并点击 Export。
- 选择包含图像的格式。 选择 YOLO with Images;如果要导出旋转框,则选择 YOLOv8 OBB with Images,然后点击 Export。
- 上传到 Platform。从 ZIP 创建新数据集。
- 开始训练。无需离开工作区,即可编辑标注、训练并部署。

Label Studio 的 YOLO 和 COCO 选项只会写入标签文件,不包含图像,因为图像通常存放在 Label Studio 所指向的 URL 后面。将这类压缩包上传到 Platform 会因找不到图像而失败。请选择 with Images 变体。
使用 API 导出#
Label Studio 的导出 API会返回相同的压缩包,格式名称位于 exportType 中:
curl -X GET "https://<your-label-studio>/api/projects/<project-id>/export?exportType=YOLO_WITH_IMAGES&download_all_tasks=true" \
-H "Authorization: Token <your-legacy-token>" \
-o dataset.zipCOCO_WITH_IMAGES 和 YOLO_OBB_WITH_IMAGES 的工作方式相同。较新的个人访问令牌在使用前会换取短期有效的持有者令牌,因此请确认你的实例签发的是哪种令牌。大型项目应改用快照端点,这些端点会在后台创建导出文件并通过 ID 下载;SDK 的 export_yolo_with_images.py 示例正是这样实现的。
Label Studio 的 YOLO 导出文件会在标签旁附带类别列表,Platform 可以读取该列表:
archive.zip/
├── classes.txt # class names Platform reads first
├── notes.json # fallback, used only when classes.txt is missing or empty
├── images/
└── labels/Platform 会读取压缩包中最浅层的 classes.txt(或 notes.json),因此,即使你解压后在某个文件夹内重新压缩导出文件,标签名称也会保留。
选择导出格式#
Label Studio 提供多种导出格式。对于图像检测和分割:
| Label Studio 格式 | 是否可用 | 备注 |
|---|---|---|
| YOLO with Images | 最佳 | 包含 classes.txt 和图像,只需上传一次即可 |
| YOLOv8 OBB with Images | 是 | 保留框的旋转信息,并作为 OBB 数据集导入 |
| COCO with Images | 是 | 也可以读取;如果每个标注都是四点多边形,这是更好的选择 |
| YOLO / COCO | 否 | 仅包含标注文件 — 上传时会因找不到图像而失败 |
| Pascal VOC XML | 否 | 无法读取 XML 标签文件 |
在 COCO 导出文件中,每个标注都必须包含 bbox 才能被读取;群组区域("iscrowd": 1)会被跳过, 类别名称会成为你的类别名称 — 因此,COCO 压缩包无需包含 classes.txt 也能保留标签。
Platform 不会读取 Pascal VOC XML 标签,而 VOC 导出失败时也不会明确报错:图像会导入,但框不会导入;导出图像数量达到五张或更多时,还会出现一个名为 images 的类别。请改用 YOLO with Images 或 COCO with Images。
哪些内容会保留#
Platform 会根据导出文件中的标签选择对应的 YOLO 任务:
| Label Studio 标签 | Platform 数据集 |
|---|---|
RectangleLabels | 检测;如果导出格式为 YOLOv8 OBB,则为 OBB |
PolygonLabels | 分割;如果 YOLO 导出文件中的每个多边形都有四个点,则为 OBB |
RectangleLabels + PolygonLabels | 分割 — 框仍可编辑,但训练时只使用多边形 |
矩形内的 KeyPointLabels | 姿态 |
Choices | Label Studio 的 YOLO 或 COCO 格式不会导出此内容,因此导入的图像没有标签 |
- 旋转框 — YOLO 和 COCO 导出格式会丢弃旋转信息;要保留旋转信息,请使用 YOLOv8 OBB with Images。
- 关键点 — 只有当
KeyPointLabels中的<Label>具有model_index属性,且点是在矩形内绘制的,Label Studio 的 YOLO 导出才会包含该关键点;否则,导出文件只包含框,数据集会作为检测任务导入。 - 四点多边形 — 在 YOLO 文件中,恰好有四个点的多边形看起来与有向框相同,因此,如果 YOLO 导出文件中的每个标签都是四点多边形,导入后就会成为 OBB。对于这类项目,请使用 COCO with Images。
集成将带来的功能#
选择正确的导出格式正是集成要解决的问题。集成上线后,你可以导出 Label Studio 的任意图像检测或分割格式并上传,Platform 会自行将标注映射到对应的 YOLO 任务。
- 无需选择格式 — Label Studio 的图像检测和分割导出文件会映射为 YOLO 数据集,并保留标签名称
- 统一工作区 — 标注、训练和部署不再需要跨多个工具操作或使用转换脚本
- 继续标注 — 导入的数据集可在 Platform 的标注编辑器中打开,包括由 SAM 驱动的智能标注功能
- 立即训练 — 数据集处理完成后即可用于云端训练
常见问题#
选择 YOLO with Images,这样压缩包中就会包含
classes.txt和图像。COCO with Images 也可以导入。普通 YOLO 和 COCO 选项只会写入标签文件,Pascal VOC XML 则无法读取。你使用了普通的
YOLO或COCO导出格式。这些压缩包不包含图像,因为 Label Studio 通常会通过 URL 提供图像。请改用 with Images 变体重新导出。压缩包中缺少
classes.txt或notes.json,通常是因为它仅根据images/和labels/文件夹重新打包而成。请上传由 Label Studio 导出的 ZIP,其中包含这两个文件。可以。调用导出端点并传入
exportType=YOLO_WITH_IMAGES,或者传入COCO_WITH_IMAGES和YOLO_OBB_WITH_IMAGES。大型项目应使用快照端点,这些端点会在后台创建导出文件。