Cours DESS

publicité
Segmentation d'image :
Régions
Philippe Montesinos
EMA/LGI2P
Parc Scientifique G.Besse
30000 Nîmes
[email protected]
http://www.lgi2p.ema.fr/~montesin
1
Segmentation régions (plan)
Aspect Statistique élémentaire
Segmentation régions : une définition
Segmentation par classification
Algorithmes de base : composantes connexes
Seuillage par hystérésis
Croissance de régions
Structures de données pour la segmentation régions (quad-tree, graphes d'adjacence)
Méthodes de division
Méthodes de fusion
Méthodes de division-fusion
2
Régions : aspect statistique
Région : I(x,y) ~ 120
→ intensité homogène
Contour
3
Régions : aspect statistique
Ensemble de pixels : → on considère l'histogramme
région bureau
une seule région
4
Régions : aspect statistique
ng max : 0.52549 – ng min : 0
comptes cumulé
histogramme
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
65536
7419
7419
7419
7419
7419
7419
7395
7365
7346
7296
7276
7240
7182
7136
7044
6928
6794
6743
6699
6647
6585
6412
6095
5854
5147
4644
4005
2394
933
171
2
58117
0
0
0
0
0
24
30
19
50
20
36
58
46
92
116
134
51
44
52
62
173
317
241
707
503
639
1611
1461
762
169
2
ng image
0.000
0.017
0.034
0.051
0.068
0.085
0.102
0.119
0.136
0.153
0.170
0.186
0.203
0.220
0.237
0.254
0.271
0.288
0.305
0.322
0.339
0.354
0.373
0.390
0.407
0.424
0.441
0.458
0.475
0.492
0.509
0.525
seuil
vallée
5
Régions : aspect statistique
une seule région
une seule région homogène
6
Régions : aspect statistique
une seule région homogène : histogramme 16 comptes
→ point de vue statistique
histogramme = densité de probabilité d'un niveau de gris
7
Régions : aspect statistique
une seule région : S pixels
(S = surface de la région en pixels)
Nombre de fois ou le niveau de gris
j a été rencontré
Probabilité du niveau de gris j
8
Régions : aspect statistique
Moments :
moyenne :
variance :
9
Régions : aspect statistique
fusion de 2 régions:
région 1 :
région 2 :
10
Régions : aspect statistique
Moments :
moyenne :
variance :
Pas nécessaire de descendre au niveau des pixels
11
Segmentation Régions
On peut définir des prédicats d'homogénéité :
variance < seuil
max - min < seuil
...
12
Segmentation Régions
Définition formelle :
[HP75, HP76, Zuc76]
La segmentation en régions d'une image I est une partition :
13
Segmentation Régions
Problème : ne définit pas une segmentation unique
Exemple :
prédicat:
S = 2 → 2 segmentations possibles
1
2
4
3
Image 2x2
14
Segmentation Régions : Méthodes algorithmiques
1 - Partition par classification
→ associer à chaque pixel une classe de niveaux de gris ou de couleur
Exemple :
→
segmentation à partir d'histogrammes (détermination des vallées et seuillage)
15
Segmentation Régions : Méthodes algorithmiques
2 - Croissance de régions
Exemple :
Croissance de régions par seuillage itératif (Prédicat P(r))
→ déterminer N seuils
→ pour chaque seuil :
→ seuillage I → Iseuil
→ étiquetage de composantes connexes Iseuil → liste de régions Lr
→ pour chaque région r de Lr
→ si P(r) est vrai recopier r dans l'image de sortie Isortie
16
Seuils décroissants
Segmentation Régions : Méthodes algorithmiques
Régions pour un seuil donné
17
Segmentation Régions : Méthodes algorithmiques
histogramme
Exemple
Pas de seuil unique pour
détecter tous les objets
→ méthodes par classification
inefficaces
Seuil vallée 2
Seuil vallée 1
18
Segmentation Régions : Méthodes algorithmiques
Croissance de régions :
Seuillage itératif :
Prédicat : écart-type < 0.08
Exemple
Croissance de régions :
Seuillage itératif :
Prédicat : écart-type < 0.08
& surface > 20
19
Segmentation Régions : Méthodes algorithmiques
Croissance de régions :
Seuillage itératif :
Prédicat : écart-type < 0.08
Exemple
Croissance de régions :
Seuillage itératif :
Prédicat : écart-type < 0.08
& surface > 20
20
Etiquetage de composantes connexes
Entrée : image binaire (ou niveau de gris)
passé
→ algorithme en une seule passe
pixel courant
Sortie : liste de régions
principe :
balayage : gauche → droite
haut → bas
B C D
A X
→ on attribue une étiquette au
pixel courant X en fonction
du passé :
{A, B, C, D} en 8-connexité
{A, C}
en 4-connexité
21
Etiquetage de composantes connexes
Début :
couleur initiale : k = 1
Coloriage (X) :
– si (X != 0)
– si (A = 1)
balayage : gauche → droite
haut → bas
– couleur(X) ← couleur(A)
– si ( (D = 1) & couleur(D) != couleur(A))
– fusion(couleur(D), couleur(A))
– Pour chaque pixel X → coloriage(X)
– fini
– si (B = 1) … (idem cas (A=1))
– si (C = 1)
– couleur(X) ← couleur(C)
– fini
– si (D = 1)… (idem cas (C=1))
– k = k +1
– couleur(X) ← k
– fini
22
Etiquetage de composantes connexes
Fusion : gestion d'un tableau de fusion
→ exemple
X X
non
utilisé
2
3
4
5
6
7
8
9 ...
2
3
3
2
2
7
3
7
ici fusions :
3, 4, 8
2, 5, 6
7, 9
23
Etiquetage de composantes connexes
fusion cas 1:
X X
2
3
4
2
2
2
5
...
24
Etiquetage de composantes connexes
fusion cas 2:
Trouver la couleur : parcours recursif du tableau arrêt : index = contenu
X X
2
3
4
2
2
3
5
...
25
Seuillage par hystérésis
I : image en entrée
S : image en sortie
sb, sh : 2 seuils
Is : image temporaire
Lr : liste de régions 8-connexes
Hystérésis :
– Is = seuillage(I, sb)
– Lr = composantes_8connexes(Is)
– pour toute région r de Lr
– si max_niveaux_gris( r ) > sh : recopier r dans S
26
Structures de données
Quad tree
Image : une seule région
Chaque case :
Structure de données
Info sur la région :
→ max, min, moyenne, variance, ...
27
Structures de données
Quad tree
Construction ascendante des
régions par fusion des attributs
(régions regroupées 2 à 2)
pixels
28
Structures de données
Graphes d'adjacence
R4
R2
R1
R5
R6
R3
29
Algorithmes de base
Algorithme de division
→ utilisation d'un quad tree
→ remplir le quad-tree de manière ascendante
→ le sommet du quad-tree est une région qui contient toute l'image
→ Division descendante en partant du sommet
→ tant que le nœud considéré ne vérifie pas le prédicat d'homogénéité
→ on divise la région en 4
On obtient une segmentation qui vérifie les points 1, 2 et 3 de la définition formelle
30
Algorithmes de base
Algorithme de fusion
→ création d'un graphe d'adjacence
Tant qu'il existe un couple de régions adjacentes tq la fusion vérifie le prédicat d'homogénéité
– fusionner les deux régions
– mettre à jour le graphe d'adjacence
31
Algorithmes de base
Algorithme de division – fusion (méthode mixte)
Aspect combinatoire difficile
→ En général on effectue dans l'ordre :
– division
– fusion
32
Segmentation Régions
Définition formelle plus précise :
→ ajout de fonctions de qualité de la segmentation
Q : qualité d'une région
ex : la variance des niveaux de gris de la région
C : qualité de la segmentation → C( Q(R1), Q(R2), Q(R3), … )
ex : moyenne des Q(Ri)
→ ajout d'un 5ieme axiome :
33
Segmentation Régions
→ ajout d'un 5ieme axiome :
Parmi toutes les segmentations possibles on recherche
une segmentation S* qui optimise la fonction de qualité
C(S*) < C(S)
pour S
ensemble des partitions de l'Image
Et C fonction décroissante
34
Segmentation Régions
Exemple :
Nombre de régions
Segmentation S
Variance région Ri
35
Segmentation Régions
5ieme axiome :
→ ne garantit toujours pas l'unicité !
→ complexité importante : problème NP difficile
Recherche d'algorithmes sous-optimaux
36
Segmentation Régions
A partir du graphe d'adacence (graphe valué)
→
la fonction Q, qualifie la qualité de la fusion de 2
régions adjacentes
→
à chaque étape on choisit le couple de régions
qui minimise :
37
Segmentation Régions
→
implémentation par tas (arbre avec tri)
– construction en
– recherche d'un couple à fusionner en
– suppression d'un élement en
38
Segmentation Régions
1
qualité 8
qualité 9
4
qualité 2
2
3
5
qualité 11
qualité 7
6
qualité 8
Structure de tas
39
Segmentation Régions : Exemples
Image bureau
Carte de contours
128 seuils [0.3, 1],
écart-type : 0.2
distance contours : 2p
Seuillage itératif
40
Segmentation Régions : Exemples
Image bureau : vidéo inverse
Carte de contours
128 seuils [0.3, 1],
écart-type : 0.2
distance contours : 2p
Seuillage itératif
41
Segmentation Régions : Exemples
Image bureau
superposition : régions sombres
régions brillantes
Seuillage itératif
42
Segmentation Régions : Exemples
Image bureau
Division-Fusion :
Division : max-min < 0.005
Fusion : # moyennes < 0.02
Variance < 0.5
Division Fusion
43
Bibliographie
44
Bibliographie
45
Téléchargement