Markdownで表示

libreyolo label

バウンディングボックスの描画と編集を行うローカルのWebツールを起動します。LibreYOLOネイティブのラベルファイルを書き出すため、ここでアノテーションしたデータセットは変換の手順なしでそのまま学習できます。

コマンド
libreyolo label
出力
stdoutに出力されるサーバーURL。ラベルは画像と同じ場所にlabels/*.txtとして書き出されます

書式

bash
libreyolo label [data=<dataset.yaml|folder>] [key=value ...]

引数はkey=valueのペアで、POSIX形式も使えるので、port=9200--port 9200は同じ引数です。

引数

引数デフォルト意味
data直接開くデータセットYAMLまたはフォルダー。未指定の場合はプロジェクトホームから開始します
host127.0.0.1バインドするホストまたはインターフェース
port8000バインドするポート。使用中の場合は次の空きポートに繰り上がります
deviceautoAI自動ラベル付けに使うデバイス:0cpumpsauto
no_assistfalseAI自動ラベル付けを無効にし、手動のラベリングツールとして使います
no_browserfalseブラウザーを自動で開きません
sharefalse0.0.0.0にバインドし、同じネットワーク上のチームメンバーが参加できるようにします
jsonfalsestdoutへのJSON出力
quietfalsestderrを抑制します
verbosefalsestderrへの詳細出力

基本
# プロジェクトホームを開いてブラウザーでデータセットを選択または作成libreyolo label
手動のみ、ポート固定
libreyolo label no_assist=true port=9200 no_browser=true
チームメンバーが参加できるようにする
libreyolo label share=true

補足

出力されるもの

ボックスはLibreYOLOネイティブのlabels/*.txtファイルとして保存され、これはlibreyolo trainが読み込む形式なので、あとから変換する必要はありません。このバージョンが扱うのはバウンディングボックスだけです。編集内容は画像を切り替えるたびに保存されます。

データセットを開く

dataを指定しない場合、ツールはプロジェクトホームから起動し、データセットはブラウザーから選択または作成します。data=path/to/data.yamlを渡すとそのデータセットが直接開き、起動時の行に画像数、クラス数、そしてデータセットが書き込み可能かどうかが表示されます。読み取り専用のデータセットも開くことはでき、書き込めない理由が表示されます。

共有とhostの動作

share=trueはワイルドカードアドレスにバインドするため、同じネットワーク上の他のマシンからツールにアクセスできますが、プロジェクトの切り替えや削除、計算の開始といった管理操作はこのマシンに限定されます。

hostに特定のインターフェースを指定すると、動作が変わり、安全性も下がります:ホストがネットワーククライアントと区別できなくなるため、すべてのクライアントが管理権限を持ちます。この指定をすると、コマンドはstderrに警告を出力します。share=trueを使ってください。

ポートと終了

使用中のポートは次のポートへずれ、要求したポートから最大20個先まで試します。20個すべてが失敗した場合はio_errorで終了します。stdoutに表示されるURLは、実際にバインドされたポートです。share=trueを指定した場合、結果にはlan_urlも含まれ、これがチームメンバーが開くべきアドレスです。

コマンドはCtrl+Cを押すまでフォアグラウンドで動作し続けます。

関連:学習前にラベル付けしたデータセットを確認するにはlibreyolo doctor、そのデータセットで学習するにはlibreyolo train

LibreYOLO v1.5.0で検証済みです。