annotation_specs parse_label#
Description#
自然言語で書かれたアノテーションルールやアノテーション仕様の文章から、Annofabに追加するラベルを解析します。
出力されるJSONは、 annofabcli annotation_specs add_labels コマンドの --label_json 引数にそのまま指定できます。
このコマンドは、新規でアノテーション仕様を作成する場合に最初に実行します。
Examples#
基本的な使い方#
歩行者と自動車を矩形で囲ってください。
歩行者の最小矩形サイズは100x200、自動車の最小矩形サイズは300x300です。
すべてのラベルの許容誤差は5pxです。
隠れている場合は、「隠れ」チェックボックスをONにしてください。
$ annofabcli-llm annotation_specs parse_label \
--project_type image \
--annotation_rule @rule.md \
--output labels.json
[
{
"label_name_en": "pedestrian",
"annotation_type": "bounding_box",
"label_name_ja": "歩行者",
"keybind": {
"alt": false,
"code": "KeyQ",
"ctrl": false,
"shift": false
},
"field_values": {
"minimum_size_2d_with_default_insert_position": {
"min_warn_rule": {
"_type": "Or"
},
"min_width": 100,
"min_height": 200,
"position_for_minimum_bounding_box_insertion": null,
"_type": "MinimumSize2dWithDefaultInsertPosition"
},
"margin_of_error_tolerance": {
"_type": "MarginOfErrorTolerance",
"max_pixel": 5
}
}
},
{
"label_name_en": "car",
"annotation_type": "bounding_box",
"label_name_ja": "自動車",
"keybind": {
"alt": false,
"code": "KeyW",
"ctrl": false,
"shift": false
},
"field_values": {
"minimum_size_2d_with_default_insert_position": {
"min_warn_rule": {
"_type": "Or"
},
"min_width": 300,
"min_height": 300,
"position_for_minimum_bounding_box_insertion": null,
"_type": "MinimumSize2dWithDefaultInsertPosition"
},
"margin_of_error_tolerance": {
"_type": "MarginOfErrorTolerance",
"max_pixel": 5
}
}
}
]
parse_label コマンドで出力された labels.json は、以下のコマンドでAnnofabのアノテーション仕様にラベルを追加できます。
$ annofabcli annotation_specs add_labels \
--project_id ${PROJECT_ID} \
--label_json file://labels.json
注釈
解析結果の途中経過は $HOME/.cache/annofab-cli-llm/temp/parse_label_* に出力されます。
既存のアノテーション仕様を参照する#
--project_id オプションを指定すると、Annofabの既存のアノテーション仕様を参照して、現在存在しないラベルのみ出力されます。
$ annofabcli-llm annotation_specs parse_label \
--project_id ${PROJECT_ID} \
--project_type image \
--annotation_rule @rule.md \
--output labels.json
Usage Details#
自然言語から追加対象のラベルを解析します。 出力されるJSONは、annofabcli annotation_specs add_labels コマンドの --label_json 引数にそのまま指定できます。
usage: annofabcli-llm annotation_specs parse_label [-h] [-m MODEL] [--verbose]
[--yes]
[--annofab_pat ANNOFAB_PAT]
[--annotation_specs_json_file ANNOTATION_SPECS_JSON_FILE |
-p PROJECT_ID]
--project_type {image,video,3d}
--annotation_rule ANNOTATION_RULE
[-o OUTPUT]
[--no_interactive]
Named Arguments#
- --annotation_specs_json_file
annotation specs v3 のJSONファイルのパス
- -p, --project_id
AnnofabのプロジェクトID
- --project_type
Possible choices: image, video, 3d
プロジェクト種別。取り得る annotation_type を限定するために使用します。
image : 画像プロジェクト
video : 動画プロジェクト
3d : 3次元プロジェクト
- --annotation_rule
ラベル追加に関するアノテーションルールやアノテーション仕様の自然言語。先頭に`@`を指定すると、`@`以降をファイルパスとみなしてファイルの中身を読み込みます。
- -o, --output
出力先のファイルパス。指定しない場合は、標準出力に出力されます。
- --no_interactive
未解決テキストが存在しても、補足情報の入力を求めずに終了します。
global optional arguments#
- -m, --model
使用するLLMのモデルです。使用できるモデルは https://docs.litellm.ai/docs/providers を参照してください。
Default:
'openai/gpt-5.6-terra'- --verbose
詳細なログを出力します。
- --yes
確認メッセージに対して常に'yes'と回答したとみなします。確認メッセージが表示されません。
- --annofab_pat
AnnofabのPersonal Access Token