Instance Segmentation
La segmentation par instance délimite chaque objet d’une image à l’aide de son propre masque de pixels, de sorte que les objets qui se touchent et appartiennent à une même classe restent distincts. Découvre les modèles, les métriques et le code.
La segmentation d’instances est une tâche de vision par ordinateur qui repère chaque objet dans une image, lui attribue une classe et en délimite le contour à l’aide de son propre masque au niveau des pixels. Elle combine le raisonnement par objet de la détection d’objets avec la précision au pixel de la segmentation d’image : alors qu’un détecteur dessine une boîte englobante rectangulaire qui contient aussi de l’arrière-plan, un modèle de segmentation d’instances indique exactement quels pixels appartiennent à chaque objet. Deux personnes côte à côte sont représentées par deux masques distincts et deux étiquettes, ce qui permet de compter, mesurer et détourer les objets individuellement.
Segmentation d’instances, sémantique et panoptique#
La segmentation d’instances est l’une des trois tâches de segmentation, qui se distinguent par le sens donné à une étiquette :
- Segmentation sémantique : attribue une classe à chaque pixel et regroupe tous les objets de cette classe en une seule région. Ainsi, trois voitures garées forment une seule zone « voiture ». Elle étiquette également les régions d’arrière-plan, comme la route et le ciel.
- Segmentation d’instances : attribue un masque et un identifiant propres à chaque objet dénombrable, ou « chose ». Les trois voitures deviennent ainsi voiture 1, voiture 2 et voiture 3. Les pixels qui n’appartiennent à aucun objet détecté restent sans étiquette.
- Segmentation panoptique : attribue une classe à chaque pixel et également un identifiant d’instance aux objets dénombrables, réunissant les deux approches dans une seule sortie.
Les modèles à invites comme le modèle Segment Anything (SAM) de Meta réalisent une segmentation interactive : ils renvoient un masque de la zone indiquée par un clic, une boîte ou une invite textuelle, sans liste de classes prédéfinie.
Fonctionnement des modèles de segmentation d’instances#
Les modèles à deux étapes commencent par détecter, puis segmentent. Mask R-CNN, l’architecture de référence établie en 2017, propose des régions candidates, classe et affine chaque boîte, puis prédit un petit masque de 28 × 28 dans chaque boîte à l’aide d’une branche de masque distincte.
Les modèles à une étape prédisent les boîtes et les masques en un seul passage, ce qui convient à l’inférence en temps réel. YOLACT a introduit l’architecture à prototypes également utilisée par les modèles de segmentation YOLO : le réseau prédit un ensemble partagé de masques prototypes pour toute l’image, ainsi qu’un court vecteur de coefficients de masque pour chaque objet détecté. Le masque de chaque objet est la somme pondérée des prototypes par ces coefficients, recadrée à sa boîte puis seuillée pour obtenir un masque binaire.
Les modèles basés sur les Transformers, comme Mask2Former, suivent une troisième approche : ils prédisent un ensemble fixe de requêtes de masque et utilisent la même architecture pour la segmentation sémantique, d’instances et panoptique.
Masques, polygones et métriques#
Les étiquettes d’entraînement sont généralement des polygones tracés autour de chaque objet, enregistrés dans des formats comme le JSON COCO ou les fichiers texte YOLO, qui contiennent pour chaque objet un identifiant de classe et une liste de sommets normalisés. À l’inférence, les modèles renvoient chaque instance sous forme de masque binaire, qui peut être reconverti en contour polygonal pour être enregistré ou dessiné. La précision est exprimée en précision moyenne des masques (mAP), calculée comme la mAP des boîtes, sauf que l’intersection sur union (IoU) est mesurée entre les masques prédits et les masques de référence. Tracer un polygone autour de chaque objet prend bien plus de temps que dessiner une boîte ; les modèles à invites comme SAM sont donc largement utilisés pour transformer un simple clic en masque provisoire, que la personne chargée de l’annotation corrige ensuite.
Les modèles de segmentation Ultralytics YOLO26, reconnaissables au suffixe -seg, utilisent l’architecture à prototypes avec 32 prototypes et 32 coefficients par détection. Ils renvoient chaque instance avec sa classe, sa boîte, son masque et son contour polygonal :
from ultralytics import YOLO
# Load a YOLO26 instance segmentation model pretrained on the 80 COCO classes
model = YOLO("yolo26n-seg.pt")
# Segment every object instance in the image
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Each instance has its own class and mask outline, even when classes repeat
for class_id, polygon in zip(result.boxes.cls.int().tolist(), result.masks.xy):
print(f"{result.names[class_id]}: outline with {len(polygon)} points")
result.save(filename="instance_segmentation.jpg")Chaque personne détectée s’affiche sur une ligne distincte avec son propre contour, et l’image enregistrée colore séparément le masque de chaque instance. Pour étiqueter tes propres données et entraîner un modèle, consulte comment entraîner YOLO26 personnalisé pour la segmentation d’instances ou la leçon de l’Ultralytics Academy Étiqueter et entraîner un modèle de segmentation d’instances.
Applications concrètes#
Les masques d’instances sont essentiels dès lors que la forme exacte ou le dénombrement des objets individuels détermine une décision :
- Préhension robotisée : un bras robotisé qui saisit des pièces dans un bac encombré a besoin du contour exact de chaque pièce pour choisir un point de préhension éloigné des objets voisins.
- Biologie cellulaire : les chaînes de traitement microscopique segmentent les cellules et les noyaux individuels, y compris ceux qui se touchent, pour les compter et mesurer leur taille et leur forme.
- Agriculture : les robots de récolte et les systèmes d’estimation du rendement distinguent les fruits individuels dans des feuillages denses pour les compter et estimer leur taille à partir de la surface de leur masque.
- Suivi d’objets vidéo : associer des masques d’instances à un système de suivi permet de suivre la silhouette exacte de chaque objet d’une image à l’autre.
- Véhicules autonomes : des jeux de données de conduite comme Cityscapes fournissent des étiquettes au niveau des instances pour huit classes de personnes et de véhicules, afin que les modèles de perception puissent distinguer chaque piéton dans une foule.










