LabelMe のアノテーションを YOLO および Ultralytics Platform にエクスポートする#
LabelMe はオフラインの画像アノテーションツールであり、オープンソースの Python アプリケーションです。Ultralytics Platform で設定するライブの LabelMe 接続や API キーはありません。完全な統合はローカルのワークフローです。LabelMe でアノテーションを作成し、LabelMe Toolkit を使用して LabelMe の JSON アノテーションを YOLO 形式に変換し、生成された ZIP を Platform のデータセットとしてアップロードします。
1. LabelMe で画像をアノテーションする#
デスクトップアプリまたはオープンソースの Python パッケージを使用して LabelMe をインストールし、画像が含まれているディレクトリを開きます。LabelMe は、各画像のアノテーションを対応する JSON ファイルに保存します。
このガイドの YOLO 検出ワークフローでは、各オブジェクトの周囲に長方形を描画し、クラス名を割り当てます。LabelMe スターターガイドでは画像を開くこと、図形を描画すること、アノテーションを保存することについて説明しており、LabelMe データセットガイドでは完全にアノテーションされたデータセットの確認と準備について説明しています。
ソースディレクトリには、画像と LabelMe JSON ファイルが含まれている必要があります:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json2. LabelMe Toolkit をインストールする#
LabelMe のツールキットインストールガイドに従って、LabelMe Toolkit をインストールします。ツールキットとそのエクスポートはローカルで実行されます。
export-to-yolo は LabelMe Pro Toolkit の一部であり、そのインストーラーをダウンロードするには LabelMe へのサインインが必要です。これは LabelMe のプロダクト要件です。生成された ZIP は任意の Platform プランでアップロードできます。
インストールを確認してから、ソースデータセットで見つかったすべてのラベルをリストします:
labelmetk --version
labelmetk list-labels your_dataset/エクスポートする前に出力を確認してください。--class-names から除外されたラベルはスキップされ、指定した順序が YOLO クラス ID の順序になります。
3. YOLO 形式にエクスポートする#
ソースディレクトリとカンマ区切りのクラス名リストを指定して、export-to-yolo を実行します:
labelmetk export-to-yolo your_dataset/ --class-names crack,normalcrack,normal を list-labels によって返されたラベルに置き換えます。LabelMe は結果を your_dataset.export/ に書き込みます:
your_dataset.export/
├── classes.txt
├── images/
│ ├── image_001.jpg
│ └── image_002.jpg
└── labels/
├── image_001.txt
└── image_002.txtclasses.txt は、YOLO ラベルファイルで使用されているものと同じ順序でクラス名を保持します。これをエクスポートのルートに配置してください。
LabelMe Toolkit は長方形を YOLO のバウンディングボックスとしてエクスポートします。また、ポリゴンやマスクを軸に揃えたバウンディングボックスに縮小するため、export-to-yolo はセグメンテーションジオメトリを保持しません。このワークフローで検出データセットを準備する場合は、長方形を描画してください。
4. ZIP アーカイブを作成する#
周囲のディレクトリではなく、your_dataset.export/ の 内容 を圧縮します。macOS または Linux の場合:
cd your_dataset.export
zip -r ../your_dataset.zip classes.txt images labelsWindows PowerShell の場合:
Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zipアップロードする前に ZIP を開き、classes.txt、images/、および labels/ がそのルートにあることを確認します。余分な your_dataset.export/ ラッパーがあると、Platform がルートのクラスリストを見つけられなくなります。
5. Ultralytics Platform にアップロードする#
- 設定 > 統合 > LabelMe を開きます。
- エクスポートのアップロードをクリックします。
your_dataset.zipをアップロードし、データセットの作成を完了します。- 処理が完了するのを待ってから、画像、クラス、およびアノテーションを確認します。
- 同じワークスペースからアノテーションを編集し、モデルをトレーニングし、デプロイします。

LabelMe と YOLO のエクスポートは完全にオフラインのままです。アップロードダイアログで選択した ZIP ファイルのみが Platform に送信されます。
トラブルシューティング#
- クラス名が
class0、class1のようになっている場合:classes.txtが ZIP のルートに存在することを確認します。 - 一部のアノテーションが欠落している場合:
labelmetk list-labels your_dataset/を再度実行し、--class-namesに必要なすべてのラベルを含めます。 - ポリゴンがボックスになった場合: これは LabelMe の
export-to-yoloの文書化された動作であり、長方形以外の形状をバウンディングボックスに変換します。 - データセットに画像が含まれていない場合: エクスポートされた
images/ディレクトリが ZIP に含まれていることを確認します。 - Platform がクラスを見つけられない場合: アーカイブから外部ディレクトリを削除し、
classes.txt、images/、およびlabels/が最上位のエントリになるようにします。
完全なローカルワークフローについては、LabelMe のYOLO トレーニングガイドおよび export-to-yolo リファレンスを参照してください。