Annotation par polygones pour les tâches de segmentation
Comment configurer les outils de dessin de polygones pour la segmentation d'images, avec des conseils pour les formes complexes et les régions superposées.
Annotation par polygones pour les tâches de segmentation
L'annotation par polygones permet de délimiter les contours d'objets avec une précision au pixel pour la segmentation sémantique et par instances. Ce guide couvre la configuration, les techniques d'annotation et les bonnes pratiques pour les tâches de segmentation complexes.
Quand utiliser les polygones vs les boîtes englobantes
| Utilisez les polygones quand | Utilisez les boîtes englobantes quand |
|---|---|
| Des contours précis sont nécessaires | Une localisation approximative suffit |
| Formes d'objets irrégulières | Les objets sont à peu près rectangulaires |
| Entraînement de modèles de segmentation | Entraînement de modèles de détection |
| Objets superposés | Objets non superposés |
| Précision élevée requise | La vitesse est prioritaire |
Configuration basique des polygones
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"Dessiner des polygones
Flux de travail basique
- Sélectionnez une étiquette dans la barre d'outils
- Cliquez pour placer des sommets autour de l'objet
- Double-cliquez ou appuyez sur Entrée pour fermer le polygone
- Ajustez les sommets en les faisant glisser
- Ajoutez des points en cliquant sur les arêtes
Raccourcis clavier
Potato fournit des raccourcis clavier intégrés pour l'édition de polygones :
- Entrée : fermer le polygone en cours
- Échap : annuler le dessin ou désélectionner
- Suppr : supprimer le sommet ou le polygone sélectionné
- +/- : zoom avant/arrière
- Espace + glisser : déplacer l'image
Gérer les scénarios complexes
Objets superposés
Pour les tâches avec des objets superposés, les annotateurs peuvent dessiner plusieurs polygones qui se chevauchent. Chaque polygone est stocké séparément dans la sortie, permettant une annotation au niveau des instances où les objets peuvent s'occulter mutuellement.
Conseils pour les contours complexes
Lors de l'annotation d'objets avec des contours complexes :
- Utilisez plus de sommets pour les bords courbes afin de capturer la forme avec précision
- Zoomez lors du traçage de contours détaillés
- Travaillez systématiquement autour du périmètre de l'objet
- Utilisez le mode édition pour affiner les positions des sommets après le dessin initial
Configuration de la segmentation sémantique
Pour une segmentation d'image complète :
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"Configuration de la segmentation par instances
Pour les instances individuelles d'objets :
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"Chaque polygone dessiné sera stocké comme une annotation distincte, vous permettant de suivre les instances individuelles de chaque classe d'objets.
Exemple de configuration complète
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"Format de sortie
Les annotations par polygones sont enregistrées dans la sortie d'annotation avec les coordonnées de chaque sommet :
{
"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]]
}
]
}
}Conseils pour des polygones de qualité
- Zoomez : travaillez à 2x ou plus pour les contours détaillés
- Utilisez les raccourcis clavier : bien plus rapide que de cliquer sur les outils
- Commencez par les éléments principaux : esquisse grossière d'abord, puis affinez
- Économie de sommets : utilisez le minimum de points nécessaires pour la précision
- Pauses régulières : le travail détaillé sur les polygones provoque de la fatigue
Prochaines étapes
- Combinez avec les boîtes englobantes pour des flux de travail hybrides
- Configurez le contrôle qualité pour la segmentation
- Apprenez-en plus sur la segmentation vidéo pour les données temporelles
Voir /docs/features/image-annotation pour la documentation complète sur les polygones.