Segmentation d’instances

La segmentation d’instances détecte et segmente chaque objet dans une image au niveau du pixel, permettant une reconnaissance précise des objets pour des applications avancées d’IA.

La segmentation d’instances consiste à détecter et à délimiter chaque objet d’intérêt distinct apparaissant dans une image. Contrairement à la détection d’objets traditionnelle, qui fournit des boîtes englobantes autour des objets, la segmentation d’instances va plus loin en identifiant l’emplacement exact de chaque objet au niveau du pixel, produisant une compréhension plus précise et détaillée du contenu de l’image.

La segmentation d’instances est essentielle dans les situations où il est important non seulement de détecter les objets, mais aussi de distinguer plusieurs instances d’une même classe d’objets et de comprendre leurs formes et emplacements précis dans une image.

Comprendre la segmentation d’instances

Pour bien saisir la segmentation d’instances, il est utile de la comparer à d’autres types de tâches de segmentation d’images : la segmentation sémantique et la segmentation panoptique.

Différence entre segmentation d’instances et segmentation sémantique

La segmentation sémantique consiste à classer chaque pixel d’une image selon un ensemble de catégories ou classes prédéfinies. Tous les pixels appartenant à une même classe (par ex., « voiture », « personne », « arbre ») sont étiquetés de la même façon, sans distinguer les différentes instances d’une même classe.

La segmentation d’instances, quant à elle, non seulement classe chaque pixel, mais différencie également les instances séparées d’une même classe. S’il y a plusieurs voitures dans une image, la segmentation d’instances va identifier et délimiter chaque voiture individuellement, en attribuant des identifiants uniques à chacune. Cela est crucial dans les applications où la reconnaissance et le suivi d’objets individuels sont nécessaires.

Différence entre segmentation d’instances et segmentation panoptique

La segmentation panoptique combine les objectifs de la segmentation sémantique et de la segmentation d’instances. Elle fournit une compréhension complète de la scène en attribuant à chaque pixel de l’image une étiquette sémantique et un identifiant d’instance. Elle gère à la fois les classes « choses » (objets dénombrables comme les personnes et les voitures) et les classes « trucs » (régions amorphes comme le ciel, la route ou l’herbe). La segmentation d’instances se concentre principalement sur les « choses », en détectant et segmentant les instances individuelles d’objets.

Comment fonctionne la segmentation d’instances ?

Les algorithmes de segmentation d’instances font généralement appel à des techniques d’apprentissage profond, en particulier les réseaux de neurones convolutifs (CNN), pour analyser les images et générer des masques de segmentation pour chaque instance d’objet.

Composants clés des modèles de segmentation d’instances

  1. Extraction de caractéristiques (encodeur) : Première étape, l’extraction de caractéristiques. Un réseau encodeur, souvent un CNN, traite l’image d’entrée pour extraire des caractéristiques représentant le contenu visuel.
  2. Proposition de régions : Le modèle propose des régions dans l’image susceptibles de contenir des objets, souvent à l’aide de réseaux de proposition de régions (RPN).
  3. Classification et localisation : Pour chaque région proposée, le modèle classe l’objet (par ex., « voiture », « personne ») et ajuste la boîte englobante.
  4. Prédiction du masque (tête de segmentation) : L’étape finale génère un masque de segmentation pour chaque instance d’objet—une représentation pixel par pixel indiquant quels pixels appartiennent à l’objet.

Modèles populaires de segmentation d’instances

Mask R-CNN

Mask R-CNN est l’une des architectures les plus utilisées pour la segmentation d’instances. Il étend le modèle Faster R-CNN en ajoutant une branche dédiée à la prédiction des masques de segmentation sur chaque région d’intérêt (RoI) en parallèle avec la branche existante de classification et de régression des boîtes englobantes.

