annotation_specs add_labels#

Description#

アノテーション仕様にラベルを複数件追加します。

Examples#

ラベル名(英語)を複数指定する場合#

$ annofabcli annotation_specs add_labels \
 --project_id prj1 \
 --label_name_en pedestrian bicycle traffic_light \
 --annotation_type bounding_box

--annotation_type の値は、annotation_specs add_label を参照してください。

JSON形式で指定する場合#

labels.json#
[
    {
        "label_name_en": "pedestrian",
        "annotation_type": "bounding_box",
        "color": "#123456",
        "keybind": {
            "alt": false,
            "code": "Digit1",
            "ctrl": true,
            "shift": false
        },
        "field_values": {
            "margin_of_error_tolerance": {
                "max_pixel": 5,
                "_type": "MarginOfErrorTolerance"
            }
        }
    },
    {
        "label_id": "bicycle",
        "label_name_en": "bicycle",
        "label_name_ja": "自転車",
        "label_name_vi": "xe đạp",
        "annotation_type": "bounding_box",
        "color": "#00AAFF"
    }
]
$ annofabcli annotation_specs add_labels \
 --project_id prj1 \
 --label_json file://labels.json

field_values のフォーマットは、annotation_specs update_label_field_values を参照してください。

--label_json には、ラベル情報のJSON配列を指定してください。配列の各要素が1件のラベルに対応します。

キー

必須

説明

label_name_en

必須

ラベルの英語名。

annotation_type

条件付き必須

ラベルのアノテーション種類。省略した場合は --annotation_type の値が使われます。JSON側と --annotation_type の両方に指定した場合、値が一致している必要があります。指定できる値は annotation_specs add_label を参照してください。

label_id

任意

ラベルID。省略した場合はUUIDv4を自動生成します。

label_name_ja

任意

ラベルの日本語名。省略した場合は label_name_en と同じ値を使用します。

label_name_vi

任意

ラベルのベトナム語名。

color

任意

ラベルの色。 #RRGGBB 形式の16進数カラーコードを指定してください。省略した場合は自動設定されます。

keybind

任意

ラベルに設定するキーボードショートカットのJSONオブジェクト。 code に指定できる値は、 KeyboardEvent.code を参照してください。

field_values

任意

ラベルに設定するサイズ制約や許容誤差範囲などのJSONオブジェクト。フォーマットは annotation_specs update_label_field_values を参照してください。

CSV形式で指定する場合#

labels.csv#
label_id,label_name_en,label_name_ja,label_name_vi,annotation_type,color,keybind,field_values
,pedestrian,,,segmentation_v2,#123456,"{""alt"": false, ""code"": ""Digit1"", ""ctrl"": true, ""shift"": false}","{""margin_of_error_tolerance"": {""max_pixel"": 5, ""_type"": ""MarginOfErrorTolerance""}}"
bicycle,bicycle,自転車,xe đạp,segmentation_v2,#00AAFF,,

CSV形式では、 keybind 列と field_values 列だけはJSONオブジェクト文字列として指定してください。 そのため、CSVセル全体を " で囲み、JSON内の """ のようにエスケープする必要があります。

$ annofabcli annotation_specs add_labels \
 --project_id prj1 \
 --label_csv labels.csv

Usage Details#

アノテーション仕様にラベルを複数件追加します。

usage: annofabcli annotation_specs add_labels [-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
                                              (--label_name_en LABEL_NAME_EN [LABEL_NAME_EN ...] | --label_json LABEL_JSON | --label_csv LABEL_CSV)
                                              [--annotation_type {bounding_box,segmentation,segmentation_v2,polygon,polyline,point,classification,range,custom,user_bounding_box,user_instance_segment,user_semantic_segment}]
                                              [--comment COMMENT]

Named Arguments#

-p, --project_id

対象のプロジェクトのproject_idを指定します。

--label_name_en

追加するラベルの英語名。複数指定できます。 file:// を先頭に付けると一覧ファイルを指定できます。

--label_json

追加するラベル情報のJSON配列を指定します。 file:// を先頭に付けるとJSON形式のファイルを指定できます。 各要素には label_name_en が必要です。 任意で label_id , label_name_ja , label_name_vi , annotation_type , color , keybind , field_values を指定できます。 keybindfield_values にはJSONオブジェクトを指定してください。 (例) [{"label_id": "pedestrian", "label_name_en": "pedestrian", "label_name_ja": "歩行者", "label_name_vi": "người đi bộ", "annotation_type": "bounding_box", "color": "#123456", "keybind": {"alt": false, "code": "Digit1", "ctrl": true, "shift": false}, "field_values": {"margin_of_error_tolerance": {"max_pixel": 5, "_type": "MarginOfErrorTolerance"}}}, {"label_name_en": "bicycle", "annotation_type": "bounding_box"}]

--label_csv

追加するラベル情報のCSVファイルを指定します。 CSVには label_name_en 列が必要です。 任意で label_id , label_name_ja , label_name_vi , annotation_type , color , keybind , field_values 列を指定できます。 keybind 列と field_values 列にはJSONオブジェクト文字列を指定してください。

--annotation_type

Possible choices: bounding_box, segmentation, segmentation_v2, polygon, polyline, point, classification, range, custom, user_bounding_box, user_instance_segment, user_semantic_segment

追加するラベルの既定のアノテーション種類。 --label_name_en を指定する場合は必須です。 JSON/CSV側にも annotation_type を指定できます。 追加するラベルのアノテーション種類。

指定できる値:
  • bounding_box : 矩形 [画像プロジェクト で使用可]

  • segmentation : 塗りつぶし(インスタンスセグメンテーション用) [画像プロジェクト で使用可]

  • segmentation_v2 : 塗りつぶしv2(セマンティックセグメンテーション用) [画像プロジェクト で使用可]

  • polygon : ポリゴン(閉じた頂点集合) [画像プロジェクト で使用可]

  • polyline : ポリライン(開いた頂点集合) [画像プロジェクト で使用可]

  • point : 点 [画像プロジェクト で使用可]

  • classification : 全体分類 [画像プロジェクト / 動画プロジェクト で使用可]

  • range : 動画の区間 [動画プロジェクト で使用可]

  • custom : カスタム [カスタムプロジェクト で使用可]

  • user_bounding_box : 3次元のバウンディングボックス [3次元プロジェクト で使用可]

  • user_instance_segment : 3次元のインスタンスセグメント [3次元プロジェクト で使用可]

  • user_semantic_segment : 3次元のセマンティックセグメント [3次元プロジェクト で使用可]

--comment

アノテーション仕様の変更内容を説明するコメント。未指定の場合、自動でコメントが生成されます。

global optional arguments#

--yes

処理中に現れる問い合わせに対して、常に yes と回答します。

--endpoint_url

Annofab WebAPIのエンドポイントを指定します。

Default: 'https://annofab.com'

--annofab_user_id

Annofabにログインする際のユーザーID

--annofab_password

Annofabにログインする際のパスワード

--annofab_pat

Annofabにログインする際のパーソナルアクセストークン

--logdir

ログファイルを保存するディレクトリを指定します。

Default: .log

--disable_log

ログを無効にします。

--debug

HTTPリクエストの内容やレスポンスのステータスコードなど、デバッグ用のログが出力されます。