Label Studio連携#
Label StudioからUltralytics Platformへの直接インポートに対応する予定です。これにより、画像検出またはセグメンテーションのエクスポートを、形式を選ばずそのままアップロードできるようになります。
それまでは、Label Studioの「YOLO with Images」エクスポートがPlatformで読み取れるレイアウトで、クラスリストも含まれるため、現在すぐに使える簡単な方法があります。
Label Studioから今すぐインポートする#
- Label Studioからエクスポートします。プロジェクトを開き、Exportをクリックします。
- 画像を含む形式を選択してください。 画像付きYOLO、または回転ボックスの場合は画像付きYOLOv8 OBBを選択し、エクスポートをクリックします。
- 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と画像が含まれるため、1回のアップロードで完了します |
| YOLOv8 OBB with Images | はい | ボックスの回転を保持し、OBBデータセットとしてインポートします |
| COCO with Images | はい | こちらも読み取り可能です。各アノテーションが4点のポリゴンである場合に適した形式です |
| YOLO / COCO | いいえ | アノテーションファイルのみが含まれます。画像が見つからず、アップロードに失敗します |
| Pascal VOC XML | いいえ | XMLラベルファイルは読み取れません |
COCOエクスポートでは、読み取り対象となる各アノテーションにbboxが必要です。crowd領域("iscrowd": 1)はスキップされ、カテゴリ名がクラス名になります。そのため、ラベルを保持するためにCOCOアーカイブへclasses.txtを含める必要はありません。
PlatformはPascal VOCのXMLラベルを読み取りません。また、VOCエクスポートはエラーを明確に表示せずに失敗します。画像はインポートされますが、ボックスはインポートされません。さらに、5枚以上の画像をエクスポートすると、imagesという名前のクラスが1つ追加されます。代わりにYOLO with ImagesまたはCOCO with Imagesを選んでください。
引き継がれる内容#
Platformはエクスポート内のラベルからYOLOタスクを判定します。
| Label Studioのラベル | Platformのデータセット |
|---|---|
RectangleLabels | Detect、またはYOLOv8 OBBエクスポートの場合はOBB |
PolygonLabels | Segment、またはすべてのポリゴンが4点の場合はYOLOエクスポートからOBB |
RectangleLabels + PolygonLabels | Segment — ボックスは編集できますが、トレーニングにはポリゴンのみが使用されます |
四角形内のKeyPointLabels | 姿勢推定 |
Choices | Label StudioのYOLO形式またはCOCO形式ではエクスポートされないため、画像はラベルなしでインポートされます |
- 回転ボックス — YOLOとCOCOのエクスポートでは回転が失われます。回転を保持するにはYOLOv8 OBB with Imagesを使用してください。
- キーポイント — Label StudioのYOLOエクスポートにキーポイントが含まれるのは、
KeyPointLabels内の<Label>にmodel_index属性があり、その点が四角形の内側に描画されている場合のみです。それ以外の場合、エクスポートにはボックスのみが含まれ、データセットはdetectとしてインポートされます。 - 4点のポリゴン — YOLOファイルでは、点がちょうど4つのポリゴンは方向付きボックスと同じ形式に見えるため、すべてのラベルが4点のポリゴンであるYOLOエクスポートはOBBとしてインポートされます。そのようなプロジェクトではCOCO with Imagesを使用してください。
インテグレーションで追加される機能#
適切なエクスポート形式を選ぶ手順は、この連携によって不要になります。連携が提供されると、Label Studioの画像検出およびセグメンテーション形式のどれでもエクスポートしてアップロードでき、Platformがアノテーションを対応するYOLOタスクに自動でマッピングします。
- 形式を選ぶ必要はありません — Label Studioの画像検出およびセグメンテーションのエクスポートは、ラベル名を保持したYOLOデータセットにマッピングされます
- 1つのワークスペース — アノテーション、トレーニング、デプロイに別々のツールや変換スクリプトを使う必要がなくなります
- アノテーションを継続 — インポートしたデータセットは、SAMを活用したスマートアノテーションを含むPlatformのアノテーションエディターで開けます
- すぐにトレーニング — データセットは処理が完了するとすぐにクラウドトレーニングに利用できます
よくある質問#
アーカイブに
classes.txtと画像が含まれるよう、YOLO with Imagesを選んでください。COCO with Imagesもインポートできます。通常のYOLOとCOCOのオプションではラベルファイルのみが出力され、Pascal VOC XMLは読み取られません。通常の
YOLOまたはCOCOエクスポートが使用されました。Label Studioは通常、URLから画像を提供するため、これらのアーカイブには画像が含まれません。with Imagesの形式で再エクスポートしてください。アーカイブに
classes.txtまたはnotes.jsonが含まれていません。通常、images/とlabels/のフォルダーだけからアーカイブを作り直したことが原因です。Label StudioがエクスポートしたZIPをアップロードしてください。ZIPには両方のファイルが含まれています。はい。
exportType=YOLO_WITH_IMAGESを指定するか、COCO_WITH_IMAGESとYOLO_OBB_WITH_IMAGESを指定してエクスポートエンドポイントを呼び出してください。大規模なプロジェクトでは、エクスポートをバックグラウンドジョブとして作成するスナップショットエンドポイントを使用してください。