160 likes | 267 Views
Estimation du MAP (III). Iterated Conditionnal Modes (Besag, 1974) A partir de x 0 la configuration initiale, Répéter tant que le compteur est > t : x k étant la configuration courante Mettre le compteur à 0 Pour tous les sites s S :
E N D
Estimation du MAP (III) • Iterated Conditionnal Modes (Besag, 1974) A partir de x0 la configuration initiale, Répéter tant que le compteur est >t : xk étant la configuration courante • Mettre le compteur à 0 • Pour tous les sites s S : • poser xt = xtk, et xtk+1 = xtktS:ts, • Pour chaque i de W, • poser xs = i, • calculer ui = • Poser j = argmini {ui} • Poser xsk+1 = j, • si xsk+1 xsk incrémenter le compteur de 1
Classification aveugle ICM, b=2.5 SAG, b=2.5, it.1860 SAM, b=2.5, it.1380 s=30 Classification aveugle ICM, b=2.5 SAG, b=2.5, it.2100 SAM, b=2.5, it.1640 s=60 MAP : exemples de résultats
Segmentation : principes • Objectif : décomposer l’image X en un ensemble de sous-parties connexes formant une partition • i[1,#R], Ri est connexe • Prédicats de base : • La région Ri est homogène i[1,#R], H(Ri) vrai • La région Ri est distinctes de ses voisines segmentation maximale (i,j)[1,#R]2, H(Ri,Rj) faux • Méthodes de segmentation : • par classification • par transformation de régions (croissance de régions, split&merge, graphe de régions) • par analyse d’une image de gradient (ligne de partage des eaux)
Segmentation à partir d’1 classification • Classification conduit à une partition en c classes homogènes (du point de vue de la loi supposée) ayant chacune 1 ou plus composantes connexes • Segm. si étiquetage en composantes connexes des c classes : • Initialisations : k=0, sS, zs=0 • Pour chaque classe wi • Créer l’image binaire B de la classe (bs=1 xs=wi) • Pour tout pixel sS : • Si bs=1 et zs=0, alors : • Calcul de la composante connexe CC{s} de s dans B initialisation de la pile avec s et de la composante connexe à 0 tant que la pile n’est pas vide extraire t de la pile mettre t à 1 dans la composante connexe pour tout r voisin de t non déjà traité (ni déjà dans la pile) si xr=wi rajouter r dans la pile • k=k+1 • tCC{s}, zt=k • #R=k
Croissance de région (region growing) • À partir de pixels-germes (généralement sélectionnés à partir de l’histogramme), on fait croître les régions en ‘agglomérant’ les pixels ou régions connexes tels que l’union vérifie le prédicat d’homogénéité • 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), dépendance à l’ordre de fusion des régions ex. de solutions : sélection de nouveaux germes tant que pixels non labelisés division/fusion (split and merge) sur structure (e.g. quadtree) fusion de régions dans un graphe
Critères d’homogénéité d’1 région • Exemples de critères globaux à la région • Contraste : H(Ri) vrai • Variance : H(Ri) vrai • Distance interquartiles : H(Ri) vrai • Entropie : H(Ri) vrai • Exemples de critères globaux à la région • Distance avec pixels voisins : H(Ri{s}) vrai
100 101 110 111 11 12 13 20 22 000 30 10 31 32 33 0 1 23 03 01 2 012 010 013 002 020 021 02 022 030 003 00 001 21 032 023 3 011 231 233 211 200 201 203 230 232 210 213 220 031 221 222 223 212 301 202 332 033 333 302 303 310 311 312 320 321 300 313 322 323 330 331 102 103 112 113 130 131 120 121 122 123 132 133 j7 j7 j6 j6 j5 j5 j4 j4 j3 j3 j2 j2 j1 j1 j0 j0 i7 i7 i6 i6 i5 i5 i4 i4 i3 i3 i2 i2 i1 i1 i0 i0 + i3 j3 i2 j2 i1 j1 i0 j0 i7 j7 i6 j6 i5 j5 i4 j4 Pyramide du Quadtree Construction du quadtree par parcours de Peano : Clé de Peano : Pixel de coordonnées-image (i,j) Ex. : (2,3) 13 (6,2) 44
Partage / réunion de régions • region splitting : soit Ri / H(Ri) faux, alors diviser Ri • region merging : soit Ri , Rj connexes / H(RiRj) vrai, alors Ri=RiRj, supprimer Rj • Application à la structure du quadtree (image NxN) • Initialisations : l0 niveau de départ dans la pyramide, t0=N/2l0 , n=4l0 • Fusion : j=l0, t=t0 , k=1 • Tant que j>0 • Pour i variant de 1 à n par pas de 4l0-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=l0 • Pour i variant de 1 à n • Si la taille du bloc i est ≤t0 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
Fusion de régions dans un graphe • Le graphe est constitué de : • Une liste de sommets LS : chaque région Ri est représentée par 1 sommet s auquel sont associés : les caract. de Ri, la liste des pixels de Ri, le # et la liste des arrêtes impliquant s • Une liste d’arrêtes LA : 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 d’ algorithme : • Initialisations : # de régions = # pixels, initialisation de LS et LA • Tant que # de régions > # de régions voulu • Sélection des arrêtes a0 de moindre coût par accord mutuel (a0 relie si et sj et a0=argmin{ct(a)/a=(si, sj)} • Fusion des régions associées aux arrêtes a0 : • 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 # de régions = # sommets • Création de l’image des régions (d’après listes de pixels des sommets)
Ligne de partage des eaux • Principe : à partir des minima régionaux mi, faire croître niveau jusqu’à frontière de zones d’influence • Algorithme : • On note B(i) l’image binaire des valeurs ys (de Y) ≤ i • Initialisation : W-1= • Pour i variant de 0 à imax • {mi} = {minima de B(i) non connexes à {mi-1}} = • W(i) = IZB(i)(W(i-1)) • LPE = • Application : Risque de sur-segmentation utiliser (p.e.) image des gradients avec valeurs discrétisées entre 0 et imax (#régions)
Croissance de régions, germes = mode histogramme restant Croissance de régions, germes = aléatoire parmi pixels restants Coupure à 6 régions dans graphe des régions Quadtree ascendant (bottom-up) Quadtree descendant (top-down) Ligne de partage des eaux sur gradient morphologique Exemples de résultats avec
Textures aléatoires • Irrégularités • (herbes, cailloux, foules…) • Textures régulières • Périodicité d’1 motif • (grilles, tissus, murs…) Analyse de textures • Définitions : « arrangement, disposition (des éléments d’une matière), agencement » « structure spatiale constituée de l’organisation de primitives (ou motifs de base) ayant chacune un aspect aléatoire » • Approches statistiques • Approches fréquentielles
Textures : Approche statistique (I) • Mesure des propriétés statistiques dans un voisinage Vij défini autour d’un pixel (i,j) Notation : P(n) probabilité du niveau de gris n • Statistiques de 1er ordre • Moments d’ordre k • Moments centrés d’ordre k • Énergie • Entropie • Dynamique • Contraste
Textures : Approche statistique (II) • Statistiques de 2ème ordre • Fonction d’autocorrélation • Matrice de cooccurence (Spatial Grey Level Dependence) • Energie • Entropie • Corrélation • Contraste • Homogénéité locale
Textures : exercices (I) • Calculer les matrices de cooccurence pour un pas de distance de 1 et des angles de 0°, 90° et 45° pour l’extrait d’image n°1. Extrait 1 Extrait 2 • Calculer les matrices de cooccurence pour des pas de distance de 1 et de 2 et un angle de 0° pour l’extrait d’image n°2.
Textures : exercices (II) • Soit les trois extraits d’images suivants, représentant chacun deux textures. Déterminer l’ordre et un paramètre discriminant de ces deux textures dans chacun des trois cas considérés. Extrait 1 Extrait 2 Extrait 3