Skip to content
Tutorials3 min read

セグメンテーションタスクのためのポリゴンアノテーション

画像セグメンテーション用のポリゴン描画ツールの設定方法、複雑な形状やオーバーラップ領域のコツ。

Potato Team·

セグメンテーションタスクのためのポリゴンアノテーション

ポリゴンアノテーションは、セマンティックセグメンテーションおよびインスタンスセグメンテーションのためのピクセル精度のオブジェクト境界を実現します。本ガイドでは、設定、アノテーション技法、複雑なセグメンテーションタスクのベストプラクティスを紹介します。

ポリゴン vs バウンディングボックスの使い分け

ポリゴンを使う場合バウンディングボックスを使う場合
精密な境界が必要おおまかな位置特定で十分
不規則なオブジェクト形状オブジェクトがほぼ矩形
セグメンテーションモデルの学習検出モデルの学習
オーバーラップするオブジェクトオーバーラップしないオブジェクト
より高い精度が必要速度が優先

基本的なポリゴンの設定

yaml
annotation_task_name: "Image Segmentation"
 
data_files:
  - "data/images.json"
 
annotation_schemes:
  - annotation_type: image_annotation
    tools: [polygon]
    name: segments
    description: "Draw polygons around each object"
    labels:
      - name: road
        color: "#808080"
      - name: sidewalk
        color: "#F5F5DC"
      - name: building
        color: "#8B4513"
      - name: vegetation
        color: "#228B22"
      - name: sky
        color: "#87CEEB"
      - name: vehicle
        color: "#FF6B6B"
      - name: person
        color: "#4ECDC4"

ポリゴンの描画

基本ワークフロー

  1. ツールバーからラベルを選択する
  2. オブジェクトの周りにクリックして頂点を配置する
  3. ダブルクリックまたはEnterキーでポリゴンを閉じる
  4. 頂点をドラッグして調整する
  5. エッジをクリックしてポイントを追加する

キーボードショートカット

Potatoはポリゴン編集用の組み込みキーボードショートカットを提供しています:

  • Enter: 現在のポリゴンを閉じる
  • Escape: 描画のキャンセルまたは選択解除
  • Delete: 選択した頂点またはポリゴンの削除
  • +/-: ズームイン/アウト
  • Space + ドラッグ: 画像のパン

複雑なシナリオの処理

オーバーラップするオブジェクト

オーバーラップするオブジェクトがあるタスクでは、アノテーターはオーバーラップする複数のポリゴンを描画できます。各ポリゴンは出力に個別に保存されるため、オブジェクトが互いにオクルードする場合のインスタンスレベルのアノテーションが可能です。

複雑な境界のコツ

複雑な境界を持つオブジェクトをアノテーションする場合:

  1. 曲線のエッジにはより多くの頂点を使用して形状を正確に捉える
  2. 詳細な境界をトレースする際はズームインする
  3. オブジェクトの外周に沿って体系的に作業する
  4. 初期描画後に編集モードで頂点の位置を精緻化する

セマンティックセグメンテーションの設定

画像全体のセグメンテーション用:

yaml
annotation_task_name: "Semantic Segmentation"
 
data_files:
  - "data/images.json"
 
annotation_schemes:
  - annotation_type: image_annotation
    tools: [polygon]
    name: semantic_segments
    description: "Segment the entire image"
    labels:
      - name: background
        color: "#000000"
      - name: road
        color: "#808080"
      - name: sidewalk
        color: "#F5F5DC"
      - name: building
        color: "#8B4513"
      - name: vegetation
        color: "#228B22"
      - name: sky
        color: "#87CEEB"
      - name: person
        color: "#4ECDC4"
      - name: vehicle
        color: "#FF6B6B"

インスタンスセグメンテーションの設定

個別のオブジェクトインスタンス用:

yaml
annotation_task_name: "Instance Segmentation"
 
data_files:
  - "data/images.json"
 
annotation_schemes:
  - annotation_type: image_annotation
    tools: [polygon]
    name: instances
    description: "Draw polygons around each object instance"
    labels:
      - name: person
        color: "#4ECDC4"
      - name: car
        color: "#FF6B6B"
      - name: dog
        color: "#FFEAA7"

描画された各ポリゴンは個別のアノテーションとして保存されるため、各オブジェクトクラスの個々のインスタンスを追跡できます。

完全な設定例

yaml
annotation_task_name: "Cityscapes-style Segmentation"
 
data_files:
  - "data/urban_scenes.json"
 
annotation_schemes:
  - annotation_type: image_annotation
    tools: [polygon]
    name: segments
    description: "Segment all objects following Cityscapes protocol"
    labels:
      # Flat
      - name: road
        color: "#804080"
      - name: sidewalk
        color: "#F423E8"
      # Construction
      - name: building
        color: "#464646"
      - name: wall
        color: "#666666"
      - name: fence
        color: "#BE9999"
      # Nature
      - name: vegetation
        color: "#6B8E23"
      - name: terrain
        color: "#98FB98"
      # Sky
      - name: sky
        color: "#4682B4"
      # Human
      - name: person
        color: "#DC143C"
      - name: rider
        color: "#FF0000"
      # Vehicle
      - name: car
        color: "#00008B"
      - name: truck
        color: "#000046"
      - name: bus
        color: "#003C64"
      - name: motorcycle
        color: "#0000E6"
      - name: bicycle
        color: "#770B20"

出力フォーマット

ポリゴンアノテーションは、各頂点の座標とともにアノテーション出力に保存されます:

json
{
  "id": "img001",
  "annotations": {
    "segments": [
      {
        "label": "road",
        "points": [[0, 600], [100, 580], [200, 590], [0, 600]]
      },
      {
        "label": "car",
        "points": [[450, 400], [520, 400], [520, 480], [450, 480]]
      }
    ]
  }
}

高品質なポリゴンのコツ

  1. ズームイン: 詳細な境界には2倍以上で作業する
  2. キーボードショートカットを使う: ツールをクリックするより速い
  3. 主要な特徴から始める: まず大まかなアウトライン、次に精緻化
  4. 頂点の節約: 精度に必要な最小限のポイントを使用する
  5. 定期的な休憩: 詳細なポリゴン作業は疲労を引き起こす

次のステップ


ポリゴンの完全なドキュメントは/docs/features/image-annotationをご覧ください。