visa 2 cours segmentation couleur v 2 -...

15
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

Upload: others

Post on 07-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Visa 2 cours segmentation couleur v 2 - 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 v 2 - 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 v 2 - 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 v 2 - 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 v 2 - 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 v 2 - 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 v 2 - 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 v 2 - 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 v 2 - 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 v 2 - 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 [Tominaga 1986]

Soit C P la couleur R ,G , BT du pixel P.

Soit la matrice de variance−covariance

=∑PC P−C T C P−C avec C=∑

PC P

=XSX−1 avec X matrice des vecteurs propres

X=X 0, X 1, X 2 , X i les vecteurs propres de

Les 3 composantes principales du pixel P sont CiP=C P . X i

La composante C0P minimise l ' erreur de regression

et maximise la dispersion totaleT 60

Analyse en composantes principales

R,G,B

R G

B

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

61

Analyse en composantes principales

C0,C

1,C

2

C0

C1

C2

62

Analyse en composantes principales

C0

C1 C

2

63

Analyse en composantes principales

R,G,B

64

Analyse récursive de la 1ere composante

0 2551270 255127

Pixels du 2ememode extraitPixels du 1ermode extrait

65

4. ANALYSE DE L’HISTOGRAMME 3D

66

Construction d ’un histogramme 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

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

67

nbre niveauxde couleur

NbreCellules

Taille mémoire

64x64x64 262144

409616 x16x16

32x32x32 32768

2048 Ko

256 Ko

32 Ko

68

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)

69

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

70

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

71

5. CHOIX DES COMPOSANTES

COULEUR

72

Objectif

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

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

73

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)

74

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 !

75

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)

76

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.

77

Espace couleur hybrideEspace couleur hybride

Représentation de l’échantillon d’apprentissage

RB

G

xCh 2

I3

78

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

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

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

84

Conclusion

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

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

85

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