annotation merge_segmentation#
Description#
複数の塗りつぶしアノテーションを1つにまとめます。 ラベルの種類を「塗りつぶし(インスタンスセグメンテーション)」から「塗りつぶしv2(セマンティックセグメンテーション)」に変更する場合などに有用です。 オーナーロールまたはチェッカーロールを持つユーザーが実行できます。
Examples#
以下のコマンドは、複数の road ラベルの塗りつぶしアノテーションを1つにまとめます。
$ annofabcli annotation merge_segmentation --project_id prj1 --task_id task1 --label_name road
1つにまとめる際、最前面にある塗りつぶしアノテーションが更新され、それ以外の塗りつぶしアノテーションは削除されます。
デフォルトでは、休憩中状態のタスクはアノテーションの更新をスキップします。
休憩中状態のタスクも更新する場合は、 --include_break_task を指定してください。
完了状態のタスクを更新するには、オーナーロールで --include_complete_task を指定してください。
デフォルトでは、保留中状態のタスクはアノテーションの更新をスキップします。
保留中状態のタスクも更新する場合は、 --include_on_hold_task を指定してください。チェッカーロールで更新した場合、更新後は未着手状態になります。
オーナーロールでは、タスクの担当者や状態を変更せずにアノテーションを更新できます。 チェッカーロールで自身が担当者ではないタスクを更新する場合は、担当者を一時的に自分自身に変更して更新を実行します。
コマンドの実行前の状態。「pedestrian」ラベルの塗りつぶしアノテーションが3つあります。#
コマンドの実行後の状態。「pedestrian」ラベルの塗りつぶしアノテーションが1つにまとめられます。最前面にあった「bc45b4b2」アノテーションが更新され、残りは削除されます。#
更新前のアノテーションをバックアップする#
--backup に保存先ディレクトリを指定すると、変更する入力データの更新前アノテーションをJSONと塗りつぶし画像として保存します。
誤って統合した場合に復元できるよう、バックアップの取得を推奨します。
バックアップの保存に失敗した入力データは更新しません。変更がない入力データはバックアップしません。
保存先には、実行ごとに新しいディレクトリを指定してください。同じタスク・入力データのバックアップが存在する場合は上書きします。
$ annofabcli annotation merge_segmentation --project_id prj1 --task_id task1 --label_name road --backup backup-dir/
出力先の例(入力データIDが input1、アノテーションIDが a1 と a2 の場合):
backup-dir/
└── task1/
├── input1.json
└── input1/
├── a1
└── a2
input1.json には更新前のアノテーション情報、input1/ 配下には更新前の塗りつぶし画像を保存します。
統合により削除されるアノテーションも保存します。
復元には annotation restore コマンドを使用します。 復元時は、対象の入力データに含まれるアノテーション全体をバックアップ時点の内容に戻します。
$ annofabcli annotation restore --project_id prj1 --annotation backup-dir/ --task_id task1
Usage Details#
複数の塗りつぶしアノテーションを1つにまとめます。ラベルの種類を「塗りつぶし(インスタンスセグメンテーション)」から「塗りつぶしv2(セマンティックセグメンテーション)」に変更する場合などに有用です。
usage: annofabcli annotation merge_segmentation [-h] [--yes]
[--endpoint_url ENDPOINT_URL]
[--annofab_user_id ANNOFAB_USER_ID]
[--annofab_password ANNOFAB_PASSWORD]
[--annofab_pat ANNOFAB_PAT]
[--logdir LOGDIR]
[--disable_log] [--debug] -p
PROJECT_ID -t TASK_ID
[TASK_ID ...] --label_name
LABEL_NAME [LABEL_NAME ...]
[--include_complete_task]
[--include_break_task]
[--include_on_hold_task]
[--parallelism {2,3,4}]
[--backup BACKUP]
Named Arguments#
- -p, --project_id
対象のプロジェクトのproject_idを指定します。
- -t, --task_id
対象のタスクのtask_idを指定します。
file://を先頭に付けると、task_idの一覧が記載されたファイルを指定できます。ファイルを読み込む場合は、ファイル指定を1個だけ渡してください。直接指定するIDや別のファイル指定とは併用できません。- --label_name
変更対象のアノテーションのラベル名(英語)を指定します。
- --include_complete_task
オーナーロールで完了状態のタスクに対してもアノテーションを更新します。未指定の場合は、完了状態のタスクはスキップされます。
- --include_break_task
休憩中状態のタスクに対してもアノテーションを更新します。未指定の場合は、休憩中状態のタスクはスキップされます。
- --include_on_hold_task
保留中状態のタスクに対してもアノテーションを更新します。チェッカーロールで更新した場合、更新後は未着手状態になります。未指定の場合は、保留中状態のタスクはスキップされます。
- --parallelism
Possible choices: 2, 3, 4
並列度。指定しない場合は、逐次的に処理します。指定した場合は、
--yesも指定してください。- --backup
更新前のアノテーションのバックアップを保存するディレクトリのパス。アノテーションの復元は
annotation restoreコマンドで実現できます。
common options (after the subcommand)#
- --yes
処理中に現れる問い合わせに対して、常に
yesと回答します。- --endpoint_url
Annofab WebAPIのエンドポイントを指定します。
- --annofab_user_id
Annofabにログインする際のユーザーID
- --annofab_password
Annofabにログインする際のパスワード
- --annofab_pat
Annofabにログインする際のパーソナルアクセストークン
- --logdir
ログファイルを保存するディレクトリを指定します。
Default:
.log- --disable_log
ログを無効にします。
- --debug
HTTPリクエストの内容やレスポンスのステータスコードなど、デバッグ用のログが出力されます。
オーナーロールまたはチェッカーロールを持つユーザーで実行してください。