Instance Segmentation
Apprends comment la segmentation d’instances permet la détection d’objets au niveau des pixels. Découvre comment utiliser Ultralytics YOLO26 pour générer rapidement des masques en temps réel, et bien plus encore.
La segmentation d’instances est une technique sophistiquée de vision par ordinateur (CV) qui identifie et délimite chaque objet distinct d’intérêt dans une image au niveau des pixels. Alors que la détection d’objets standard localise les éléments à l’aide de boîtes englobantes rectangulaires, la segmentation d’instances approfondit l’analyse en générant un masque précis pour chaque entité détectée. Cette capacité permet aux modèles d’intelligence artificielle (AI) de distinguer les objets individuels d’une même classe, par exemple en séparant deux personnes qui se chevauchent, offrant ainsi une compréhension plus riche et détaillée de la scène visuelle que les méthodes de classification plus simples.
Distinguer les types de segmentation#
Pour bien comprendre l’utilité de la segmentation d’instances, il est utile de la différencier d’autres tâches connexes de traitement d’image. Chaque méthode offre un niveau de granularité différent selon les exigences de l’application.
- Segmentation sémantique : Cette approche classe chaque pixel d’une image dans une catégorie (par exemple, « route », « ciel », « voiture »). Cependant, elle ne distingue pas les objets séparés d’une même catégorie. Si trois voitures sont garées côte à côte, la segmentation sémantique les considère comme une seule région de « voiture ».
- Segmentation d’instances : Cette méthode traite chaque objet comme une entité unique. Elle détecte les instances individuelles et attribue une étiquette unique aux pixels de chacune d’elles. Dans l’exemple des voitures garées, la segmentation d’instances créerait trois masques distincts, identifiant séparément la « voiture A », la « voiture B » et la « voiture C ».
- Segmentation panoptique : Une approche hybride qui combine l’étiquetage de l’arrière-plan de la segmentation sémantique avec l’identification des objets dénombrables de la segmentation d’instances.
Les mécanismes de l’analyse au niveau des pixels#
Les modèles modernes de segmentation d’instances reposent généralement sur des architectures avancées d’apprentissage profond (DL), en particulier les réseaux neuronaux convolutifs (CNNs). Ces réseaux extraient les caractéristiques d’une image afin de prédire à la fois la classe d’un objet et son contour spatial. Historiquement, les architectures à deux étapes comme Mask R-CNN constituaient la norme : elles proposaient d’abord des régions d’intérêt, puis les affinaient pour obtenir des masques.
Cependant, les avancées récentes ont donné naissance à des détecteurs en une seule étape comme YOLO26, qui effectuent simultanément la détection et la segmentation. Cette approche « de bout en bout » améliore considérablement les vitesses d’inférence en temps réel, ce qui permet d’appliquer une segmentation de haute précision à des flux vidéo en direct sur du matériel grand public.
Applications concrètes#
Les limites précises fournies par la segmentation d’instances sont essentielles dans les secteurs où il est nécessaire de comprendre la forme et la position exactes d’un objet pour prendre des décisions.
- IA dans le secteur de la santé : Dans le diagnostic médical, il est essentiel d’identifier la taille et la forme exactes des tumeurs ou des lésions. La segmentation d’instances permet aux modèles de délimiter les anomalies avec une grande précision sur des scans MRI, aidant les radiologues à planifier les traitements et à suivre l’évolution de la maladie.
- Véhicules autonomes : Les voitures autonomes s’appuient sur la segmentation pour naviguer dans des environnements complexes. En utilisant des jeux de données comme Cityscapes, les véhicules peuvent identifier les surfaces carrossables, reconnaître les marquages au sol et séparer les piétons individuels dans les passages piétons bondés afin d’assurer la sécurité.
- IA dans l’agriculture : L’agriculture de précision utilise la segmentation pour surveiller la santé des cultures. Les robots équipés de systèmes de vision peuvent identifier des fruits individuels pour automatiser la récolte ou détecter certaines mauvaises herbes afin d’appliquer des herbicides de manière ciblée, réduisant ainsi l’utilisation de produits chimiques et optimisant le rendement.
Implémenter la segmentation avec Python#
Les développeurs peuvent facilement implémenter la segmentation d’instances avec la bibliothèque ultralytics. L’exemple suivant montre comment charger un modèle YOLO26 préentraîné et générer des masques de segmentation pour une image.
from ultralytics import YOLO
# Load a pre-trained YOLO26 instance segmentation model
# The 'n' suffix denotes the nano version, optimized for speed
model = YOLO("yolo26n-seg.pt")
# Run inference on an image
# This predicts classes, bounding boxes, and masks
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the results
# Displays the image with overlaid segmentation masks
results[0].show()Défis et entraînement des modèles#
Bien qu’elle soit puissante, la segmentation d’instances est coûteuse en calcul par rapport à la simple détection par boîtes englobantes. La génération de masques parfaits au niveau des pixels nécessite d’importantes ressources GPU et une annotation précise des données. Annoter les données pour ces tâches consiste à dessiner des polygones ajustés autour de chaque objet, ce qui peut prendre beaucoup de temps.
Pour rationaliser ce processus, les équipes utilisent souvent des outils comme l’Ultralytics Platform, qui propose des fonctionnalités de gestion des jeux de données, d’auto-annotation et d’entraînement dans le cloud. Cela permet aux développeurs d’affiner les modèles sur des données personnalisées, telles que des pièces industrielles spécifiques ou des spécimens biologiques, puis de les déployer efficacement sur des appareils d’IA en périphérie à l’aide de formats optimisés comme ONNX ou TensorRT.









