Skip to content

Annotazione di immagini

Annota immagini con bounding box, poligoni, disegno libero e punti di riferimento.

Il sistema di annotazione di immagini di Potato supporta più metodi di annotazione per compiti di computer vision, inclusi il rilevamento di oggetti, la segmentazione e l'annotazione di keypoint.

Strumenti supportati

StrumentoDescrizioneCaso d'uso
bboxBounding box rettangolariRilevamento di oggetti
polygonPoligoni a più puntiSegmentazione di istanze
freeformDisegno a mano liberaForme irregolari
landmarkMarcatori puntoRilevamento di keypoint
fillStrumento di riempimento pixelMaschere di segmentazione
eraserCancella regioni dipinteCorrezione di maschere di segmentazione
brushPennelloSegmentazione fine

Configurazione di base

yaml
annotation_schemes:
  - name: "objects"
    description: "Draw boxes around all objects"
    annotation_type: "image_annotation"
    tools:
      - bbox
    labels:
      - person
      - car
      - bicycle

Opzioni di configurazione

CampoTipoPredefinitoDescrizione
namestringObbligatorioIdentificatore univoco dell'annotazione
descriptionstringObbligatorioIstruzioni mostrate agli annotatori
annotation_typestringObbligatorioDeve essere "image_annotation"
toolslistObbligatorioStrumenti di annotazione abilitati (bbox, polygon, freeform, landmark, fill, eraser, brush)
labelslistObbligatorioEtichette di categoria per le annotazioni
zoom_enabledbooleantrueAbilita i controlli di zoom
pan_enabledbooleantrueAbilita la navigazione tramite trascinamento
min_annotationsinteger0Annotazioni minime richieste
max_annotationsintegernullAnnotazioni massime consentite (null = illimitato)
freeform_brush_sizeinteger5Dimensione del pennello per il disegno libero
freeform_simplifyfloat2.0Fattore di semplificazione del percorso

Configurazione delle etichette

Le etichette possono essere semplici stringhe o oggetti dettagliati:

yaml
# Simple labels (auto-colored)
labels:
  - person
  - car
  - tree
 
# Detailed labels with custom colors and shortcuts
labels:
  - name: "person"
    color: "#FF6B6B"
    key_value: "1"
  - name: "car"
    color: "#4ECDC4"
    key_value: "2"
  - name: "bicycle"
    color: "#45B7D1"
    key_value: "3"

Esempi

Rilevamento di oggetti (Bounding Box)

yaml
annotation_schemes:
  - name: "detection"
    description: "Draw bounding boxes around all vehicles"
    annotation_type: "image_annotation"
    tools:
      - bbox
    labels:
      - name: "car"
        color: "#3B82F6"
        key_value: "1"
      - name: "truck"
        color: "#10B981"
        key_value: "2"
      - name: "motorcycle"
        color: "#F59E0B"
        key_value: "3"
    min_annotations: 1
    zoom_enabled: true

Segmentazione di istanze (Poligoni)

yaml
annotation_schemes:
  - name: "segmentation"
    description: "Draw polygons around each object"
    annotation_type: "image_annotation"
    tools:
      - polygon
    labels:
      - name: "building"
        color: "#8B5CF6"
      - name: "road"
        color: "#64748B"
      - name: "vegetation"
        color: "#22C55E"
    zoom_enabled: true
    pan_enabled: true

Annotazione di keypoint (Landmark)

yaml
annotation_schemes:
  - name: "facial_landmarks"
    description: "Mark facial keypoints"
    annotation_type: "image_annotation"
    tools:
      - landmark
    labels:
      - name: "left_eye"
        color: "#3B82F6"
      - name: "right_eye"
        color: "#3B82F6"
      - name: "nose"
        color: "#10B981"
      - name: "left_mouth"
        color: "#F59E0B"
      - name: "right_mouth"
        color: "#F59E0B"

Strumenti multipli

yaml
annotation_schemes:
  - name: "mixed_annotation"
    description: "Use boxes for objects and polygons for regions"
    annotation_type: "image_annotation"
    tools:
      - bbox
      - polygon
    labels:
      - name: "object"
        color: "#3B82F6"
      - name: "region"
        color: "#10B981"

Scorciatoie da tastiera

TastoAzione
bAttiva lo strumento bounding box
pAttiva lo strumento poligono
fAttiva lo strumento libero
lAttiva lo strumento landmark
1-9Seleziona etichetta
DeleteRimuovi l'annotazione selezionata
Ctrl+ZAnnulla
Ctrl+YRipristina
+ / -Zoom avanti/indietro

Formato dei dati

Dati di input

Il file di dati deve includere percorsi o URL delle immagini:

json
[
  {
    "id": "img_001",
    "image_url": "https://example.com/images/photo1.jpg"
  },
  {
    "id": "img_002",
    "image_url": "/data/images/photo2.png"
  }
]

Configura il campo immagine nella configurazione:

yaml
item_properties:
  id_key: id
  text_key: image_url

Formato di output

Le annotazioni includono dati geometrici per ogni annotazione:

json
{
  "id": "img_001",
  "annotations": {
    "objects": [
      {
        "id": "ann_1",
        "type": "bbox",
        "label": "car",
        "geometry": {
          "x": 100,
          "y": 150,
          "width": 200,
          "height": 100
        }
      },
      {
        "id": "ann_2",
        "type": "polygon",
        "label": "building",
        "geometry": {
          "points": [
            [50, 50],
            [150, 50],
            [150, 200],
            [50, 200]
          ]
        }
      }
    ]
  }
}

Formati immagine supportati

  • JPEG / JPG
  • PNG
  • GIF
  • WebP

Maschere di segmentazione

Novità nella v2.2.0

Gli strumenti fill, eraser e brush abilitano l'annotazione di maschere di segmentazione a livello di pixel. Questi strumenti sono ideali per i compiti di segmentazione semantica in cui sono necessari confini di regione precisi.

yaml
annotation_schemes:
  - name: "segmentation"
    description: "Paint segmentation masks"
    annotation_type: "image_annotation"
    tools:
      - fill
      - eraser
      - brush
    labels:
      - name: "foreground"
        color: "#3B82F6"
      - name: "background"
        color: "#6B7280"
    freeform_brush_size: 10
TastoAzione
iAttiva lo strumento riempimento
eAttiva lo strumento gomma
rAttiva lo strumento pennello

Bounding box su PDF/documenti

Novità nella v2.2.0

Disegna bounding box su pagine PDF e immagini di documenti. Se combinato con il tipo di visualizzazione pdf in instance_display, gli annotatori possono disegnare riquadri su singole pagine di documenti PDF.

yaml
instance_display:
  fields:
    - key: pdf_url
      type: pdf
 
annotation_schemes:
  - name: "document_regions"
    description: "Draw boxes around figures and tables"
    annotation_type: "image_annotation"
    tools:
      - bbox
    labels:
      - name: "figure"
        color: "#3B82F6"
      - name: "table"
        color: "#10B981"
      - name: "equation"
        color: "#F59E0B"

Buone pratiche

  1. Usa gli strumenti appropriati - Bounding box per il rilevamento rapido, poligoni per confini precisi, fill/brush per la segmentazione
  2. Definisci etichette chiare - Usa categorie distinte e non sovrapposte
  3. Imposta limiti di annotazione - Usa min_annotations per garantire la completezza
  4. Abilita lo zoom - Essenziale per annotazioni dettagliate su immagini ad alta risoluzione
  5. Usa le scorciatoie da tastiera - Accelera significativamente l'annotazione
  6. Fornisci colori per le etichette - Rende più facile distinguere visivamente le annotazioni