Installation de la librairie VISP et création du projet



Documents pareils
1 Complément sur la projection du nuage des individus

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Exercices Corrigés Premières notions sur les espaces vectoriels

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Chapitre 3. Les distributions à deux variables

La classification automatique de données quantitatives

Extraction d informations stratégiques par Analyse en Composantes Principales

Analyse en Composantes Principales

Vérification audiovisuelle de l identité

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Théorie et codage de l information

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Introduction à MATLAB R

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Deux disques dans un carré

Exercice : la frontière des portefeuilles optimaux sans actif certain

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

Transmission d informations sur le réseau électrique

I. Polynômes de Tchebychev

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Baccalauréat ES Amérique du Nord 4 juin 2008

Programmes des classes préparatoires aux Grandes Ecoles

Cours d Analyse. Fonctions de plusieurs variables

Programmation linéaire

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Python - introduction à la programmation et calcul scientifique

Précision d un résultat et calculs d incertitudes

Donner les limites de validité de la relation obtenue.

Cours 02 : Problème général de la programmation linéaire

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

Compte rendu de LA37 B, TP numéro 1. Evolution de la température et du degrée d'hydratation

BACCALAUREAT GENERAL MATHÉMATIQUES

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

L'analyse des données à l usage des non mathématiciens

Correction de l examen de la première session

INTRODUCTION AU DATA MINING

Évaluation de la régression bornée

Laboratoire 4 Développement d un système intelligent

PEUT-ON «VOIR» DANS L ESPACE À N DIMENSIONS?

Tests du χ 2. on accepte H 0 bonne décision erreur de seconde espèce on rejette H 0 erreur de première espèce bonne décision

SINE QUA NON. Découverte et Prise en main du logiciel Utilisation de bases

TSTI 2D CH X : Exemples de lois à densité 1

Séance 0 : Linux + Octave : le compromis idéal

Le Data Mining au service du Scoring ou notation statistique des emprunteurs!

Lecture graphique. Table des matières

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

Activité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels

Régler les paramètres de mesure en choisissant un intervalle de mesure 10µs et 200 mesures.

UFR de Sciences Economiques Année TESTS PARAMÉTRIQUES

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Quelleestlavaleurdel intensitéiaupointm?

Calcul différentiel sur R n Première partie

Nombre dérivé et tangente

Étude de l application DNS (Domain Name System)

Sillage Météo. Notion de sillage

1 Savoirs fondamentaux

: seul le dossier dossier sera cherché, tous les sousdomaines

Poker. A rendre pour le 25 avril

Diviser un nombre décimal par 10 ; 100 ; 1 000

Une introduction aux codes correcteurs quantiques

Fonctions de plusieurs variables

Premier cours d informatique

Master IAD Module PS. Reconnaissance de la parole (suite) Alignement temporel et Programmation dynamique. Gaël RICHARD Février 2008

MODE D EMPLOI V.2.0. Installation. Nouveautés V.02. Fais ton journal - version mars Mode d emploi -

Optimisation Discrète

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Résolution de systèmes linéaires par des méthodes directes

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Revue des algorithmes PCA, LDA et EBGM utilisés en reconnaissance 2D du visage pour la biométrie

Notion de fonction. Résolution graphique. Fonction affine.

Représentation des Nombres

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Outils pour les réseaux de neurones et contenu du CD-Rom

TP Modulation Démodulation BPSK

INF6304 Interfaces Intelligentes

Correction du baccalauréat STMG Polynésie 17 juin 2014

Jean-Philippe Préaux

Le langage C. Séance n 4

Plan du cours Cours théoriques. 29 septembre 2014

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Temps forts départementaux. Le calcul au cycle 2 Technique opératoire La soustraction

Chapitre 0 Introduction à la cinématique

3 Approximation de solutions d équations

Optimisation, traitement d image et éclipse de Soleil

SOMMAIRE. Comment se connecter?

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG

Mesures et incertitudes

Opérations de base sur ImageJ

Transcription:

ESIR3-IN Travaux Pratiques VO 2012-2013 PREAMBULE Copier les données des TPs 1. créez un répertoire VO dans votre homedir cd ~/ mkdir VO cd VO 2. copier le dossier contenant toutes les données pour les TPs http://www.irisa.fr/lagadic/team/marchand/cours/esir3/vo/att faces.zip Décompressez l archive : unzip att faces.zip Installation de la librairie VISP et création du projet La librairie VISP est utilisée. Elle doit être installée sur vos postes de travail. Les sources, ainsi que les APIs de cette librairie sont disponibles à l adresse suivante : http://www.irisa.fr/lagadic/visp/visp.html Vous devez créer un projet CMAKE intitulé TP-VO vous permettant de compiler le TP. Documents à rendre Le compte rendu de TP seront envoyés par mail à : eric.marchand@irisa.fr sous la forme d une archive contenant votre rapport ainsi que vos fichiers sources : tar -cvzf tpintreigenfaces Eleve1 Eleve2.tar.gz Les rapports doivent répondre aux questions posées dans les sujets et être illustrés avec des images issues des traitements que vous avez réalisé. 1

