YOLO Vision 2026:

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

2. LabelMe Toolkitをインストールする#

LabelMeのToolkitインストールガイドに従ってLabelMe Toolkitをインストールします。Toolkitとそのエクスポートはローカルで実行されます。

エクスポートにはLabelMe Proが必要です

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,normal

crack,normallist-labelsから返されたラベルに置き換えます。LabelMeは結果をyour_dataset.export/に書き込みます。

your_dataset.export/
├── classes.txt
├── images/
│   ├── image_001.jpg
│   └── image_002.jpg
└── labels/
    ├── image_001.txt
    └── image_002.txt

classes.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 labels

Windows PowerShellでは次のように実行します。

Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zip

アップロードする前にZIPを開き、classes.txtimages/labels/がルートにあることを確認します。余分なyour_dataset.export/のラッパーディレクトリがあると、Platformはルートのクラスリストを見つけられません。

5. Ultralytics Platformにアップロードする#

  1. Settings > Integrations > LabelMeを開きます。
  2. Upload exportをクリックします。
  3. your_dataset.zipをアップロードし、データセットの作成を完了します。
  4. 処理が完了するまで待ち、画像、クラス、アノテーションを確認します。
  5. 同じワークスペースからアノテーションを編集し、モデルをトレーニングして、デプロイします。

Ultralytics PlatformのLabelMeデータセットインポート

LabelMeとYOLOのエクスポートは完全にオフラインで実行されます。アップロードダイアログで選択したZIPファイルのみがPlatformに送信されます。

トラブルシューティング#

  • クラス名がclass0class1などになっている: classes.txtがZIPのルートに存在することを確認します。
  • 一部のアノテーションが見つからない: labelmetk list-labels your_dataset/をもう一度実行し、--class-namesに必要なすべてのラベルを含めます。
  • ポリゴンがボックスになった: これはLabelMeのexport-to-yoloにおける仕様どおりの動作です。長方形以外の図形はバウンディングボックスに変換されます。
  • データセットに画像がない: エクスポートされたimages/ディレクトリがZIPに含まれていることを確認します。
  • Platformがクラスを見つけられない: アーカイブから外側のディレクトリを削除し、classes.txtimages/labels/が最上位のエントリになるようにします。

完全なローカルワークフローについては、LabelMeのYOLOトレーニングガイドexport-to-yoloリファレンスを参照してください。

FAQ#

  • いいえ。LabelMeとエクスポートはローカルで実行され、アップロードするZIPのみがPlatformに送信されます。export-to-yoloコマンドはLabelMe Pro Toolkitの一部でありこれはLabelMeの要件ですが、生成されたZIPはどのPlatformプランでもアップロードできます。

  • このワークフローではできません。LabelMe Toolkitはポリゴンとマスクを軸平行バウンディングボックスに縮小するため、結果は常に検出データセットになります。このエクスポート用のデータを準備する際は長方形を描画してください。

  • PlatformはZIPのルートにあるclasses.txtからクラス名を読み取ります。classes.txtimages/labels/がトップレベルのエントリになるように、フォルダ自体ではなくエクスポートフォルダの内容を圧縮してください。

  • --class-namesに渡されたラベルのみが、リストした順序で含まれます。最初にlabelmetk list-labelsを実行し、保持したいすべてのラベルを含めてください。

コメント