115

Modèles Mathématiques pour l'Image Méthodes de Classification (I)

Embed Size (px)

Citation preview

Modèles Mathématiques pour l'ImageMéthodes de Classication (I)

Julie Digne

LIRIS - Équipe GeoMod - CNRS

5 Septembre 2017

1/77

Organisation du cours

Les slides du cours sont toujours disponibles à partir du jour du cours surmon site web:http://liris.cnrs.fr/julie.digne/cours_image_stats.html

10h de cours et 10h de TP du 5 Septembre au 4 Octobre puis cours deModèles Fréquentiels avec Florent Dupont

2 groupes de TP: Attention à bien lire l'emploi du temps

2/77

Organisation du cours

Les slides du cours sont toujours disponibles à partir du jour du cours surmon site web:http://liris.cnrs.fr/julie.digne/cours_image_stats.html

10h de cours et 10h de TP du 5 Septembre au 4 Octobre puis cours deModèles Fréquentiels avec Florent Dupont

2 groupes de TP: Attention à bien lire l'emploi du temps

2/77

Organisation du cours

Les slides du cours sont toujours disponibles à partir du jour du cours surmon site web:http://liris.cnrs.fr/julie.digne/cours_image_stats.html

10h de cours et 10h de TP du 5 Septembre au 4 Octobre puis cours deModèles Fréquentiels avec Florent Dupont

2 groupes de TP: Attention à bien lire l'emploi du temps

2/77

Organisation du cours

Mardi 05/09 13h30 - 15h30 cours - 15h30-17h30 TP A

Mercredi 06/09 13h30 - 15h30 cours - 15h30-17h30 TP B

Mardi 12/09 13h30-15h00 TP A; 15h00 - 16h30 cours; 16h30-18h00 TP B

Mercredi 13/09 13h30-15h00 TP B; 15h00-16h30 cours; 16h30-18h00 TP A

Mardi 19/09 13h30-15h00 TP A; 15h00 - 16h30 cours; 16h30-18h00 TP B

Mercredi 20/09 13h30-15h00 TP B; 15h00-16h30 cours; 16h30-18h00 TP A

Mercredi 04/10 13h30-15h30 TP A - 15h30-17h30 TP B -> probablementremplacé par une séance d'évaluation des TPs.

3/77

Plan du cours

Cours 1 (2h): 05/09 Méthode de classications (I)

Cours 2 (2h): 06/09 Méthodes de classication (II) et Réduction dedimension

Cours 3 (1h30): 12/10 Choix de Modèles - Régression - Normes

Cours 4 (1h30): 13/10 Histogramme et Spécication d'Histogramme

Cours 5 (1h30): 19/11 Descripteurs et Comparaison de formes, statistiquesinvariantes

Cours 6 (1h30): 20/11 Traitement d'images par patch et applications

4/77

Modalités d'évaluation

Rendu des TPs attendu pour la n du cours début Octobre (40% de la note)

Un examen n Décembre (60% de la note)

5/77

Compte-rendus des TPs

Rendre le code matlab/octave commenté, exécutable directement dansmatlab/octave, permettant de reproduire les expériences de chacune desquestions.

Il est attendu que vous sachiez interpréter les résultats: vos explications etcommentaires sur chaque question seront donnés dans un rapport pdf à part.

L'attitude en TP est prise en compte dans la note.

6/77

Introduction - Présentation du cours 7/77

Introduction - Présentation du cours 8/77

La Tour Eiel Un ciel bleu ...

Introduction - Présentation du cours 9/77

Formation des Images Numériques

Projection d'une scène 3D dans le plan image

Informatiquement: tableaux de nombres

Noir et blanc: I : Ω ⊂ R2 → R; I (x , y) = i

Couleur: I : Ω ⊂ R2 → R3; I (x , y) = (r , g , b)

Introduction - Présentation du cours 10/77

Formation des Images Numériques (suite)

Matrice CCD (Charged Coupled Device): intègre la quantité de photonarrivant en chaque pixel

Chaque pixel de la matrice CCD intègre une couleur

Pattern de Bayer - démosaiquage

