Analyse en Composantes Principales (ACP) Principal Component Analysis (PCA) Nicolas Stoiber Dynamixyz
Contexte : traitement du signal Problématique: comment, dans ce contexte, représenter des entités, des objets. Objectif: réaliser des opérations de haut-niveau, i.e traiter, comparer, retrouver, classifier ces objets Dans le cadre de ce cours: les signaux sont des images. 2
Contexte : traitement d images Quid de la représentation d entités/d objets : «Paramétrisation» du problème Intensité (luminance) des pixels composant l objet Coefficients RGB des pixels composant l objet 3
Formalisation mathématique Paramétrisation canonique : Intensité (luminance) des pixels composant l objet Vecteur dans un espace vectoriel de dimension MxN M v NM N 4
Formalisation mathématique Formalisation mathématique canonique : Trop de dimensions «Fléau de la dimension» (http://en.wikipedia.org/wiki/curse_of_dimensionality) Occupation mémoire, stockage Temps de calcul Redondance des variables Dilution de l information Paramétrisation pas forcément adaptée à la tâche Ne fait pas ressortir d information pertinente, de haut-niveau 5
Formalisation mathématique Solution -> Transformation Changement d espace de représentation d entités image. Exemples Changement de repère y y Transformations linéaires Transformations non-linéaires T (x) Transformations non-analytiques R. x t y L. x y T (x) y... 6
Transformations Exemple : Transformée de Hough : 7
Transformations Exemple : Transformée de Hough : Information de haut-niveau (angle, rayon) Adaptée au problème (détection de lignes dans une image) 8
Transformations Transformations explicites : La transformation est une procédure/formule définie explicitement, indépendamment des données particulières du problème. Exemple: Transformée de Hough 9
Transformations Transformations explicites : Exemple : Transformée de Fourier y 1 y 2 y k x y 10
Transformations Transformations explicites : Exemple : Transformée de Fourier 11
Transformations Transformations explicites : Exemple : Transformée en ondelettes : Gabor 12
Transformations Transformations explicites : Exemple : Transformée en ondelettes : Haar 13
Transformations Transformations explicites : Exemple non analytique: Histogramme 14
Transformations Chaque transformation fait ressortir certaines caractéristiques du signal Fourier fait ressortir des fréquence spatiale Hough fait ressortir la présence de points alignés C est suffisant pour des entités simples (ex: lignes), pour lesquelles on détermine facilement les caractéristiques importantes. 15
Transformations Quid d objets plus complexes? Cas pratiques: on ne sait pas dire trivialement quelles composantes du signal sont pertinentes? 16
Transformations Quid d objets plus complexes? Cas pratiques: on ne sait pas dire trivialement quelles composantes du signal sont pertinentes On peut par contre en fournir des exemples! 17
Transformations Transformations implicites : Objectif : Calculer une transformation de passage dans un espace de représentation pertinent pour le problème Méthode: Déterminer automatiquement cette transformation à partir d exemples du problème (les «données»). 18
Analyse en composantes principales C est une transformation implicite Elle poursuit les objectifs suivants: Transformation linéaire Suppression des corrélations entre variables Concentration de l information sur un nombre réduit de variables. 19
Analyse en composantes principales Exemple : courbe taille/poids 20
Analyse en composantes principales Exemple : courbe taille/poids Chaque point est un exemple Données réelles souvent très corrélées X 2 (poids) X 1 (taille) 21
Analyse en composantes principales Corrélation importante Redondance d information Dynamique importante sur toutes les variables Non optimal X 2 (poids) X 1 (taille) 22
Analyse en composantes principales Peut-on imaginer une meilleure paramétrisation? Y 1 «Corpulence» X 2 (poids) Y 2 X 1 (taille) 23
Analyse en composantes principales Peut-on imaginer une meilleure paramétrisation? A partir d une représentation initiale [X 1,, X N ], trouver une représentation [Y 1,, Y N ] telles que les variables sont décorrélées. 24
Analyse en composantes principales Matrice de covariance sur un jeu de données X : M X C X.X N On cherche les Y tels que : M Y C Y.Y T T 1,1 2,2 0 0,1 1,1 1,2 2,2 0 2,2 0 0 0 1, N N, N 0 0 N, N 25
Analyse en composantes principales C est une diagonalisation de matrice Existe toujours en vertu du théorème spectral (matrice de covariance est symétrique semi-définie positive, réelle). Les valeurs propres sont positives ou nulles, et les vecteurs propres sont orthonormés. M X C P. M Y C. P T Les variables Y = P.X sont décorrélées. 26
Analyse en composantes principales M Y C P T. M X C. P 0 0 1,1 Les vecteurs propres forment la matrice de passage P Les valeurs propres sont les covariance des nouvelles variables Y i. 0 2,2 0 0 0 0 0 N, N 27
Analyse en composantes principales Compression : On peut ordonner les nouvelles variables Y i selon le valeurs propres (indiquent «l importance» de ces variables en terme de variation). Les dernières variables Y i (faible valeur propre), présentent peu de variation -> On peut les supprimer 28
Analyse en composantes principales Compression : Exemple visuel : Y 1 X 2 Y 2 X 1 29
Analyse en composantes principales Compression : Intérêt : transmission/stockage de K images (avec K=beaucoup) de N pixels chacune -> K.N valeurs à transmettre. Si les images présentent de fortes corrélation, il est interessante de faire une PCA pour trouver un meilleur espace de représentation. En conversant P<<N composantes, le nombre de valeurs à transmettre est P.K + P.N 30
Analyse en composantes principales Compression : Valeurs crédibles: P = 10, N=2500, K=200 Stockage naïf : K.N = 500 000 valeurs Stockage PCA : 27 000, soit 5% de K.N -> taux de compression de 95% 31
Analyse en composantes principales Interprétation géométrique d une PCA tronquée : X 2 Y 2 X 1 Une PCA tronquée identifie le sous-espace linéaire qui minimise l erreur de projection (quadratique). «Projection optimale au sens des moindres carrés» 32