Skip to content

Annotation d'images

Annotez des images avec des boîtes englobantes, des polygones, du dessin libre et des points de repère.

Annotation d'images

Le système d'annotation d'images de Potato prend en charge plusieurs méthodes d'annotation pour les tâches de vision par ordinateur, notamment la détection d'objets, la segmentation et l'annotation de points clés.

Outils supportés

OutilDescriptionCas d'utilisation
bboxBoîtes englobantes rectangulairesDétection d'objets
polygonPolygones multi-pointsSegmentation d'instances
freeformDessin à main levéeFormes irrégulières
landmarkMarqueurs de pointsDétection de points clés
fillOutil de remplissage au pixelMasques de segmentation
eraserEffacement de régions peintesCorrection de masques de segmentation
brushOutil pinceauSegmentation fine

Configuration de base

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

Options de configuration

ChampTypeDéfautDescription
namestringObligatoireIdentifiant unique de l'annotation
descriptionstringObligatoireInstructions affichées aux annotateurs
annotation_typestringObligatoireDoit être "image_annotation"
toolslistObligatoireOutils d'annotation activés (bbox, polygon, freeform, landmark, fill, eraser, brush)
labelslistObligatoireÉtiquettes de catégorie pour les annotations
zoom_enabledbooleantrueActiver les contrôles de zoom
pan_enabledbooleantrueActiver la navigation par glissement
min_annotationsinteger0Nombre minimum d'annotations requises
max_annotationsintegernullNombre maximum d'annotations autorisées (null = illimité)
freeform_brush_sizeinteger5Taille du pinceau pour le dessin libre
freeform_simplifyfloat2.0Facteur de simplification du tracé

Configuration des étiquettes

Les étiquettes peuvent être des chaînes simples ou des objets détaillés :

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"

Exemples

Détection d'objets (boîtes englobantes)

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

Segmentation d'instances (polygones)

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

Annotation de points clés (repères)

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"

Outils multiples

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"

Raccourcis clavier

ToucheAction
bActiver l'outil boîte englobante
pActiver l'outil polygone
fActiver l'outil dessin libre
lActiver l'outil repère
1-9Sélectionner l'étiquette
SupprSupprimer l'annotation sélectionnée
Ctrl+ZAnnuler
Ctrl+YRétablir
+ / -Zoom avant/arrière

Format de données

Données d'entrée

Votre fichier de données doit inclure des chemins ou URL d'images :

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

Configurez le champ image dans votre configuration :

yaml
item_properties:
  id_key: id
  text_key: image_url

Format de sortie

Les annotations incluent des données géométriques pour chaque annotation :

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]
          ]
        }
      }
    ]
  }
}

Formats d'images supportés

  • JPEG / JPG
  • PNG
  • GIF
  • WebP

Masques de segmentation

Nouveau dans la v2.2.0

Les outils fill, eraser et brush permettent l'annotation de masques de segmentation au niveau pixel. Ces outils sont idéaux pour les tâches de segmentation sémantique où des limites de régions précises sont nécessaires.

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
ToucheAction
iActiver l'outil de remplissage
eActiver la gomme
rActiver le pinceau

Boîtes englobantes PDF/Documents

Nouveau dans la v2.2.0

Dessinez des boîtes englobantes sur les pages PDF et les images de documents. Combiné avec le type d'affichage pdf dans instance_display, les annotateurs peuvent dessiner des boîtes sur les pages individuelles de documents 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"

Bonnes pratiques

  1. Utilisez les outils appropriés - Boîtes englobantes pour la détection rapide, polygones pour les limites précises, remplissage/pinceau pour la segmentation
  2. Définissez des étiquettes claires - Utilisez des catégories distinctes et non chevauchantes
  3. Fixez des limites d'annotation - Utilisez min_annotations pour assurer la complétude
  4. Activez le zoom - Essentiel pour les annotations détaillées sur les images haute résolution
  5. Utilisez les raccourcis clavier - Accélère considérablement l'annotation
  6. Fournissez des couleurs d'étiquettes - Facilite la distinction visuelle des annotations