Introduction - Présentation du cours 11/77

Pourquoi des mathématiques de l'image?

Voir une image comme une distribution de couleurs

Détecter des objets par régression de modèle (moindres carrés...)

Classier des objets par ressemblance

Comparer des textures, des couleurs

Modéliser le processus d'acquisition de la caméra pour la stéréoscopie...

Introduction - Présentation du cours 12/77

Plan

1 Quelques généralités sur les images

2 Brève introduction aux ltres locaux

3 Qu'est ce que la classication?

4 Les K-moyennes (K-means)

5 L'algorithme Mean-shift

Quelques généralités sur les images 13/77

Qu'est-ce qu'une image numérique en niveaux de gris ?

Chaque pixel indique une intensité lumineuse.

Dans une image simple (à 8 bits) un pixel peut prendre 256 valeurs entières entre0 et 255.

On utilise 0 pour le noir, 128 pour le gris moyen et 255 pour le blanc.

Quelques généralités sur les images 14/77

Qu'est-ce qu'une image numérique couleur ?Un tableau dont les pixels sont des triplets de nombres (R,V ,B)correspondant à la décomposition dans les trois couleurs primaires rouge,verte et bleue auxquelles notre ÷il est très sensible.(0, 0, 255) représente du bleu, (0, 255, 0) du vert, (255, 0, 0) du rouge.

Une image couleur

Quelques généralités sur les images 15/77

Qu'est-ce qu'une image numérique couleur ?Un tableau dont les pixels sont des triplets de nombres (R,V ,B)correspondant à la décomposition dans les trois couleurs primaires rouge,verte et bleue auxquelles notre ÷il est très sensible.(0, 0, 255) représente du bleu, (0, 255, 0) du vert, (255, 0, 0) du rouge.

Sa composante rouge

Quelques généralités sur les images 15/77

Qu'est-ce qu'une image numérique couleur ?Un tableau dont les pixels sont des triplets de nombres (R,V ,B)correspondant à la décomposition dans les trois couleurs primaires rouge,verte et bleue auxquelles notre ÷il est très sensible.(0, 0, 255) représente du bleu, (0, 255, 0) du vert, (255, 0, 0) du rouge.

Sa composante verte.

Quelques généralités sur les images 15/77

Qu'est-ce qu'une image numérique couleur ?Un tableau dont les pixels sont des triplets de nombres (R,V ,B)correspondant à la décomposition dans les trois couleurs primaires rouge,verte et bleue auxquelles notre ÷il est très sensible.(0, 0, 255) représente du bleu, (0, 255, 0) du vert, (255, 0, 0) du rouge.

Sa composante bleueLes trois composantes sont très corrélées.

Quelques généralités sur les images 15/77

De la couleur aux niveaux de gris

Un moyen très simple pour passer d'une image couleur (R,V,B) à une image enniveaux de gris consiste à calculer la luminance

L =R + V + B

3

Quelques généralités sur les images 16/77

De la couleur aux niveaux de gris

Un moyen très simple pour passer d'une image couleur (R,V,B) à une image enniveaux de gris consiste à calculer la luminance

L =R + V + B

3

Quelques généralités sur les images 16/77

Autres représentations couleurs

Un exemple: HSV

La teinte H (hue) qui indique la teinte de la couleur (rouge, jaune, vert)

La luminance V (lightness value) qui indique la sensation visuelle deluminosité d'un point

La saturation S qui indique le degré de "pureté" de la couleur

Quelques généralités sur les images 17/77

Autres représentations couleurs

Un exemple: HSV

La teinte H (hue) qui indique la teinte de la couleur (rouge, jaune, vert)

La luminance V (lightness value) qui indique la sensation visuelle deluminosité d'un point

La saturation S qui indique le degré de "pureté" de la couleur

Quelques généralités sur les images 17/77

Autres représentations couleurs

Un exemple: HSV

La teinte H (hue) qui indique la teinte de la couleur (rouge, jaune, vert)

La luminance V (lightness value) qui indique la sensation visuelle deluminosité d'un point

La saturation S qui indique le degré de "pureté" de la couleur

