Skip to content

画像アノテーション

分類、バウンディングボックス、領域ラベリングで画像にアノテーションを付ける。

画像アノテーション

Potatoは、分類、オブジェクト検出、領域ラベリングタスクの画像アノテーションをサポートしています。

画像表示の有効化

yaml
image:
  enabled: true
  max_width: 800
  max_height: 600

データ形式

データ内で画像を参照する:

json
{
  "id": "img_1",
  "image_path": "images/photo_001.jpg",
  "description": "Optional description"
}

画像フィールドを設定する:

yaml
data_files:
  - path: data/image_tasks.json
    image_field: image_path

画像分類

画像全体を分類する:

yaml
annotation_schemes:
  - annotation_type: radio
    name: category
    description: "What is shown in this image?"
    labels:
      - Cat
      - Dog
      - Bird
      - Other
 
  - annotation_type: multiselect
    name: attributes
    description: "Select all that apply"
    labels:
      - Indoor
      - Outdoor
      - Multiple animals
      - Human present

マルチラベル分類

yaml
annotation_schemes:
  - annotation_type: multiselect
    name: objects
    description: "What objects are visible?"
    labels:
      - Person
      - Car
      - Building
      - Tree
      - Animal
      - Furniture
      - Food
      - Electronic device

画像品質評価

yaml
annotation_schemes:
  - annotation_type: likert
    name: quality
    description: "Overall image quality"
    size: 5
    min_label: "Very poor"
    max_label: "Excellent"
 
  - annotation_type: multiselect
    name: issues
    description: "Select any quality issues"
    labels:
      - Blurry
      - Overexposed
      - Underexposed
      - Noisy
      - Low resolution
      - Watermark visible

バウンディングボックスアノテーション

オブジェクトの周りにボックスを描く:

yaml
annotation_schemes:
  - annotation_type: bbox
    name: objects
    description: "Draw boxes around objects"
    labels:
      - Person
      - Car
      - Bicycle
      - Traffic sign
    label_colors:
      Person: "#3b82f6"
      Car: "#10b981"
      Bicycle: "#f59e0b"
      "Traffic sign": "#ef4444"

バウンディングボックスの出力

json
{
  "id": "img_1",
  "objects": [
    {
      "label": "Person",
      "x": 100,
      "y": 50,
      "width": 80,
      "height": 200
    },
    {
      "label": "Car",
      "x": 300,
      "y": 150,
      "width": 150,
      "height": 100
    }
  ]
}

事前読み込みバウンディングボックス

レビュー用に既存のアノテーションを読み込む:

json
{
  "id": "img_1",
  "image_path": "images/photo_001.jpg",
  "predictions": [
    {"label": "Person", "x": 100, "y": 50, "width": 80, "height": 200, "confidence": 0.95}
  ]
}
yaml
annotation_schemes:
  - annotation_type: bbox
    name: objects
    load_predictions: true
    prediction_field: predictions

領域/ポリゴンアノテーション

非矩形の領域向け:

yaml
annotation_schemes:
  - annotation_type: polygon
    name: regions
    description: "Outline regions of interest"
    labels:
      - Building
      - Road
      - Vegetation
      - Water

画像比較

2つの画像を比較する:

yaml
data_files:
  - path: data/image_pairs.json
    item_a_field: image_original
    item_b_field: image_edited
 
annotation_schemes:
  - annotation_type: pairwise
    name: preference
    description: "Which image looks better?"
    options:
      - label: "Original"
        value: "A"
      - label: "Edited"
        value: "B"
      - label: "Same"
        value: "tie"

画像キャプショニング

yaml
annotation_schemes:
  - annotation_type: text
    name: caption
    description: "Write a caption for this image"
    textarea: true
    placeholder: "Describe what you see..."
    min_length: 10
    max_length: 300

キャプション品質レビュー

yaml
data_files:
  - path: data/captions.json
    image_field: image_path
    text_field: generated_caption
 
annotation_schemes:
  - annotation_type: likert
    name: accuracy
    description: "How accurate is this caption?"
    size: 5
    min_label: "Very inaccurate"
    max_label: "Very accurate"
 
  - annotation_type: likert
    name: fluency
    description: "How natural is the language?"
    size: 5
    min_label: "Very awkward"
    max_label: "Very natural"
 
  - annotation_type: text
    name: improved_caption
    description: "Suggest a better caption (optional)"
    textarea: true

表示オプション

画像サイズ

yaml
image:
  max_width: 800
  max_height: 600
  preserve_aspect_ratio: true

ズームコントロール

yaml
image:
  zoom_enabled: true
  initial_zoom: fit  # 'fit', 'actual', or percentage

フルスクリーンモード

yaml
image:
  fullscreen_enabled: true

コンテンツモデレーション

yaml
annotation_schemes:
  - annotation_type: radio
    name: safe_for_work
    description: "Is this image safe for work?"
    labels:
      - Safe
      - Questionable
      - Not Safe
 
  - annotation_type: multiselect
    name: violation_types
    description: "Select all violations (if any)"
    labels:
      - Violence
      - Adult content
      - Hate symbols
      - Graphic content
      - Spam/advertisement
    show_if:
      scheme: safe_for_work
      value: ["Questionable", "Not Safe"]

サポートされる形式

サポートされる一般的な画像形式:

  • JPEG/JPG
  • PNG
  • GIF
  • WebP
  • BMP
yaml
image:
  allowed_formats: ["jpg", "jpeg", "png", "webp"]

完全な例:オブジェクト検出レビュー

yaml
task_name: "Object Detection Verification"
 
image:
  enabled: true
  max_width: 1000
  zoom_enabled: true
 
data_files:
  - path: data/detections.json
    image_field: image_path
 
annotation_schemes:
  # Review pre-loaded predictions
  - annotation_type: bbox
    name: objects
    description: "Verify and correct object boxes"
    labels:
      - Person
      - Vehicle
      - Animal
      - Object
    load_predictions: true
    prediction_field: model_predictions
    label_colors:
      Person: "#3b82f6"
      Vehicle: "#10b981"
      Animal: "#f59e0b"
      Object: "#6b7280"
 
  # Overall assessment
  - annotation_type: radio
    name: prediction_quality
    description: "How accurate were the predictions?"
    labels:
      - All correct
      - Minor corrections needed
      - Major corrections needed
      - Mostly incorrect
 
  - annotation_type: number
    name: missed_objects
    description: "How many objects were missed?"
    min: 0
    max: 50
 
  - annotation_type: text
    name: notes
    description: "Any issues or comments?"
    textarea: true
    required: false

パフォーマンスのヒント

  1. 画像サイズを最適化する - アノテーション前に大きな画像をリサイズする
  2. 写真にはJPEGを使用する - ファイルサイズが小さく、読み込みが速い
  3. グラフィックにはPNGを使用する - 図やスクリーンショットには品質が良い
  4. 遅延読み込みを有効にする - 大規模データセット向け
  5. サムネイルを検討する - リストビューでプレビューを表示する
  6. 一貫して前処理する - サイズと形式を正規化する