Comment fonctionne Mask R-CNN :

  • Extraction de caractéristiques : Une image d’entrée est traitée par un CNN backbone (par ex., ResNet) pour générer une carte de caractéristiques.
  • Réseau de proposition de régions (RPN) : La carte de caractéristiques est utilisée pour générer des propositions de régions susceptibles de contenir des objets.
  • RoI Align : Les régions sont extraites de la carte de caractéristiques à l’aide de RoI Align, préservant l’alignement spatial.
  • Têtes de prédiction :
    • Tête de classification et de régression des boîtes : Pour chaque RoI, le modèle prédit la classe de l’objet et affine les coordonnées de la boîte englobante.
    • Tête de masque : Un réseau convolutif prédit un masque binaire pour chaque RoI, indiquant les pixels exacts appartenant à l’objet.

Autres modèles

  • YOLACT : Un modèle de segmentation d’instances en temps réel combinant la rapidité de la détection single-shot à la segmentation d’instances.
  • SOLO & SOLOv2 : Modèles entièrement convolutifs qui segmentent les objets en attribuant des catégories d’instances à chaque pixel sans proposer d’objets.
  • BlendMask : Combine les approches top-down et bottom-up, fusionnant caractéristiques grossières et fines pour des masques de haute qualité.

Applications de la segmentation d’instances

La segmentation d’instances offre des capacités détaillées de détection et de segmentation d’objets pour des tâches complexes dans de nombreux secteurs.

Imagerie médicale

  • Application : Analyse automatisée d’images médicales (IRM, scanner, histopathologie).
  • Cas d’utilisation : Détection et délimitation de cellules, tumeurs ou structures anatomiques individuelles. Par exemple, segmentation des noyaux dans les images d’histopathologie pour la détection du cancer.
  • Exemple : Segmenter les tumeurs sur des images IRM aide les radiologues à évaluer les lésions pour la planification des traitements.

Conduite autonome

  • Application : Systèmes de perception des véhicules autonomes.
  • Cas d’utilisation : Permet aux véhicules autonomes de détecter et de séparer les objets comme les voitures, piétons, cyclistes et panneaux de signalisation.
  • Exemple : Permet à une voiture autonome de distinguer plusieurs piétons marchant côte à côte et de prédire leurs mouvements.

Robotique

  • Application : Manipulation et interaction d’objets dans les systèmes robotiques.
  • Cas d’utilisation : Les robots reconnaissent et interagissent avec des objets individuels dans des environnements encombrés (par ex., tri et prélèvement d’articles en entrepôt).
  • Exemple : Un bras robotisé utilise la segmentation d’instances pour saisir des composants spécifiques dans un tas mélangé.

Imagerie satellite et aérienne

  • Application : Analyse d’images satellites/drones pour la surveillance environnementale, l’urbanisme et l’agriculture.
  • Cas d’utilisation : Segmentation de bâtiments, véhicules, cultures ou arbres pour la gestion des ressources et la réponse aux catastrophes.
  • Exemple : Compter les arbres individuels dans un verger pour évaluer leur santé et optimiser la récolte.

Contrôle qualité en industrie

  • Application : Inspection automatisée et détection de défauts en fabrication.
  • Cas d’utilisation : Identifier et isoler des produits ou composants pour détecter les défauts et assurer le contrôle qualité.
  • Exemple : Détecter et segmenter des microprocesseurs pour identifier des défauts de fabrication.

Réalité augmentée (AR)

  • Application : Reconnaissance et interaction d’objets dans des applications AR.
  • Cas d’utilisation : Reconnaître et segmenter des objets afin que des éléments virtuels puissent interagir avec des objets réels.
  • Exemple : Segmenter le mobilier d’une pièce pour permettre à l’utilisateur de visualiser l’intégration de nouveaux meubles en AR.

Analyse vidéo et surveillance

  • Application : Suivi de mouvement et analyse comportementale dans les systèmes de sécurité.
  • Cas d’utilisation : Suivi d’objets individuels dans des vidéos au fil du temps pour détecter des schémas de mouvement et des activités.
  • Exemple : Suivre les déplacements de clients dans un magasin pour optimiser l’agencement et limiter la démarque.

Exemples et cas d’utilisation

