Concepts avancés en mathématiques et informatique appliquées

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

Eléments d'algèbre linéaire
3. Variantes de l’algorithme
Cours 8 Problèmes de dynamiques : techniques de résolution pas-à-pas
Cours 7 Problèmes d’ordre 2 en temps : Analyse modale
Cours 3-b Méthode des éléments finis 1D
Cours 5-b Problèmes spatio-temporels d’ordre 1 en temps
Cours 3-a Méthode des éléments finis 1D
VII) Formalisme Quantique
Soizic Geslin Samy Fouilleux Minh Le Hoai Maxime Chambreuil
C1 Bio-statistiques F. KOHLER
Unité #1 Analyse numérique matricielle Giansalvo EXIN Cirrincione.
1 Réunion biblio 13/12/00 Support Vectors Présentation générale SSS Maintaining Algorithm.
M. EL Adel & M. Ouladsine LSIS – UMR-CNRS 6168 Marseille - France
PROGRAMMATION SCIENTIFIQUE EN C
Analyse en Composantes Principales
Rappel... Sous-espaces de Rn: Définition;
Chapitre 6 : Restauration d’images
Les principaux résumés de la statistique
ASI 3 Méthodes numériques pour l’ingénieur
TRAITEMENT D’IMAGE SIF-1033.
Chapitre 2 : Filtrage Professeur. Mohammed Talibi Alaoui
Systèmes d’équations linéaires
Concepts avancés en mathématiques et informatique appliquées MAP-6014.
Chapitre 3bis Applications linéaires et Matrices
Examen partiel #2 Mercredi le 15 novembre de 13h30 à 15h20
Rappel... Solution itérative de systèmes linéaires (suite et fin).
DEA Perception et Traitement de l’Information
Examen partiel #3 Mercredi le 15 décembre de 15h30 à 17h20
Méthode des Ensembles de Niveaux par Eléments Finis P1
Courbes de Bézier.
6.1 LE LANGAGE MATRICIEL Cours 16. Aujourdhui, nous allons voir La définition dune matrice Plusieurs définitions de matrice particulière La somme de matrices.
RECONNAISSANCE DE FORMES
PROGRAMMATION SCIENTIFIQUE EN C
PROGRAMMATION SCIENTIFIQUE EN C
PIF-6003 Sujets spéciaux en informatique I
SUJETS SPÉCIAUX EN INFORMATIQUE I
RECONNAISSANCE DE FORMES
SUJETS SPÉCIAUX EN INFORMATIQUE I
Pr. M. Talibi Alaoui Département Mathématique et Informatique
Régression linéaire (STT-2400)
Technique de points de contrôle: Formes de Bézier
Rappel... Matrices bloc. Décomposition des matrices:
Régression linéaire (STT-2400)
l’algorithme du simplexe
Cours du 25 octobre Mardi le 24 octobre
La décomposition en valeurs singulières: un outil fort utile
Géométrie épipolaire (deux vues)
ASI 3 Méthodes numériques pour l’ingénieur
Rappel... Valeurs propres et vecteurs propres. Définitions;
PROGRAMMATION SCIENTIFIQUE EN C
Programmation linéaire en nombres entiers
Micro-intro aux stats.
Chapitre 9 La transformée de Laplace
Programmation fonctionnelle Preuve
Chapitre 1 - Introduction.
PROGRAMMATION SCIENTIFIQUE EN C PRO Résolution de système d’équations non- linéaires (racines d’équations) u Méthode de la bissection u Analyse.
PROGRAMMATION SCIENTIFIQUE EN C PRO Approximation de fonctions et régression u Approximation linéaire –Méthode du moindre carré u Travail pratique.
Méthode des moindres carrés (1)
Analyse de données Cours 3 Analyse en composantes principales (ACP)
Structure de groupe Def: un groupe est un ensemble (G,*) où
2. Méthode du simplexe et son analyse.
Concepts avancés en mathématiques et informatique appliquées MAP-6014.
STATISTIQUES.
PROGRAMMATION SCIENTIFIQUE EN C PRO Approximation de fonctions et régression u Approximation linéaire –Méthode du moindre carré u Exemple.
PROGRAMMATION SCIENTIFIQUE EN C
Pierre Joli Cours de Mathématique Pierre Joli
MATHÉMATIQUES L1 Second Semestre Armand Taranco. BIBLIOGRAPHIE Dupont : Algèbre pour les sciences économiques, Flash U, A. Colin. Bernard Guerrien, Isabelle.
Matlab (Matrix Laboratory) Langage de programmation évolué. Traitement direct d’opérations matricielles, dont l’inversion et l’analyse d’opérateurs ou.
Transcription de la présentation:

