Ultralytics YOLO27:
Get Started

Label Studio 集成#

我们即将支持直接从 Label Studio 导入到 Ultralytics Platform,届时你可以按原样上传原始图像检测或分割导出文件,无需选择格式。

在此之前,你现在可以通过一个简单的方法完成导入:Label Studio 的 YOLO with Images 导出格式采用了 Platform 可以读取的目录结构,并包含类别列表。

立即从 Label Studio 导入#

  1. 从 Label Studio 导出。 打开项目并点击 Export。
  2. 选择包含图像的格式。 选择 YOLO with Images;如果要导出旋转框,则选择 YOLOv8 OBB with Images,然后点击 Export。
  3. 上传到 Platform。从 ZIP 创建新数据集。
  4. 开始训练。无需离开工作区,即可编辑标注、训练并部署。

Ultralytics Platform Label Studio 数据集导入

普通 YOLO 和 COCO 导出格式只包含标注

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.zip

COCO_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 也能保留标签。

Pascal VOC 导入后没有标注

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姿态
ChoicesLabel 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 驱动的智能标注功能
  • 立即训练 — 数据集处理完成后即可用于云端训练
现已推出

Labelbox 和 Roboflow 集成现已可用;Platform 还可直接导入 YOLO、COCO、LabelMe JSON,以及 Ultralytics 或 Labelbox NDJSON 数据集。

常见问题#

  • 选择 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。大型项目应使用快照端点,这些端点会在后台创建导出文件。

评论