Segmentation : principes Objectif : décomposer l’image X en un ensemble de sous-parties connexes et homogènes formant une partition de l’image Notations : N R : nbre de régions, R i région n°i, Segmentation vérifie : – – i [1,N R ], R i est connexe Rappel : application du th é or è me de Jordan sur la trame carr é e : la 4 et la 8 connexit é sont duales (r é gion n-connexe courbe (12-n) connexe) Suppose 1 connexit é Image de ‘super’ pixels Généralisation de l’étiquettage en compo. connexes aux images à niv. de gris
Segmentation : principes Prédicats de base : –La région R i est homogène i [1,N R ], H(R i ) vrai –La région R i est distincte de ses voisines segmentation maximale (i,j) [1,N R ] 2, H(R i R j ) faux Segmentations maximales : 4-connexit é → 17 r é gions, 8-connexit é → 11 r é gions, 12-connexit é → 4 r é gions Ex : segmentation en 17 r é gions 4- connexes non maximale en 8-connexit é Recherche de zones poss é dant des attributs similaires
Cas où on a déjà le découpage en classes homogènes Classification ≡ partition en c classes homogènes (du point de vue de la loi supposée) ayant chacune 1 ou plus composantes connexes Etiquetage en composantes connexes des c classes → segmentation algorithme : –Initialisations : k=0, s S, z s =0 –Pour chaque classe i Créer l’im. bin. B i de la classe (b s =1 x s = i ) Pour tout pixel s S : –Si b s =1 et z s =0, alors : »Calcul de la comp. connexe CC{s} de s dans B i (cf. algo. d’étiquetage en comp. connexes) »k=k+1 » t CC{s}, z t =k –N R =k sortie
Étiquetage en composantes connexes Algo. 2 : Etiquetage (cas 4-connexité) en 2 balayages initialiser l’image des étiquettes Z à 0 balayer l’image, soit s le pixel courant –soit l 1 et l 2 les 2 étiquettes des voisins de s (masque causal 2-connexité) –si (l 1 =l 2 ) ou (l i 0 et l 3-i =0, i {1,2}), affecter l i à s dans Z –si (l 1 l 2 ), affecter min(l 1,l 2 ) à s dans Z, et mettre à jour la table d’équivalence entre les étiquettes : l 1 l 2 –si (l 1 =l 2 =0), créer une nouvelle étiquette l et affecter l à s dans Z Re-balayer l’image pour uniformiser les étiquettes selon la table d’équivalence Ex. (en 8 connexité) : Algo. 1 : Calcul de la composante connexe CC{s} par reconstruction géodésique (voir cours MM binaire) 7979
Cas où on construit les régions Pb principal : comment construire les régions dans l’espace image et dans l’espace des caractéristiques 1 ère approche : croissance de régions –À partir de pixels-germes, on fait croître les régions en ‘agglomérant’ les pixels pas de contrainte spatiale sur les régions hormis connexité peu robuste (dépendant bruit, initialisation, critère homogénéité…) 2 ème approche : fusion de régions –À partir de d’un ensemble de régions, on fait croître les régions en leur ‘agglomérant’ des régions connexes pas de contrainte spatiale sur les régions hormis connexité un peu plus robuste que croissance de région contrôle du nombre de régions final
Critères d’homogénéité d’1 région Exemples de critères globaux à la région –Contraste : H(R i ) vrai –Variance : H(R i ) vrai –Distance interquartiles : H(R i ) vrai –Entropie : H(R i ) vrai Exemples de critères locaux à la région –Distance avec pixels voisins : H(R i {s}) vrai
Croissance de région (region growing) Pb du choix des germes : –Dans le cas général, la croissance de région s’arrête avant d’avoir obtenu une segmentation : –Si on part de la segmentation triviale (chaque pixel est un germe) résultat dépendant de l’ordre de fusion des régions Algorithme de sélection de germes sur histogramme –k=0 –tant que pixels non labelisés Calcul de l’histogramme H res des pixels non labelisés val = mode de H res, s_germe / x s_germe = val k=k+1 Croissance de région à partir de s_germe : –z s_germe =k –Tant que t connexe à R k et R k {t} vérifie prédicat d’homogénéïté, R k ← R k {t} – t R k, z t =k –NR=k–NR=k
Sélection de germes sur histogramme régions significatives sur 213!
Croissance de régions Exemple : C max = 80 → N R = 6C max = 70 → N R = 17C max = 100 → N R = 6 C max = 80 → N R = 5C max = 70 → N R = 12 ≠≠≠ S é lection de germes sur histogramme S é lection de germes al é atoire
Pyramide du Quadtree Construction du quadtree par parcours de Peano : Clé de Peano : Pixel de coordonnées-image (i,j) i7j7i6j6i5j5i4j4 i3j3i2j2i1j1i0j0 i7i6i5i4i3i2i1i0i7i6i5i4i3i2i1i0j7j6j5j4j3j2j1j0j7j6j5j4j3j2j1j0 + Ex. : (2,3) 13 = 3 ( 6,2) 44 = 2 4 0
Partage / fusion de régions region splitting : soit R i / H(R i ) faux, alors diviser R i region merging : soit R i, R j connexes / H(R i R j ) vrai, alors R i =R i R j, supprimer R j Application à la structure du quadtree (image NxN) –Initialisations : l 0 niveau de départ dans la pyramide, t 0 =N/2 l0, n=4 l0 –Fusion : j=l 0, t=t 0, k=1 Tant que j>0 –Pour i variant de 0 à n-1 par pas de 4 l0-j+1 »Si les 4 blocs i, i+k, i+2k, i+3k sont de taille t, et si le critère d’homogénéité est vérifié pour l’union des 4 blocs, alors Les fusionner : mise à jour des tailles et caractéristiques des blocs (on ne garde que le bloc n°i) –Passage au niveau supérieur de la pyramide : j=j-1, t=2t, k=4k –Division : j=l 0 Pour i variant de 0 à n-1 –Si la taille du bloc i est ≤t 0 et >0 »Tant que le critère d’homogénéité n’est pas vérifié pour le bloc i subdiviser le bloc i en 4 blocs : mettre à jour les paramètres de i à partir du sous-bloc et créer les 3 autres sous-blocs indicés n+1, n+2, n+3, et actualiser n à n+3 Nombre de pixels au niveau l 0 Longueur coté d’1 bloc au niveau l 0
Graphe de régions Le graphe est constitué de : –Une liste de sommets L S : chaque région R i est représentée par 1 sommet s auquel sont associés : les caract. de R i, la liste des pixels de R i, le nbre et la liste des arrêtes impliquant s –Une liste d’arrêtes L A : chaque arrête a est caractérisée par les 2 sommets qu’elle relie, son coût ct(a), un indicateur de validité Exemple de construction du graphe d’adjacence :
Coût des arrêtes du graphe : –Fonction des caractéristiques des régions adjacentes –Fonction de la pertinence (e.g. homogénéité) de la fusion des régions adjacentes Exemple de coût entre R i et R j disjointes : –Contraste = – Variance = –(rq ) Graphe de régions (suite)
Sélection par accord mutuel : ex =1, =1, N=50 =10, =1, N=50 =11, =1, N=80 =8, =1, N=40 =2, =1, N=30 =3, =1, N=100 =4, =1, N=60 =11, =1, N=100 /20,2512,10/22,22//2,23 20,25/0,99/0,22/// 12,100,99//1,83/// ////14,38/// 22,220,221,8314,38/16/11,48 ////16/15,80,23 /////15,8/12 2,23///11,480,2312/ =1, =1, N=50 =11, =1, N=80 =8, =1, N=40 =2, =1, N=30 =3.4, =1, N=160 =10.7, =1, N=150 //12,10/17,64//1,05 //////// 12,10///1,21/// ////10,51/// 17,64/1,2110,51///13,31 //////// ///////12,83 1,05///13,31/12,83/ =11, =1, N=80 =2, =1, N=30 =2.8, =1, N=210 =10.1, =1, N=190 //////// //////// //////// ////7,73/// /// ///13,29 //////// ///////13,43 ////13,29/13,43/
Fusion de régions dans un graphe Exemple d’algorithme : –Initialisations : nbe de régions = nbre pixels, initialisation de L S et L A –Tant que segmentation non maximale Sélection des arrêtes a 0 de moindre coût par accord mutuel (a 0 relie s i et s j et j=argmin k {ct(a)/a=(s i,s k )} et i=argmin k {ct(a)/a=(s k,s j )} Fusion des régions associées aux arrêtes a 0 : –mise à jour de la liste des sommets (liste des arrêtes associées, liste des pixels, caractéristiques de la région représentée) –Mise à jour de la liste des arrêtes (validité, coût, sommets associés) Mise à jour du nbre de régions = nbre sommets –Création de l’image des régions (d’après liste de pixels des sommets)
Comparaison de méthodes Croissance de régionsPyramide du QuadtreeFusion de régions
Tests statistiques entre deux régions à fusionner Hyp. : bruit gaussien sur une image assimilée à une fonction 2D constante par morceau –Test de Student d’égalité des espérances intervalle de confiance de l’estimateur de l’espérance d’une loi normale dont la variance est inconnue avec –Test de Fisher-Snedecor d’égalité des moyennes et des variances… –Test du 2 d’homogénéité v.a. qui suit 1 loi du 2 à m-1 degrés de liberté ? –Test de Wilcoxon : soit (somme pour chaque pixel de R 1 du nbre de pixels de R 2 de valeur inférieure) : on teste si U suit 1 loi normale N (n 1 n 2 /2, n 1 n 2 (n 1 +n 2 +1)/12) Comparaison des histo. des régions : n j et n j ’ nb pixels du ‘bin’ j dans chaque histo.