Objectif décomposer limage X en un ensemble de sousparties connexes et homogènes formant une partition de limage Notations N R nbre de régions R i région ID: 318227
Download Presentation The PPT/PDF document "Segmentation : principes" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Segmentation : principes
Objectif : décomposer l’image X en un ensemble de sous-parties connexes et homogènes formant une partition de l’imageNotations :NR : nbre de régions, Ri région n°i, Segmentation vérifie : i[1,NR], Ri 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 grisSlide2
Segmentation : principes
Prédicats de base :La région Ri est homogène i[1,NR], H(Ri) vraiLa région Ri est distincte de ses voisines segmentation maximale (
i,j
)[1,N
R]2, H(RiRj) fauxSegmentations 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 similairesSlide3
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 connexesEtiquetage en composantes connexes des c classes → segmentationalgorithme :Initialisations : k=0,
s
S, zs=0Pour chaque classe
wi
Créer l’
im
.
bin
.
B
i de la classe (
bs
=1
x
s=
w
i
)
Pour tout pixel sS :Si bs=1 et zs=0, alors :Calcul de la comp. connexe CC{s} de s dans Bi (cf. algo. d’étiquetage en comp. connexes)k=k+1tCC{s}, zt=kNR=k
sortieSlide4
Étiquetage en composantes connexes
Algo. 2 : Etiquetage (cas 4-connexité) en 2 balayagesinitialiser l’image des étiquettes Z à 0balayer l’image, soit s le pixel courantsoit l1 et l2 les 2 étiquettes des voisins de s (masque causal 2-connexité)si (l1=
l2) ou (
li 0 et
l3-i=0, i{1,2}), affecter li à s dans Z si (l
1l2), affecter min(
l
1
,
l
2) à
s dans Z, et mettre à jour la table d’équivalence entre les étiquettes : l1l2
si (l1=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)79Slide5
Cas où on construit les régions
Pb principal : comment construire les régions dans l’espace image et dans l’espace des caractéristiques1è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 finalSlide6
Critères d’homogénéité d’1 région
Exemples de critères globaux à la régionContraste : H(Ri) vrai Variance : H(Ri) vrai Distance interquartiles : H(Ri) vrai Entropie : H(Ri) vrai Exemples de critères locaux à la régionDistance avec pixels voisins : H(R
i{s
}) vrai Slide7
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égionsAlgorithme de sélection de germes sur histogrammek=0
tant que pixels non
labelisés
Calcul de l’histogramme Hres des pixels non labelisés
val
= mode de
H
res
,
s_germe
/
xs_germe
= val
k
=
k
+1
Croissance de région à partir de
s_germe
:zs_germe=kTant que t connexe à Rk et Rk{t} vérifie prédicat d’homogénéïté, Rk ← Rk{t} tRk, zt=kNR=kSlide8
Sélection de germes sur histogramme
....
30
régions
significatives
sur
213!Slide9
Croissance de régions
Exemple :Cmax = 80 → NR = 6Cmax = 70 → NR = 17
Cmax = 100 →
NR = 6
Cmax = 100 → NR = 6
C
max
= 80 →
N
R
= 5
Cmax = 70 → NR
= 12
≠
≠
≠
S
é
lection de germes sur histogramme
S
élection de germes aléatoireSlide10
Pyramide du Quadtree
000102
03
10
11
12
13
20
21
22
23
30
31
32
33
0
1
2
3
000
001
002
003
010
011
012
013
020
021
022
023
030
031
032
033
100
101
102
103
110
111
112
113
130
131
132
133
200
201
202
203
210
211
212
213
220
221
222
223
230
231
232
233
300
301
302
303
310
311
312
313
320
321
322
323
330
331
332
333
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
i0
i7
i6
i5
i4
i3
i2
i1
i0
j7
j6
j5
j4
j3
j2
j1
j0
j7
j6
j5
j4
j3
j2
j1
j0
+
Ex. :
(2,3)
13 =
3
4
1
+
1
4
0
120
121
122
123
(
6,2
)
44 =
2
4
2
+
3
4
1
+
0
4
0
Slide11
Partage / fusion
de régionsregion splitting : soit Ri / H(Ri) faux, alors diviser Riregion merging : soit Ri , Rj connexes / H(RiRj) vrai, alors Ri=RiRj, supprimer Rj
Application à la structure du quadtree (image Nx
N)Initialisations :
l0 niveau de départ dans la pyramide, t0=N/2l0 , n=4l0Fusion : j=l0, t=
t0 , k=1
Tant que
j
>0
Pour
i variant de 0 à n-1 par pas de 4
l0-j+1Si les 4 blocs i, i+k
, i+2k, i+3
k 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
=4
k
Division : j=l0Pour i variant de 0 à n-1Si la taille du bloc i est ≤t0 et >0Tant 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 l0Longueur coté d’1 bloc au niveau l0Slide12
Graphe de
régionsLe 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 nbre et la liste des arrêtes impliquant sUne 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 de construction du graphe d’adjacence :
1
2
3
5
6
7
8
4
1
2
3
5
6
7
8
4Slide13
Coût des arrêtes du graphe :
Fonction des caractéristiques des régions adjacentesFonction de la pertinence (e.g. homogénéité) de la fusion des régions adjacentesExemple de coût entre Ri et Rj disjointes :Contraste = Variance =(rq ) Graphe de régions (suite)Slide14
Sélection par accord mutuel : ex.
1
2
3
5
6
7
8
4
1
2
3
4
5
7
6
8
m
=1,
s
=1,
N
=50
m
=10,
s
=1 ,
N
=50
m
=11,
s
=1 ,
N
=80
m
=8,
s
=1 ,
N
=40
m
=2,
s
=1 ,
N
=30
m
=3,
s
=1 ,
N
=100
m
=4,
s
=1 ,
N
=60
m
=11,
s
=1 ,
N
=100
/
20,25
12,10
/
22,22
/
/
2,23
20,25
/
0,99
/
0,22
/
/
/
12,10
0,99
/
/
1,83
/
/
/
/
/
/
/
14,38
/
/
/
22,22
0,22
1,83
14,38
/
16
/
11,48
/
/
/
/
16
/
15,8
0,23
/
/
/
/
/
15,8
/
12
2,23
/
/
/
11,48
0,23
12
/
1
3
4
5
7
8
m
=1,
s
=1,
N
=50
m
=11,
s
=1 ,
N
=80
m
=8,
s
=1 ,
N
=40
m
=2,
s
=1 ,
N
=30
m
=3.4,
s
=1 ,
N
=160
m
=10.7,
s
=1 ,
N
=150
/
/
12,10
/
17,64
/
/
1,05
/
/
/
/
/
/
/
/
12,10
/
/
/
1,21
/
/
/
/
/
/
/
10,51
/
/
/
17,64
/
1,21
10,51
/
/
/
13,31
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
12,83
1,05
/
/
/
13,31
/
12,83
/
1
3
5
7
8
4
4
5
7
8
m
=11,
s
=1 ,
N
=80
m
=2,
s
=1 ,
N
=30
m
=2.8,
s
=1 ,
N
=210
m
=10.1,
s
=1 ,
N
=190
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
7,73
/
/
/
/
/
/
7,73
/
/
/
13,29
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
13,43
/
/
/
/
13,29
/
13,43
/
5
7
8
4Slide15
Fusion de régions dans un graphe
Exemple d’algorithme :Initialisations : nbe de régions = nbre pixels, initialisation de LS et LATant que segmentation non maximaleSélection des arrêtes a0 de moindre coût par accord mutuel (a0 relie si et sj et j=argmink{ct(a)/a=(si,
sk)} et i
=argmink{ct(
a)/a=(sk,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 nbre de régions =
nbre
sommets
Création de l’image des régions (d’après liste de pixels des sommets)Slide16
Comparaison de méthodes
Croissance de régionsPyramide du QuadtreeFusion de régionsSlide17
Tests statistiques entre deux régions à fusionner
Hyp. : bruit gaussien sur une image assimilée à une fonction 2D constante par morceauTest de Student d’égalité des espérances intervalle de confiance de l’estimateur de l’espérance m d’une loi normale dont la variance est inconnue avecTest de Fisher-Snedecor d’égalité des moyennes et des variances…Test du c2 d’homogénéité v.a. qui suit 1 loi du c2 à m-1 degrés de liberté ?
Test de Wilcoxon : soit (somme pour chaque pixel de
R1 du
nbre de pixels de R2 de valeur inférieure) : on teste si U suit 1 loi normale N(n1n2/2,
n1n2(
n
1
+
n
2+1)/12)
Comparaison
des
histo
. des
régions
:
n
j
et
nj’ nb pixels du ‘bin’ j dans chaque histo.