Quelques généralités sur les images 17/77

Autres représentations couleurs

Un exemple: HSV

La teinte H (hue) qui indique la teinte de la couleur (rouge, jaune, vert)

La luminance V (lightness value) qui indique la sensation visuelle deluminosité d'un point

La saturation S qui indique le degré de "pureté" de la couleur

Quelques généralités sur les images 17/77

Plan

1 Quelques généralités sur les images

2 Brève introduction aux ltres locaux

3 Qu'est ce que la classication?

4 Les K-moyennes (K-means)

5 L'algorithme Mean-shift

Brève introduction aux ltres locaux 18/77

Le débruitage

But: enlever ce bruit tout en préservant l'information de l'image

Brève introduction aux ltres locaux 19/77

Une première idée: exploiter les valeurs des voisinages

Remplacer un pixel par une certaine fonction des valeurs des pixels voisins

Brève introduction aux ltres locaux 20/77

Image originale

Brève introduction aux ltres locaux 21/77

Ajout d'un bruit de variance σ = 30

Brève introduction aux ltres locaux 22/77

Filtre Moyenneur, σ = 2

Chaque pixel est remplacé par la valeur moyenne de ses voisins

Brève introduction aux ltres locaux 23/77

Au lieu de prendre la moyenne (pondérée) prenons lamédiane

Chaque pixel est remplacé par la valeur médiane de ses voisins

Brève introduction aux ltres locaux 24/77

Débruitage par un ltre médian avec une fenêtre 3× 3

Brève introduction aux ltres locaux 25/77

Débruitage par un ltre médian avec une fenêtre 5× 5

Brève introduction aux ltres locaux 26/77

Débruitage par un ltre médian avec une fenêtre 9× 9

Brève introduction aux ltres locaux 27/77

Débruitage par un ltre médian avec une fenêtre 21× 21

Brève introduction aux ltres locaux 28/77

Un peu de formalisme

L'objet mathématique continu d'une image est une fonction I de Ω ⊂ R2 àvaleurs dans [0, 255]

Un noyau de convolution k déni dans R2 est une fonction à valeurspositives, d'intégrale égale à 1:

∀(x , y) ∈ R2k(x , y) ≥ 0∫R2

k(x , y)dxdy = 1

Dans le domaine discret un noyau de convolution est une matrice de

nombres. Par exemple 110

1 1 11 1 21 0 2

Brève introduction aux ltres locaux 29/77

Convolution dans R2

Convolution

La convolution d'une image I par un noyau k est une nouvelle image I ′ telle que:

∀(x , y) ∈ Ω, I ′(x , y) =

∫R2

I(x − t, y − s)k(t, s)dtds

Brève introduction aux ltres locaux 30/77

Convolution discrète

Convolution

La convolution d'une image I discrète par un noyau G est une nouvelle image I ′

telle que:∀(x , y) ∈ Ω, I (x , y) =

∑i

∑j

I (x − i , y − j) · G (i , j)

Souvent, pour simplier on pose G (i , j) = G (−i ,−j) et on dénit.

∀(x , y) ∈ Ω, I (x , y) =∑i

∑j

I (x + i , y + j)G (i , j)

Brève introduction aux ltres locaux 31/77

Quelques Exemples

0 0 00 1 00 0 0

1

25

1 1 1 1 11 1 1 1 11 1 1 1 1

1

9

−1 0 1−2 0 2−1 0 1

1

9

−1 −2 −10 0 01 2 1

Brève introduction aux ltres locaux 32/77

Plan

1 Quelques généralités sur les images

2 Brève introduction aux ltres locaux

3 Qu'est ce que la classication?

4 Les K-moyennes (K-means)

5 L'algorithme Mean-shift

Qu'est ce que la classication? 33/77

Des objets à classier

pixels

groupes de pixels (patches - petites imagettes)

images entières

Qu'est ce que la classication? 34/77

Principe de la classication

Il faut décrire ce qu'on veut classier

Les éléments (pixels, imagettes...) vont être classiés selon ces descriptions

Description naturelle des pixels: couleur (R,G ,B) ∈ R3.