Imagerie médicale : comptage et analyse de cellules

  • Processus :
    • Les images de microscopie sont traitées par un modèle de segmentation d’instances.
    • Le modèle identifie chaque cellule, même si elles se chevauchent ou ont des formes irrégulières.
    • Les cellules segmentées sont comptées et analysées pour leur taille et leur morphologie.
  • Avantages :
    • Précision et efficacité accrues.
    • Permet des études à grande échelle.
    • Fournit des données quantitatives pour la recherche ou le diagnostic.

Conduite autonome : détection de piétons

  • Processus :
    • Des caméras embarquées capturent des images en temps réel.
    • Des modèles de segmentation d’instances identifient et segmentent chaque piéton.
    • Le système prédit les mouvements et ajuste le comportement du véhicule.
  • Avantages :
    • Sécurité et navigation renforcées.
    • Meilleur respect des normes de sécurité.

Robotique : tri d’objets en entrepôt

  • Processus :
    • Des caméras capturent des images des articles sur un convoyeur.
    • Les modèles de segmentation d’instances identifient et segmentent les articles, même s’ils se chevauchent.
    • Les robots utilisent ces données pour saisir et trier les objets.
  • Avantages :
    • Efficacité et rapidité accrues du tri.
    • Réduction de la mauvaise manipulation ou des dommages.
    • Gestion de lots de produits complexes.

Imagerie satellite : suivi du développement urbain

  • Processus :
    • Les images satellites sont analysées pour segmenter les bâtiments.
    • Les changements sont suivis en comparant les résultats sur différentes périodes.
  • Avantages :
    • Données détaillées sur la croissance urbaine.
    • Aide à la planification et à l’allocation des ressources.
    • Évaluation de l’impact environnemental.

Lien entre segmentation d’instances, automatisation IA et chatbots

Bien que la segmentation d’instances soit une tâche de vision par ordinateur, elle joue un rôle majeur dans l’automatisation IA en fournissant une compréhension visuelle détaillée permettant aux systèmes d’automatisation d’interagir intelligemment avec le monde physique.

Intégration avec l’automatisation IA

  • Automatisation robotique :
    • Les robots utilisent la segmentation d’instances pour comprendre leur environnement et effectuer des tâches de façon autonome.
    • Exemple : Les drones utilisent la segmentation pour naviguer et éviter les obstacles.
  • Automatisation industrielle :
    • L’inspection automatisée utilise la segmentation pour détecter les défauts et garantir la qualité.

Amélioration des capacités d’IA dans les chatbots et assistants virtuels

Bien que les chatbots soient principalement textuels, intégrer la segmentation d’instances élargit leurs capacités grâce à des interfaces visuelles.

  • Chatbots visuels : Les chatbots interprètent les images envoyées par les utilisateurs et fournissent des informations détaillées sur les objets grâce à la segmentation d’instances.
  • Support client : Les utilisateurs peuvent envoyer des photos de produits présentant un problème ; les chatbots identifient les zones concernées et fournissent de l’aide.
  • Outils d’accessibilité : Pour les personnes malvoyantes, les systèmes d’IA peuvent décrire une scène en détail en identifiant chaque objet par segmentation.

Avancées et avenir de la segmentation d’instances

La segmentation d’instances évolue rapidement grâce aux progrès de l’apprentissage profond et des méthodes de calcul.

Segmentation d’instances en temps réel

  • Techniques : Optimisation des réseaux pour un calcul allégé, détecteurs single-shot pour une inférence plus rapide.
  • Défis : Trouver l’équilibre entre vitesse et précision, gestion des ressources sur appareils embarqués.

Combinaison avec d’autres modalités

  • Données multimodales : Combiner la segmentation avec lidar, radar ou imagerie thermique pour une perception plus robuste.
    • Exemple : Fusion d’images caméra et lidar pour les véhicules autonomes.

Apprentissage semi-supervisé et non supervisé

  • Approches : L’apprentissage semi-supervisé utilise quelques données annotées et beaucoup de non-annotées ; l’apprentissage non supervisé découvre des motifs sans étiquettes.
  • Avantages : Réduction des coûts d’annotation, accès facilité pour des domaines spécialisés.

Edge computing et déploiement

  • Applications : Objets connectés et wearables réalisant de la segmentation locale pour la confidentialité et l’efficacité.
  • Enjeux : Optimisation des modèles pour une faible consommation et des ressources limitées.