Concepts avancés en mathématiques et informatique appliquées MAP-6014

Extraction des caractéristiques Introduction Extraction des caractéristiques Transformation en composantes principales Approche SVD Exemples d’applications

Introduction L’extraction consiste à trouver un espace des caractéristiques de dimension d à partir d’un espace original de D caractéristiques La compression de l’information est accomplie par la projection des caractéristiques originales dans un espace de dimension inférieure et ce en éliminant la redondance de l’information Cette projection prend la forme: x = A(y)

Introduction Processus de projection de l’ensemble des caractéristiques originales dans un autre espace de caractéristiques de dimension inférieure

Introduction Si la fonction de projection A est linéaire, nous cherchons alors un extracteur de caractéristiques où A est une matrice D X d, permettant la projec-tion d’un vecteur y (dimension D) sur un vecteur x (dimension d) et dont la forme est:

Extraction des caractéristiques Analyse en composante principale Ce type de méthode est aussi appelée Transformée discrète de Karhunen-Loève Transformée de Hotelling Transformée en vecteurs propres Cette méthode permet de déduire une transforma-tion linéaire permettant d’éliminer la corrélation entre les composantes d’un vecteur de variables aléatoires

Extraction des caractéristiques Analyse en composante principale Si nous avons une population (n observations) de vecteurs aléatoires (D dimensions) de la forme: Avec comme vecteur moyenne Vecteurs D dimensions Avec une matrice de covariance Matrice D X D

Extraction des caractéristiques Analyse en composante principale Si nous avons une matrice A définissant une trans-formation linéaire pouvant générer un nouveau vecteur x à partir d’un vecteur y par: A est construite de telle façon que ses rangées sont les vecteurs propres de Cy

Extraction des caractéristiques Analyse en composante principale Le vecteur x est aléatoire de moyenne 0 (mx = 0) La matrice de covariance de x découle de: Le vecteur x est donc composé de variables aléatoires non corrélées k est la variance de xk La transformation A élimine donc la corrélation entre les composantes du vecteur y

Extraction des caractéristiques Analyse en composante principale Cette transformation est aussi réversible: A est symétrique

Extraction des caractéristiques Diminution de la dimension du vecteur y Nous pouvons réduire la dimension du vecteur y de D-M (nombre de caractéristiques) en ignorant les vecteurs propres correspondant aux D-M plus faibles valeurs propres Si nous avons la matrice B de M X D (M < D) découlant de l’élimination des D-M rangées inféri-eures (classée en ordre croissant d’importance) de A

Extraction des caractéristiques Réduction de la dimension du vecteur y En guise de simplification nous supposons que m = 0 Le vecteur x transformé est alors donné par: Le vecteur y est reconstitué approximativement par:

Extraction des caractéristiques Réduction de la dimension du vecteur y L’erreur quadratique moyenne de l’approximation est:

Extraction des caractéristiques Recherche des valeurs et vecteurs propres Cherchons les valeurs et les vecteurs propres associés à une matrice Cy (matrice variance-covariance) Si nous avons une matrice Cy de D x D nous pouvons écrire Où v est un vecteur propre de Cy et  une valeur propre de Cy

Extraction des caractéristiques Recherche des valeurs et vecteurs propres Si nous avons une matrice Cy de D x D nous pouvons écrire Par définition, pour que  soit une valeur propre il faut que la solution v de la dernière équation soit non nulle. Pour que v soit non nulle il faut que

Extraction des caractéristiques Recherche des valeurs et vecteurs propres Si nous considérons un cas d’ordre 3, nous obtenons Le déterminant donne