Mais on peut faire plus spécique!

Qu'est ce que la classication? 35/77

Une image et ses couleurs dans RGB

Qu'est ce que la classication? 36/77

Une image et ses couleurs dans RGB

Qu'est ce que la classication? 36/77

Une image et ses couleurs dans RGB

Qu'est ce que la classication? 36/77

Ajout d'information aux pixels

Un gradient

Un vecteur de couleurs des points voisins

Des statistiques sur le voisinage...

Et nalement...

On se retrouve avec des descriptions qui sont des vecteurs de Rd où d est lenombre d'éléments de la description. Ce sont ces objets que nous allons classier.

Ces descripteurs sont vus comme des points de Rd .

Qu'est ce que la classication? 37/77

Exemples de Descripteur: histogrammes locaux

Histogramme des orientations des gradients

Qu'est ce que la classication? 38/77

Exemples de Descripteur: la réponse de l'image à un bancde ltres

Particulièrement adapté aux descriptions de texture (textons)

Chaque point est l'ensemble des réponses d'un certain pixel de l'image à unensemble de ltres.

De nombreux ltres diérents ont été proposés.

Qu'est ce que la classication? 39/77

Pour les textures: les ltres de Gabor

Filtre de Gabor

Mesure la réponse fréquentielle à un ltre orienté et localisé. La réponseimpulsionnelle centrée en (0, 0) s'écrit:

Gθ,σ,λ = exp−x ′2 + y ′2

2σ2cos 2πλ

x ′

σ

avec x ′ = x cos θ + y sin θ, y ′ = x sin θ − y cos θ

θ contrôle l'orientation du ltre

