Visa 2 cours segmentation couleur v 2 -...
Transcript of Visa 2 cours segmentation couleur v 2 -...
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
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
É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
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
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]
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.
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
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
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
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
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
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
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
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
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