Traitements d'images et Vision par ordinateur Segmentation Alain Boucher - IFI aboucher@ifi.edu.vn
Segmentation
Qu'est-ce que la segmentation ? La segmentation vise à sous-diviser l’image en constituants distincts – objets La segmentation est liée à la reconnaissance. Vision par ordinateur - Alain Boucher
Qu'est-ce que la segmentation ? La segmentation est normalement basée sur: les discontinuités les arrêtes, les changements abruptes, … les similitudes (zones homogènes) couleurs, textures, intensités, … La segmentation est le découpage d'une image en différentes régions et/ou contours. Vision par ordinateur - Alain Boucher
Segmentation régions/contours Approches régions Rechercher les zones dans l’image sur un critère d’homogénéité Approches contours Rechercher les discontinuités entre régions Approches duales (régions et contours) seulement dans quelques rares cas Il existe une dualité entre régions et contours Une région est délimitée par un contour Un contour sépare deux régions Vision par ordinateur - Alain Boucher
Segmentation contours La segmentation en contours d'une image se fait principalement en utilisant les détecteurs par convolution déjà vus. Cependant, ces détecteurs ne donne pas des contours fermés et sont sensibles aux bruits. Une étape de seuillage du gradient, du Laplacien ou autre est nécessaire. Ensuite, il faut fermer les contours et conserver les contours significatifs. Vision par ordinateur - Alain Boucher
Segmentation par seuillage Le seuillage est une méthode simple et très populaire pour la segmentation d'objets dans les images numériques. Le seuillage peut être de nature Globale : un seuil pour toute l'image Locale : un seuil pour une portion de l'image Adaptative : un seuil qui s'ajuste selon les images/parties de l'image. Vision par ordinateur - Alain Boucher
Segmentation par seuillage Seuillage de base (2 classes) – principe : Si valeur(pixel) >= seuil alors valeur(pixel) = 1 Si valeur(pixel) < seuil alors valeur(pixel) = 0 Le résultat du seuillage est une image binaire. Il est aussi possible d'avoir n seuils pour séparer l'image en n-1 classes. Problème : choix du seuil !!! Vision par ordinateur - Alain Boucher
Seuillage d'histogramme Avantages Universel, temps réel, simplicité Fonctionne bien sur des histogrammes multi-modaux Inconvénients Connaître le nombre de classes Apparition de faux éléments (aucune prise en compte de la composante spatiale) Nombre de modes souvent nombre de classes attendu 2 modes pour 3 classes Vision par ordinateur - Alain Boucher
Seuillage d'histogramme simple Seuillage simple Source : http://www.gpa.etsmtl.ca/cours/gpa669/ Vision par ordinateur - Alain Boucher
Seuillage d'histogramme multiple Seuillage multiple Vision par ordinateur - Alain Boucher
Vision par ordinateur - Alain Boucher Seuillage Seuillage global de base Comment trouver le seuilT ? Une valeur obtenue par tests La valeur moyenne des tons de gris La valeur médiane entre le ton maximum et le ton minimum Une valeur qui balance les deux sections de l'histogramme - seuillage automatique Vision par ordinateur - Alain Boucher
Vision par ordinateur - Alain Boucher Exemple de seuillage Seuillage global de base Valeur médiane Environnement contrôlé Applications industrielles Vision par ordinateur - Alain Boucher
Seuillage global automatique Exemple d'algorithme : Choisir un T initial (moyenne, médiane …) On obtient 2 groupes de pixels G1 si f(x,y) > T et G2 si f(x,y) T Calculer les moyennes de tons de gris pour G1 et G2 -> μ1 et μ2 Calculer une nouvelle valeur de T T = 1/2 (μ1 + μ2) Répéter jusqu'à ce que T soit ~ constant Il existe plusieurs autres méthodes globales automatiques Otsu, Kittler, K-moyennes, … Il faut les tester pour chaque nouvelle application Vision par ordinateur - Alain Boucher
Seuillage global automatique Seuil trouvé par l'algorithme T = 125 Vision par ordinateur - Alain Boucher
Seuillage global - problème Problème d'éclairage ? Vision par ordinateur - Alain Boucher
Seuillage global - problème Problème : Le seuillage global ne peut traiter ce cas Solution : seuillage local adaptatif Vision par ordinateur - Alain Boucher
Exemple de seuillage adaptatif Nous avons besoin de séparer l'image en sous images, et de traiter chacune avec son propre seuil Le choix de la dimension des sous-images est critique Avant de traiter chaque sous-image, nous vérifions la variance des tons de gris pour décider s'il existe un besoin de segmentation Exemple : pas besoin si variance<100 Vision par ordinateur - Alain Boucher
Exemple de seuillage adaptatif Les 4 sous images de coins ne sont pas traitées car variance<100 Vision par ordinateur - Alain Boucher
Exemple de seuillage adaptatif Bimodal Bimodal ?? Vision par ordinateur - Alain Boucher
Division-Fusion de régions Initialisation l'image initiale entière forme un bloc Etape de division Diviser récursivement tout bloc non-homogène selon un prédicat défini (variance, max-min, …) La division d'un bloc donne 4 sous-blocs Les attributs de chaque sous-bloc sont recalculés Etape de fusion Regrouper les blocs adjacents représentant des régions homogènes selon un prédicat défini Post-traitement Lissage pour éliminer la forme carré des régions Vision par ordinateur - Alain Boucher
Vision par ordinateur - Alain Boucher Croissance de régions L'algorithme débute avec un pixel, et "collectionne" les pixels voisins qui répondent à un critère d'appartenance : Variance faible Niveau de gris répondant un un seuil … Le(s) pixel(s) initials (ou initiaux) sont appelés "germes" ou "semences". La région "grandit" à partir de son germe. Une connaissance a priori est utile pour sélectionner les germes. Vision par ordinateur - Alain Boucher
Vision par ordinateur - Alain Boucher Croissance de régions Vision par ordinateur - Alain Boucher
Segmentation par partage des eaux On considère la visualisation de l'image en 3D, en utilisant le ton de gris comme troisième dimension Image 2D Visualisation en 3D Source : http://www.gpa.etsmtl.ca/cours/gpa669/ Vision par ordinateur - Alain Boucher
Segmentation par partage des eaux Ensuite on "complémente" les valeurs pour créer des zones inondables. Vision par ordinateur - Alain Boucher
Segmentation par partage des eaux Enfin, on "infiltre" les cavités des zones inondables Vision par ordinateur - Alain Boucher
Segmentation par partage des eaux Vision par ordinateur - Alain Boucher
Segmentation par partage des eaux Vision par ordinateur - Alain Boucher
Segmentation – conseils La segmentation d'une image cause encore aujourd'hui beaucoup de problèmes. Aucune méthode ne fonctionne pour toutes les images. Pas de garantie, pas de recette miracle! Pour certaines applications, on réalise qu'on peut éviter la segmentation complète de l'image. C'est souvent mieux. Le pré-traitement des images, la sélection de capteurs et sources d’énergie appropriées, et la prise contrôlée des images rendent cette étape plus facile et plus efficace. Vision par ordinateur - Alain Boucher
Segmentation – conseils Le problème d'évaluer le résultat d'une segmentation n'est pas évident. Bien souvent, il est subjectif et varie d'une personne à l'autre. Un des principaux problème est de définir le but de la segmentation : Qu'est-ce qu'on recherche exactement dans l'image ? Eléments globaux de l'image ou détails fin de la composition ? Présence d'un humain ou détails du visage ? Il est bon de se poser aussi la question de ce que l'on veut faire ensuite avec la segmentation. Cela permet de définir le degré de précision nécessaire. Vision par ordinateur - Alain Boucher
Segmentation vs groupement Aujourd'hui, on délaisse de plus en plus le terme de segmentation, qui sous-entend une séparation plus exacte de l'image, pour celui de groupement de pixels (grouping), qui ne fait appel qu'à une notion de similarité de pixels sans aucune relation de contenu. Extrait de [Malik 2001]. Vision par ordinateur - Alain Boucher
Vision par ordinateur - Alain Boucher Approche Gestalt Une autre approche de la segmentation/groupement s’inspire de la psychologie et de l’observation de l'humain et de son environnement Cette approche est basée sur les travaux de Gestalt sur la vision humaine Importance du contexte dans cette approche. Vision par ordinateur - Alain Boucher
Vision par ordinateur - Alain Boucher Approche Gestalt Proximité : objets proches sont regroupés Similarité : objets semblables sont regroupés Tendance commune : objets avec un mouvement cohérent semblable sont regroupés Région commune : objets à l’intérieur d’une même région sont regroupés Parallélisme : courbes ou objets parallèles sont regroupés Fermeture : courbes ou objets qui peuvent former des objets fermés sont regroupés Symétrie : courbes ou objets qui peuvent former des objets symétriques sont regroupés Continuité : courbes ou objets formant une continuité (au sens esthétique) sont regroupés Configuration familière : courbes ou objets formant des objets connus sont regroupés. Vision par ordinateur - Alain Boucher
Vision par ordinateur - Alain Boucher Approche Gestalt Vision par ordinateur - Alain Boucher
Vision par ordinateur - Alain Boucher Approche Gestalt Questions sur l’approche Gestalt : Comment intégrer des règles de regroupement dans un algorithme? Comment générer des hypothèses? Malgré quelques essais, cette approche reste surtout théorique. Vision par ordinateur - Alain Boucher