La segmentation d’instances accroît la capacité des systèmes d’IA à interagir avec le monde, stimulant les progrès dans des domaines comme l’imagerie médicale, les véhicules autonomes et la robotique. À mesure que la technologie avance, la segmentation d’instances deviendra encore plus centrale dans les solutions IA.

Recherche sur la segmentation d’instances

La segmentation d’instances est une tâche cruciale de vision par ordinateur qui consiste à détecter, classer et segmenter chaque instance d’objet dans une image. Elle combine détection d’objets et segmentation sémantique pour fournir des analyses détaillées. Les contributions majeures incluent :

  1. Learning Panoptic Segmentation from Instance Contours
    Cette recherche présente un réseau de neurones intégralement convolutif qui apprend la segmentation d’instances à partir de la segmentation sémantique et des contours d’instance (bords des objets). Les contours d’instance et la segmentation sémantique permettent une segmentation sensible aux frontières. Un étiquetage des composantes connexes produit ensuite la segmentation d’instances. Évalué sur le jeu de données CityScapes avec plusieurs études.

    Thumbnail for Learning Panoptic Segmentation from Instance Contours

  2. Ensembling Instance and Semantic Segmentation for Panoptic Segmentation
    Cet article décrit une solution pour la tâche de segmentation panoptique COCO 2019 en effectuant séparément la segmentation d’instances et la segmentation sémantique, puis en les combinant. La performance a été améliorée avec des modèles experts de Mask R-CNN pour le déséquilibre des données et le modèle HTC pour la meilleure segmentation d’instances. Les stratégies d’ensemble ont encore renforcé les résultats, atteignant un score PQ de 47.1 sur les données COCO panoptic test-dev.
    Lire la suite

  3. Insight Any Instance: Promptable Instance Segmentation for Remote Sensing Images
    Cette étude aborde les défis de la segmentation d’instances sur images de télédétection (déséquilibre avant-plan/arrière-plan, petites instances) en proposant un nouveau paradigme de prompt. Les modules de prompt local et global-à-local aident à modéliser le contexte, rendant les modèles plus promptables et améliorant la segmentation.
    Lire la suite


Questions fréquemment posées

Qu’est-ce que la segmentation d’instances ?

La segmentation d’instances est une technique de vision par ordinateur qui détecte, classe et segmente chaque objet individuel dans une image au niveau du pixel, fournissant des informations plus détaillées que la détection d’objets standard ou la segmentation sémantique.

En quoi la segmentation d’instances diffère-t-elle de la segmentation sémantique ?

La segmentation sémantique attribue une étiquette de classe à chaque pixel mais ne fait pas la distinction entre différents objets d’une même classe. La segmentation d’instances étiquette non seulement chaque pixel, mais différencie aussi les instances individuelles d’une même classe d’objets.

Quelles sont les applications courantes de la segmentation d’instances ?

La segmentation d’instances est utilisée en imagerie médicale (par ex., détection de tumeurs), conduite autonome (reconnaissance et suivi d’objets), robotique (manipulation d’objets), imagerie satellite (urbanisme), industrie (contrôle qualité), réalité augmentée et vidéosurveillance.

Quels modèles sont populaires pour la segmentation d’instances ?

Les modèles populaires incluent Mask R-CNN, YOLACT, SOLO, SOLOv2 et BlendMask, chacun utilisant des techniques d’apprentissage profond pour générer des masques de segmentation précis pour les instances d’objets.

Comment la segmentation d’instances permet-elle l’automatisation par l’IA ?

En fournissant des délimitations précises des objets, la segmentation d’instances permet aux systèmes d’IA d’interagir intelligemment avec le monde physique—permettant des tâches comme la préhension robotique, la navigation en temps réel, l’inspection automatisée et des chatbots améliorés avec compréhension visuelle.

Commencez à construire avec la segmentation d’instances

Découvrez comment les outils d’IA de FlowHunt peuvent vous aider à exploiter la segmentation d’instances pour une automatisation avancée, une détection d’objets détaillée et une prise de décision plus intelligente.

En savoir plus