SEGMENTATION EN REGIONS ANALYSE DES IMAGES 2D SEGMENTATION EN REGIONS Mo DAI Institut EGID, Université Michel de Montaigne – Bordeaux 3
Segmentation en régions Institut EGID, Université Michel de Montaigne – Bordeaux 3 Introduction Segmentation en régions est une tâche importante dans le traitement d’images et la reconnaissance des formes. Il est souvent considéré comme le premier étape pour l’interprétation de l’image dans nombreuses applications. Il consiste à répartir les pixels d'une image de niveaux de gris en différentes classes en fonction de certaines propriétés. DESS Image Segmentation en régions
Segmentation en régions Institut EGID, Université Michel de Montaigne – Bordeaux 3 Applications Extraction du texte Détection des espaces poreux Images microscopiques de roche Document Imagerie médicale Détection des cellules Segmentation des composants Vidéo surveillance Télédétection Image sismique Détection de la présence de personne Détection de changement Détection des failles DESS Image Segmentation en régions
Segmentation en régions Institut EGID, Université Michel de Montaigne – Bordeaux 3 PLAN : Segmentation par l’intensité de luminosité Seuillage Approches « région » Segmentation par la texture Caractérisation de texture Segmentation DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Seuillage Formulation du problème : Une image A(x,y) avec 256 niveaux de gris. Son histogramme est H(i) i[0,255]. Détermination d’un seuil S qui permettra d’obtenir une image binaire B(x,y) telle que DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Exemple : A(x,y) B(x,y) H(i) 70 255 Seuillage à 70 Question : Comment trouver automatiquement le seuil ? DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Méthodologies : Méthodes basées sur des modèles statistiques Méthodes basées sur la forme de histogramme Soit une image A Seuillage global S=S[A] Seuillage local S=S[R(x,y),A] Technique dynamique S=S[(x,y),A] DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Dégradation de l’histogramme : DESS Image Segmentation en régions
Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 G1 G2 P1 P2 G1 G2 Dégradation de l’histogramme Gauche : Histogramme de l’image sans bruit Milieu : Histogramme du bruit Droite : Histogramme de l’image dégradée Un histogramme bi-modal peut être considéré comme une mixture de deux distributions associées respectivement à l’objet et au fond (2 classes) : G1 G2 Sélection du seuil basée sur l’optimisation d’un critère prédéfini. DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Seuillage optimal MEP (Minimum Error Probability ) : H2(i) H1(i) E2(S) E1(S) S Niveaux de gris Probabilité Le seuil S doit être sélectionné pour minimiser : DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 La résolution de , si Avec et on obtient DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Seuillage optimal sur une image de synthèse : m1=60; m2=100; P1=0,8; P2=0,2; =15 DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Nombre de pixels mal classés = 38 DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Les paramètres statistiques peuvent être estimés comme : où P est la probabilité de la présence des pixels qui appartiennent à chaque classe, m est la moyenne de niveau de gris de chaque classe, 2 est la variance de chaque classe. DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Approche d’Otsu : La distance entre 2 classes est définie par la variance inter-classe ou par la variance inter-classe / la variance intra-classe Implantation : Calculer la variance inter-classe ou la variance inter- classe / la variance intra-classe pour chaque valeur possible de seuil (0 - 254) Ensuite, rechercher le maximum auquel correspond le meilleur seuil. DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Approche de Kapur : Elle est basée sur la théorie de l'entropie qui se définie par Implantation : Calculer l'entropie totale pour chaque valeur possible de seuil (0 - 254). Ensuite, rechercher le maximum auquel correspond le meilleur seuil. DESS Image Segmentation en régions
le seuillage optimal MEP Institut EGID, Université Michel de Montaigne – Bordeaux 3 Image originale et son histogramme Image segmentée par le seuillage optimal MEP 62 Seuil = 62 Chercher le seuil optimal DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Comparaison : MEP (seuil=62) Otsu 1 Otsu 2 Kapur S=85 S=95 S=110 DESS Image Segmentation en régions
Nb de pixels mal classés Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Comparaison : Seuillage d’Otsu 1 (seuil=79) Seuillage d’Otsu 2 (seuil=72) Seuillage de Kapur (seuil=76) Méthode Optimal Otsu 1 Otsu 2 Kapur Seuil 87 79 72 76 Nb de pixels mal classés 38 1163 3975 2020 0,88% 2,69% 9,19% 4,67% DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Exemple : Image de départ Otsu1 Seuil=108 Kapur Seuil=97 DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Exemple : Image de départ Otsu1 Seuil=188 Kapur Seuil=211 DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Multi-seuillage : Soit G={0,1, 2, 3, … , 255} l'ensemble des niveaux de gris de l'image et P={1, 2, 3, …, N} une partition de G en N classes. Le problème consiste à optimiser la partition P en identifiant les séparateurs S1, S2, S3, …, SN-1 (seuils) entre les classes. 1 2 3 N 0, 1, 2, ……S1…………………………… S2 ………… S3 ………………………………… SN-1 ………, 254, 255 …… classes niveaux de gris DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Minimisation de variance : La répartition des pixels en N classes est un problème classique de classification. Le choix des seuils Si permet de détecter N classes auxquels on peut associer aire Pi, moyenne mi et variance i par : où H est l'histogramme normalisé (son intégrale = 1) et j = [Si-1,Si[ est la gamme de niveaux de gris correspondant à la classe Ci (en supposant S0 = 0). La variance intra-classe totale : DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Méthode de Fisher (segmentation en N classes) : Initialisation, pour n=1: Considérer les ensembles , pour S1 = 1, 2, …, 255. Pour chaque S1, calculer les variances et . Pour n=2, 3, …, N-1: Calculer la partition de l'ensemble [S1,255] selon la formule : où est la partition de [Sn+1,255] en n-1 classes déterminée à l'étape précédente n-1. Sn est déterminée de façon à minimiser la variance totale de : Pour n=N: Construire la partition et choisir le seuil S1 de façon à minimiser dans l'ensemble {1,2, …, 255N +1}. DESS Image Segmentation en régions
Seuillage Exemple : Image initiale: Muscle Institut EGID, Université Michel de Montaigne – Bordeaux 3 Exemple : Image initiale: Muscle 3 classes avec seuils 102, 168 5 classes avec seuils 86, 132, 168, 205 DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Détection des vallées : On suppose que chaque classe correspond à une gamme distincte de niveaux de gris. L'histogramme est alors N-modal. La position des minima de l'histogramme H permet de fixer les (N-1) seuils nécessaires pour séparer les N classes. où mi et mi+1 sont les valeurs moyennes (ou les modes) de niveau de gris dans les classes Ci et Ci+1. DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Histogramme cumulé : Fonction R : où est un lissage de Passages par zéro sur R : correspondent aux vallées correspondent aux pics DESS Image Segmentation en régions
Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Histogramme H(i) Histogramme cumulé Hc(i) R(i) avec N=17 Image initiale Image seuilée avec s1=94 s2=171 DESS Image Segmentation en régions
Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Exemple : N=10 N=17 Image « Lacornou » « Lacornou » en 4 niveaux de gris DESS Image Segmentation en régions
Seuillage Seuillage local Institut EGID, Université Michel de Montaigne – Bordeaux 3 Seuillage local Pour un pixel, le seuil est la valeur moyenne dans son voisinage 5 x 5 DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Un algorithme du seuillage dynamique Étape 1 : Pour l'image initiale A, Détecter les contours en utilisant l'opérateur LoG ou DoG Étape 2 : Rechercher les passages par zéro. L'image binaire obtenue s'appelle B dans laquelle la valeur des points de contours = 255. Étape 3 : Construire une matrice (image) S de la façon suivante : Utiliser B comme un masque sur l'image initiale A : Si B(x,y)=255, alors S(x,y) A(x,y) sinon S(x,y) valeur à déterminer. Étape 4 : Interpoler/extrapoler S (interpolation/extrapolation linéaire). Étape 5 : Lisser l'image S avec un filtre spatial (par exemple le filtre gaussien). Étape 6 : Si A(x,y) S(x,y), alors A(x,y) = 0 sinon A(x,y) = 255. DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Image initiale Seuillage Otsu Seuillage Kapur Seuillage dynamique Image S Seuillage DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Image initiale Seuillage Otsu Seuillage dynamique DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Tramage (halftone) 1 DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Tramage 2 DESS Image Segmentation en régions
Segmentation en régions Seuillage Institut EGID, Université Michel de Montaigne – Bordeaux 3 Tramage 3 DESS Image Segmentation en régions
Segmentation en régions Recherche de régions Institut EGID, Université Michel de Montaigne – Bordeaux 3 Modèle région : La segmentation d'une image vis à vis d'un critère d'homogénéité (niveau de gris, texture, …) peut s'exprimer de la manière suivante : La segmentation d'une image A en regard du critère h est une partition de l'image A en régions homogènes R1, R2, ..., Rn telles que : Unioni=1, 2, ..., n(Ri )= A Pour tout i, Ri est connexe Pour tout i, h[Ri] est vrai Pour tout couple (Ri, Rj) de régions voisines, h[Ri, Rj] est faux Cette définition conduit à deux remarques très importantes. Tout d'abord, une segmentation dépend du critère employé. Le choix du critère est donc primordial. Ensuite, la décomposition obtenue n'est pas unique. Pour un critère donné, il existe plusieurs solutions. DESS Image Segmentation en régions
Segmentation en régions Recherche de régions Institut EGID, Université Michel de Montaigne – Bordeaux 3 L’algorithme split-merge (division-réunion): Le processus est décomposé en deux étapes : Dans la première étape, ou division, on analyse individuellement dans l’image A chaque région Ri. Si celle-ci ne vérifie pas le critère d'homogénéité, alors on divise cette région en blocs (le plus généralement en 4 quadrants) et l'on réitère le processus sur chaque sous-région prise individuellement. On peut tout à fait initier le processus en considérant que la première région est composée de toute l'image. Dans la deuxième étape, ou réunion, on étudie tous les couples de régions voisines (Ri, Rj). Si l'union de ces deux régions vérifie le critère d'homogénéité, alors, on fusionne les régions. La principale difficulté de cette approche réside bien sûr dans le parcours de l'ensemble de tous les couples de régions voisines. DESS Image Segmentation en régions
Segmentation en régions Recherche de régions Institut EGID, Université Michel de Montaigne – Bordeaux 3 Division d’une image en régions par quadtrees : Voisinages : 4-voisins : 8-voisins : DESS Image Segmentation en régions
Segmentation en régions Recherche de régions Institut EGID, Université Michel de Montaigne – Bordeaux 3 Implantation : Initialisation : Soient Ri, i=1,...,N l'ensemble des régions constituant une partition de l'image A (on peut avoir N=1, R1= A). Soit h un prédicat d'homogénéité. Étape 1 : SPLIT (algorithme récursif) Pour toute région Ri Si h[Ri] est faux, alors split(Ri) en sous-régions. Remarque : Le plus souvent, on choisit pour Ri une décomposition en quatre quadrants. Étape 2 : MERGE Pour tout couple (Ri, Rj) Si voisin(Ri, Rj) et h[union(Ri, Rj)] sont vrai, alors merge(Ri, Rj) DESS Image Segmentation en régions
Recherche de régions Exemple : Institut EGID, Université Michel de Montaigne – Bordeaux 3 Exemple : où N est la taille de Ri , mi la moyenne des niveaux de gris de Ri, Gj le niveau de gris d’un pixel dans Ri et T un seuil prédéfini. Image initiale : Muscle Image résultat avec T=300 après le slit : 5476 régions après le merge : 1312 régions Image des frontières de régions DESS Image Segmentation en régions
Recherche de régions Un autre exemple : Image initiale : Lacornou Institut EGID, Université Michel de Montaigne – Bordeaux 3 Un autre exemple : Image initiale : Lacornou Image résultat avec T=200 après le slit : 4796 régions après le merge : 2515 régions Image des frontières de régions DESS Image Segmentation en régions
Segmentation en régions Recherche de régions Institut EGID, Université Michel de Montaigne – Bordeaux 3 L’algorithme croissance de régions: Sélection des germes. Construction des régions en y ajoutant successivement les pixels qui leur sont connexes et qui vérifient un critère. http://ligwww.epfl.ch/~silic/predocschool/ComputerVision/cvision.html DESS Image Segmentation en régions
Recherche de régions Exemple : Image Garonne (Toulouse) Institut EGID, Université Michel de Montaigne – Bordeaux 3 Exemple : Image Garonne (Toulouse) http://www.survey.ntua.gr/main/labs/rsens/DeCETI/IRIT/GIS-IMPROVING/node65.html DESS Image Segmentation en régions
Détection des points d’intérêt Institut EGID, Université Michel de Montaigne – Bordeaux 3 Les points d’intérêt sont également une primitive pertinente que l’on peut extraire des images. Ils sont largement utilisés pour faire de l’appariement d’images, du calibrage de caméras, des mosaïques d’images, de la mise en correspondance, … La détection peut être réalisée de deux façons : à partir des contours ou à partir de l’image originale DESS Image Segmentation en régions
Détection des points d’intérêt Institut EGID, Université Michel de Montaigne – Bordeaux 3 Détection à partir des contours : D’abord, une extraction des points de contour est effectuée. Ensuite, 3 approches peuvent être considérées : Calculer la courbure à chaque point de contour et extraire ceux que ont une grande courbure. Une fois les contours extraits, faire une approximation polygonale de ceux-ci en remplaçant les contours par des segments. Toute intersection de segment est alors interprétées comme un point d’intérêt. Réaliser un chaînage des points de contour et coder l’orientation de gradients à chaque point. On recherche ensuite des ruptures dans la chaîne des orientations. Le problème majeur de toutes les méthodes basées sur les contours est que le gradient est souvent très mal défini près de coins. DESS Image Segmentation en régions
Détection des points d’intérêt Institut EGID, Université Michel de Montaigne – Bordeaux 3 Détection à partir de l’image originale : Approche de Beaudet : Pour chaque pixel de l’image, on calcule : DET=IxxIyy – Ixy² où Ixx, Iyy et Ixy représentent les dérivées secondes par rapport à x, y et xy. La géométrie différentielle montre que cette mesure, en valeurs absolue, est grande près des coins. Donc, on recherche les maxima locaux de DET. Détecteur de Harris : Harris propose d’utiliser comme mesure : C=<Ix²><Iy²>-<IxIy>-(<Ix²>+<Iy²>)² où <X> représente la convolution de X par un masque gaussien. Détecteur basé sur le gradient : La norme du produit vectoriel entre deux vecteurs gradient est grande, alors qu’il est petit ailleurs. Avec ce principe, on peut améliorer la méthode précédente. DESS Image Segmentation en régions
Détection des points d’intérêt Institut EGID, Université Michel de Montaigne – Bordeaux 3 Détecteur basé sur le gradient Beaudet Harris DESS Image Segmentation en régions
Segmentation en régions Institut EGID, Université Michel de Montaigne – Bordeaux 3 FIN DESS Image Segmentation en régions