Eigenfaces 1 Objectifs du projet Etudier les propriétés de la méthode de reconnaissance de visages par eigenfaces, et son applicabilité pratique. Développer un système capable de : reconnaître un visage à partir d une base de donnée de visages de référence On appliquera les outils développés sur la base de face. Dans un deuxième temps, on pourra intégrer les photos du trombinoscope de l ESIR ou des photos personnelles. 2 Principe géneral Le problème de la reconnaissance de visages est défini comme suit : étant donnée une image de visage, on souhaite déterminer l identité de la personne correspondante. Pour ce faire, il est nécessaire d avoir des images de référence, sous la forme d une base de données de visages de toutes les personnes connues par le système. A chaque visage est associé un vecteur de caractéristiques. Ces caractéristiques sont supposées être invariantes pour une même personne, et différentes d une personne à l autre. La reconnaissance consiste alors à comparer le vecteur de caractéristiques du visage à reconnaître avec celui de chacun des visages de la base. Ceci permet de retrouver la personne ayant le visage le plus ressemblant, qui est celui dont le vecteur est le plus similaire. Il existe plusieurs types de méthodes, qui se distinguent par le type de caractéristiques utilisées : Les approches par modèles de visage procèdent à une analyse biométrique des visages pour déterminer des mesures telles que la distance entre les yeux, la longueur du nez, la forme du menton... Les approches image comparent au contraire directement les visages, en les considérant comme des images, pour lesquelles des mesures de similarité pré-attentives (sans modèle a priori) sont définies. Des approches hybrides utilisent les notions de similarité entre images, mais en rajoutant des connaissances a priori sur la structure d un visage. 3 Analyse par eigenface La reconnaissance de visages par eigenfaces est une approche de type image. Chaque image de visage est considérée comme un vecteur dans un espace ayant autant de dimensions 2

que de pixels dans l image. Les caractéristiques de l image sont extraites par une méthode mathématique de réduction de dimensionnalité basée sur l analyse en composante principales (ACP). Cette approche a été originellement proposée par Turk et Pentland en 1991. Dans la suite, nous utiliserons la notation italique pour désigner les scalaires (m, K) ainsi que le gras pour les vecteurs (I, J, u) et les matrices (A, W). On note I k (k = 1..m) l image du visage de référence numéro k, et I k (i) (i = 1..n) le pixel numéro i de cette image. Chaque visage peut donc être considéré comme un vecteur à n composantes : l ensemble des visages forme un nuage de points dans un espace R n. On note Ψ la moyenne de ce nuage de points, ou visage moyen. Le principe de la méthode des eigenfaces est de modéliser la différence d un visage quelconque par rapport à ce visage moyen par un ensemble limité d images uh, appelées eigenfaces. Une image de visage J bfr n est donc exprimée comme le visage moyen auquel s ajoute une combinaison linéaire d eigenfaces : J = Ψ + h w h u h + ε où w h représente le poids de l eigenface d indice h dans le visage J, et ε représente l erreur entre J et son approximation par les eigenfaces. Les coefficients w h jouent un rôle très important pour la reconnaissance des visages, car ils correspondent aux coordonnées du visage J dans le sous-espace des visages. La méthodes des eigenfaces repose sur le fait que le nombre d eigenfaces considérées est bien inférieur à la dimension totale de l espace, ce que l on appelle réduction de dimensionnalité. Les images sont donc analysées dans un sous-espace de dimension réduite, qui représente plus spécifiquement les visages, parmi tous les types d images possibles. Le visage moyen étant toujours le même pour une base de référence fixée, nous considèrerons dans la suite systématiquement chaque visage sous sa forme centrée, c est-à-dire après soustraction du visage moyen. 4 Mise en pratique 4.1 Base de données de visages Récupérez la base d image faces mise à disposition. Dans la suite, nous manipulerons toujours les images de visage sous la forme de vecteurs, et un ensemble de visages sous la forme d une matrice dont chaque colonne est un visage. Les images seront stockées dans des matrices de réels (double). En particulier, les images de la base seront stockées dans une matrice I de taille n m : I = [I 1...I m ] Question 1 Calculez la taille mémoire nécessaire pour stocker la matrice I, sous la forme d une matrice de réels au format double. Chargez cette matrice à partir des fichiers image. On normalisera l intensite de chaque pixel entre 0 et 1. Question 2 Calculez le visage moyen Ψ. 3