Extraction des caractéristiques Recherche des valeurs et vecteurs propres Lorsque nous avons les valeurs propres, nous les substituons une à une dans (Cy-I) v = 0 pour trouver les vecteurs propres v

Extraction des caractéristiques Recherche des valeurs et vecteurs propres Exemple

Extraction des caractéristiques (principes)

Extraction des caractéristiques: Approche Singular Value Decomposition Cette approche permet d’éliminer les faiblesses notées dans les approches de résolutions de Gauss. L’approche SVD permet de résoudre divers types de problèmes: résolution de systèmes d’équations linéaires par moindres carrés (cas d’approximation de données), résolution de système mal conditionné.

Approche Singular Value Decomposition Système à résoudre:

Approche SVD (suite) L’approche SVD permet d’exprimer la matrice A par la décomposition A = U W VT. Cette décomposition en matrices est obtenue par la fonction svdcmp() de Numerical Recipes in C. Les matrices U, W et VT permettent de calculer l’inverse de A, A-1 ayant la forme A-1 = (VT)-1 W-1 U-1 = V W-1 UT V et U étant orthonormales, leur inverse est donc donnée par leur transposée. W étant diagonale, donc W-1 est aussi diagonale avec les éléments sur la diagonale (valeurs propres de A) donnés par 1/wi.

Approche SVD (suite) Quand certaines valeurs wi  0 (proche de 0), la matrice A est dite singulière. Dans ce cas, A-1  (VT)-1 W-1 U-1  V W-1 UT. Donc pour estimer la matrice A-1 (pseudoinverse de A), nous remplaçons les valeurs 1/wi dans la matrice W-1par 0 quand wi est petit (proche de 0). Donc, x = A-1 b est obtenue dans les cas de singularité par x = pseudoinverse (A) b

Approche SVD (suite) Forme de x = A-1 b A-1

Approche SVD (suite) Après l’exécution de la fonction svdcmp(), les Avant d’appeler la fonction svdksb() qui permet de déduire les sol’n d’un système d’équations linéaires, il faut vérifier si A est singulière. Après l’exécution de la fonction svdcmp(), les wi < MAX(wi) * 1.0e-6 sont fixés à 0 dans la matrice W.

Approche SVD (exemple: Étalonnage de caméras) Système d’équations linéaires de la forme Ax = b : Vecteur des sol’n recherchées Coordonnées des points de contrôle dans l’image de la scène Coordonnées des points de contrôle 3D. A x b

Approche SVD (exemple: Étalonnage de caméras) Algorithme de résolution: étalonnage de caméra int X[20],Y[20], Z[20],U[20],V[20]; float wmax, wmin, **a,**u,*w,**v,*b,*x int i,j,minPos; // selectionner un minimum de 6 points de contrôle ….// selectionner un maximum de 20 points de contrôle ….// correspondance en chaque pixel (u,v) et point dans l’espace 3D (X,Y,Z) a = matrix(1,2*m,1,12); // matrice A de 2mX12 u = matrix(1,2*m,1,12); // m: nombre de points de contrôle w = matrix(1,12,1,12); v = matrix(1,12,1,12); b = vector(1,2*m); x = vector(1,12); // vecteur des sol’n ….. // mise à 0 de A

