Skip to content
Tutorials4 min read

Dessiner des boîtes englobantes pour la détection d'objets

Guide complet pour configurer l'annotation par boîtes englobantes pour les tâches de vision par ordinateur, incluant les couleurs d'étiquettes et la validation.

Potato Team·

Dessiner des boîtes englobantes pour la détection d'objets

L'annotation par boîtes englobantes est essentielle pour entraîner les modèles de détection d'objets. Ce tutoriel couvre tout, de la configuration de base aux fonctionnalités avancées comme la pré-annotation et les règles de validation.

Configuration de base des boîtes englobantes

Configuration minimale

yaml
annotation_task_name: "Object Detection Annotation"
 
data_files:
  - "data/images.json"
 
annotation_schemes:
  - annotation_type: image_annotation
    name: objects
    description: "Draw boxes around all objects"
    tools:
      - bbox
    labels:
      - name: car
        color: "#FF6B6B"
      - name: person
        color: "#4ECDC4"
      - name: bicycle
        color: "#45B7D1"

Comment ça fonctionne

  1. Sélectionnez une étiquette dans la barre d'outils
  2. Cliquez et faites glisser pour dessiner une boîte
  3. Ajustez les coins pour affiner la boîte
  4. Ajoutez d'autres boîtes si nécessaire
  5. Soumettez quand c'est terminé

Configuration détaillée des étiquettes

yaml
annotation_schemes:
  - annotation_type: image_annotation
    name: objects
    description: "Annotate all visible objects"
    tools:
      - bbox
    labels:
      - name: person
        color: "#FF6B6B"
        description: "Any human, partial or full"
        keyboard_shortcut: "p"
 
      - name: car
        color: "#4ECDC4"
        description: "Cars, trucks, SUVs"
        keyboard_shortcut: "c"
 
      - name: motorcycle
        color: "#45B7D1"
        description: "Motorcycles and scooters"
        keyboard_shortcut: "m"
 
      - name: bicycle
        color: "#96CEB4"
        description: "Bicycles of all types"
        keyboard_shortcut: "b"
 
      - name: traffic_light
        color: "#FFEAA7"
        description: "Traffic signals"
        keyboard_shortcut: "t"
 
      - name: stop_sign
        color: "#DDA0DD"
        description: "Stop signs"
        keyboard_shortcut: "s"

Ajout d'attributs aux objets

Capturez des informations supplémentaires sur chaque boîte :

yaml
annotation_schemes:
  - annotation_type: image_annotation
    name: objects
    tools:
      - bbox
    labels:
      - name: person
        color: "#FF6B6B"
        attributes:
          - name: occlusion
            type: radio
            options: [none, partial, heavy]
          - name: truncated
            type: checkbox
            description: "Object extends beyond image"
          - name: difficult
            type: checkbox
            description: "Hard to identify"

Lorsque les annotateurs dessinent une boîte, ils sont invités à remplir ces attributs.

Règles de validation

Assurez la qualité de l'annotation avec la validation :

yaml
annotation_schemes:
  - annotation_type: image_annotation
    name: objects
    tools:
      - bbox
    labels: [...]
    min_annotations: 1

Raccourcis clavier

Potato inclut des raccourcis clavier intégrés pour une annotation efficace :

  • Les touches numériques sélectionnent les étiquettes
  • Supprimer retire les annotations sélectionnées
  • Les touches fléchées naviguent entre les éléments

Options d'affichage

Configurez les paramètres d'affichage des images :

yaml
image_display:
  width: 800
  height: 600

Configuration de production complète

yaml
annotation_task_name: "Autonomous Driving - Object Detection"
 
data_files:
  - "data/driving_frames.json"
 
annotation_schemes:
  - annotation_type: image_annotation
    name: objects
    description: "Annotate all traffic participants and objects"
    tools:
      - bbox
    min_annotations: 1
    labels:
      - name: vehicle
        color: "#FF6B6B"
        keyboard_shortcut: "v"
        attributes:
          - name: type
            type: radio
            options: [car, truck, bus, motorcycle, bicycle]
          - name: occlusion
            type: radio
            options: [0%, 1-25%, 26-50%, 51-75%, 76-99%]
 
      - name: pedestrian
        color: "#4ECDC4"
        keyboard_shortcut: "p"
        attributes:
          - name: pose
            type: radio
            options: [standing, walking, sitting, lying]
          - name: age_group
            type: radio
            options: [child, adult, elderly]
 
      - name: cyclist
        color: "#45B7D1"
        keyboard_shortcut: "c"
 
      - name: traffic_sign
        color: "#FFEAA7"
        keyboard_shortcut: "t"
        attributes:
          - name: sign_type
            type: radio
            options: [stop, yield, speed_limit, warning, other]
 
      - name: traffic_light
        color: "#DDA0DD"
        keyboard_shortcut: "l"
        attributes:
          - name: state
            type: radio
            options: [red, yellow, green, off, unknown]

Format de sortie

json
{
  "frame_id": "frame_0001",
  "frame_path": "/images/frame_0001.jpg",
  "image_dimensions": {"width": 1920, "height": 1080},
  "annotations": {
    "objects": [
      {
        "label": "vehicle",
        "bbox": [450, 380, 680, 520],
        "attributes": {
          "type": "car",
          "occlusion": "0%"
        }
      },
      {
        "label": "pedestrian",
        "bbox": [820, 400, 870, 550],
        "attributes": {
          "pose": "walking",
          "age_group": "adult"
        }
      }
    ]
  }
}

Conseils pour des boîtes englobantes de qualité

  1. Boîtes serrées : Minimisez l'arrière-plan dans les boîtes
  2. Règles cohérentes : Documentez clairement les cas limites
  3. Sessions de calibration : Examinez les exemples ensemble
  4. Suivez les métriques : Surveillez le nombre et la distribution des tailles des boîtes

Prochaines étapes


Documentation complète sur /docs/features/image-annotation.