σ contrôle la localisation (l'échelle) du ltre

λ contrôle la fréquence du ltre

Qu'est ce que la classication? 40/77

Pour les textures: les ltres de Gabor

Filtre de Gabor

Mesure la réponse fréquentielle à un ltre orienté et localisé. La réponseimpulsionnelle centrée en (0, 0) s'écrit:

Gθ,σ,λ = exp−x ′2 + y ′2

2σ2cos 2πλ

x ′

σ

avec x ′ = x cos θ + y sin θ, y ′ = x sin θ − y cos θ

θ contrôle l'orientation du ltre

σ contrôle la localisation (l'échelle) du ltre

λ contrôle la fréquence du ltre

Qu'est ce que la classication? 40/77

Pour les textures: les ltres de Gabor

Filtre de Gabor

Mesure la réponse fréquentielle à un ltre orienté et localisé. La réponseimpulsionnelle centrée en (0, 0) s'écrit:

Gθ,σ,λ = exp−x ′2 + y ′2

2σ2cos 2πλ

x ′

σ

avec x ′ = x cos θ + y sin θ, y ′ = x sin θ − y cos θ

θ contrôle l'orientation du ltre

σ contrôle la localisation (l'échelle) du ltre

λ contrôle la fréquence du ltre

Qu'est ce que la classication? 40/77

Pour les textures: les ltres de Gabor

Filtre de Gabor

Mesure la réponse fréquentielle à un ltre orienté et localisé. La réponseimpulsionnelle centrée en (0, 0) s'écrit:

Gθ,σ,λ = exp−x ′2 + y ′2

2σ2cos 2πλ

x ′

σ

avec x ′ = x cos θ + y sin θ, y ′ = x sin θ − y cos θ

θ contrôle l'orientation du ltre

σ contrôle la localisation (l'échelle) du ltre

λ contrôle la fréquence du ltre

Qu'est ce que la classication? 40/77

Filtres de Gabor

Qu'est ce que la classication? 41/77

Convolution par un ltre de Gabor

Qu'est ce que la classication? 42/77

Convolution par un ltre de Gabor

Qu'est ce que la classication? 42/77

Convolution par un ltre de Gabor

Qu'est ce que la classication? 42/77

Convolution par un ltre de Gabor

Qu'est ce que la classication? 42/77

Convolution par un ltre de Gabor

Qu'est ce que la classication? 42/77

Passage du domaine image à Rd

Données à classier

Chaque pixel est représenté sous forme d'un vecteur dans Rd et c'est dans cetespace que l'on classie.

Exemples: un pixel (i , j) d'une image I peut être représenté par:

(i , j , r , g , b) dans R5 (image couleur

(∇x I (i , j),∇y I (i , j)) dans R2 (I image noir et blanc)

(I (i − 1, j − 1), I (i , j − 1), I (i + 1, j − 1), I (i − 1, j), I (i , j), I (i + 1, j), I (i −1, j + 1), I (i , j + 1), I (i + 1, j + 1)) dans R9 (image noir et blanc)

Qu'est ce que la classication? 43/77

Classication dans R2 (pour simplier)

Qu'est ce que la classication? 44/77

Classication dans R2 (pour simplier)

Qu'est ce que la classication? 45/77

Classication dans R2 (pour simplier)

Qu'est ce que la classication? 46/77

Classication dans R2 (pour simplier)

Qu'est ce que la classication? 47/77

Classication dans R2 (pour simplier)

Qu'est ce que la classication? 48/77

Classication dans R2 (pour simplier)

Qu'est ce que la classication? 49/77

Plan

1 Quelques généralités sur les images

2 Brève introduction aux ltres locaux

3 Qu'est ce que la classication?

4 Les K-moyennes (K-means)

5 L'algorithme Mean-shift

Les K-moyennes (K-means) 50/77

Les K-Moyennes

But: Extraire des classes (ou clusters) d'un ensemble de points.

Dans cet algorithme, une classe est représentée par un élément spécial appeléreprésentant de la classe.

Les K-moyennes (K-means) 51/77

Les K-Moyennes

Principe

Soit (xi )i=1···n ∈ Rd un ensemble de n points. Soit K le nombre de classessouhaitées et (yk)k=1···K les représentants de ces classes, alors la classe(l'assignement) k0 d'un élément xi est déterminée par:

k0 = argmink∈1···K‖yk − xi‖2

But: trouver les représentants yk des classes et l'assignement des points xiLien avec le diagramme de Voronoi.

Les K-moyennes (K-means) 52/77

Algorithme

Si l'on connait les représentants des classes, peut-on calculer l'assignement?

Si l'on connait l'assignment, peut-on calculer les représentants des classes?

Les K-moyennes (K-means) 53/77

Algorithme

Si l'on connait les représentants des classes, peut-on calculer l'assignement?

Si l'on connait l'assignment, peut-on calculer les représentants des classes?

Les K-moyennes (K-means) 53/77

Algorithme

Algorithm 1: Algorithme K-Means

Data: (xi )i=1···n ∈ Rd , a number of classes KResult: An assignment for (li )i=1···n ∈ 1 · · ·K and representatives (yk)i=1···K

1 Start with random yk drawn from xi ;2 do

3 Assign to each xi the label corresponding to its nearest yk ;4 For each k , update yk as the barycenter of the xi with label k ;5 Until Convergence;

Les K-moyennes (K-means) 54/77

Qu'est-ce que la convergence de l'algorithme?

Il faut mesurer le moment où l'algorithme ne bouge plus

Evolution de la moyenne des mouvements des représentants inférieure à uncertain seuil.

Aucun assignement n'est changé (→ le représentant ne bougera pas à l'étapesuivante)

Les K-moyennes (K-means) 55/77

Qu'est-ce que la convergence de l'algorithme?

Il faut mesurer le moment où l'algorithme ne bouge plus

Evolution de la moyenne des mouvements des représentants inférieure à uncertain seuil.

Aucun assignement n'est changé (→ le représentant ne bougera pas à l'étapesuivante)

Les K-moyennes (K-means) 55/77

Qu'est-ce que la convergence de l'algorithme?

Il faut mesurer le moment où l'algorithme ne bouge plus

Evolution de la moyenne des mouvements des représentants inférieure à uncertain seuil.

Aucun assignement n'est changé (→ le représentant ne bougera pas à l'étapesuivante)

Les K-moyennes (K-means) 55/77

Comment initialiser l'algorithme?

Un choix aléatoire parmi les xi?

Un choix aléatoire dans le domaine où vivent les xi?

Les K-moyennes (K-means) 56/77

Lien avec le diagramme de Voronoi

Diagramme de Voronoi

Le diagramme de Voronoi partitionne l'espace en cellule autour de points (graines)donnés tel que tous les points d'une cellule liée à une certaine graine sont plusproches de cette graine que de toutes les autres.

Lien avec le diagramme de Voronoi:

L'étape d'assignement assigne tous les points au centre de la cellule deVoronoi à laquelle ils appartiennent.

Les positions des graines sont ensuite recalculées.

Les K-moyennes (K-means) 57/77

Segmentation d'une image par rapport à sa couleur

Avec des nuages couleur

Original

Les K-moyennes (K-means) 58/77

Segmentation d'une image par rapport à sa couleur

Avec des nuages couleur

2 classes

Les K-moyennes (K-means) 58/77

Segmentation d'une image par rapport à sa couleur

Avec des nuages couleur

3 classes

Les K-moyennes (K-means) 58/77

Segmentation d'une image par rapport à sa couleur

Avec des nuages couleur

4 classes

Les K-moyennes (K-means) 58/77

Segmentation d'une image par rapport à sa couleur

Avec des nuages couleur

5 classes

Les K-moyennes (K-means) 58/77

Segmentation d'une image par rapport à sa couleur

Avec des nuages couleur

10 classes

Les K-moyennes (K-means) 58/77

Sur des textures!

Avec des nuages couleur

Les K-moyennes (K-means) 59/77

Sur des textures!

Avec des nuages couleur

2 classes

Les K-moyennes (K-means) 59/77

Sur des textures!

Avec des nuages couleur

3 classes

Les K-moyennes (K-means) 59/77

Sur des textures!

Avec des nuages couleur

4 classes

Les K-moyennes (K-means) 59/77

Sur des textures!

Avec des histogrammes locaux d'orientation de gradient

Les K-moyennes (K-means) 60/77

Sur des textures!

Avec des histogrammes locaux d'orientation de gradient (fenêtre de taille 16)

Les K-moyennes (K-means) 61/77

Sur des textures!

Avec des histogrammes locaux d'orientation de gradient (fenêtre de taille 32)

Les K-moyennes (K-means) 62/77

Sur des textures!

Avec des ltres de Gabor

Les K-moyennes (K-means) 63/77

Sur des textures!

Avec des ltres de Gabor

Les K-moyennes (K-means) 64/77

Finalement:

Il est nécessaire de connaitre le nombre de classes K

Une forte dépendance à l'initialisation

Suppose que les classes sont séparables par un hyperplan (une droite en 2D).

Les K-moyennes (K-means) 65/77

Plan

1 Quelques généralités sur les images

2 Brève introduction aux ltres locaux

3 Qu'est ce que la classication?

4 Les K-moyennes (K-means)

5 L'algorithme Mean-shift

L'algorithme Mean-shift 66/77

Mean-shift

Figure: Exemple de données

L'algorithme Mean-shift 67/77

Mean-shift

But: On va chercher des zones de forte densité de points

Pour cela on va eectuer un mouvement de particules dans l'espace Rd

Ces particules vont être attirées par les extrema de densité.

L'algorithme Mean-shift 68/77

Mean-shift

Idée: Les classes sont déterminées par les fortes concentrations de points

Les points vont évoluer vers les zones de fortes densité

À convergence on obtiendra une classication

L'algorithme Mean-shift 69/77

Mean-shift

Dénition

Soit (xi )i un ensemble d'observations dans Rd Soit K un noyau, la densité localede points f (x) est estimée par:

f (x) =1

nhd

n∑i=1

K (x − xih

)

L'algorithme Mean-shift 70/77

Un mot sur les noyaux

Un noyau K est une fonction de Rd dans R si et seulement si il existe unefonction k de R+ dans R telle que:

K (x) = k(‖x‖2)

k est positive ou nulle

k est décroissante

k est continue par morceaux et∫R+ k(x)dx <∞

On va supposer que tous les noyaux sont tels que∫x∈Rd k(x)dx = 1, et donc:

K (x) = k(‖x‖2)

Exemples de noyaux:

Noyau gaussien K (x) = 1σ√2π

exp−(‖x‖2

2σ2 )

Noyau plat: K (x) = 1‖x‖2<r2(x)

L'algorithme Mean-shift 71/77

Comment trouver les extrema de densité?

Il faut résoudre ∇f (x) = 0:

Soit la fonction g sur g = −k ′

Gradient de densité

∇f (x) = [2

cnhd+2

n∑i=1

g((‖x − xi‖

h)2)](

∑ni=1 g((‖x−xi‖h )2)xi∑ni=1 g((‖x−xi‖h )2)

− x)

L'expression du gradient s'interprète facilement!

L'algorithme Mean-shift 72/77

Comment trouver les extrema de densité?

Il faut résoudre ∇f (x) = 0:

Soit la fonction g sur g = −k ′

Gradient de densité

∇f (x) = [2

cnhd+2

n∑i=1

g((‖x − xi‖

h)2)](

∑ni=1 g((‖x−xi‖h )2)xi∑ni=1 g((‖x−xi‖h )2)

− x)

Amplitude

L'algorithme Mean-shift 72/77

Comment trouver les extrema de densité?

Il faut résoudre ∇f (x) = 0:

Soit la fonction g sur g = −k ′

Gradient de densité

∇f (x) = [2

cnhd+2

n∑i=1

g((‖x − xi‖

h)2)](

∑ni=1 g((‖x−xi‖h )2)xi∑ni=1 g((‖x−xi‖h )2)

− x)

Moyenne pondérée des voisins de x

L'algorithme Mean-shift 72/77

Comment trouver les extrema de densité?

Il faut résoudre ∇f (x) = 0:

Soit la fonction g sur g = −k ′

Gradient de densité

∇f (x) = [2

cnhd+2

n∑i=1

g((‖x − xi‖

h)2)](

∑ni=1 g((‖x−xi‖h )2)xi∑ni=1 g((‖x−xi‖h )2)

− x)

Vecteur partant de x et allant vers la moyenne des voisins de x

L'algorithme Mean-shift 72/77

Algorithme

Algorithm 2: Mean-ShiftData: Un ensemble de points xi , une taille de noyau h, un seuil εResult: Un ensemble de labels li et les clusters ci correspondant

1 for j = 1 · · · n do

2 x0j = xj ;

3 while error > ε do4 for j = 1 · · · n do

5 m(xj) =∑n

i=1 g((‖xj−xi‖

h )2)xi∑ni=1 g((

‖xj−xi‖h )2)

;

6 x t+1j = m(xj);

7 error = 1n

∑j ‖m(xj)− x tj ‖;

8 t = t + 1;

9 Grouper xTi par clusters;10 Assigner les xi au cluster auquel appartient xTi ;

L'algorithme Mean-shift 73/77

Analyse

Avantage: On ne choisit pas un nombre de classes!

Convergence garantie vers un extrema de densité.

En général : choix d'un noyau gaussien.

L'algorithme Mean-shift 74/77

Analyse

Avantage: On ne choisit pas un nombre de classes!

Convergence garantie vers un extrema de densité.

En général : choix d'un noyau gaussien.

L'algorithme Mean-shift 74/77

Analyse

Avantage: On ne choisit pas un nombre de classes!

Convergence garantie vers un extrema de densité.

En général : choix d'un noyau gaussien.

L'algorithme Mean-shift 74/77

Meanshift - kmeans

L'algorithme Mean-shift 75/77

Meanshift - kmeans

Kmeans

L'algorithme Mean-shift 75/77

Meanshift - kmeans

Meanshift

L'algorithme Mean-shift 75/77

Meanshift - kmeans

L'algorithme Mean-shift 76/77

Meanshift - kmeans

Kmeans

L'algorithme Mean-shift 76/77

Meanshift - kmeans

Meanshift

L'algorithme Mean-shift 76/77

Conclusion

Une façon de classier des informations issues de l'image

Il faut bien choisir l'information qu'on veut représenter (couleur pure?couleur et localisation?)

L'algorithme Mean-shift 77/77