Visa 2 cours segmentation couleur -...

23
Analyse d’images de mosaïques Thèse de V. Ultré (1996). EST Fès. Surface plane constituée d’un assemblage de petites pièces. Pièces de couleurs et de formes différentes. Cours 2 Segmentation d'images couleur • Exemple Segmentation par classification des pixels – Clustering – Analyse d'histogrammes Segmentation par analyse du plan image – Croissance de régions – Split and Merge de régions Analyse d’images de mosaïques Squelette (archéologique): ensemble de pièces de formes et couleurs proches. Identifier automatiquement les différents squelettes. Reconnaissance des mosaïques. Chaîne de traitements Image RGB Couleur représentée dans l’espace (R,G,B) Image RGB Représentation 63 127 191 255 63 127 191 255 63 127 191 255 G R B Couleur représentée dans l’espace (R,G,B) Chaîne de traitements Image RGB Représentation 63 127 191 255 63 127 191 255 63 127 191 255 Couleur représentée dans l’espace (R,G,B) Chaîne de traitements G R B

Transcript of Visa 2 cours segmentation couleur -...

Page 1: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

Analyse d’images de mosaïques• Thèse de V. Ultré

(1996).• EST Fès.• Surface plane constituée

d’un assemblage de petites pièces.

• Pièces de couleurs et de formes différentes.

Cours 2 Segmentation d'images couleur

• Exemple• Segmentation par classification des pixels

– Clustering– Analyse d'histogrammes

• Segmentation par analyse du plan image– Croissance de régions– Split and Merge de régions

Analyse d’images de mosaïques• Squelette (archéologique):

ensemble de pièces de formes et couleurs proches.

• Identifier automatiquement les différents squelettes.

• Reconnaissance des mosaïques.

Chaîne de traitementsImage RGB

Couleur représentée dans l’espace (R,G,B)

Image RGBReprésentation

63

127191

255

63

127191

255

63

127

191

255

G

R

B Couleur représentée dans l’espace (R,G,B)

Chaîne de traitementsImage RGB

Représentation

63

127191

255

63

127191

255

63

127

191

255

Couleur représentée dans l’espace (R,G,B)

Chaîne de traitements

G

R

B

Page 2: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

Image RGBReprésentation

63

127191

255

63

127191

255

63

127

191

255

Couleur représentée dans l’espace (R,G,B)

Chaîne de traitements

G

R

B

Image RGBReprésentation

63

127191

255

63

127191

255

63

127

191

255

Couleur représentée dans l’espace (R,G,B)

Chaîne de traitements

G

R

B

Image RGBReprésentation

63

127191

255

63

127191

255

63

127

191

255

Couleur représentée dans l’espace (R,G,B)

Chaîne de traitements

G

R

B

Image RGBReprésentation

Couleur représentée dans l’espace (R,G,B)

Image codée

Chaîne de traitements

Couleur représentée dans l’espace (R,G,B)

Image RGBReprésentation

Image codée

Chaîne de traitements

Couleur représentée dans l’espace (R,G,B)

Image RGBReprésentation

Image codée

Chaîne de traitements

Segmentation

Page 3: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

Étiquettes des régions

Image RGBReprésentation

Segmentation

Image codée

Image d’étiquettes

Chaîne de traitementsImage RGB

Représentation

Segmentation

Reconnaissance

Attributs des régions

Image codée

Image d’étiquettes

région extraite

Chaîne de traitements

15

Définition de la segmentation• Elle vise à séparer une image en N régions

Rn dont les pixels présentent des caractéristiques semblables.

• Les caractéristiques utilisées sont les composantes colorimétriques des pixels.

16

Définition de la segmentation

IN

n nR =

= 1.1

nRpàp

nR

nRppNn

dans21

decheminun

,)2

,1

(,,...,1.2

×∈∀=∀

faux)mn

