Segmentation d'instance
Découvrez comment la segmentation d'instance affine la détection d'objets avec une précision au niveau du pixel, permettant des masques d'objets détaillés pour les applications d'IA.
La segmentation d'instance est une tâche avancée de vision par ordinateur (CV) qui identifie et délimite les objets individuels dans une image au niveau du pixel. Contrairement à d'autres tâches de vision, elle ne se contente pas de classer une image ou de dessiner une boîte englobante autour des objets ; elle génère plutôt un masque précis au niveau du pixel pour chaque instance d'objet distincte. Cette technique fournit une compréhension beaucoup plus approfondie d'une scène, car elle peut différencier les objets qui se chevauchent de la même classe.
Instance vs. Sémantique et Détection d'Objets
Il est important de distinguer la segmentation d'instance des autres tâches de vision par ordinateur connexes.
- Détection d'objets: Cette tâche identifie la présence et l'emplacement des objets, généralement en dessinant des boîtes englobantes rectangulaires autour d'eux et en attribuant une étiquette de classe. Elle répond à la question « Qu'y a-t-il dans l'image et où est-ce ? » mais ne fournit pas d'informations sur la forme.
- Segmentation sémantique : Cette tâche consiste à classer chaque pixel d'une image dans une catégorie spécifique. Par exemple, elle étiquetterait tous les pixels appartenant à des voitures comme « voiture », mais elle ne ferait pas de distinction entre deux voitures différentes dans l'image. Elle répond à la question « À quelle catégorie appartient chaque pixel ? »
- Segmentation d'instance: Ceci combine les capacités de la détection d'objets et de la segmentation sémantique. Il détecte chaque instance d'objet et génère un masque de segmentation unique pour celle-ci. Dans une image avec trois voitures, la segmentation d'instance produirait trois masques distincts, chacun correspondant à une voiture spécifique.
- Segmentation panoptique : Il s'agit de la plus complète des tâches de segmentation, fusionnant la segmentation sémantique et la segmentation d'instance. Elle attribue à chaque pixel une étiquette de classe et un identifiant d'instance unique, fournissant une compréhension complète et unifiée de la scène.
Comment fonctionne la segmentation d'instance ?
Les modèles de segmentation d'instance remplissent généralement deux fonctions principales : premièrement, ils détectent toutes les instances d'objets dans une image, et deuxièmement, ils génèrent un masque de segmentation pour chaque instance détectée. Ce processus a été rendu célèbre par des architectures comme Mask R-CNN, qui étend les détecteurs d'objets comme Faster R-CNN en ajoutant une branche parallèle qui prédit un masque binaire pour chaque région d'intérêt. Les modèles modernes ont encore affiné ce processus pour une meilleure vitesse et précision, permettant une inférence en temps réel dans de nombreuses applications. Le développement repose souvent sur des frameworks d'apprentissage profond puissants tels que PyTorch et TensorFlow.
Applications concrètes
Les contours d'objets détaillés fournis par la segmentation d'instance sont précieux dans de nombreux domaines.
- Véhicules autonomes : Les voitures autonomes s'appuient sur la segmentation d'instance pour identifier précisément la forme et l'emplacement des piétons, des véhicules et des cyclistes individuels. Ce niveau de détail granulaire est essentiel pour une navigation et une planification de trajectoire sûres, en particulier dans les environnements urbains complexes avec de nombreux objets qui se chevauchent. Des ensembles de données comme Cityscapes ont joué un rôle déterminant dans l'avancement de ce domaine.
- Analyse d'images médicales : En radiologie, la segmentation d'instance est utilisée pour délimiter les tumeurs, les lésions et les organes à partir d'images tomodensitométriques ou IRM avec une grande précision. Cela aide les médecins à mesurer la taille d'une tumeur, à planifier des interventions chirurgicales et à surveiller l'efficacité du traitement. Vous pouvez en apprendre davantage à ce sujet dans notre article de blog sur l'utilisation de YOLO11 pour la détection de tumeurs.
- Robotique : Les robots utilisent la segmentation d'instance pour comprendre leur environnement, identifier des objets spécifiques à saisir et éviter les obstacles avec une plus grande précision. Ceci est crucial pour les tâches dans la fabrication et la logistique.
- Analyse d'Imagerie Satellitaire : Cette technique est utilisée pour compter les arbres individuels dans une forêt, cartographier les bâtiments dans une ville ou suivre les changements dans l'utilisation des terres au fil du temps avec les données d'organisations comme la NASA.
- Agriculture : Il peut être utilisé pour identifier et compter les fruits individuels pour l'estimation du rendement ou pour détecter les mauvaises herbes spécifiques pour l'application ciblée d'herbicides, un élément clé de l'agriculture de précision.
Segmentation d'instance avec Ultralytics YOLO
Ultralytics fournit des modèles de pointe capables de réaliser une segmentation d'instance efficace. Des modèles comme YOLOv8 et le dernier YOLO11 sont conçus pour offrir des performances élevées sur diverses tâches de vision, y compris la segmentation d'instance. Vous trouverez plus de détails dans notre documentation pour la tâche de segmentation. Les utilisateurs peuvent exploiter des modèles pré-entraînés ou effectuer un fine-tuning sur des datasets personnalisés comme COCO en utilisant des outils comme la plateforme Ultralytics HUB, qui simplifie le workflow de machine learning (ML), de la gestion des données au déploiement du modèle. Pour une implémentation pratique, des ressources telles que notre tutoriel sur la segmentation avec les modèles Ultralytics YOLOv8 pré-entraînés ou notre guide sur l'isolation des objets de segmentation sont disponibles. Vous pouvez également apprendre comment utiliser Ultralytics YOLO11 pour la segmentation d'instance.