Link to this sectionLabelMe のアノテーションを YOLO および Ultralytics Platform にエクスポートする#
LabelMe は、オープンソースの Python アプリケーションを備えたオフラインの画像アノテーションツールです。Ultralytics Platform で設定するライブの LabelMe 接続や API キーはありません。完全な統合はローカルワークフローであり、LabelMe でアノテーションを作成し、LabelMe Toolkit を使用して LabelMe JSON アノテーションを YOLO 形式に変換し、結果の ZIP を Platform データセットとしてアップロードします。
Link to this section1. LabelMe で画像をアノテーションする#
デスクトップアプリまたはオープンソースの Python パッケージを使用して LabelMe をインストールし、画像が含まれているディレクトリを開きます。LabelMe は、各画像のアノテーションを一致する JSON ファイルに保存します。
このガイドの YOLO 検出ワークフローでは、各オブジェクトの周囲に長方形を描画し、クラス名を割り当てます。LabelMe スターターガイドでは画像のオープン、図形の描画、アノテーションの保存について説明し、LabelMe データセットガイドでは完全なアノテーション付きデータセットの確認と準備について説明します。
ソースディレクトリには、画像と LabelMe JSON ファイルが含まれている必要があります:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.jsonLink to this section2. 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 の順序になります。
Link to this section3. 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 はセグメンテーションジオメトリを保持しません。このワークフローで検出データセットを準備する場合は、長方形を描画してください。
Link to this section4. 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 がルートクラスリストを見つけられなくなります。
Link to this section5. Ultralytics Platform にアップロードする#
- 設定 > 統合 > LabelMeを開きます。
- エクスポートのアップロードをクリックします。
your_dataset.zipをアップロードし、データセットの作成を完了します。- 処理が完了するのを待ってから、画像、クラス、およびアノテーションを確認します。
- 同じワークスペースからアノテーションを編集し、モデルをトレーニングし、デプロイします。
LabelMe と YOLO のエクスポートは完全にオフラインのままです。アップロードダイアログで選択した ZIP ファイルのみが Platform に送信されます。
Link to this sectionトラブルシューティング#
- クラスに
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 リファレンスを参照してください。