Approche SVD (exemple: Étalonnage de caméras) Algorithme de résolution: étalonnage de caméra (suite …) for(i=1;i<=2*m;i+=2) {// initialiser A a[i][1] = a[i+1][4] = X[i/2+1]; a[i][2] = a[i+1][5] = Y[i/2+1]; a[i][3] = a[i+1][6] = Z[i/2+1]; a[i][7] = -X[i/2+1]* u[i/2+1]; a[i+1][7] = -X[i/2+1]* v[i/2+1]; a[i][8] = -Y[i/2+1]* u[i/2+1]; a[i+1][8] = -Y[i/2+1]* v[i/2+1]; a[i][9] = -Z[i/2+1]* u[i/2+1]; a[i+1][9] = -Z[i/2+1]* v[i/2+1]; a[i][10] = - u[i/2+1]; a[i+1][10] = - v[i/2+1]; a[i][11] = a[i+1][12] = 1.0; }

Approche SVD (exemple: Étalonnage de caméras) Algorithme de résolution: étalonnage de caméra (suite …) for(i=1;i<=2*m;i+=2) // initialiser b { b[i] = b[i+1] = 0; }

Approche SVD (exemple: Étalonnage de caméras) Algorithme de résolution: étalonnage de caméra (suite …) for(i=1;i<=2*m;i++) for(j=1;j<=12;j++) u[i][j] = a[i][j]; svdcmp(u,2*m,12,w,v); wmax = 0.0; for(j=1;j<=12;j++) if(w[j] > wmax) wmax = w[j]; wmin = wmax; // trouver la valeur propre min. dans w for(j=2;j<=12;j++) if((w[j] < wmin) && w[j] != 0.0) {wmin = w[j]; minPos = j;} for(j=1;j<=12;j++) x[j]=v[j][minPos]; // x contient la solution

Approche SVD (exemple: Étalonnage de caméras) Avec le vecteur des sol’n x dont les éléments correspondent aux coefficients des équations de transformation 3D/2D (points dans l’espace vers pixels). (x[1]  m11, x[2]  m12, x[3]  m13, x[4]  m21, x[5]  m22, x[6]  m23, x[7]  m31, x[8]  m32, x[9]  m33, x[10]  m34, x[11]  m14, x[12]  m24), nous pouvons déduire la position la position 3D d’un point dans l’espace à partir de sa projection u,v dans le plan image.

Extraction des caractéristiques (exemple en télédétection: Images aéroportées)

Extraction des caractéristiques (exemple en télédétection)

Extraction des caractéristiques (exemple en télédétection) Les 2 premières composantes contribuent pour 94 % de la variance totale

Extraction des caractéristiques (exemple en télédétection) Images multispectrales: B, V, R Images multispectrales : NIR, MIR, TIR

Extraction des caractéristiques (exemple en télédétection) Les 2 premières composantes contribuent pour plus de 90 % de la variance totale

Extraction des caractéristiques (exemple en télédétection) Images spectrales reconstruites à partir des 2 premières composantes principales

Extraction des caractéristiques (exemple en télédétection) Différence entre les images spectrales originales et celles reconstruites à partir des 2 premières composantes principales

Extraction des caractéristiques (exemple en télédétection: Images LandSat) Colonne de gauche: Bandes spectrales diverses (Bandes 4, 5, 6, 7 de LandSat MSS) Colonne de droite: Images des composantes principales 1 et 2 (coin supérieur droit) principales associées à de plus faibles valeurs propres (coin inférieur droit PC3 et PC4)

Extraction des caractéristiques (exemple en télédétection)

Extraction des caractéristiques (exemple en télédétection) Composantes principales

Extraction des caractéristiques (exemple reconnaissance de visages) Exemples d’images pouvant servir à déduire les Eigen images Permet de déduire la transfor- mation pour projeter une image vers ses Eigen images A: matrice [p, NXN] y: vecteur [NXN, 1] Image originale x: vecteur [p, 1] Eigen image

Extraction des caractéristiques (exemple reconnaissance de visages) Vingt premières Eigen images Correspond aux 20 plus grandes valeurs propres de Cy

Extraction des caractéristiques (exemple reconnaissance de visages) Valeurs propres de Cy Les 100 premières valeurs propres sont celles correspondant aux vecteurs propres qui constituent les axes de l’espace de variance maximale donc comportant le plus d’information

Extraction des caractéristiques (exemple reconnaissance de visages) Reconstruction d’image à partir des Eigan face images

Extraction des caractéristiques (exemple reconnaissance de visages) Reconstruction d’image à partir des Eigen face images

Extraction des caractéristiques (exemple reconnaissance de visages) Entraînement du système par l’extraction d’une matrice kXd ou k est NXN et d le nombre de composantes retenues (eigan face) Calcul des vecteurs caractéristiques de chaque personnes: i = TiT ou i est l’image d’une personne Pour une personne inconnue avec une image  calculer le vecteur  et ensuite comparer aux i pour déterminer celui le plus proche