Estimation du MAP (III)
• Iterated Conditionnal Modes (Besag, 1974)
A partir de x0 la configuration initiale,Répéter tant que le compteur est > : xk étant la configuration courante
• Mettre le compteur à 0• Pour tous les sites s S :
– poser xt = xtk, et xt
k+1 = xtk tS:ts,
– Pour chaque i de ,» poser xs = i,
» calculer ui =
– Poser j = argmini {ui}
– Poser xsk+1 = j,
– si xsk+1 xs
k incrémenter le compteur de 1
csCc
stscsss VtxxUyxU:
,~,~,~0
ktt xx ~
sx~
MAP : exemples de résultats=
30
Classification aveugle ICM, =2.5
=60
Classification aveugle ICM, =2.5
SAG, =2.5, it.1860
SAG, =2.5, it.2100
SAM, =2.5, it.1380
SAM, =2.5, it.1640
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)
XRRi i #
1
ji RRjiRji ,,]#,1[),( 2
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 i
• Créer l’image binaire B de la classe (bs=1 xs=i)
• Pour tout pixel sS :– Si bs=1 et zs=0, alors :
» Calcul de la composante connexe CC{s} de s dans Binitialisation de la pile avec s et de la composante
connexe à 0tant que la pile n’est pas vide
extraire t de la pilemettre t à 1 dans la composante connexepour tout r voisin de t non déjà traité (ni déjà
dans la pile)si xr=i 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
XRRi i #
1
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
contrastesRs
sRs
syyii
minmax
ianceRs Rs
si
si
syR
yR
i i
var
21
11
quartileqqiqisq szzqzRsyPziii
12
,,/ ,2,1
entropieRsy
ss sypypis
/
log.
cedisrsrsRr
syyi
tanconnexes , et
max
Pyramide du Quadtree
00 01
02 03
10 11
12 13
20 21
22 23
30 31
32 33
0 1
2 3
000
00100
2003
010
01101
201302
0021
022
023
030
03103
2033
100
10110
2103
110
11111
211312
012112
2123
130
13113
2133
200
20120
2203
210
21121
221322
0221
222
223
230
23123
2233
300
30130
2303
310
31131
231332
032132
2323
330
33133
2333
Construction du quadtree par parcours de Peano :
Clé de Peano :
Pixel de coordonnées-image (i,j)
i7 j7 i6 j6 i5 j5 i4 j4 i3 j3 i2 j2 i1 j1 i0 j0
i7 i6 i5 i4 i3 i2 i1 i0i7 i6 i5 i4 i3 i2 i1 i0 j7 j6 j5 j4 j3 j2 j1 j0j7 j6 j5 j4 j3 j2 j1 j0+
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)
1sup
0iBiB
niBS
n
maxiW
Exemples de résultats avec
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
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 fréquentielles Approches statistiques
Textures aléatoiresIrrégularités
(herbes, cailloux, foules…)
Textures régulièresPériodicité d’1 motif
(grilles, tissus, murs…)
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
n
kk npn .1
n
kk npn .
n
npE 2
n
npnpH log.
nnD minmax
nn
nnC
minmaxminmax
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
1
0,,,
221
1,
L
mndmn
LdC
ij
ijij
Vjiij
VljkiVji
ijij
XXVjiX
VljkiXVjiX
lkjiC
','
21
','','
11
','
','.','
),;,(
.........
...,,,...
.........
sin,cos, mljkiXnjiXPdldkd
n m
dmndE 2,,,,
mnn m
dmnmn mndCorr .., ,,,
n m
dmnmn
dh ,,,21
1,
n m
dmndmndH ,,,,,, log1,
n m
dmnn n ,,,
n m
dmnnn n ,,,22
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.
01010101
10101010
01010101
10101010
01010101
10101010
01010101
10101010
01010101
00000000
01010101
00000000
01010101
00000000
01010101
00000000
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
00001010
10101010
00001010
10101010
00001010
10101010
00001010
10101010
00000101
00001010
11110101
11111010
00000101
00001010
11110101
11111010
01100000
00001010
01101010
00000000
01100000
00001010
01101010
00000000