La segmentation d’images est une technique couramment utilisée dans le traitement et l'analyse d'images afin de diviser une image en plusieurs parties ou régions, souvent en fonction des caractéristiques des pixels de l'image. La segmentation d’images peut impliquer de séparer l'arrière-plan du premier plan, ou d'effectuer un clustering des régions de pixels en fonction de leurs similarités en termes de couleur ou de forme. Par exemple, dans le domaine de l'imagerie médicale, la segmentation d’images est couramment utilisée pour détecter et labelliser les pixels d'une image ou les voxels d'un volume 3D, qui représentent une tumeur dans le cerveau ou dans d'autres organes d'un patient.
Importance de la segmentation d’images
Plusieurs algorithmes et techniques de segmentation d’images ont été développés dans le but de résoudre efficacement les problèmes de segmentation en utilisant des connaissances spécifiques au domaine. Ces applications concernent, notamment, l'imagerie médicale, la conduite autonome, la vidéosurveillance et la vision industrielle.
Imagerie médicale
La segmentation et l'analyse jouent un rôle important dans le diagnostic clinique, la planification des traitements et la recherche médicale. Utilisez la segmentation pour labelliser et analyser des organes, des tumeurs, des cellules, des implants et d'autres régions d'intérêt. Par exemple, vous pouvez utiliser la radiomique afin de classer une tumeur comme cancéreuse ou bénigne, puis mesurer la croissance de la tumeur lors des scanners de suivi. Vous pouvez également suivre la position et la morphologie des cellules dans des images de microscopie segmentées, ou analyser la densité osseuse lors d'un essai pharmaceutique. Les masques de segmentation peuvent également être utilisés afin de générer des modèles anatomiques en 3D pour des applications comme l'impression 3D ou l'analyse par éléments finis, qui sont utiles pour la planification chirurgicale spécifique au patient.
Conduite autonome
Lors du design de la perception des véhicules autonomes, comme par exemple les voitures autonomes, la segmentation sémantique est souvent appliquée pour permettre au système d'identifier et de situer des véhicules ainsi que d'autres objets sur la route.
Fonctionnement de la segmentation d’images
La première étape de la segmentation d’images consiste à convertir l'image en un ensemble de régions de pixels qui sont représentés par un masque ou par une image labellisée. En divisant une image en segments, vous pouvez sélectionner puis traiter uniquement les segments importants de l'image, au lieu de traiter l'image dans son intégralité.
Parmi les techniques courantes, on trouve la recherche de discontinuités brutes dans les valeurs de pixels ; cela indique généralement les contours qui définissent une région.
Parmi les approches courantes, on trouve également la détection de similarités dans les régions d'une image. Dans les techniques qui utilisent cette approche, on retrouve la croissance de région, le clustering et le seuillage.
Pour continuer à explorer ce sujet
Segmentation d’images avec MATLAB
Avec MATLAB®, vous pouvez :
- Utiliser des applications pour explorer différentes techniques de segmentation de manière interactive
- Simplifier les workflows d'analyse d'image à l'aide d'algorithmes de segmentation d’images intégrés
- Utiliser le Deep Learning pour la segmentation d’images
Utiliser des applications pour effectuer le seuillage des images de manière interactive
Application Image Segmenter
Vous pouvez utiliser l'application interactive Image Segmenter afin d'essayer plusieurs méthodes de segmentation d’images de manière itérative pour atteindre le résultat escompté. Par exemple, vous pouvez utiliser l'application pour segmenter et affiner davantage les images d'une voiture.
Application Color Thresholder
L'application Color Thresholder vous permet d'appliquer un seuillage aux images couleur en manipulant la couleur des images de manière interactive, en fonction des différents espaces de colorimétriques. Par exemple, avec l'application Color Thresholder, vous pouvez créer un masque binaire à l'aide de contrôles en nuages de points pour une image couleur.
Utilisation de l'application Color Thresholder pour appliquer une segmentation des couleurs afin de séparer les oiseaux au premier plan de l'arrière-plan.
Utilisation d’une variété de techniques de segmentation d'images
Grâce aux fonctions de MATLAB et d’ Image Processing Toolbox™, vous pouvez développer une expertise dans différentes techniques de segmentation d’images, comprenant par exemple le seuillage, le clustering, la segmentation basée sur les graphes et la croissance de région, ainsi que dans les techniques de Deep Learning, comme le Segment Anything Model.
Seuillage
Pour créer une image binaire, vous pouvez utiliser la fonction imbinarize
pour effectuer le seuillage d'une image 2D ou 3D en niveaux de gris. Pour produire une image binaire depuis une image couleur en RGB, utilisez la fonction rgb2gray
pour la convertir en une image en niveaux de gris.
Clustering
Cette technique vous permet de créer une image segmentée labellisée à l'aide d'un algorithme de clustering spécifique. La fonction imsegkmeans
, qui utilise la segmentation basée sur le clustering k-means, segmente une image en clusters au sein d'un espace de couleur.
Segmentation basée sur les graphes
Les techniques de segmentation basées sur les graphes telles que le lazy snapping vous permettent de segmenter une image en régions de premier plan et d'arrière-plan. MATLAB vous permet d'effectuer cette segmentation sur une image de manière programmatique (lazysnapping
) ou de manière interactive, à l'aide de l'application Image Segmenter.
Croissance de région
La croissance de région est une méthode simple de segmentation d’images basée sur les régions (également classifiée comme basée sur les pixels). L'algorithme activecontour
est couramment utilisé : il examine les pixels avoisinants un point de départ et détermine de manière itérative si les pixels voisins doivent être ajoutés à la région. Vous pouvez également effectuer cette segmentation sur des images en utilisant l'application Image Segmenter.
Utilisation de l'application Image Segmenter pour effectuer une croissance de région.
Le Deep Learning pour la segmentation d’images
Grâce à l'utilisation de réseaux de neurones à convolution (CNN), une technique de Deep Learning appelée segmentation sémantique vous permet d'associer chaque pixel d'une image à une étiquette de classe. Parmi les applications de la segmentation sémantique, on retrouve la conduite autonome, l'inspection industrielle, la robotique, l'imagerie médicale et l'analyse d'images satellite. Pour en savoir plus, consultez l'exemple Segmentation sémantique avec le Deep Learning.
Vous pouvez concevoir et entraîner des réseaux de segmentation sémantique à l'aide d'une collection d'images et de leurs images labellisées correspondantes, puis utiliser les réseaux entraînés afin de labelliser de nouvelles images. Pour labelliser les images d'apprentissage, vous pouvez utiliser les applications Image Labeler, Video Labeler ou Ground Truth Labeler.
Pour continuer à explorer ce sujet
Ressources
Développez vos connaissances grâce à la documentation, aux exemples, aux vidéos et plus encore.
Sujets connexes
Explorez des sujets similaires pour lesquels on utilise couramment les produits MATLAB et Simulink.
Version d'essai gratuite de 30 jours
CommencerSélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)