Segmentation d'images
Découvrez la puissance de la segmentation d'images avec Ultralytics YOLO. Explorez la précision au niveau du pixel, les types, les applications et les cas d'utilisation de l'IA dans le monde réel.
La segmentation d'images est une technique fondamentale de la vision par ordinateur (VA) qui consiste à diviser une image numérique en plusieurs régions ou segments distincts. L'objectif principal est d'attribuer une étiquette de classe à chaque pixel de l'image, en simplifiant essentiellement la représentation de l'image en quelque chose de plus significatif et de plus facile à analyser pour les machines. Contrairement à la détection d'objets, qui identifie les objets à l'aide de boîtes de délimitation rectangulaires, la segmentation d'images fournit une compréhension beaucoup plus granulaire, au niveau des pixels, du contenu de l'image, en soulignant la forme exacte des objets. Cette précision est cruciale pour les tâches exigeant une connaissance détaillée de l'espace.
Comment fonctionne la segmentation d'images ?
Les algorithmes de segmentation d'images examinent une image pixel par pixel et regroupent en segments les pixels qui partagent certaines caractéristiques, telles que la couleur, l'intensité, la texture ou l'emplacement spatial. Les premières méthodes reposaient sur des techniques telles que le seuillage, la croissance des régions et le regroupement(K-Means, DBSCAN). Cependant, les approches modernes s'appuient fortement sur l'apprentissage profond, en particulier sur les réseaux neuronaux convolutifs (CNN). Ces réseaux neuronaux apprennent des caractéristiques hiérarchiques complexes directement à partir des données d'apprentissage afin d'effectuer une classification par pixel. Le résultat typique est un masque de segmentation, une image où la valeur de chaque pixel correspond à l'étiquette de classe à laquelle il appartient, mettant visuellement en évidence les limites précises des objets ou des régions. Des frameworks comme PyTorch et TensorFlow sont couramment utilisés pour construire et entraîner ces modèles.
Types de segmentation d'images
Les tâches de segmentation d'images peuvent varier en fonction de la manière dont les objets et les classes sont traités :
- Segmentation sémantique: Assigne chaque pixel à une catégorie prédéfinie (par exemple, "voiture", "route", "ciel"). Elle ne fait pas de distinction entre les différentes instances d'une même classe d'objets. Toutes les voitures, par exemple, partageraient la même étiquette.
- Segmentation de l'instance: Elle va plus loin que la segmentation sémantique en identifiant et en délimitant chaque instance d'objet individuel dans une image. Chaque voiture distincte reçoit un identifiant ou un masque unique, même si elle appartient à la même classe. Cette méthode est particulièrement utile lorsqu'il est nécessaire de compter ou de suivre des objets individuels.
- Segmentation panoptique: Combine la segmentation sémantique et la segmentation par instance. Elle attribue une étiquette de classe à chaque pixel (comme la segmentation sémantique) et identifie de manière unique chaque instance d'objet (comme la segmentation d'instance). Elle permet une compréhension globale et unifiée de la scène.
Distinguer la segmentation d'images des termes apparentés
- Segmentation d'images et détection d'objets: La détection d'objets dessine des boîtes de délimitation autour des objets, indiquant leur emplacement et leur classe. La segmentation d'image fournit un masque au niveau des pixels qui décrit la forme exacte de chaque objet ou région, offrant plus de détails qu'une simple boîte.
- Segmentation et classification des images: La classification d'images attribue une étiquette unique à l'ensemble de l'image (par exemple, "contient un chat"). La segmentation d'images attribue une étiquette à chaque pixel de l'image, identifiant ainsi plusieurs objets ou régions et leurs formes.
- Segmentation d'images et reconnaissance d'images: La reconnaissance d'images est un terme plus large qui désigne les tâches dans lesquelles l'intelligence artificielle identifie des objets, des personnes, des lieux, etc. dans des images. La segmentation d'images est un type spécifique de reconnaissance d'images qui se concentre sur le partitionnement au niveau des pixels.
Applications dans le monde réel
L'analyse détaillée fournie par la segmentation d'images permet de nombreuses applications :
- Analyse d'images médicales: La segmentation est essentielle pour identifier et mettre en évidence les tumeurs, les organes ou les anomalies dans les tomodensitogrammes, les IRM et les radiographies. Par exemple, les modèles YOLO d'Ultralytics peuvent segmenter précisément les tumeurs, aidant ainsi les radiologues dans leur diagnostic et la planification de leur traitement en quantifiant la taille et la forme exactes des zones affectées, ce qui est souvent plus instructif que de simplement détecter leur présence à l'aide d'une boîte englobante. Diverses techniques d'imagerie médicale bénéficient considérablement de ce niveau de détail.
- Véhicules autonomes: Les voitures autonomes s'appuient fortement sur la segmentation pour comprendre leur environnement à un niveau granulaire. Par exemple, la segmentation de la route, du marquage des voies, des piétons, des autres véhicules et des obstacles permet à la voiture de naviguer en toute sécurité. Connaître exactement la zone carrossable (segmentation de la route) par rapport aux zones non carrossables (trottoirs, barrières) est essentiel pour planifier la trajectoire et atteindre des niveaux plus élevés d'automatisation de la conduite.
- Analyse d'images satellites: Utilisée pour la classification de l'occupation des sols (identification des forêts, des plans d'eau, des zones urbaines), la surveillance de la déforestation et les applications agricoles telles que la surveillance des cultures(IA dans l'agriculture).
- Fabrication : Détecter les défauts ou effectuer des contrôles de qualité sur les chaînes de montage.
- Commerce de détail : Analyse de l'agencement des rayons ou suivi des stocks.
Segmentation d'images et analyse ultrasonique YOLO
Les modèles YOLO d'Ultralytics, tels que YOLOv8 et YOLO11, offrent des performances de pointe pour les tâches de segmentation d'instances, en équilibrant la vitesse et la précision pour l'inférence en temps réel. Le cadre Ultralytics simplifie le processus d'entraînement des modèles de segmentation personnalisés sur des ensembles de données tels que COCO ou des ensembles de données spécialisés tels que les pièces de voiture ou la segmentation des fissures. Des outils comme Ultralytics HUB offrent une plateforme rationalisée pour la gestion des ensembles de données, l'entraînement des modèles(entraînement dans le nuage disponible) et leur déploiement. Vous pouvez explorer la documentation de la tâche de segmentation pour les détails de mise en œuvre ou suivre des guides comme la segmentation avec des modèles YOLOv8 pré-entraînés ou la segmentation d'images avec YOLO11 sur Google Colab.