(desinvoi,.4 =∪⇒≠∀ RRPm

Rn

Rmn

raiRPn v)(,.3 =∀

– Réaliser une partition de I en N sous-ensembles de pixels R1, R2,..,RN, appelés régions, tel que:

U

17

Segmentation

Recherche de régions(approches « régions »)

Recherche de frontières (approches « contours »)

18

Plan

• 1. Introduction• 2. Les méthodes de « clustering »• 3. L’analyse d’histogrammes 1D• 4. L’analyse de l ’histogramme 3D.• 5. Le choix des composantes couleur6. Conclusion

Page 4: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

19

• Méthodes qui analysent la distribution des couleurs

• Région = ensemble de pixels connexes dont les couleurs sont homogènes

• Recherche de nuages de couleurs dans l ’espace couleur

Segmentation par classificationSegmentation par classification

20

image RGBespace couleur RGB

Les pixels d’une même région appartiennent à une classe identique

21Espace RGB

(0,0,0)

Les pixels appartenant à une classe peuvent former plusieurs régions non adjacentes dans l’image

22

L’apprentissage non supervisé

• L’image constitue l’ échantillon d ’apprentissage sans intervention de l’opérateur.

• Certaines méthodes nécessitent de saisir le nombre de classes, ou le nombre de pixels par classe

23

L ’apprentissage supervisé

• L’opérateur crée l’échantillon d ’apprentissage: ensemble de pixels pour chaque classe.

• sélection interactive de sous-images.

24

• Après l ’apprentissage• Etape 2: la décision

– labélisation de chaque pixel à la classe la plus proche

– utilisation d’une métrique dans l’espace des couleurs

• Une région = ensemble de pixels connexes affectés à la même classe

Segmentation par classificationSegmentation par classification

Page 5: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

25

2. LES METHODES DE « CLUSTERING »2. LES METHODES DE « CLUSTERING »

26

Les K-Means [Diday 82]

• Méthode itérative avec initialisation• Initialisation

– lire le nombre de classes Nc et fixer t le numéro d ’itération courant à 0.

– les Nc centres de gravité μCj(0) sont initialisés à une position arbitraire

27

• Itération t– étape 1: Chaque pixel Pi de l'image est affecté

à la classe Cj dont le centre de gravité μCj(t) est le plus proche du point c(Pi) qui est associé au pixel dans l’espace de représentation.

μC1 (t)

μC2 (t)

μC3 (t)C(Pi)

28

Les K-Means [Diday 82]

• Choix d ’une métrique M pour le calcul de la distance:– forme simplifiée M = I– distance de Mahalanobis: M matrice de

variance-covariance ∑ −−=∑Pi

iT

i PcPcT

))(())((1 μμ

29

• Etape 2: Les centres de gravité μCj(t) sont mis à jour suite à l’affectation lors de l'étape 1

μC1 (t+1)

μC2

μC3

C(Pi)

30

• Temps de convergence et résultats dépendent de l ’étape d ’initialisation.– le choix des centres de gravité est aléatoire.– les centres de gravité sont choisis de telle sorte

qu'ils soient uniformément répartis dans l'espace RGB.

– les centres de gravité sont sélectionnés de manière interactive.

Les K-Means [Diday 82]

Page 6: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

31

Application

32

μC1 (t+1)

Phase initiale: les 3 centres de gravité sont fixés

33

• Étape initiale des K-Means

34

• Itération 1 des K-Means

Image segmentéePoints classés dans l ’espace RGB

35

• Itération 2 des K-Means

Image segmentéePoints classés dans l ’espace RGB36

Une variante des K-Means [Takahashi 95]

2 tests ajoutésSi la variance intra-classe d ’une classe > seuil

alors division en 2 classesSi la distance entre les centres de gravité de 2 classes < seuil

alors fusion des 2 classes.

Page 7: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

37

• Initialisation– Une classe C0 est construite contenant les T

pixels. – Un compteur de victoires CPT0 est initialisé à 0.

• Remarque: Les résultats ne dépendent pas de l ’initialisation

Apprentissage compétitif [Uchiyama 94]Apprentissage compétitif [Uchiyama 94]

38

• itération t :– Sélection aléatoire d'un pixel pi et recherche de

la classe gagnante dont la distance est la plus faible avec la couleur de pi

– Mise à jour du centre de gravité et incrémentation du compteur de victoires de la classe gagnante

– si compteur de victoires > seuil création d ’une nouvelle classe

))()(()()1( tPctt CgagnantiCgagnantCgagnant μαμμ −+=+

Apprentissage compétitif [Uchiyama 94]Apprentissage compétitif [Uchiyama 94]

39Points classés dans l ’espace RGB

Image segmentée

Apprentissage compétitif [Uchiyama 94]Apprentissage compétitif [Uchiyama 94]

40

3. ANALYSE DES HISTOGRAMMES

MONODIMENSIONNELS

41

Analyse récursive des histogrammes [Ohlander 78]

• Tant que la pile des classes n'est pas vide faire:– dépiler Cj de la pile des classes.– calculer les histogrammes des pixels

appartenant à Cj.– rechercher l’histogramme qui possède le mode

le plus important

42

• Le mode le plus important est celui dont le sommet est le plus élevé.

• Extraction du mode de l ’histogramme sélectionné par recherche des seuils haut et bas qui le délimitent

HR

HG

HB

0 255127

0 127 255

0255

bas

haut

Page 8: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

43

• Si le mode contient une population de pixels suffisante– créer et empiler 2 nouvelles classes de pixels, ceux

appartenant au mode et ceux n'appartenant pas au mode.

• Sinon les pixels appartenant à ce mode forment une région.

44

Pixels extraits du mode le plus

important

pixels n ’appartenant pas au mode le plus

important

HR

HG

HB

0 255127

0 127 255

0255

bas

haut

45

• Itération suivante : recherche du mode le plus important

HR

HG

HB

0 255127

0 127 255

0255

hautbas

46

HR

HG

HB

0 255127

0 127 255

0255

Pixels extraits du mode le plus

important

pixels n ’appartenant pas au mode le plus

important

47

g p ,q ={0 si f p ,q ≤S1 si f p , q S

S=T [ p ,q , Γ p , q , f ]avecavec

ImageImage

Coordonnées du pixelCoordonnées du pixel

Propriété locale au pixelPropriété locale au pixel

Seuillage

48

S=T [ p ,q , Γ p , q , f ]

S=T [ f ]Seuillage globalSeuillage global

S=T [ Γ p ,q , f ]Seuillage localSeuillage local

S=T [ p ,q ]Seuillage dynamiqueSeuillage dynamique

Seuillage

Page 9: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

49

Utiliser l’histogrammeSeuillage global

H(x)

Seuil

x

Objet

Fond

Exemple: image=fond+objet

Seuil

p2(x)p1(x)

50

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

S=64

S=127

S=180

Seuillage global

51

0 50 100 150 200 250

0

1000

2000

3000

4000

5000

6000

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

Utiliser l’histogrammeUtiliser l’histogramme

S=150

Seuillage global

52

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

S=T [ Γ p ,q , f p , q ]

Le seuil est la valeur moyenne Le seuil est la valeur moyenne d’une fenêtre 5x5 centrée en (p,q)d’une fenêtre 5x5 centrée en (p,q)

Seuillage local

53

• Analyse de l'histogramme des niveaux de gris– Recherche des minima locaux de l'histogramme normalisé– Positionnement des seuils de classification sur ces minima locaux

(multiseuillage)

Soit sj : seuil associé à la classe Cj

mj : moyenne des intensités des pixels de la classe Cj

On a: Hi(sj)=mink (Hi(k)) avec k ∈ ]mj, mj+1[

– Résultats assez moyens sur histogrammes bruités– nombreuses irrégularités = mauvaise détection des minima

locaux– Assez peu utilisée malgré des techniques d'amélioration de la robustesse par des algorithmes de type lissage d'histogrammes

Nb pixels

Intensité

ClasseCj

ClasseCj+1

mj sj mj+1

Seuillage par détection des vallées

54

Répartition des pixels en K classes : problème classique de classification– Minimisation de l'inertie intra-classe, soit maximisation de l'inertie inter-classe

I

Seuillage par minimisation de variance

.i

.i

.h(i)

.h(i)P

1

P2

Page 10: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

55

Segmentation « coarse to fine » [Lim 90]

• Segmentation grossière – extraction des classes de pixels par analyse

récursive des histogrammes 1D

pixels noirs non classés

56

Segmentation « coarse to fine » [Lim 90]

• Segmentation fine: – chaque classe est un sous-ensemble flou de

pixels.– calcul de la fonction d’appartenance de chacun

des pixels non classés aux régions voisines Cj.– Affectation du pixel à la classe dont la fonction

d ’appartenance est max.• fonction d ’appartenance tient compte de

l ’écart colorimétrique.

57

Image des pixels classéspixels noirs non classés

Image des pixels classés-

Segmentation grossière Segmentation fine

58

Différences entre les méthodes d ’analyse d ’histogrammes 1D

• Les systèmes de représentation de la couleur influence la distribution des couleurs

• Les systèmes les mieux adaptés– I1I2I3 [Ohta 80, Lim 90]– CIE Luv [Schettini 93]– Coordonnées cylindriques dérivées de CIE Lab

[Celenk 90]

59

La transformation de Karhunen-Loeve pour construire les classes.

[Tominaga 1986]Histo X1

Histo X2

Histo X3

0 255127

0 127 255

0255

60

Analyse récursive de la 1ere composante

0 2551270 255127

Pixels du 2ememode extraitPixels du 1ermode extrait

Page 11: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

61

4. ANALYSE DE L’HISTOGRAMME 3D

62

Construction d ’un histogrammes 3d

0 255Rmin Rmax0

255

Gmin

Gmax

Bmin

Bmax

1 Cellule contient la population de pixels avec [ ] [ ] [ ]R R R G G G B B B∈ ∈ ∈min, max min, max min, maxet et

63

nbre niveauxde couleur

NbreCellules

Taille mémoire

64x64x64 262144

409616 x16x16

32x32x32 32768

2048 Ko

256 Ko

32 Ko

64

seuillage de la population de pixels pour chaque cellule

l ’intensité de l ’histo2D est d’autant plus élevée au point (R,G) que H(R,G) est importante

histogramme 2D

0 2550

255

R

G

H(R,G)

65

image segmentéehistogramme 2D -

seuil = 50

0 2550

255

2 classes

seuillage de la population de pixels pour seuillage de la population de pixels pour chaque cellulechaque cellule

66

image segmentéehistogramme 2D -

seuil = 20

3 classes

seuillage de la population de pixels pour seuillage de la population de pixels pour chaque cellulechaque cellule

0 2550

255

Page 12: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

67

5. CHOIX DES COMPOSANTES

COULEUR

68

Objectif

●Comparer différentes composantes colorimétriques entre elles afin de déterminer celles qui offrent la meilleure séparation entre deux classes

69

ReprésentationReprésentation de la de la couleur couleur

(R,G,B)

Systèmes de primaires

(R,G,B)

systèmes de primairesréelles

(RE,GE,BE)

(RF,GF,BF)

(RC,GC,BC)

systèmesde primaires

virtuelles

(X,Y,Z)

systèmesnormalisés

(r*,g*,b*)

(x,y,z)

Systèmes luminance-chrominance

systèmesperceptuellementuniformes

(L*,a*,b*)

(L*,u*,v*)

systèmesantagonistes

(A,C1,C2)

(bw,rg,by)

systèmes detélévision

(Y’,I’,Q’)

(Y’,U’,V’)

autres systèmesluminance-chrominance(L,Ch1,Ch2)

(I,r,g)

Systèmes perceptuelssystèmes decoordonnées perceptuelles

(I,S,T)systèmes de coordonnéespolaires

(L,C,H)

Systèmes d’axes indépendantssystème d’Ohta(I1,I2,I3)

70

Segmentation d’images couleur et systèmes de représentation

Quel est le système le mieux adapté à la segmentation d’images couleur ?

[Ohta 1980], [Lim 1990] , [Liu 1994], [Lee 1994] ⇒ (I1,I2,I3).[Lim 1990], [Gauch 1992], [Littman 1997] ⇒ (R,G,B).[Gauch 1992,], [Adel 1993] ⇒ (L*,a*,b*), (L*,u*,v*).[Gauch 1992] ⇒ (L,C,H), (Y’,I’,Q’).[Ahmad 1996] ⇒ (I,S,T)...

Il n’existe pas de système adapté à tous les cas !

71

Espace couleur hybrideEspace couleur hybride

(R,G,B)

Systèmes de primaires

(R,G,B)

systèmes de primairesréelles

(RE,GE,BE)

(RF,GF,BF)

(RC,GC,BC)

systèmesde primaires

virtuelles

(X,Y,Z)

systèmesnormalisés

(r*,g*,b*)

(x,y,z)

Systèmes luminance-chrominance

systèmesperceptuellementuniformes

(L*,a*,b*)

(L*,u*,v*)

systèmesantagonistes

(A,C1,C2)

(bw,rg,by)

systèmes detélévision

(Y’,I’,Q’)

(Y’,U’,V’)

autres systèmesluminance-chrominance(L,Ch1,Ch2)

(I,r,g)

Systèmes perceptuelssystèmes decoordonnées perceptuelles

(I,S,T)systèmes de coordonnéespolaires

(L,C,H)

Systèmes d’axes indépendantssystème d’Ohta(I1,I2,I3)

(x,y,z)

(L,Ch1,Ch2)(I1,I2,I3)

72

Construction de l’espace hybride couleur [Vandenbroucke 2000]

●Apprentissage supervisé - sélection interactive des observations●Recherche des composantes les plus discriminantes par une procédure de sélection pas à pas.●Mesure du pouvoir discriminant par le critère de Wilks.

Page 13: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

73

Espace couleur hybrideEspace couleur hybride

Représentation de l’échantillon d’apprentissage

RB

G

xCh 2

I3

74

Application au suivi de joueurs de football

●Apprentissage supervisé

Classe C1 Classe C2

ω 0,1 ω 1,1 ω 2,1 ω 0,2 ω 1,2 ω 2,2

Extraction des pixels joueurs de l’image

Pré-segmentation par analyse d’histogramme couleur selon la méthode de Otha.

● Détermination d’un espace couleur hybride: l’espace qui discrimine le mieux les pixels joueurs des 2 classes.

●Conversion des composantes colorimétriques dans cet espace couleur hybride

Classification des pixels joueurs en 2 classes

pixels joueurs de la classe 1

pixels joueurs de la classe 2

Suivi des joueurs● Modélisation des joueurs par contours actifs mis à jour en

temps réel

contour actif du joueur 1

contour actif du joueur 2

Page 14: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

80

Conclusion

●Les pixels sont analysés de manière indépendante - L’aspect spatial intervient trop tard dans la décision

81

Conclusion

●Ces méthodes favorisent les classes de forte population●Les méthodes de classification souvent utilisées pour une segmentation grossière●Résultats dépendent de l ’espace de représentation de la couleur

82

Conclusion

●Approche globale qui prend en compte la distribution couleur et la disposition spatiale des pixels●Classification spatio-colorimétrique●Détermination automatique des composantes les mieux adaptées à un problème de segmentation

83

« Sé koi ?»

Techniques de segmentation

Approches « Région »

Approches «Contours »

Seuillage histogramme

Méthodes variationnellescontours actifs (snakes)

Template Matching

Intercorrélation

Texture Méthodes

Markoviennes Approches structuralesSplit/mergeCroissance

Analyse et classification

Méthodes dérivatives Détection de contours

84

La segmentation des images consiste à regrouper les pixels de ces images qui partagent un même propriété pour former des régions connexes

Deux approches principales :

• Approche « contours » : les régions sont délimitées par les contours des objets qu’elles représentent (séparation)

• Approche « régions » : les régions sont déterminées en fonction de leurs propriétés intrinsèques (agrégation de pixels fonction d’un critère d’homogénéité)

Page 15: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

85

RECHERCHE DE REGIONSRECHERCHE DE REGIONS

Croissance de régionCroissance de région

Split and MergeSplit and Merge

Contrairement à l’extraction des contours qui s’intéresse aux bords des régions, la segmentation en régions homogènes vise à segmenter l’image en se basant sur des propriétés intrinsèques des régions

LPELPE

86

Pi

Image à segmentergerme au centre de

l ’image

Image segmentée Itération 1

région blanche construite

Image segmentée Itération 2

région bleue construite

Exemple de construction de régionsExemple de construction de régions

Balayage de l’imagea partir d’un germe

87

Image = Région RImage = Région R

R={∪ ¿i=1

nRi

Ri est connexe

Ri intersect R j=φ pour i≠ j

P Ri =Vrai

P Ri intersect R j =Faux pour i≠ j

Formulation

88

Croissance de région

Choix d’un pixel source

Accumulation des voisinsvérifiant la propriété(e.g. niveau de gris)

Le processus est poursuivi jusqu’à traitement de tous les pixels de l’image (processus itératif) Méthode ascendante (bottom up).

Croissance de région (Region growing) Agrégation de pixels

89

Choix d’un pixel source

Accumulation des voisins vérifiant la propriété

Croissance de région

90

Méthode récursive

Principe : on fait croître une région avant de passer à lasuivante, sans parcours particulier déterminé a priori(méthode par agrégation libre de pixels)– Germe [seed] :– Croissance suivant un critère de similarité– Critère d’arrêt

Inconvénients:– Méthode récursive : risques de débordements (pile)– Influence de la position initiale du germe

Croissance de région

Page 16: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

91

Algorithme

Pour chaque pixel I(i,j) FaireSi I(i,j) n’a pas déjà été traitéAlors Sauvegarder (i,j), Croissance (i,j), Incrémenter RégionFinPourCroissance (i,j)Pour tout Pixel(k,l) adjacent à I(i,j) %Pour tous les 8-pixelsSi (Pixel(k,l) pas déjà traité) ET (Critère (Pixel(k,l)) = Critère (I(i,j))Alors Croissance (k,l)FinPour

Croissance de région

92

• Exemple : Croissance de régions par un balayage de l’image

Image originale (R,G,B)

93

• Exemple : Croissance de régions par un balayage de l’image

Image originale (R,G,B)

94

• Exemple : Croissance de régions par un balayage de l’image

Image originale (R,G,B)

95

• Exemple : Croissance de régions par un balayage de l’image

Image originale (R,G,B)

96

• Exemple : Croissance de régions par un balayage de l’image

Image originale (R,G,B)

Page 17: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

97

• Exemple : Croissance de régions par un balayage de l’image

Image originale (R,G,B)

98

• Exemple : Croissance de régions par un balayage de l’image

Image segmentéeImage originale (R,G,B)

99

Segmentation par division (Split)

Split:

L’image est stockée dans un arbre.

Initialement : arbre racine = image complète

Récursivement, chaque feuille F est subdivisée en quatre si elle n’est pas assez homogène, et les quatre sous-images sont ajoutées en tant que feuilles de F.

L’algorithme poursuit tant qu’il reste des feuilles non homogènes à diviser.

Méthode descendante

Image (racine)

1ère itération2ème itération

100

Principe

– Définition d’un critère d’homogénéité– Test de la validité du critère sur l’image– Si le critère est valide, l’image est segmentée [arrêt de la méthode]– Sinon, l’image est découpée en zones plus petites et la méthode est réappliquée sur chacune des zones

Segmentation par division (Split)

Paramètres de la segmentation par division

– Critère d’homogénéité : forme a priori de l’histogramme, extrema de l’image (valeurs minimum et maximum), valeurs identiques, variance limitée, approximation par un polynôme de degré n, etc. définition d’erreurs, de seuils ou d’intervalles de validité

– Matière : niveaux de gris, couleurs, textures, etc.

– Décomposition de l’image : division en 4, en 6, en polygones, etc.

101

Image originale

Quadtree

Principe Division de l'image originale en 4 Puis division de chaque zone en 4 tant que le critère n'est pas

vérifié

PropriétésDonne une structure hiérarchisée des régions qui répondent au critère :

Les régions répondant au critère forment un nœud terminal ou feuille de l'arbre Les autres régions forment un nœud d'où partent 4 branches

17

5 6 9 10

7 8 11

15 164

182019

25 262827

21 222423

1 2

43

Première séparation Résultat final

102

Exemple de segmentation par séparation :a - image originaleb - premier niveau de séparationc - deuxième niveaud - troisième niveau finale - Quad-Tree correspondant

5 6 9 10

7 8 11 12

13 14

15 164

c

17

5 6 9 10

7 8 11

15 164

182019

25 262827

21 222423

d

a

1 2

43

b

5 7 86

1 4

119 10 15

17 18 19 20 21 22 23 24 2825 26 27

2 3

16

e

Quadtree

Page 18: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

103

Principe du quadtree Quadtree

Propriété recherchée :

Même niveau de gris

Quadtree

104

Quadtree

105

Seuil=0,2

Quadtree

106

Principe

– On explore l’image à partir de petites régions– On fait croître celles-ci si elles satisfont à un critère d’homogénéité ou de regroupement

Paramètres– Choix du critère d’homogénéité : différence de niveau de gris moyen, valeurs similaires, etc.– Critère d’arrêt

Segmentation par fusion (Merge)

107

Constat

– La segmentation par division fournit une structure hiérarchisée qui permet d’établir des relations de proximité entre les régions, mais qui peut fractionner une même région en plusieurs ensembles distincts

– La segmentation par fusion produit un nombre minimal de régions connexes, mais fournit celles-ci dans une structure horizontale qui n’indique pas de relation de proximité

Split and Merge

108

Idée: Tirer avantage du split et du merge

Phase 1 : Créer les zones homogènes = SPLITPhase 2 : Les regrouper = MERGE

Split and Merge

Proposition :– Rassembler, à partir de la division obtenue par division, les différents blocs adjacents de l’image

Algorithme de division et rassemblement, aussi appelé algorithme Split and Merge

Split : On divise jusqu’à ce que la propriété soit vraie dans la sous-image

Merge : On regroupe les régions adjacentes dont l’union vérifie lapropriété

Page 19: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

109

Propriété recherchée :

Même niveau de gris

Split and Merge

110

Fusion si adjacenceet même propriété

Split and Merge

111

Construction du RAGRegion Adjency Graph

Quadtree

RAG

• Connecte les régions adjacentes

• Arrêtes = mesures de différence d’homogénéité

Split and Merge

112

Merge:

• Chaque nœud du RAG est examiné.• Si un des voisins de ce nœud est à une distance inférieure à un seuil de regroupement, les deux nœuds fusionnent dans le RAG.• Lorsque plus aucun nœud ne peut fusionner avec l’un de ses voisins, STOP.

La distance en terme d’homogénéité de régions est portée par l’arrête valuée qui les relie dans le RAG

Split and Merge

113

Mesures d’inhomogénéité

Prédicats d’uniformité:

Inhomogénéité interrégionale:

Inhomogénéité régionale:

Graphe de contiguïté ou Graphe d’adjacence (RAG):

E Rl , Rm =1

N lN m∑n=0

N l−1N m−1

[ I n −μ Rl , Rm ]2

E Rl =1

N l∑n=0

N l−1

[ I n − μ Rl ]2

Split and Merge

⎩⎨⎧ <

=sinonFaux

)(tolérances)E(R siVrai),( 1l

lRAP

114

Modélisation de l’image par un graphe d’adjacence de régions

Page 20: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

115

Pixel P(x,y) Noeud associé à P(x,y)

116

Arête

Noeud adjacent au noeud associé à P(x,y)

Pixel voisin de P(x,y)

117

Image Graphe d’adjacence de régionsassocié à l’image

Pixel P(x,y) = Région Rk de taille 1 Noeud

118

Graphe d’adjacence de régions associé à l’image

Rk Rl

119

Graphe d’adjacence de régions associé à l’image

• «Valuation» pour chaque noeud

Rk Rl

120

Graphe d’adjacence de régions associé à l’image

• «Pondération» pour chaque arête

Rk Rl

Page 21: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

121

Valuation des noeuds

• Valuation d’un noeud Rk = vecteur moyen des degrés d’appartenance des pixels de la région Rk

Y Rk Y Rl

Rk Rl

122

Pondération des arêtes• Fondée sur l’utilisation de deux mesures :

– une mesure de ressemblance– une mesure de dissemblance

• Elles permettent de décider si deux régions doivent ou non être regroupées

PondérationY Rk Y Rl

Rk Rl

123

Mesures de ressemblance et de dissemblance

0≤Dissemblance≤3

0≤Ressemblance≤3

0≤RessemblanceDissemblance≤3

0 1 2 3

0

1

2

3Ressemblance > Dissemblance

Ressemblance < Dissemblance

_

Ressemblance

Dissemblance

124

0 1 2 3

0

1

2

3

Ressemblance

Dissemblance

• Pondération = distance euclidienne au cas idéal de regroupement de deux régions

Pondération des arêtes du graphe d’adjacence de régions

Cas idéal de regroupement de

deux régions Rk et Rl

Pondération

125

• Recherche de l’arête dont la pondération a la valeur la plus faible

Analyse du graphe d’adjacence de régions

0

0

3

3

2

1

Ressemblance

Dissemblance

1 2

Pondération

126

0

0

3

3

2

1Pondération

tRessemblance

Dissemblance Pondération < seuil t

● Fusion des noeuds● Actualisation de la valuation et des pondérations● Analyse du nouveau graphe● Actualisation de la valuation et des pondérations

Page 22: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

127

Influence de s sur les résultats de segmentation

• Nous fixons t = 0

0

3

3

2

1

t=3 22 Ressemblance

Dissemblance Ressemblance > Dissemblance

Ressemblance < Dissemblance

_

Image originale (R,G,B)

128

Influence de s sur les résultats de segmentation

s = 0.125•

s=0 .25 s=0 .5s=0 .375

s=0 .625 s=0 .875s=0 .75

Image originale (R,G,B)

129

Critère de fin de rassemblement des régions

SQE(.) : somme des erreurs quadratiques

Nombre de nœuds du graphe

SEQ L =∑i=0

L−1

∑n=0n∈Ri

N i−1

[ I n − μ Ri ]2

Valeur du pixelau point n

Moyenne des pixelsdans la région Ri

Critère d ’arrêt : (valeur fixée a priori)

Split and Merge

2)( sLSEQ >

130

Ligne de partage des eaux

Point de départ

• Image peut être représentée par un relief • Analogie avec topographie

Idée • Simuler l’inondation du relief en empéchant l’eau d’un bassin versant de se répandre dans un bassin versant contigü (construction de digues ou barrages)

131

Ligne de partage des eaux

Principe

• Source d’eau (minima)• Montée des eaux• Barrage élémentaire à chaque point de rencontre des bassins• Eau monte et on élève les barrages• Altitude max étendues d’eau cernées par des barrages (LPE)

m1m2m1m2m1m2

m1 et m2 : minima locaux

m1m2m1m2

LPE

m1m2

LPE

132

Constat :LPE simple sur-segmentation

Sensible à tout minimum local dans l'image Sensible au bruit Filtrer les images avant de les segmenter.

Solution : imposer des marqueurs (LPE contrainte) Imposer seulement certains minima (donc bassins versants)

Ligne de partage des eaux

minimaLPE

LPE non contrainte LPE contrainte(avec marqueurs)

Marqueurs

Page 23: Visa 2 cours segmentation couleur - univ-lille.frmaster-ivi.univ-lille1.fr/fichiers/Cours/Visa_2_cours...Segmentation « coarse to fine » [Lim 90] • Segmentation grossière –

133

Ligne de partage des eaux

Image segmentée(bassins)

Image originale Image réhausséecomplémentée

Originale + marqueurs

Image minima

LPE avec marqueurs

LPE

134

Ligne de partage des eaux

Image originale

LPE avec marqueurs

Originale + marqueurs

Image minima

Image segmentée

135

Ligne de partage des eaux

Le problème majeur de la LPE = sur-segmentation.

Sensible à tout minimum local dans l'imageSensible au bruit Filtrer les images avant de les segmenter

Remarque: Même aprés filtrage, il est souvent impossible d'éliminer tous les minima locaux.

présence de nombreuses zones parasites image = sur-segmentée

Segmentation par LPE

136

Ligne de partage des eaux

Contrainte par marqueurs

Contrainte par le contraste (Seuillage par contraste) Supprimer des minima selon un critère de contraste Utilisation d’une érosion géodésique

Segmentation par LPE contrainte

137

Ligne de partage des eaux

LPE LPE sur image filtrée

LPE avec marqueurs

LPE contraintepar constraste