Instance Segmentation
Apprends comment la segmentation d'instance permet la détection d'objets au niveau du pixel. Découvre comment utiliser Ultralytics YOLO26 pour la génération de masques haute vitesse et bien plus.
La segmentation d'instance est une technique sophistiquée en computer vision (CV) qui identifie et délimite chaque objet d'intérêt distinct dans une image au niveau du pixel. Alors que la object detection standard localise les éléments à l'aide de bounding boxes rectangulaires, la segmentation d'instance approfondit l'analyse en générant un masque précis pour chaque entité détectée. Cette capacité permet aux modèles de artificial intelligence (AI) de faire la distinction entre des objets individuels d'une même classe — comme séparer deux personnes qui se chevauchent — offrant ainsi une compréhension plus riche et plus détaillée de la scène visuelle par rapport à des méthodes de classification plus simples.
Distinguer les types de segmentation#
Pour bien saisir l'utilité de la segmentation d'instance, 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.
- Semantic Segmentation : Cette approche classe chaque pixel d'une image dans une catégorie (par exemple, "route", "ciel", "voiture"). Cependant, elle ne fait pas la distinction entre des objets séparés d'une même catégorie. Si trois voitures sont garées les unes à côté des autres, la segmentation sémantique les perçoit comme une seule et unique région de "voiture".
- Instance Segmentation : Cette méthode traite chaque objet comme une entité unique. Elle détecte des instances individuelles et attribue un label unique aux pixels de chacune d'elles. Dans l'exemple des voitures garées, la segmentation d'instance créerait trois masques distincts, identifiant séparément "Voiture A", "Voiture B" et "Voiture C".
- Panoptic Segmentation : Une approche hybride qui combine le étiquetage d'arrière-plan de la segmentation sémantique avec l'identification d'objets comptables de la segmentation d'instance.
La mécanique de l'analyse au niveau du pixel#
Les modèles de segmentation d'instance modernes reposent généralement sur des architectures de deep learning (DL) avancées, en particulier les Convolutional Neural Networks (CNNs). Ces réseaux extraient des caractéristiques d'une image pour prédire à la fois la classe d'un objet et son contour spatial. Historiquement, les architectures à deux étapes telles que Mask R-CNN constituaient la norme, proposant d'abord des régions d'intérêt avant de les affiner en masques.
Cependant, des avancées récentes ont conduit à des détecteurs à une seule étape comme YOLO26, qui effectuent la détection et la segmentation simultanément. Cette approche "de bout en bout" améliore considérablement les vitesses d'real-time inference, permettant 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'instance sont essentielles pour les secteurs où la compréhension de la forme et de la position exactes d'un objet est nécessaire à la prise de décision.
- AI in Healthcare : En diagnostic médical, il est essentiel d'identifier la taille et la forme exactes des tumeurs ou des lésions. La segmentation d'instance permet aux modèles de contourner les anomalies dans les MRI scans avec une grande précision, aidant les radiologues dans la planification des traitements et le suivi de la progression de la maladie.
- Autonomous Vehicles : Les voitures autonomes s'appuient sur la segmentation pour naviguer dans des environnements complexes. En utilisant des jeux de données tels que Cityscapes, les véhicules peuvent identifier les surfaces carrossables, reconnaître le marquage au sol et séparer les piétons individuels dans des passages piétons encombrés pour garantir la sécurité.
- AI in Agriculture : L'agriculture de précision utilise la segmentation pour surveiller la santé des cultures. Des robots équipés de systèmes de vision peuvent identifier des fruits individuels pour la récolte automatisée ou détecter des mauvaises herbes spécifiques pour une application ciblée d'herbicides, réduisant ainsi l'utilisation de produits chimiques et optimisant les rendements.
Implémenter la segmentation avec Python#
Tu peux facilement implémenter la segmentation d'instance à l'aide de 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 que puissante, la segmentation d'instance est intensive en calcul par rapport à la simple détection de boîtes englobantes. La génération de masques parfaits au niveau du pixel nécessite d'importantes GPU resources et une data annotation précise. L'annotation de données pour ces tâches implique de dessiner des polygones serrés autour de chaque objet, ce qui peut prendre du temps.
Pour simplifier ce processus, les équipes utilisent souvent des outils tels que Ultralytics Platform, qui propose des fonctionnalités de gestion de jeux de données, d'annotation automatique et d'entraînement dans le cloud. Cela te permet d'affiner des modèles sur des données personnalisées — telles que des pièces industrielles spécifiques ou des spécimens biologiques — et de les déployer efficacement sur des appareils edge AI à l'aide de formats optimisés comme ONNX ou TensorRT.