Question 3 Affichez le visage moyen, ainsi que quelques visages accompagnés des visages centrés associés. 5 Analyse en Composantes Principales La méthode développée par Turk et Pentland définit les eigenfaces comme les axes principaux obtenus en effectuant l Analyse en Composantes Principales des vecteurs associés aux visages de référence. Les eigenfaces sont ainsi les vecteurs propres de la matrice de covariance AA T, de taille n n, où la matrice A de même taille que I représente l ensemble des visages centrés : A = [I 1 Ψ... I m Ψ] Chaque ligne de A correspond à un pixel p, chaque colonne de A correspond à un visage de référence de numéro k. Remarque Plutôt que d utiliser la décomposition en valeurs propres, nous utiliserons la décomposition en valeurs singulières (SVD, ou singular value decomposition). La SVD décompose la matrice A de taille n m en : A = U.S.V T où U et V sont des matrices orthonormales ( U.U T = U T.U = I n et V.V T = V T.V = I m de tailles respectives n n et m m, et S est une matrice n m nulle partout sauf sur la diagonale principale. Cette décomposition présente les propriétés suivantes : les colonnes de V sont les vecteurs propres de A T.A, les colonnes de U sont les vecteurs propres de A.A T, les carrés des valeurs singulières s k de S sont les valeurs propres λ k de A T.A et A.A T. Question 4 Que represente la matrice U Question 5 Calculez la matrice des eigenfaces. Question 6 Affichez le visage moyen ainsi que les premières eigenfaces et les valeurs propres associées. Dans la suite, nous utiliserons un nombre réduit d eigenfaces afin de modéliser l espace de visages représenté sous la forme de la base U K des K premiers vecteurs propres : U K = [u 1...u K ] Notez que les colonnes forment un ensemble orthogonal, donc U T.U = I K. 4

6 Projection dans le sous-espace des visages La projection d une image dans le sous-espace des visages se fait simplement en soustrayant le visage moyen et en effectuant le produit scalaire de l image obtenue avec chaque eigenface. Ceci donne les coordonnées de l image test dans le sous-espace des visages, qui est de dimension K. Chaque visage possède donc plusieurs représentations : Son image d origine, représenté par un vecteur J général dans R n Son image projetée dans le sous-espace des visages, J p Les coordonnées de l image projetée dans la base des eigenfaces, W k Compte tenu des propriétés d une base orthonormée, le vecteur W k s obtient par simple produit scalaire entre l image centrée et chacune des eigenfaces : Il permet de calculer l image projetée: W k = u T k.(j Ψ) K J p = Ψ + W k u k k=1 Cette image projetée est aussi appelée image reconstruite, pour mettre en avant qu elle est issue de la recomposition d une image à partir du visage moyen et des eigenfaces. L erreur de reconstruction (ou de projection) est définie comme la distance entre une image et l image reconstruite (projetée) associée: E(J) = J J p Question 7 Calculez les coordonnées d un visage dans le sous-espace des visages, et calculez l image reconstruite correspondante, pour plusieurs valeurs de K Question 8 Affichez le résultat pour plusieurs visages, de référence et de test, et plusieurs valeurs de K. Y a-t-il une différence entre les visages de référence et les visages de test? Pourquoi? Remarque : Attention à ajouter/soustraire l image moyenne correctement dans les calculs et pour l affichage. Question 9 Vérifiez qu il n y a pas d erreur de reconstruction pour les visages de référence lorsque K=m : chaque visage de référence est-il bien identique à sa reconstruction? Question 10 Normalisez les valeurs propres afin que leur somme soit égale à 100%, puis tracez la courbe de leur somme cumulée, afin de voir combien de variation est capturée par les K premières eigenfaces. Combien d eigenfaces sont nécessaires pour obtenir une bonne reconstruction? Question 11 Tracez l évolution de la moyenne de l erreur de reconstruction des visages de test lorsque K varie de 1 à m. Cette évolution est-elle cohérente avec la somme cumulée? 5

7 Identification A chaque visage de référence I k on associera une identité, sous la forme d un numéro id(k). Nous chercherons dans cette partie à identifier un visage test à partir des visages de référence. La méthode la plus simple consiste à comparer la projection J p du visage test J avec la projection J k p de chaque image de référence I k. La dissimilitude entre les deux est quantifiée par la distance dans le sous-espace E k (J) : E(J) = J J k p En évaluant cette distance pour chaque visage de référence, on peut déterminer le visage de référence I k le plus proche du visage test J. On appelle alors erreur d identification la distance correspondante dans le sous-espace. Si l erreur d identification est inférieure à un seuil θ, on peut estimer qu il s agit d un visage reconnu d identité, sinon le visage est classifié comme inconnu. Etant donné un corpus de visages de référence et de visages de test, le taux d identification est défini comme le ratio entre le nombre de visages correctement identifiés et le nombre de visages testés. Il vaut 1 lorsque tous les visages testés sont correctement identifiés. Question 12 Montrez que l on peut estimer la distance E k (J) dans le sous-espace. Quel est l intérêt de procéder ainsi? Question 13 Pour l instant on prend K=20. Calculez pour chaque visage du jeu de référence sa distance dans le sous-espace par rapport à l ensemble des visages de référence. On pourra par exemple visualiser le résultat sous la forme d une image de matrice. Que constate-t-on? Question 14 Quelles sont les distances min et max entre deux visages de la même classe (même personne)? entre deux visages de classes différentes? Quelles conclusions peut-on en tirer concernant θ Question 15 Tracez la courbe du nombre de visages reconnus en fonction de K sans tenir compte de θ Quelle valeur de K peut-on prendre pour avoir une bonne reconnaissance et un temps de calcul faible? 6