Capteur Intelligent pour la Reconnaissance de Visage
Transcription
Capteur Intelligent pour la Reconnaissance de Visage
Ecole Doctorale EDITE Thèse présentée pour l’obtention du diplôme de DOCTEUR DE L’INSTITUT NATIONAL DES TELECOMMUNICATIONS Doctorat délivré conjointement par L’Institut National des Télécommunications et l’Université Pierre et Marie Curie - Paris 6 Spécialité : Electronique/Informatique Par Walid Hizem Capteur Intelligent pour la Reconnaissance de Visage Soutenue le Mme Alice Caplier M. Michel Paindavoine M. Patrick Garda M. Maurice Milgram M. Yang Ni Mme Bernadette Dorizzi 2009 2009 devant le jury composé de : Rapporteur Rapporteur Examinateur Examinateur Examinateur Directeur de thèse Thèse n° Résumé La variation d'illumination est l'un des facteurs les plus inuent sur les performances d'un système de reconnaissance de visage spécialement dans un contexte de mobilité où l'opérateur n'a pas le contrôle de l'éclairage. Nous présentons dans ce travail, un nouveau capteur atténuant l'illumination ambiante ; l'image en sortie est alors plus stable vis-à-vis aux variations de l'éclairage ambiant. Ce capteur se base sur la réduction de temps de pose pour ne capturer qu'une faible quantité de la lumière ambiante, et on active durant la période d'exposition un ash délivrant une lumière en proche infrarouge. L'image de sortie est alors dépendante de l'éclairement du ash. Une seconde caractéristique de ce capteur, est la délivrance en simultané d'une image en proche infrarouge et d'une image normale acquise avec la lumière ambiante. En vue d'une future implémentation de notre approche, nous avons construit une méthode de détection de points caractéristiques sur les images proche infrarouge. Cet algorithme repose sur des opérateurs simples qui ont été implémentés. Si on a pu construire une méthode simple c'est bien grâce à la stabilité des images par rapport à l'illumination. En utilisant les points caractéristiques détectés et l'image de contours, nous avons mis en ÷uvre un algorithme de reconnaissance de visage s'inspirant de l'elastic graph matching pour construire un modèle du visage. Les performances de notre système sont aussi comparées avec les algorithmes de reconnaissance de visage de base. On obtient des performances de reconnaissance équivalentes à celles de l'elastic graph matching classique mais avec un moindre coût dans l'implémentation. i Abstract Illumination variation is one of the factors that has the greatest impact on the performance of a facial recognition system, especially in a mobility situation where the operator cannot control lighting. In this work, we present a new sensor that reduces ambient light ; the resulting image shows greater stability in relation to changes in ambient light. This sensor relies on a reduction of exposure time, so as to capture only a small quantity of ambient light, and during the exposure, a ash emitting a near-infrared light is activated. The resulting image is therefore dependent upon the luminance of the ash. A second characteristic of this sensor is the simultaneous production of a near-infrared image and a normal image acquired in ambient light. Besides this new sensor, we also aimed in among this and in view of a future implementation of our approach, we elaborated a method to detect landmarks in near-infrared images. This algorithm is based on the use of simple operators that has been implemented. The stability of the images in relation to the lighting changes allowed us to elaborate a simple method. Using the landmarks detected and the edge image, we constructed a face-recognition algorithm, inspired by elastic graph matching, in order to build a model of the face. We compared the performance of our system to that of basic face-recognition algorithms, and achieved recognition levels equal to those of classic elastic graph matching. iii Table des matières Table des matières v Table des gures viii Liste des tableaux xi 1 Introduction 1 1.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Reconnaissance de visage . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 structure de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 État de l'art 2.1 2.2 2.3 9 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1 Architecture générale . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 Challenge techniques . . . . . . . . . . . . . . . . . . . . . . 12 Reconnaissance de visage en temps réel . . . . . . . . . . . . . . . . 12 2.2.1 Reconnaissance de visage par réseaux de neurones . . . . . 13 2.2.2 Reconnaissance de visage par Analyse de composante principale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.3 Reconnaissance par correspondance élastique de graphe . . 18 2.2.4 Comparaison des algorithmes . . . . . . . . . . . . . . . . . 21 Capteurs Intelligents . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3.1 Variables analogiques . . . . . . . . . . . . . . . . . . . . . 23 2.3.2 Opérateurs analogiques . . . . . . . . . . . . . . . . . . . . 23 2.3.3 Rétines CMOS . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.4 Reconnaissance de visage en Infrarouge . . . . . . . . . . . . . . . . 29 2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 v vi TABLE DES MATIÈRES 3 Capture de visage temps réel 3.1 3.2 3.3 3.4 33 Introduction : Système Actuel et problèmes associés . . . . . . . . 33 3.1.1 Capteur CMOS . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.1.2 Les capteurs CCD . . . . . . . . . . . . . . . . . . . . . . . 37 Capteurs d'image dédiés . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2.1 Capteur diérentiel . . . . . . . . . . . . . . . . . . . . . . . 41 3.2.2 Capteur IRVI . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Bases de donnée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.3.1 Base BIOMET . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.3.2 Base IV2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.3.3 Base IRVI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4 Détection des points caractéristiques 55 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2 Détection de points caractéristiques dans la littérature . . . . . . . 56 4.3 4.4 4.2.1 Méthode Adaboost . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.2 Modèle de contour actif . . . . . . . . . . . . . . . . . . . . 57 4.2.3 Détection des yeux dans les images infrarouges . . . . . . . 58 Détection de zones de sélection . . . . . . . . . . . . . . . . . . . . 59 4.3.1 Image de contour . . . . . . . . . . . . . . . . . . . . . . . . 59 4.3.2 Présélection des zones du visage . . . . . . . . . . . . . . . 61 Détection de la bouche . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.4.1 Détection par morphologie mathématique . . . . . . . . . . 62 4.4.2 Détection par la transformée de Hough . . . . . . . . . . . . 64 4.5 Détection du nez . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.6 Détection des yeux . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.7 Validation sur les bases Infrarouge . . . . . . . . . . . . . . . . . . 67 4.8 4.7.1 Critère de mesure . . . . . . . . . . . . . . . . . . . . . . . . 67 4.7.2 Performances de détection . . . . . . . . . . . . . . . . . . . 68 Détection de points caractéristiques sur les images en visible . . . . 70 4.8.1 4.9 Détection de contour . . . . . . . . . . . . . . . . . . . . . . 71 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5 Algorithme de Reconnaissance de Visage 5.1 5.2 Élaboration des graphes pour la reconnaissance de visage 75 . . . . . 75 5.1.1 Analyse par morphologie mathématique . . . . . . . . . . . 77 5.1.2 Analyse par les ondelettes de Gabor . . . . . . . . . . . . . 78 La comparaison élastique des graphes - EGM . . . . . . . . . . . . 78 vii TABLE DES MATIÈRES 5.3 5.4 5.5 5.2.1 Détection des noeuds dans le EGM-CSU . . . . . . . . 5.2.2 Extraction de caractéristiques . . . . . . . . . . . . . . 5.2.3 Comparaison des graphes . . . . . . . . . . . . . . . . 5.2.4 Inuence du nombre des noeuds . . . . . . . . . . . . . Exploitation de l'image de contour - Algorithme EGM-TMSP 5.3.1 Méthode de mise en correspondance des n÷uds . . . . Comparaisons et Performances . . . . . . . . . . . . . . . . . 5.4.1 Algorithmes de référence . . . . . . . . . . . . . . . . . 5.4.2 Protocoles de test . . . . . . . . . . . . . . . . . . . . 5.4.3 Expériences et Performances . . . . . . . . . . . . . . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 80 81 82 84 87 88 88 90 92 98 6 Conclusion et perspectives 101 Bibliographie 105 A Liste des Publications 115 B "Active dierential CMOS imaging device for human face recognition" 117 C Near infrared sensing and associated landmark detection for face recognition 119 Table des gures 1.1 Eet de l'illumination sur les images de visage . . . . . . . . . . . . . . 3 1.2 schéma d'Identication du visage . . . . . . . . . . . . . . . . . . . . . 4 1.3 schéma de vérication du visage . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Courbe ROC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1 Schéma général d'un système de reconnaissance de visage . . . . . . . 10 2.2 Normalisation géométrique du visage . . . . . . . . . . . . . . . . . . . 11 2.3 Schéma global du système de Harvard (Gilbert) [21] . . . . . . . . . . 13 2.4 Composition d'un réseau de neurones . . . . . . . . . . . . . . . . . . . 14 2.5 Réseau de neurones RBF [82] . . . . . . . . . . . . . . . . . . . . . . . 15 2.6 Diérents type de graphe pour l'EGM . . . . . . . . . . . . . . . . . . 18 2.7 Architecture générale du système proposé par Nagel [49] . . . . . . . . 20 2.8 Architecture de Calcule des Jets . . . . . . . . . . . . . . . . . . . . . 21 2.9 Système de reconnaissance de visage temps réel : ux de donnée . . . . 22 2.10 a)paire diérentielle ; b) Miroir de courant [8] . . . . . . . . . . . . . . 24 2.11 Structure d'un réseau capacitif 1D à convolution Gaussienne . . . . . . 25 2.12 Structure d'un réseau capacitif 2D à convolution Gaussienne . . . . . . 26 2.13 Principe d'un photorécepteur à égalisation d'histogramme intégré . . . 28 2.14 Schéma électrique du pixel en mode logarithmique [53] . . . . . . . . . 28 2.15 Spectre électromagnétique . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.16 Sensibilité d'un capteur CCD . . . . . . . . . . . . . . . . . . . . . . . 31 3.1 Architecture générale d'un capteur CMOS . . . . . . . . . . . . . . . . 34 3.2 Structure schématique d'un pixel PPS . . . . . . . . . . . . . . . . . . 35 3.3 Structure du pixel en mode d'intégration du photocourant . . . . . . . 36 3.4 Architecture d'un pixel en mode courant . . . . . . . . . . . . . . . . . 37 viii TABLE DES FIGURES ix 3.5 Architecture d'un pixel logarithmique utilisant une photodiode en mode photocourant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.6 La structure d'une capacité MOS . . . . . . . . . . . . . . . . . . . . . 38 3.7 Stockage des charges dans une capacité MOS . . . . . . . . . . . . . . 39 3.8 Puit et barrière de potentiel dans une capacité MOS . . . . . . . . . . 39 3.9 Architecture générale d'un capteur CCD . . . . . . . . . . . . . . . . . 40 3.10 Transfert de charge avec un CCD à 4 phases . . . . . . . . . . . . . . . 41 3.11 Structure d'un pixel du capteur diérentiel . . . . . . . . . . . . . . . 42 3.12 Structure du capteur diérentielle [55] . . . . . . . . . . . . . . . . . . 43 3.13 Principe de fonctionnement du capteur diérentiel . . . . . . . . . . . 44 3.14 Examples d'images acquises par le capteur diérentiel . . . . . . . . . 44 3.15 Principe de la Caméra CCD Pulsé . . . . . . . . . . . . . . . . . . . . 45 3.16 Architecture fonctionnelle du prototype à base de webcam . . . . . . . 46 3.17 Image de sortie du prototype à base de webcam . . . . . . . . . . . . . 46 3.18 Schéma du module CCD . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.19 Obturation électronique dans un capteur CCD interligne . . . . . . . . 47 3.20 Chronogramme de la réduction du temps d'exposition dans le CCD . . 48 3.21 Chronogramme d'acquisition des trames dans une CCD interligne . . . 48 3.22 Example d'image de la base BIOMET . . . . . . . . . . . . . . . . . . 49 3.23 Eet de saturation dû au port des lunettes dans la Base BIOMET . . 50 3.24 Exemple d'images de la base de donnée IV2 . . . . . . . . . . . . . . . 50 3.25 Environnement d'acquisition de la base VINSI . . . . . . . . . . . . . . 51 3.26 Exemples d'images de la base IRVI et les diérents protocoles . . . . . 52 4.1 Localisation des yeux avec la méthode proposée par Dowdall [16] . . . 58 4.2 Filtrage gaussien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.3 Extraction de l'image de contour - a) Filtre de détection de contours - b) image en proche IR - c) Résultat de la convolution . . . . . . . . . 61 4.4 Sélection des régions entourant les points caractéristiques . . . . . . . 62 4.5 Les opérateurs de morphologie : a) Érosion de la gure A par l'élément structurant S, b) Dilatation par l'élément S . . . . . . . . . . . . . . . 63 4.6 Détection de la bouche . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.7 Modèle du nez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.8 Projection du contour du nez . . . . . . . . . . . . . . . . . . . . . . . 66 4.9 Détection des yeux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.10 Performance de détection sur la base IRVI . . . . . . . . . . . . . . . . 68 4.11 Comparaison de performance de détection de la bouche avec la transformée de Hough et la morphologie mathématique . . . . . . . . . . . 69 x 4.12 4.13 4.14 4.15 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 TABLE DES FIGURES Performance de détection sur la base IV2 . . . . . . . . . . . . . . . Performance de détection des yeux sur la base Biomet . . . . . . . . Inuence des variations d'éclairage sur l'image de contours . . . . . . Comparaison de performance de détection sur les images NIR et visible dans la base IRVI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 . 71 . 72 . 73 Érosion et dilatation successives avec des éléments structurants circulaires de taille variable sur une image en NIR . . . . . . . . . . . . . . 77 Les diérentes orientations et résolutions des parties réelles des ltres de Gabor utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Représentation d'un graphe sur une image de la base BANCA . . . . . 81 Exemples d'image de la base BANCA (a) image en haute résolution contrôlée (b) Dégradée (c) non contrôlée . . . . . . . . . . . . . . . . . 82 Variation du nombre des noeuds dans un graphe : a) 20 noeuds choisis b) 20 noeuds aléatoirement choisis et c) 15 noeuds aléatoirement choisis 83 Courbes ROC de performance de reconnaissance selon le nombre de noeud dans un graphe sur la base BANCA - Protocole P . . . . . . . . 84 Positionnement d'une grille sur le visage selon la position des yeux et de la bouche a) Image de contour, (b) Image en NIR . . . . . . . . . . 86 Sélection des n÷uds dans la méthode de l'Université de Vigo [23] . . . 86 Sélection des noeuds de l'image de contour et inuence d'un changement de pose sur la sélection . . . . . . . . . . . . . . . . . . . . . . . 87 Méthode de correspondance des graphes selon les coordonnées des noeuds dans la grille originale . . . . . . . . . . . . . . . . . . . . . . . 88 Courbe ROC de l'EGM-CSU sur la base IRVI avec le protocole TS1P1 92 Courbe ROC de l'EGM-CSU sur la base IRVI - protocole TS2PA . . . 93 Courbes ROC des algorithmes LDA, GLDA et EGM-CSU sur la base IRVI - protocole TS1P1 images NIR . . . . . . . . . . . . . . . . . . . 94 Courbes ROC des algorithmes LDA, GLDA et EGM-CSU sur la base IRVI - protocole TS1P1 images VI . . . . . . . . . . . . . . . . . . . . 94 Courbes ROC des algorithmes LDA, GLDA et EGM-CSU sur la base IRVI - protocole TS2P1 (a)images NIR - (b) images VI . . . . . . . . . 95 Courbes ROC des algorithmes LDA, GLDA et EGM-CSU sur la base IRVI - protocole TS2PA (a)images NIR - (b) images VI . . . . . . . . 99 Courbes ROC des systèmes de reconnaissance EGM-CSU et EGMTMSP avec le protocole TS1P1 . . . . . . . . . . . . . . . . . . . . . . 100 Courbes ROC des systèmes de reconnaissance EGM-CSU et EGMTMSP avec le protocole TS2PA . . . . . . . . . . . . . . . . . . . . . . 100 Liste des tableaux 2.1 2.2 2.3 Ressources consommées sur le FPGA SpartanII pour le RBF . . . . . 15 Résultats d'implémentation d'un RBF sur DSP . . . . . . . . . . . . . 16 Ressources utilisées dans [68] sur un FPGA XC2S300 . . . . . . . . . . 18 5.1 Comparaison des performances de reconnaissance en fonction du nombre des n÷uds dans un graphe . . . . . . . . . . . . . . . . . . . . . . . . . 84 Performance en EER des diérents algorithmes de reconnaissance sur la base IRVI et l'intervalle de conance . . . . . . . . . . . . . . . . . 97 Comparaison de performances de reconnaissance des deux algorithmes de reconnaissances EGM sur la base IRVI et les intervalles de conance 97 5.2 5.3 xi %,,"%&"$"%6$3' -"($'5.$3"$ &+$5%$"! %%$97/)0,1 %,"$!$%%' 2'4!"+%,!)8%%,-'"!" *": ##)$"%; "5%<"%$#! $$%#?"6%>'(" ""%$<7 $#%",6$* 5"8*$7!%,$ "5%$!%#& %" $#"@8%; $!=$; %'($;"6'A;!" !$6%$" "&$ "$ $"$B %$'! $""7"<$;$7"%$# !"#*33 %'($!"<$6$!; ;"$$>#%%"6%$$"!;$#%#"%!;"6 $'; $6,"7A$%", #"8%;'48 C DST]^_àU E E G P P F H I J K L I O J K Q R J I O M N X X W W V Z V \ [ Y phlaf^ihr_im̀fq^lvàhgir_mw_rlk^rhhv̀mfflaig_rr^kqàfp^ivlhmmm̀g|rshrlf̀w_^tr̀^oj d^k̀gaifpl̀mrmgnxfqo_ifhrj̀ bmlgi~arhfvilkrr^hfw{cm_t^dwrvgfeirg_bl^haf̀pawf}^gxqa^ykhhr|fg_lfmiàir^à^rr̀hh_}mgarciszik^ghj̀ ^krr̀f^latgiipfkrlj̀ uvpal zhlrrhkaok^pk̀_j _^h_v^zj _hràh^l^apkft{imk̀^lha_tgfh^igwqp^pm̀alqfgvhvkk̀ir^r^hawzwgxà^lfri^fsgpj̀ i__^^tqfj fqskj m̀}kgij arizfhzj̀ }qigkm j̀ l vg̀i_^pi^rhhrqwi_fgtai p^mmq^k̀lkl_{ihafrf_phkàqkpa^iqmr{kfhir_^_àtgafwàhxtfil^harg ~~km̀àhhqralgmfosgf pk̀j p_ thairmkxk̀^lfgiaj ploihr̀j _ifpqk̀ll^gagif{^hg̀il^rj h_^fraiqhk̀mifgqaàrrà^piftl_afà^lrpztifhasik_k̀^j rf^lvj̀ r̀r{gqfailh^àramfkk̀p|^aligr khgihk̀iwp^alx^ghlir^rfu gwt^ri_kpj̀ mg_hqak|^gj lx^j̀ xlqhpo_aik^fvp_h^qlwri^_f̀tzxj _jhaw^frgqp^k^rk̀hvqu|zirfanhg^hw^mralikj phaj i^wflha^rro irpà_j hl^thgrvkwg^ilmwvpe^irbf]haw^àp̀àthbplavaf^r^kmi ^_ki^gqrfrzxhaàfpl^lbgrhm̀kf^iiogxpfààprha^qargk̀f_l̀lktvr_j̀ wgipx_^_qhm̀rtkg̀l|gm̀hv_^iafqlrp̀g^j gpk̀okll̀ri^jaàhalfwv^gj ar`xl p izp__gg̀sarj i i q s f ^ ^ h r ^ afpp̀hitlaàkrfihhpr_l|a^f̀m̀rtll̀gqikar^pq_h^k̀{gir_hammwfg^^lrgotj a w a m à j m̀ g a l _ _ _ t p i i i q f f ^ r h k̀ h j a m g a j w a l x p p i i f f f f ^ h ^ ^ h k r à j a m g à a g g à l l l x _ _ t p i q f ` h ^ r ^ ^ ^ j̀ a g à j v o p p i i i s q r k̀ r k ^ r h r h g a w g g̀ v u t p i q q { f f f h k ^ h ^ k h ^ r h a j w m m g g m m m̀ a l l _xà tmlo^hkaij ig^_vtahir̀k^qj ip^{ioa_kgàr^màx`g_lh_tsfikaj qa_flsig̀m̀g^ixj {lvirfa^gq_rmpxp^xhlimỳifgqv̀gkr_htixfa^qrm̀làpgraf_j̀ hr^im̀j ^lràkfqm^pglfpfk_tk̀ig_mhqalfzj ^gmhlàfqari_l^hkgwakhfip_j rf^lqvqg_iah^u wak̀qlkj̀ j gki^k̀v̀_|atkf^ij lk|s^ j ¡¢£¤¥¦§¥¤¢¡¨©¦§¥ª¡ « ÇÏÓ·Òß¹Ý ¬¹ÏÐÜ ¼ãÒÝÜ ÁÑ®¿ÖÒÓÏÈÔ°̄·Ò±ÐÉѲʳ²́ÕÖÝ˵ÛÌ×ͶÎØ·ÓÒ¹̧Ù·ÚÖÛºÔÓ»Ï¼Ü ÀßÜ ÄÕÒ·ÏäÐÂֹѷàÐżÙÂÛÀÓÄÏá·ÝÆּо ÀÑÖÄÏзâ¹߷ÐÒºÀÜ ½àÐѾ ¿ÓÚÀ̧ÏÐÙÞ¼Áß¿ÝÒÐÂÕ½àÃÙк·ÒÖÂâÓڼϾ åøàÐæçÕóÑÒÏàâÐèôÖâÓéÑÏõêÛÜ ëùÒìâÙÒíîÝïÕàíÐìÖêÏâéðÐÕéÒ×ñîßïáíÒÐòÑéöÝÒÙÏáâÛÒÐÙÒß÷Ñô×ÒâÒÓàÐÓÒßÝ úÙÓÖûüÝýÒÚþÏÕÙôÿàùÖÐÑÐþßÏÕÛâÿÐàÖÙýÜ Þ Ù Ú Ó Ú Ù Ï Ï Ï Ï Ï Ï Ï Ï Ñ Ñ Ñ Ñ Ö Ò à Ò Ö Ò Õ à Ò â Ö Ò Ò Õ Ö à Ò â Ü Ô Ð Ü Ô Ð Ð Ô Ð Ð ß ÷ ß ß ß á Ù Ú Ø Ù Ï Ï Û Ñ Ñ Õ Ò â â Ö â Ö Õ à Ö â Ò × Ý Ý Ð × Ý Ó ã Ó Ù Ñ Ö Ò â à Õ à Ò Ò à Ð Ð Ü × Ý ß ô ä Þ Ù Ó Ù Ó Ø Ù Ï Ï Û Ö Ò Ö Ò Õ Ò â Ò Ö â Ò × Ý Ü Ô Ü Ô Ð Ô Ð ß ß ÷ á àÑÒÐßÝÜ àäàÚß!ÐóÐÒÒÛâÑÙØàÓ×âÜ ÐÖÝÏõ×ÔÕÛÏÒâÒßÙäÑÑÝÏàÖÔÕÝÐßâßÚÓÝÙÖÒÏÖÓÑÐÒäâ×ÚàÝàÖÐÔÒÒÏÓÕâÚÑÐàÝÙÜ ×ÒÔÓÓâÐÒÖÏÕÑâÝÒÙÜ ÝÕÒ×ÖÝÙÏâÕàÛÑÒÝÖàÓÏÐââÛÖäÑÐßÏÕÒÑàÙÐâÙÖßÓÒÒ×Ñá!ßÐÏâÑÝøÖàÔàÝÏÒÜ ÐâÖÖÑßâàÕÓÏàÒÐßÚÑÒÙÑâÔàÒÏóÐÝÙÓÏÚÑØßÜ Ö Ò Ô Û Ð Ñ Ý ÚÒÐøÕÙßøÝÑØâÏÐÙÕßÝÏÑÐÛÕÑÛ×ÝÚ×ÏÕÖÐä Ò " # # % . $ & '( ) * ( ) / 0 ( '. +,'- H = A B A 1 C 7 9 G G G > F F 3 2 4 5 6 ; < @ D < @ I ; @ L D ? E E J : K 8 PZQX\RYSZadjT[PUpY\\VZh]d\f^\d_iàaZjb M N_mdYhfOjW n k k a a a a a a l [ [ [ [ Y d f d Y d h f d j Y d Y h Y f d j Y c Z b c g Z Z Z c m Z \ \ \ i i e e q _ ` _ r a a o l l [ [ Y Y d d h d j d Y d p m Z b c m m Z m c p m \ \ n n s _ k̀ _ _ ù a a a a a l l o [ [ [ h d d j d h Y f d d h̀ d j m Z Z g i i t nd\Zci[j\Ymkd\ZhdwhptfYxrhZjyY[jdmu a_k\Ymà\jdmdlagoZqj[\\amdZlkZdYohhk̀dfddrb [pkkY_md[u [faziZb fYZpZpmddkc_ahavdjYfq[Zmalfkd[dZltj_vfY df_r\ hlsmlan[djh_gYfb mZhjaf[Ypb ZmYlmddd[_amoj_afglp\dkh{[ZYp|}d~j_\Yl[{\tdYpZka mfj\lZpdYdYkpm_r[Ydm^dkjYb Z[[\adY\yaZdjt agZ\jdfkZjpfdm_\[aZYmf\idjmp_fdmj[YrpkjYemdakj ld[matkjW Ylfikdh[b fmjqafZgmj\[jdmekj[pda[mlj[kfqZpsdfk̀kZj\[akdj[Yh[atfZ_Ykrafb H = A A 1 7 G G G > > F 3 2 4 5 6 ; < @ D < @ I ; @ L D ? E J : K K 8 aZ\jS[TYkdP\Um_VYl[iadZkfVp_\dpb pPUfd P_d Nm[ TmfcZ TYZ[O [mYab d[Sk̀ kYeprmafb _pdmZa[mdj[_klhdiZjYacdj ld[_mYadZj_\kdmgYZd[khk̀djb ¥ ¥ ¥ ¢ £ § ¢ § ª ¡ ¤ ¦ ¤ ¡ ¨ ¡ © ¦ ¡ « ¬¹́ ®¯· ¸ ¼ ¸ ¼ ½ ´ ´ ´ º º º̄ ¯ ¯ ¯ °̄ ± ¬ · · ¬ · · ° ±́ °́ · ¬ ¬ °̧ °̄ ² µ ¶ ® ¶ ¶ ¶ ¶ ¹ ¶ ® ® ® ³́ ³ ³ ³̄ ¾ ³ » ¿ ¼ Á̄ ´ ¯ · · ¬ ± ¬ · ¬ °̧ · · ± °́ ¬ ° ± · ® ¶ µ ¹ ® À ¶ ¹ ¶ ® ® ³ ¾ » ¯®´²³®³¬¼Ë·°̧º¬»µ¸Ǣ¹ ±̄³®·°̄±¼´Á·µ̄·®¬¶¾±º°̄Á¼°̧¶®·´À¯ɵ̧±¿¶°̄°³º´±́¬¾´Á̄°̧¸·¹́ ·³®±·¶°̧¬´Ã³̄ÂǢ¯¶°´³̄·Ế¬¬´¸¸Ç´Ȩ̂¯º̄··±Ã¼Á®½Í ¯´³¶¬¼®¼°̧°·´®¸º̄¬¬» µ·±°³̄·°¯´Ì́¶¸Á̄¬³±́º¹ ®³·Ì¬¯¬º¸´¾®·»³̄°̧¹ ®·³¹ ®®¬¼·°¿®±́°¯±³·¬¬¶¼°´»®·³Ì́º̄µ°̧¶º·®¶¬°̄¹ ³̧·Á̄µÃ°́´ÆÅ̧®¶¬¬·¯¼³̄ð´°¶·È́ ö²¬Ä  ¼ ¼ ¼ ½ ¸ ¸ ¼ ¼ Î ´ ´ ´ Ï Å Í º º º̄ ¯ ¯ ¯ · ¬ ± ¬ ±̧ ° ¬ · ¬ · ± °̄ · · ¬ · ± · · · µ ¶ ² ® ® ² ¹ ³ ¾ ³ ³̧  ¼ ¸ Ð ´ ´ ´ ´ Ï É̄ º ¯ ¯ ¯ ¯ · ° · · °̧ ± °̄ µ¼Î°̧·°·¬¬Ế¶¹ ® ¶ ® ¹ ¶ À́ ¶ ¹ ® ¶ ® ¶ ³ ³ ¾ ³ à ¿ ¸ Ê ½ ¼ ¼ ´ Ð̄ º̄ É ¯ ¯ ¯ · ¬ · ¬ ° °́ ¬ ° °́ · · · ¬ ± · ¶·°́¬Ǽ®¯»¶´±··±®»ÉìÒα·³À¶°¹ ¹ À ® ® ¹ µ ¶ ¹ ® ® ² ³̧ ³ Ì ¿±Ņ̃³®¾¶¯°°́¹ Ȩ̂ ¼ ¸ ´ ´ ´ º º ¯ ¯ ¯ ° · ¬ ¬ ± ° ±̄ · ¬ °́ ¬ ¬ °̧ °́ ¶ ® ¹ ¶ ¶ ² ¶ À́ ® ® ³̄ ³ Ì̄ ³ ¿ ¸ ½ ¼ ¼ ¼ ´ ´ ´ ´ ´ É̄ °̄ ¬ · ± ° · °̧ · · ± ° · µ ¹ ¶ ¹ ® µ̄ ¶ ® ¶ ¶ ¹́ ³ ³ à ¼ ¼ ½ ´ ´ º ¯ ¯ ¯ °̧ · · ° ± ¬ ° ± ¬ °̄ · ¬ ¬ ® À̄ ® ¶ ¹ ® ® ® ² µ ® ³ Ì ³́ ³ Ì Ó ¿ Ò ¼ ¸ ½ ¼ ¼ Å̧ ´ ´ ´ É̄ ¯ · ° ± · · · ¬ · · · ® ¹́ ® ¶ ¶ ¶ ¹ ¶ ³̄ ³ ³ » à » ¼ ½ ¸ Ê ¼ ´ ´ ´ ´ Ǣ É ¯ ¬ °̄ ¬ ¬ ± · ¬ ® ® ¶ ¹ ¶ ® ¶ ³̄ ³ ¾ ³ Ë Ã Õ Ế Ȩ̂ Ô ´ Ǣ º̄ Ǣ ¯ ¬ · · · ¬ ° ¬ · · °̧ · ¬ ° ± · ¶ ® ¹ ¹ ² ® ® ® ¶ ² ¶ ¹ ® ³ Ë ³ ¾ ³ ³́ » ¼¼µ̧®´·²·°³¯¼Î¬Ó··ÃÃ̄Ø ¼ Ä ´ ´ Ȫ º̄ ¯ ·±Ế¸³°®®·¬¯·®¶°·µ̧¬±³´·¸¼¬¸½°̄³À·®°²Ê¬³·±±½¶·´¸¯¶³±̧º̧¼·µ¬°̄¼¶º̄¶´·ºÀ̄®¿·°®¶·µ°¼®Ñ±¶µ̧·¶Ì¾³··¬¯¹ · ± · · · ¬ ¬ ¶ µ ® ¹́ ³̄ ³ Ȩ̂ ½ ¼ ´ É̄ ¯ ¬ ° ± ¬ · · °̧ · ¬ · ¶ ¹ ® ¶ ² µ ¶ ® ³ ¼ ¼ ½ ½ × Ä ´ ´ ¯ ¬ · ± ° ± ¬ ±̧ ¬ ® ² ® ³ ³̄ Ã̄ ¼ ´ Ȫ ¬ ± · ¬ · · · ¬ °̄ ± · ¶ µ ¶ ® ¹ ¶ ® ³̄ ³ ³ » ¸ ° ¬ ± ± ° ¬ · ¬ ± ¬ ° ¬ °̧ ® µ̧ ¶ À̄ ® µ̧ ³ Ȩ̂¼´³º¼º̄±́·°¶³¬³̄®Ì´É±¶®·µ·°²¶¬¬³³¯¯´·¿¬¿°́¼°́°̧ǽ¯³Ȩ̂¬®´··Ã®³Ä ½¶·±»¹ ¼Ȩ́¶¬µ°µ®®¬³¯·¾³̄³®®¶·¯Ã º̄³®µ··´¹ ¬¼°̧³·¶À́®·¯¿¹ ¬¼µ°°®±̄¬°́¶±¬²·³́®Ê̄°°Ã¬¾··±µ®³¶µ¼®´³́¬²̄·¶³³́¾½µ̄¸°̧®³»´¼º¶·Â¬¶¯®®·¸½°´¼³µµ®¶°º¯¶¬´·º̄¾®°±®··¼Ã̄µ°̧½¶Ø ¶¬´Ù ±¶¬®³·µ̄°̄®°̄¿³´Ì®¼Ç·°́Ä ·¿®°¬¯³´à ·¸½á·¼â ³åÈ °Ü±̧ß´·³Ý®¾È °́Ã̄Þ ¬× ·Ó®ÜÇ ¶°ã®±ä¯³å´·¶íº̄µ̄°æáµå¼°̄½ç³°ð讶éæÛê´ñè¹ ²̄Ñëåܵݳò°̧°è¬ê®¯ë·î¼â ®ì¶±íáè¾°ê·±îµ̄åáé·ï°äµ̄ê®±¸··³¼Þ ®½°̄··Ü¹ Ú±µÎ°̧·°¶¿³̧®¬°̧·Ã°× Û¯·ã²̄äí¶³åÃá°× ·±¯°̄¹ ··ß¶ÝÞ °Çà ¶·Ð°·ÐÛ±̄°̄´Ç̄®¬ÄÞ ¶á¬â ®æèå¼ðçºèñ¾®é°̧ë󶳷òäÐåêô¯°̧ëð·íîê¶å¬¸ï½´í¼³·®¯°̄´³º̼̄½³·®¿°±̧³´Ì·®¶¯Ð· ³¶®Ó°´µ¹ Ú¸ÑÎÝ·°̧¶¿¬°±·³Ì®Þ È ´¼°̄·¸±Ô¶¬¼·Þ ¯°̧¿ö ° ·ß¬³õ ·¬Ô»Þ ´·¯º́¼³·¬ÝÈ °̄Þ ¬ ¶Ñõ µ ¶ö ®Ó³²¬³́¼º·Â¯®´¬°̧¹ ®¬Ë¸·®¬±¶·³¼Ý·Þ ¹ ¶ö ³Ì°̄¹ ³ÃÌμ½·õ ³Ô¶Þ F AR = F RR = ÷ ø ø ú ù û ü ý þ ÿ ü ý þ ý ü ! # " $ $ $ ' ( ## # & % % ) + , * $ / 0 / . . 1 # & % $ / 3 3 2 * ) / 0 3 3 4 2 6 5 # % 3# T0 T0 T0 Courbe ROC 0.5 0.45 0.4 0.35 A H A E 7 ? G = 9 8 : ; < B F C D @ > I I 0 " ) & J &# & ) 2 J 3 * # I 0 & ) 2 I # ) I J 2 * # & . * # I I 4 K N 6 R P ST # LQ & M I3 W X W Z ^ V V U Y T U T \ \ [ ] O 2 &*&# L I #`*# _ # FRR 0.3 0.25 0.2 0.15 EER 0.1 0.05 0 0 0.1 0.2 0.3 FAR 0.1% 0.4 0.5 n l h d e f g e g f i j i k e m i o a bp}q|crwstd y z y y z y u x x x x ~ ~ p p p p p v w q v { | v | w q q q { | | q | q w q } s s s } s r r r r r y y z y y x x x p p q q w | w { v w v q v w { | q q | } s } r r r w t zqzsqp~xp z z y z z y xv x x x x ~ p p p q{|wpxywq|{y q w v | q w | q q | | | q w v | q w } s s } s rzq r r r r y y z y x x x p p | | { w v { v q w | { q q v | w q { v s } s } r r y z z z z z x x x x ~ p p p p p | w v | q w v q { v q v q | } s s s s r r r r r z z z z x x x p p { q | w q v w { q | w v | w | q | { s } s } s r r t z xpt{ xz x x x ~}vqzxrssw|psxq| p p p p p v | v v q v q w q w q w q w v w v v | v svv}wzzq{yxw~r s s } s z z y x x x p p q v w q { | v | q q q { | v w { q s } s s r r r t z z z x p p p p | w { | q q w q w w q w q { | w v q w } s r r z z x x x x ~ ~ p p p p p q v | v v v q { | | w v s } s } s s s } r r r z y z z x ~ p p p p q q q | q q q w | { | w q w q { v q } } } s r r t ¡ £ ¤ ¢ w y z x x x ~ p p p p q q w q w | v w q q v v q w v q s s r z y y z z y x x x x ¥ ~ ~ p p p v w { v q | w | w q { | q v { q { q v q } s } s s } s s s r r r r y y y z y z x x ¦ x x x ~qxs ~ p~qypx§ p p p q q q | v w v { q q v q w | w v | w w v | q w | s s r r t z y z y z x ~ ~ p p p w { | | w w | v q v q v | w q s s } } s s s r r r z z y z x x x x ~ ~ ~ ~ p p p p p w q q w q v q w | w w q q w q | v q | w w } s } s s r r t z x x x x p p p p p p v w v w { v q q | w { | { | s s } s } s s } s } r r r r y y y x ¨ x x p p p w q q q { | v q w v { w | q | { q v q w s } s r r t y z z z xqzv} x{x xxypqsq x x x x x ~zzqqwwpv{} ~s ~ ~ p{pqvqw}z p p v wzsqw w q v q v v v | | q sp|wr } } s s s } s r r r r r x q { | v w v { q q w v s t z y z x x u x © ~ p p p | w w q q | w q w { v q w v q w { v w q w w q } s s } s r r r r t y z y x x ~ ~ p p p p p w q | v q { | ª w q v q w s s r r r r zwy }qx|x§ y z z y y x{r|~ szqqyp{pqv x x x x ~ ~ p p v | q v v q v q q | v q | q } s } r r r t y y z z x ~ ~ ~ ~ p p p w q w w | q { v q v v w | w w | q v } s s } r r r t z z y y y x x x ~ p p p p p { | ª q v w q q w q q q q | v q } s } s } s r r r r § z y z y x « x x ~ ~ p p p w q q | { v | q | w v | w q w { q w w } s s s r r t y y z x ~ p p w} v | w w v | w { w v q { q w { v | q v q } s } s s s r r r r r zsxwps z y z x x x p p p p v w q v | w | v { q { v w q w s } s } s } s } s r r r t z z z y y x x x x ¬ ~ ~ ~ p p p p p p v w q { v q | w v | w | w q w q v q { | q | w { v { } s s s } s r r z z y y « x ~ ~ p p q | w { | w q { q { v q { | w | w q q | w } s } s r r r r r t z y y y z y x x x ~ ~ ~ p p p p p | v q q { | v v v q w v w q v q { q { v w s } } s r r r y y z z x{y x x x x © p{|s p p p p p p v w q { v v | q | q { q v | q v | v q } s } s t z z y x ¦ x x ~ ~ ~ ~ ~ ~ p p |~rs{xpqwvy| qwrs }|wsv|wqtpy qr{v}wxp|sq}tvqrswr| } zwqvyr xqw ¼ ® ® °̄ ¹́ ¹̧ ± ² ³́ µ ² ³̧ º » ³ ² ¶ · À Ã Í À Î Ã À À À Í Å Å Å Å È Ì Æ Æ ½ ¿ Á  ½ Á Ê ¿ Ê ¿ ½ Ê Â Á Ê Â ½ Á Ê ½ Á Â Ê ½ ¿ ½  Á Á ¾ Ä Ç ¾ ¾ Ä Ç Ä Ç Ç ¾ ¾ Ë Ë Ë Ï Ð É Ø À À Î Ã Ô Å Ó Õ × Ì ÆÀÆÁÃ Æ Æ ¿½Ù½ÏÀÑÑÁÊÁÂÇÅÄ Â ½ Á ¿ ¿ Á ¿ Á ¿ ¿ Á Ä Ç Ñ Ç Ò Ä Ç ¾ Ç ¾ Ä Ç Ò Ç ¾ Ë Ë Ë Ë Ö Ù À À À Í À Ã Í Î Å Ó Å Å Ì Æ Æ Æ Æ Æ Á ¿ Á Ê ¿ Â Ê ½ Ê ¿ Á ½ Á  Á ½ Ê Á ½ Á  ½ ¿ Ú ¾ ¾ Ä Ç ¾ Ç Ñ Ç Ë Ë Ë Ë Ï Ö É Í À Î Í À Î Ù Í Ã À Ù Ù Å Ì Ì Æ Á ¿ ½ ½ ½ ¿ ¿ ¿ ½ Ê Â Á ¿ Ê Á ¿ ¿  Á Ò Ç Ä Ç Ñ ¾ Ú Ë Ë Ë Ë É Ø À Î Í Î Ã Û Ü Ý Û Å Å Å Å Å Æ Æ Æ Æ Â ½ Á Ê ¿ Á Ê ½ Á ½ Â Ê Á Ê Â Á ½ Ä Ç ¾ Ò Ç ¾ ¾ Ä Ç Ú Ä Ç ¾ Ç Ë Ë Ë Ë Ð Ù Å Å × Þ Ì Æ Æ Æ ½  Á ¿ Á Ê ¿ ¿ Á Ê ¿ ½ Ê ÇÏÂÊʽÁË ÑÂÄÆÍ Ç½ÌÁÇÅ¿½ÁÆÏÂÚÊ˾ÁÄÀÊν½Ä Ä Ú Ä Ç ¾ Ç ¾ ¾ Ë Ï Ë Ë Ë Ö ÀÇÒ Í À Î À à à À Ô Å Å Ó Å Õ Å Å Ì Æ Æ Æ Æ Æ ¿ ½  Á ¿ Á ½  ½ ½  Á Á Á ¿ ¿ ¾ ¾ Ä Ç Ç Ä Ñ Ç Ä Ç ¾ Ä ¾ Í À À Ù ß Å Û Ü Ý Û Ì Ì Ì Æ Æ Æ Æ Æ Á Á  ¿ Á Ê Á ¿ Á ¿ ¿ ½ ½ Á Ç Ò ¾ Ñ Ç Ò Ë Ö Ã Ô Å Ó Õ Æ Ê Ñ Ö à À Í Ã À À Í × Å Å Å Å Å á á â Æ Æ Æ Ê ¿ Ê ¿  Á ½ Á ¿ Á ½ ½ Â Ê Â ¿ Ê Á Á Á ½ Á Ê Ê ¿ ¾ Ç ¾ Ç Ä Ç ¾ ¾ ¾ Ç ¾ Ç Ä Ç ¾ Ë Ï Ë Ë Ø À À ÄÇÌ¿Á¾ÆÁÇÊ¿ÁÄÇ¿ÄÂÁ¿ËÆ¿ÆÏËãÖ Chapitre 2 État de l'art Dans ce chapitre, nous allons donner une vue d'ensemble de l'état de l'art concernant la reconnaissance de visage en temps réel et des algorithmes utilisés dans ce but. Nous allons aussi voir l'intérêt des rétines électroniques pour l'amélioration des performances des systèmes temps réel. En eet celles ci permettent une amélioration de la qualité des données et le traitement de l'information in-situ. Dans le cas de notre application : la reconnaissance de visage, nous cherchons à éliminer la variable illumination qui joue un rôle important sur les performances d'un système de reconnaissance. L'acquisition active, où la capture d'image se fait à l'aide d'une source de lumière contrôlée, est une solution qui permet de s'aranchir de ces eets. Nous présentons dans la section 2.4, les diérents travaux faits sur les capteurs et les algorithmes en proche infrarouge. 2.1 Introduction Les recherches sur la reconnaissance de visage ont commencé au début des années 70. Elles ont connu un essor récemment pour des raisons sécuritaires. On note en eet un intérêt croissant de la part des états et des industriels pour ce domaine de recherche qui s'est manifesté par l'introduction de l'image de visage numérisée dans les documents ociels tels que le passeport et une probable carte d'identité biométrique. Diérentes bases de donnée de visage ont été collectées an de tester les performances des algorithmes de reconnaissance et des compétitions à l'échelle mondiale sont organisées chaque année pour évaluer les avancées réalisées dans ce domaine. Citons en particulier FRGC et MBGC en 2008 organisées par le NIST. Mais la biométrie de reconnaissance de visage connaît des challenges techniques assez importants du fait 9 10 CHAPITRE 2. ÉTAT DE L'ART que le visage est sujet à de multiples variations liées soit aux conditions d'acquisition (problème d'illumination) soit aux poses et à l'expression. 2.1.1 Architecture générale Un système de reconnaissance de visage peut être considéré comme composé de 4 parties (gure 2.1) [42] : Figure 2.1: Schéma général d'un système de reconnaissance de visage Capture : C'est la première étape dans le processus. C'est aussi l'acquisition des informations et leurs transfert vers l'unité de traitement. Elle est une étape très importante dans les systèmes de reconnaissance. En eet, avoir des images de bonne qualité en référence améliore les performances de reconnaissance. Il faut réussir à capter l'information pertinente sans bruit. Il existe plusieurs types de capteurs pour l'acquisition du visage qui se classe selon leur mode de fonctionnement, leurs domaine de sensibilité spectrale et leur mode d'acquisition. On trouve sur le marché les capteurs classiques d'image à 2D tels que : les CCD (Couple charged device) ou CMOS pour capturer des images dans le spectre visible et/ou proche-infrarouge, ou les capteurs thermiques qui permettent une acquisition dans l'infrarouge. Il existe des capteurs qui nous donnent une image avec l'information 3D, cela se fait par des scanners 3D, où la mesure de la profondeur est réalisée grâce à un rayon laser balayant la scène ou par stéréo vision. Chaque type de capteur présente des avantages et des inconvénients. Dans la reconnaissance de visage on peut utiliser les capteur 3D par exemple pour s'aranchir des problèmes de pose. Mais leur prix excessif ne permet pas une utilisation à grande échelle. Les capteurs en proche infrarouge sont utilisés pour éliminer les problèmes de l'illumination. Nous allons nous intéresser dans ce travail à ce dernier cas. Détection du visage : Après avoir capturé la scène contenant un visage, la deuxième étape consiste à l'extraire de l'image. Cela peut se faire par détection de la couleur de la peau, ou par des méthodes détectant les diérentes caractéristiques du visage par des descripteurs locaux (adaboost). Cette étape est autant plus délicate autant que l'image acquises contient plusieurs objets 2.1. INTRODUCTION 11 de visage ou un fond non uniforme qui crée une texture perturbant la bonne segmentation du visage. Cette étape est dépendante de la qualité des images acquise. Après la segmentation du visage, on peut ltrer ou améliorer la qualité par des pré-traitements qui sont appliqués au visage extrait. On peut eectuer des normalisations géométrique et photométrique. Ces pré-traitements sont nécessaires pour éliminer ou limiter les variations de pose ou d'illumination. Un pré-traitement photométrique tend à uniformiser l'éclairage dans une image et ainsi minimiser l'inuence de l'illumination. Cela peut être eectué soit par des méthodes simples telle que l'égalisation d'histogramme, une correction gamma ou par des méthodes plus complexes tel que le lissage anisotropique [25] ou la méthode retinex. Une normalisation géométrique est un ajustement du visage pour qu'il ait une dimension donnée et qu'il soit horizontal. La taille du visage est généralement donnée par la distance inter-oculaire. La gure 2.2 montre la normalisation géométrique. Figure 2.2: Normalisation géométrique du visage Tous ces pré-traitements tendent à éliminer les variations de formes du visage (rotation, taille) et à avoir une image uniformément éclairée. Ainsi, l'image du visage ressemble à une image acquise dans de bonnes conditions, comparable à celles de l'image de référence. On diminuera donc les chances d'un faux rejet. Extraction de caractéristiques : le but est d'extraire les caractéristiques du visage qui peuvent le rendre à la fois diérent de celui des autres personnes et robuste aux variations de la personne elle-même. C'est l'information nécessaire pour que le visage d'une personne ne ressemble pas à celui d'une autre personne et en même temps qu'il ressemble à lui-même dans d'autres conditions d'acquisition. Au début des travaux sur la reconnaissance de visage [12][22], on a estimé qu'une représentation du visage devait passer par l'utilisation de la 12 CHAPITRE 2. ÉTAT DE L'ART bouche, des yeux, du nez, de leurs positions relatives et de leurs géométrie. Mais cette procédure a montré ses limites [15]. Il faut alors une analyse plus poussée du visage pour trouver d'autres caractéristiques. Dans certaines méthodes, on n'utilise d'ailleurs que la détection des yeux pour normaliser le visage et on fait ensuite une étude globale du visage (algorithme type ACP, LDA, etc.) Comparaison des caractéristiques : selon les caractéristiques extraites précédemment, les algorithmes de comparaison dièrent. On trouve dans la littérature plusieurs approches : calcul de distance, calcul de similarité. D'autres méthodes se basent sur la classication des caractéristiques par un seul classieur (SVM, classieur baysien, etc.) ou par plusieurs (Adaboost). 2.1.2 Challenge techniques La problématique de la reconnaissance de visage est celle des variations intraclasse. En eet, les variations d'illumination, de pose ou d'expression détériorent les performances d'un algorithme de reconnaissance. Le visage d'une personne X peut ressembler plus à celui d'une personne Y qu'à lui-même si l'on change les conditions d'acquisition. Ces eets sont surtout notables dans un contexte de mobilité où on n'a pas de contrôle sur l'environnement de l'acquisition. Pour cela, on essaie de trouver une bonne méthode qui permette de s'aranchir de ces diérentes variations. Les algorithmes de normalisation photométrique permettent d'atténuer l'eet de l'illumination. Ils ont permis ainsi d'améliorer considérablement les performances de reconnaissance [85] dans certains cas précis acquis en lumière visible. Une seconde voie consiste à utiliser l'acquisition active. Elle permet aussi d'éliminer ces variations d'illuminations et ainsi améliorer les performances du système sans augmenter la complexité algorithmique. Cela permet une meilleure intégration de l'algorithme sur composant programmable et ainsi d'eectuer la reconnaissance en temps réel avec une consommation d'énergie raisonnable. Nous allons présenter dans ce qui suit quelques algorithmes de reconnaissance du visage qui ont été implémentés sur des composants programmables. Ces architectures peuvent alors nous donner des performances de reconnaissance en temps réel. 2.2 Reconnaissance de visage en temps réel Les industriels et les laboratoires de recherche se sont intéressés aux applications de la reconnaissance de visage sur des terminaux mobiles. L'aspect ergonomique de l'usage de cette biométrie attire les industriels pour sécuriser les sessions de travail ou pour la personnalisation des appareils mobiles. La rme OKI a été la première à intégrer un système de reconnaissance de visage dans les appareils téléphoniques comme 2.2. RECONNAISSANCE DE VISAGE EN TEMPS RÉEL 13 une alternative au code PIN à travers leur système "Face Sensing Engine" [1]. L'intégration des algorithmes de reconnaissance est fait sur des composants programmables standards tels que les DSP (Digital Signal Processor), FPGA (Field Programmable Gate Array), ASIC (Application-Specic Integrated Circuit), etc. Les premiers travaux d'intégration d'algorithmes de reconnaissance de visage datent du début des années 90 à l'université de Harvard [21]. Les auteurs ont conçu un circuit pour accomplir la tâche de comparaison (une corrélation dans ce cas). Le système se compose d'un IBM PC 80486/DX2, d'un extracteur de trames vidéo et de leur circuit de corrélation. Cela leur a permis de gagner en ressource du processeur et en temps de calcul. L'architecture du système est présentée en gure 2.3. Figure 2.3: Schéma global du système de Harvard (Gilbert) [21] Cette première tentative montre l'ecacité de concevoir un circuit dédié pour améliorer le temps de calcul de l'algorithme de reconnaissance. C'est dans cet esprit que nous avons mis en valeur les prochains travaux. Nous allons présenter dans ce qui suit quelques algorithmes qui ont été implémentés sur des circuits VLSI. 2.2.1 Reconnaissance de visage par réseaux de neurones Les réseaux de neurones est un modèle de calcul qui date des années 40. C'est une technique inspirée des réseaux de neurones biologiques pour exécuter des tâches calculatoires. Elle a la particularité de s'adapter, d'apprendre, de généraliser pour classer les données en entrée. Un réseau de neurones se compose essentiellement de [35] : Un ensemble de cellules de calcul, appelées aussi neurones. Chaque neurone possède un état d'activation mesuré à sa sortie yk . 14 CHAPITRE 2. ÉTAT DE L'ART Un ensemble de connections entre les neurones. Chaque liaison est caractérisée par un poids wjk reliant l'unité j avec l'unité k . La loi de propagation du réseau : l'eet de l'entrée active sk d'un neurone sur les diérents neurones. La méthode de collecte de l'information (règles d'apprentissage). La fonction Fk réalisée par la cellule. Une entrée externe qui peut être considérée comme un décalage θk La gure 2.4 montre ces diérents caractéristiques. Figure 2.4: Composition d'un réseau de neurones Plusieurs types de réseaux de neurones existent dans la littérature, nous allons nous intéresser au réseau RBF (Radial Basis Function). Selon Howell et Buxton [29], le RBF donne de meilleurs résultats d'identication de visage que les autres types de réseaux de neurones. l'architecture d'un réseau RBF est présentée en gure 2.5. Il se compose d'une couche d'entrée, une cachée et une de sortie. La couche d'entrée se compose de N cellules pour un vecteur correspondant à l'image d'entrée composée de N pixels. Toutes les cellules de la couche d'entrée sont connectées aux I neurones de la couche cachée qui eux même sont connectés à ceux de la couche de sortie. Chaque noeud de la couche cachée donne en sortie un signal proportionnel à la distance entre l'entrée et le centre correspondant de la cellule ci . La distance euclidienne est généralement la plus utilisée (d((x))). La fonction d'activation du neurone est une gaussienne : Fk = exp−d(x) 2 /σ 2 i Les paramètres d'apprentissage du réseau sont alors : les centres ci , la taille de la fonction σi et les poids des connections. Pour chaque personne, on construit à partir d'un ensemble d'images un réseau qui lui correspond. Il est clair que dans ce cas, les images d'entraînement doivent contenir les diérentes variations d'illuminations, de 15 2.2. RECONNAISSANCE DE VISAGE EN TEMPS RÉEL Figure 2.5: Réseau de neurones RBF [82] Nombre de slices utilisé Pourcentage utilisé Nombre de bloc RAM utilisé Pourcentage des bloc RAM utilisé 827 27% 16 100% Table 2.1: Ressources consommées sur le FPGA SpartanII pour le RBF poses et d'expression. Un problème peut se poser si on a peu d'images d'entraînement de la personne. Ce réseau a été implémenté et testé sur plusieurs composants programmables (DSP, FPGA et ZISC) [82] [62][63]. Dans [82], les auteurs ont implémenté le réseau sur un FPAGA Xilinx SpartanII-300 qui contient 3072 slices (unité logique de base dans un FPGA qui possède 4 entrées et une sortie et peut simuler une fonction logique complexe), 16 blocs mémoire de 512 octets. La couche cachée du réseau contient 15 cellules, et le vecteur d'entrée est de taille 320. Le tableau 2.1 montre les ressources consommées pour l'implémentation de ce réseau. La fréquence d'horloge du FPGA est de 50MHz. Cela permet un traitement de 14 images par seconde avec une performance de bonne reconnaissance de 92% sur 1796 images de visage. Dans [82], les auteurs ont testé aussi l'implémentation d'un RBF sur un DSP de Texas Instrument. Ils ont choisi le TMS320C6201B : un DSP à calcul en virgule xe avec une fréquence d'horloge de 200MHz. Ce DSP est capable de traiter 8 opérations en un cycle d'horloge. Le tableau 2.2 montre les résultats de cette implémentation avec un code en C et une implémentation optimisée en assembleur. Une autre implémentation de ce type de réseau a été étudiée dans [33] où les auteurs ont développé un processeur dédié. Le système proposé est composé d'une caméra CMOS d'une résolution 640×480 et d'un processeur SIMD (Single Instruction 16 CHAPITRE 2. ÉTAT DE L'ART langage Extraction des vecteurs d'entrées Calcule de distance Fonction Gaussienne + Décision Vitesse de traitement C 4.14 ms 211 ms 67ms 3.5 images/sec Assembleur 1.8 ms 144 ms 4.8 images/sec Table 2.2: Résultats d'implémentation d'un RBF sur DSP Multiple Data). La taille des images en entrées du réseau, après normalisation, est de 64 × 72. Avec cette architecture, ils ont pu atteindre une vitesse de reconnaissance de 4.2ms avec un taux de reconnaissance de 90% avec un taux de fausse acceptation de 1% 2.2.2 Reconnaissance de visage par Analyse de composante principale C'est l'algorithme de référence de la reconnaissance de visage. C'est une méthode de réduction d'espace connue aussi sous le nom de transformée de Karhunen-Loeve ou PCA (Principal Component Analysis). Elle a été utilisée par Turk et Pentland dans [75], où la notion de "eigenface" a été introduite pour exprimer les diérents vecteurs propres de la base d'images de visage de la PCA. En eet, on peut considérer que les images de visage de dimension N × N pixels ne forment qu'un sous ensemble de l'espace des images de dimension N × N . Il est alors intéressant de chercher une représentation d'un visage dans cet sous ensemble appelé espace des visages. Cet espace est construit à partir d'un ensemble d'image de visage constituant la base d'apprentissage. La PCA a pour objectif de maximiser la variance entre les données. Cela revient à maximiser la variance entre les "diérents visages". Pour un ensemble de N images, X = {x1 , x2 , ..., xN } est l'ensemble des images exemples, l'analyse par composante principale est une décomposition en éléments propres de la matrice de covariance C de ces données d'apprentissage. N C= 1 X (xi − x)(xi − x)T N −1 i=1 Où x est la valeur moyenne de X : x= N 1 X xi N i=1 Si xi est un vecteur de dimension M . On aura alors M vecteurs propres (eigenvectors) {v1 , v2 , ..., vM } de dimension M et M valeurs propres {λ1 , λ2 , ..., λM }. Ces vecteurs 2.2. RECONNAISSANCE DE VISAGE EN TEMPS RÉEL 17 propres forment une base orthogonale en résolvant l'équation : Cv = λv où C est la matrice de covariance et v est un vecteur et λ un scalaire. Les valeurs propres {λ1 , λ2 , ..., λM } représentent le taux de variation le long de l'axe du vecteur propre associé. Dès lors, on pourra éliminer les vecteurs propres les moins importants sans perte conséquente d'information. On dénit alors la proportion P de la variance contenue dans les Q premiers éléments de l'ensemble des vecteurs propres choisis : PQ q=1 λq P = PM i=1 λi où Q < M . La projection d'une image I , Ω dans cet espace de visage est donnée par : ωi = (I − x)T vi où ωi est la composante selon l'axe vi . La classication des données est ensuite fournie par un calcul de distance (distance euclidienne par exemple) ou par des moyens plus élaborés tel que le SVM (Support Vector Machines). Cette approche PCA est assez dépendante de l'espace de visage choisi. En eet, plus la base d'apprentissage est grande et intègre des variations d'illumination, de pose et d'expression mieux on peut présenter les visages dans cet espace. On trouve dans la littérature des essais d'implémentation de cette approche. Dans [38], les auteurs ont intégré la PCA avec un SVM comme classieur. L'intégration s'est faite sur DSP de Texas Instrument (TMS320C6711). C'est un processeur à calcul en virgule ottante qui peut être cadencé à une horloge de 200MHz. Les images sont acquises avec un capteur CCD classique. Le temps de vérication atteint varie entre 50ms et 90ms. Dans [68], les auteurs ont construit un espace de transformée en ondelette discrète (ondelettes de Daubechies) des visages. Cela permet d'améliorer les performances de la reconnaissance. En eet, une analyse en ondelette du visage permet d'en extraire les informations pertinentes. Ensuite la PCA réduit les redondances de l'analyse. Le classieur choisi dans ce cas était une distance euclidienne. L'intégration de cette méthode a été eectuée sur un FPGA Spartan-II d'une taille de 300K portes. Les ressources utilisés pour leur système sont présentées dans le tableau 2.3 Ces performances permettent un fonctionnement avec une fréquence de 25Mhz de 12.5 trames par seconde. Les auteurs indiquent que pour une vitesse plus importante, l'utilisation d'un FPGA plus récent permet de doubler la vitesse de traitement. 18 CHAPITRE 2. ÉTAT DE L'ART fonction Contrôleur SDRAM 2-D DWT PCA Classieur Total Memoire 2 2 2 1 7 (56%) Slice 247 175 202 275 1274(42%) FFs 196 223 380 450 1543 (25%) Fréquence (MHz) 83 113.3 131.5 104.1 50 Table 2.3: Ressources utilisées dans [68] sur un FPGA XC2S300 2.2.3 Reconnaissance par correspondance élastique de graphe Les approches les plus utilisées en reconnaissance de visage en temps réel sont les algorithmes à approche locale. Ces algorithmes se basent sur la comparaison de caractéristiques locales du visage. Un de ces algorithmes est la correspondance élastique de graphes ou le "Elastic Graph Matching" (EGM). Cet algorithme est inspiré du "Dynamic Link Architecture" (DLA) [37]. L'EGM représente le visage par un graphe étiqueté. Un graphe est composé d'un ensemble de noeuds connectés entre eux par des contours. Chaque noeud peut correspondre à un point caractéristique du visage [81] (gure 2.6-a)) ou à un noeud d'une grille superposée sur le visage [34] [18] (gure 2.6b)). Il est caractérisé par son nom ou sa position et par un vecteur qui contient l'analyse locale de son voisinage. Cela permet d'avoir une information locale à travers les noeuds et une information globale par leurs inter-connections. Chaque noeuds comporte des caractéristiques locales du voisinage du noeud. Celle ci peut être determinée par une analyse par ltres de Gabor ou par une série d'opérations morphologiques. Le résultat de cette analyse est enregistré dans un vecteur appelé Jet. Les jets et les positions relatives des noeuds constituent un modèle du visage. Figure 2.6: Diérents type de graphe pour l'EGM Une des méthodes d'analyse pyramidale (sur diérentes échelles) est l'analyse par 2.2. RECONNAISSANCE DE VISAGE EN TEMPS RÉEL 19 un banc de ltre de Gabor. En changeant la taille et les orientations des ltres, nous obtenons une analyse multi-résolution du voisinage du noeud. Duc et al. ont choisi une analyse sur 3 résolutions et 8 orientations [18]. Dans la méthode proposée par l'Université de South California (USC) [9], les auteurs utilisent une analyse avec des ltres de Gabor avec 5 résolutions et 8 orientations. La seconde approche d'analyse multirésolution est celle qui utilise la morphologie mathématique. Elle est constitué d'une série d'érosions et de dilatations par un élément circulaire de taille variable. Pour un noeud x dans une image f et un élément structurant circulaire gσ : (f ⊕ gσ )(x) if σ > 0, (f Fgσ )(x) = f (x) if σ = 0, (f ª g )(x) if σ < 0. |σ| où ⊕ est l'opérateur de dilatation et ª est l'opérateur érosion. Dans [34], les auteurs ont construit une grille de taille 8 × 8. Chaque noeud x est caractérisé par un jet de taille 19 : j(x)=((f Fg9 )(x), ..., f (x), ..., (f Fg−9 )(x)). Pour comparer deux graphes (ou deux images : une de référence et une de test), on calcule la similarité entre les jets : Sj (j(xri ), j(xti )) = kj(xri ) − j(xti )k La comparaison de deux images est une correspondance entre les deux graphes. La première étape est le calcul de similarité entre les noeuds qui est un produit scalaire normalisé de deux jets : J I .J M S(J I , J M ) = kJ I k.kJ M k où J I (resp. J M ) est le jet de l'image de test (resp. de l'image de référence). La correspondance de deux graphes se fait en deux temps [37]. En premier lieu, une comparaison rigide qui calcule la similarité entre les deux graphes sans déplacement des noeuds (Sjets ). Puis une comparaison élastique qui tend à retrouver les meilleures correspondances entre les noeuds. Mais, ce déplacement est pénalisé par la déformation de la grille et ensuite par les modications de distance entre les segments reliant les noeuds (Sseg ). Le coût total de ces deux opérations est la similarité entre deux graphes (i relatif à l'image de test et r de référence) est : Stotal = Sjets + λSseg = X i∈N X −→ −→ Jit .Jir +λ (∆tij − ∆rij ) t r kJi kkJi k (i,j)∈E où λ est un facteur d'élasticité, N (resp. E ) est l'ensemble des noeuds (resp. des −→ segments reliant les noeuds) dans le graphe et ∆ij est le segment reliant les noeuds 20 CHAPITRE 2. ÉTAT DE L'ART i et j : −→ − → ∆ij = → xj − − xi Plusieurs travaux ont été menés pour intégrer cet algorithme de reconnaissance de visage. Son analyse locale des points caractéristiques attire l'intérêt par rapport à l'aspect intégration et aussi la robustesse de l'algorithme face à des changements de poses ou d'expressions. Les tests d'intégration de cet algorithme ont été faits sur plusieurs composants, nous allons citer ici quelques travaux eectués. Les composants cibles utilisés sont soit des FPGA soit des ASIC. On utilise le langage descriptif VHDL (VHSIC Hardware Description Language) en vue d'utiliser une architecture MIMD (Multiple Instruction Multiple Data). Cela permet d'avoir des temps de calcul courts et un traitement en temps réel. Dans [49], les auteurs ont intégré cet algorithme sur plusieurs processeurs. Leur système se compose d'une caméra CMOS classique d'une résolution de 320 × 240, d'une RAM partagée entre les diérents processeurs, une unité de calcul dédiée à la morphologie, une seconde pour la tache de correspondance et un processeur maître pour gérer ces diérents composants. Le schéma global est présenté en gure 2.7. Figure 2.7: Architecture générale du système proposé par Nagel [49] Dans [60], une architecture de l'EGM avec une analyse multi-résolution avec les ltres de Gabor a été implémentée. Les auteurs ont utilisé une architecture qui ressemble à celle proposée par USC à savoir un ensemble de 5 résolutions et 8 orientations. Mais, ils ont diminué le nombre de points caractéristiques. Ils ne s'intéressent qu'à 7 points féodaux : les centres des yeux, le centre du nez et 4 points sur les bords de la bouche. L'architecture en pipeline pour le calcul des jets est présentée en gure 2.8 a 2.2. RECONNAISSANCE DE VISAGE EN TEMPS RÉEL 21 été implémentée sur un FPGA VirtexII de Xilinx. Cette Architecture fonctionne avec Figure 2.8: Architecture de Calcule des Jets une fréquence de 100MHz ce qui permet de travailler avec un taux d'image de 70 trames par seconde et cela en n'utilisant que 7 points caractéristiques et en intégrant 10 unités de traitement des ltres de Gabor. Les ltres de Gabor sont enregistrés sur 12bites dans des RAM. Le calcul des ltres se fait au préalable sur MATLAB pour déterminer la bonne précision du format à virgule xe. Une autre architecture a été proposée dans [50], où l'on partage le calcul entre FPGA et microprocesseur d'un ordinateur. Le schéma global est présenté en gure 2.9. Les auteurs ont exploité l'architecture de calcul parallèle du FPGA pour faire la correspondance (Matching) et ainsi améliorer le temps de calcul. Avec un PC équipé d'un processeur Pentium M de fréquence 1GHz et un FPGA ALTERA cadencé à 48MHz, toute la chaîne de reconnaissance s'exécute en 1ms. 2.2.4 Comparaison des algorithmes Les algorithmes de reconnaissance précédemment décrits ne sont pas tous équivalents. En eet, outre le fait qu'ils se basent sur des approches d'analyse diérentes, leurs performances de reconnaissance et leur robustesse face aux variations sont différentes. Il faut noter que les tests mentionnés dans les diérentes publications citées [82][33][38] sont évalués sur des bases privées, généralement de faible taille. La reconnaissance par réseau de neurones a été testée sur un base de 8 vidéos, mais validé 22 CHAPITRE 2. ÉTAT DE L'ART Figure 2.9: Système de reconnaissance de visage temps réel : ux de donnée préalablement sur la base Olivetti Att - ORL. C'est une base qui se compose de 40 personnes et chaque personne possède 10 images. Avec un modèle construit avec 5 images on obtient un taux de reconnaissance de 97.1%. Plusieurs publications ont critiqué la sensibilité de cette méthode par rapport aux variations d'illumination et de pose si le modèle d'apprentissage ne contient pas susamment d'images variées. Le second algorithme qui est l'analyse par composante principale est un algorithme considéré comme l'approche de base (baseline). Elle fut bien utilisée au début mais a vite montré ses limites vis à vis de l'illumination. La présentation de l'espace des visages utilisée est aussi une limitation de la méthode. En eet, on ne cherche qu'à renforcer la diérence entre les personnes[61]. Cela donne des faux rejets assez importants lors de changements d'illumination ou de pose. Durant la compétition de FRGC (Face Recognition Grand Challenge), il est utilisé comme algorithme de référence pour toute comparaison. Mais, on peut choisir aussi la LDA (Linear Discriminant Analysis) ou la ICA (Independent Component Analysis) comme algorithme de base. L'approche de comparaison élastique des graphes a été testée sur une base plus importante XM2VTS [48]. L'auteur montre que, sur cette base de 295 personnes, en utilisant l'analyse morphologique, on obtient un taux de EER de 13%, alors qu'en utilisant l'analyse de Gabor, on obtient un taux bien plus faible de 5%. Cela montre l'ecacité de l'analyse de Gabor et son intérêt. 2.3 Capteurs Intelligents Les algorithmes de reconnaissance de visage sont assez complexes. Ils demandent beaucoup de ressources tant en mémoires ou qu'en unités de traitement. Cela se traduit aussi par une consommation d'énergie assez importante. Pour cela, nous allons améliorer la qualité d'acquisition et ajouter des traitements dans le capteur pour al- 2.3. CAPTEURS INTELLIGENTS 23 léger le traitement par la suite. Il vaut mieux "Analyser l'image là où elle est acquise pour n'en retenir et en transmettre qu'un extrait pertinent pour la tâche de vision en cours" [8]. C'est le principe des rétines CMOS ou des capteurs intelligents. L'emploi du terme rétine est une analogie au terme rétine biologique. En eet, de nombreux traitements implémentés dans un capteur sont inspirés des rétines naturelles (biologiques) qui associent capture avec traitement de l'information à travers les structures neuronales. 2.3.1 Variables analogiques Le traitement in-situ des signaux issus de la phototransduction nous amène à nous conformer à leur caractère continuellement variable que ce soit en amplitude ou en temps. Cela nous conduit vers une approche analogique de leur exploitation. Sur un circuit VLSI CMOS, plusieurs grandeurs physiques peuvent représenter l'information. Chacune possède les caractéristiques suivantes [8] : Tension : On peut les distribuer sur les câbles ou les mémoriser dans des capacités facilement. Elles sont principalement utilisées pour commander les transistors MOS (à eet de champs) et bipolaire. Courant : Issu des transistors, il est facile de l'additionner par la loi de noeuds grâce à la conservation de la charge. Il tient aussi un rôle important dans les techniques en mode courant. Charges : C'est le résultat de l'intégration temporelle dans le temps du courant, ou du stockage d'une tension dans une capacité. On peut facilement transporter les charges grâce aux techniques CCD, ou les additionner, soustraire par des techniques de capacités commutées. 2.3.2 Opérateurs analogiques Opérateurs locaux Ce sont les opérateurs qui se trouvent au sein du pixel. En eet, on peut utiliser ces opérateurs pour amplier, par compensation ou par association de transistors pour eectuer des opérations simples. Au sein du transistor : En utilisant la caractéristique courant-tension exponentielle du transistor saturé en faible inversion, on peut eectuer une compression logarithmique des photocourants. Compensation : Plusieurs composants et opérateurs analogiques nécessitent un réglage individuel. Il est alors utile de compenser les dispersions en mémorisant ces réglages au sein du pixel sous forme de charges. Association : En associant des transistors, on peut avoir des fonctions très utiles. La paire diérentielle en gure 2.10 a) divise le courant 24 CHAPITRE 2. ÉTAT DE L'ART I0 en deux courants I1 et I2 en fonction de la diérence de tension ∆V . La diérence de courant ∆I = I2 − I1 peut s'exprimer comme le produit de I0 f (∆V ) où f est une fonction sigmoïde. Si les transistors sont identiques, f est impaire et sa partie centrale est approximativement linéaire, on peut exploiter le schéma pour eectuer des opérations de multiplication. Le miroir de courant en gure 2.10 a) duplique le courant Iin en Iout . En combinant les deux schémas, on peut avoir directement la diérence ∆I . Figure 2.10: a)paire diérentielle ; b) Miroir de courant [8] Opérateurs collectifs La vision par ordinateur met en oeuvre un nombre important de données reliées entre elles. L'analyse de ces données nécessite des opérateurs à plusieurs entrées. Alors que le traitement numérique ne possède que des opérateurs à faible nombre d'entrées, le traitement analogique possède des dispositions naturelles à combiner un grand nombre de données simultanément. C'est le calcul collectif. On met en oeuvre des équations physiques pour résoudre des problèmes électroniques. On présente dans la section suivante quelques types de rétines intégrant ces traitements collectifs 2.3.3 Rétines CMOS Il existe en imagerie plusieurs applications des rétines CMOS. Les améliorations qu'elles apportent sur la qualité d'image et sur l'extraction de l'information utile réduisent la complexité algorithmique du traitement et par suite la consommation du 2.3. CAPTEURS INTELLIGENTS 25 processeur. Parmi ces rétines, on en trouve qui eectuent un traitement spatial ou un traitement spatio-temporel. Extraction de caractéristiques L'extraction de caractéristiques est l'une des tâches les plus importantes dans la vision articielle. D. Marr [45] montra que les ltres gaussiens sont bien adaptés à l'extraction des primitives dans une image. En eet, un ltre Gaussien possède le gabarit passe-bas spatial le plus raide possible qui n'introduit pas des oscillations dans l'image ltrée. Cette propriété du ltre Gaussien permet une analyse d'image sur diérentes échelles spatio-fréquentielles an de mettre évidence les informations pertinentes. Plusieurs approches ont été étudiées pour implémenter le ltrage gaussien dans les rétines. Les premières mettaient en oeuvre un réseau de résistance. Mais pour obtenir un noyau gaussien, il faut un réseau réseau négatif ce qui perturbe la stabilité du système. Une autre approche consiste à implementer un réseau RC dynamique dont la variance dépend de la constante de temps du réseau et du temps. La faible constante de temps de ces réseaux pose un problème de numérisation après. Une solution proposée par Y. Ni [54] est d'utiliser un réseau de capacité résolvant l'équation de propagation de la chaleur. La structure de ce réseau à 1D est présentée en gure 2.11. Pendant la première phase, les capacités Cb sont court-circuitées. Elles sont ainsi déchargées. Durant la seconde phase, ces capacités (Cb ) sont reliées aux capacités Cd formant ainsi un réseau modélisant une convolution gaussienne. L'équation de Figure 2.11: Structure d'un réseau capacitif 1D à convolution Gaussienne conservation de la charge dans un noeud n est : Cd Vn (t + 1) + Cb (Vn (t + 1) − Vn−1 (t + 1)) + Cb (Vn (t + 1) − Vn+1 (t + 1)) = Vn (t)Cd 26 CHAPITRE 2. ÉTAT DE L'ART Ce qui nous donne : (Vn+1 (t + 1) + Vn+1 (t + 1) − 2Vn (t + 1)) = Cd (Vn (t + 1) − Vn (t)) Cb Cette expression peut être simplier par : ∂2V Cd ∂V = ∂x2 Cb ∂t Cette équation est de la même forme que l'équation de propagation de la chaleur dont la solution est sous la forme : r 2tCb V (x, t) = V (x, 0) ⊗ G(n, σ = ) Cd où ⊗ est l'opérateur convolution, et G est la fonction gaussienne dénie par : G(n, σ) = 1 −x2 exp( 2 ) σ 4σ On peut généraliser cette approche en 2D avec le schéma suivant : Pour réaliser un Figure 2.12: Structure d'un réseau capacitif 2D à convolution Gaussienne ltrage DoG qui s'assimile au traitement biologique des rétines [45], il faut soustraire le résultat de deux ltres gaussien. Cela peut se faire soit par échantillonnage du réseau capacitif en deux itérations diérentes et soustraire les deux échatillons ou par construction de deux réseaux capacitifs diérents et soustraire leurs réponses. Une autre approche se base sur les opérations inter-pixel de soustraction ou d'addition pour détecter les contours [74], ou pour extraire le contraste dans une image 2.3. CAPTEURS INTELLIGENTS 27 [65] par limitation du temps d'intégration d'un pixel selon la valeur du photocourant de ses voisins. Des calculs spaciaux peuvent aussi être eectués sur la matrice comme les moyennes, les rotations, les ltres de déformation. Cela est mis en oeuvre grâce à l'intégration de processeur de type SIMD (Single Instruction Multiple Data) qui traite l'image de manière parallèle [59]. Toutefois cette dernière méthode présente l'inconvénient de la nécessité d'un circuit de pilotage important pour les séquences d'instruction. Adaptation aux conditions lumineuses Ces rétines peuvent s'adapter aux conditions d'illumination pour donner une meilleure image. Cette adaptation peut se faire de deux manières : soit par changement du temps d'intégration des pixels, soit par compression du photocourant par capture logarithmique. T. Hamamoto a proposé un capteur d'image CMOS où le temps d'exposition de chaque pixel est contrôlé [26]. Le temps d'intégration se fait ligne par ligne. En traitement d'image, nous savons que l'égalisation d'histogramme est une méthode de restauration de contraste, quand la scène est mal éclairée. La rétine à égalisation d'histogramme réalisée par Y.Ni [56] montre l'adaptabilité de la méthode pour l'acquisition d'une image dans une large plage dynamique. Le principe de la rétine est présenté en gure 2.13. Les sorties des photorécepteurs primaires (photorécepteur en mode d'intégration) (P(i,j)) sont comparées avec le signal de référence rampe. Les sorties des comparateurs contrôlent le générateur de courant constant et également l'échantillonneur - bloqueur à l'entrée de la mémoire analogique. La rampe provoque le basculement successif des comparateurs, et l'ordre de basculement est lié à l'amplitude des signaux appliqués. Les générateurs de courant constant des cellules commutées sont connectés sur la même ligne. Par conséquent sur cette ligne on construit un histogramme cumulé des pixels commutés de l'image concernée. Instantanément ce signal d'histogramme cumulé en courant, est converti en tension distribuée à nouveau à tous les pixels. Le basculement du comparateur échantillonne ce signal, le mémorise dans la mémoire analogique locale. La simultanéité entre la construction d'un histogramme cumulé et l'échantillonnage de cet histogramme forme une image de sortie régularisée dans la mémoire analogique. La capture en mode logarithmique exploite la relation de nature exponentielle entre le courant drain ID d'un transistor MOS et la tension grille/source VGS en régime sous-seuil. L'inconvénient de ce type de capteur était le rapport signal/bruit assez faible dû à l'amplitude assez faible du signal photoéléctrique dans des scènes normales. Les travaux de K. Matou [46], ont permis d'éliminer ces bruits causés par les transistors de lecture et de reset en générant une référence noire au sein du pixel. Cela 28 CHAPITRE 2. ÉTAT DE L'ART Figure 2.13: Principe d'un photorécepteur à égalisation d'histogramme intégré a pu être réalisé grâce au fonctionnement en mode photovoltaïque de la photodiode qui élimine le transistor de conversion et ainsi une des sources principales de bruit spatial xe. La sortie de la photodiode est donnée par : VS = Vt ln( Iph + Is ) Is L'architecture du pixel est présentée en gure 2.14. Figure 2.14: Schéma électrique du pixel en mode logarithmique [53] Les rétines CMOS peuvent être d'une grande ecacité dans le traitement d'image, vu la qualité de l'image acquise et la préservation de l'information utile. Nous allons voir par la suite un exemple d'amélioration des acquisitions par la vision active. La capture d'image est alors faite en proche infrarouge pour s'aranchir des eets de l'illumination. 2.4. RECONNAISSANCE DE VISAGE EN INFRAROUGE 29 2.4 Reconnaissance de visage en Infrarouge La luminosité est l'un des problèmes les plus contraignants pour les algorithmes de reconnaissance de visage [4]. Le changement de condition d'éclairage détériore les performances des systèmes de reconnaissance. L'amélioration de la qualité d'image acquise est une des solutions proposées. En se basant sur les rétines électroniques, nous pouvons nous aranchir des eets indésirables des changements d'illumination. Nous allons nous intéresser dans ce qui suit aux acquisitions actives comme moyen d'éliminer l'illumination ambiante. Figure 2.15: Spectre électromagnétique La lumière visible occupe une petite partie du spectre électromagnétique (gure 2.15). Le spectre visible occupe la bande de longueur d'onde entre 0.4µm et 0.7µm au dessous de 0.4µm commence le domaine de l'ultraviolet et au delà de 0.7µm c'est le domaine de l'infrarouge (IR). Celui ci peut être divisé en 3 : proche infrarouge de 0.4µm à 2.5µm, IR moyen entre 2.5µm et 25µm et IR lointain entre 25µm et 50µm. La capture des ondes en proche infrarouge peut se faire par les capteurs d'images classiques : les caméras CCD ou CMOS. En eet, le Silicium restes sensible à ces longueurs d'onde. Mais plus on s'éloigne du domaine visible moins on capte les ondes infrarouges. Le proche infrarouge est rééchi par la peau au niveau de l'épiderme alors que le visible est rééchi à la surface de la peau. Une image en 30 CHAPITRE 2. ÉTAT DE L'ART proche infrarouge contient alors moins de texture de la peau que les images en lumière visible. L'acquisition de l'IR moyen et lointain (infrarouge thermique) est faite par des capteurs thermiques. Les cellules photo-sensibles à ces longueurs d'onde ne sont plus à base de Silicium mais d'un mélange de métaux tel que le mercure-cadmium-telluride (capteur HgCdTe) ou Indium Gallium Arsenide (InGaAs). La capture thermique est une acquisition passive : on capte les ondes générées par la scène. Les images en infrarouge thermique ne sont pas inuencées par l'éclairage, mais plutôt par la température des corps. Ce type de capture est utilisé pour la vision nocturne. Le corps humain émet des ondes en IR moyen et lointain. Certains chercheurs ont voulu exploiter cette caractéristique pour s'aranchir des conditions d'illumination et faire de la reconnaissance de visage avec des images thermiques. Mais, il faut noter que les lunettes forment un obstacle pour les ondes thermiques. Wider et al [79] montrèrent que, dans le cas où il y a des variations d'illumination, les performances des algorithmes de reconnaissance sur images thermiques sont plus robustes que celles sur des images en visible. Mais, quand on a une variation temporelle, les images thermiques sont moins stables et les performances des algorithmes chutent [13]. Les tests de comparaison entre les images visibles et thermiques ont été multiples et eectués sur plusieurs scénarios d'acquisition. A l'université Notre Dame [14], on a acquis une base de donnée comprenant 240 sujets qui ne portent pas de lunettes. Ces acquisitions ont été réalisées à l'intérieur. Socolinsky et Selinger [72] ont acquis une base donnée dans un contexte opérationnel avec des images à l'extérieur et à l'intérieur. La base de donnée contient 385 sujets. Les taux de reconnaissance se dégradent quand on compare les images à l'intérieur à celles acquises en extérieur. Mais les tests avec des images thermiques donnent de meilleures performances que les tests faits avec les images en visible. Pour cela, des travaux de fusion des performances des images en visible et en thermique pour améliorer les taux de reconnaissance ont été eectués [10] et cela a donné une amélioration de 30% par rapport aux performances de l'algorithme avec des images visible. L'algorithme utilisé pour les deux types d'images est l'analyse par composante continue avec le calcul de la distance de Mahalanobis entre vecteurs projetés. Les vecteurs de la base sont adaptés à chaque type d'image. Ces travaux montrent bien la stabilité des images thermiques vis-à-vis des changements d'illumination. Mais, les capteurs thermiques sont bien plus chers, et consomment beaucoup d'énergie. Nous nous sommes intéressés à l'acquisition en proche infrarouge, où l'utilisation des capteurs d'image classiques est possible. La gure 2.16 montre la sensibilité d'un capteur CCD. La lumière proche infrarouge a été utilisée en premier par Li et Liao [39], pour la détection des yeux. Le procédé de capture se base sur le système de vision nocturne de SONY (NightShot), mais ce principe ne fonctionne qu'en faible illumination. Dowdall 2.4. RECONNAISSANCE DE VISAGE EN INFRAROUGE 31 Figure 2.16: Sensibilité d'un capteur CCD et al. [16] ont conçu un système d'acquisition qui se compose de trois caméras : deux thermiques (InGaAs) et une caméra classique. La diérence de la réectance de la peau dans les diérents domaines a permis la détection du visage. En eet, la peau rééchit bien les ondes de longueur inférieure à 1.4µm, mais absorbe les ondes qui ont une longueur d'onde supérieure à cette valeur. Une diérence entre les deux ux permet de détecter les visages. Les auteurs ont appliqué ce principe pour compter le nombre de passagers dans un véhicule, ou détecter les "faux visages" (les photos). Et par des opérations de projections, ils ont pu faire la détection des yeux grâce à cette diérence de réexion. Stan et al. [41], ont conçu un système d'acquisition en proche infrarouge qui se base sur des caméras CCD classiques. Leur principe est d'éliminer la lumière ambiante par un ltre qui coupe la lumière visible (400nm-700nm) et d'ajouter des LED infrarouges qui émettent une lumière de longueur d'onde 850nm. Ainsi la lumière acquise est majoritairement celle émise par les LEDs. Le système d'acquisition se compose alors d'un capteur, d'un ltre et d'une carte de conversion A/N. Les images acquises ont une résolution de 640×480. Les auteurs montrent dans ce travail, que les images acquises en proche infrarouge contiennent toutes les informations nécessaires pour caractériser un visage. Une transformation monotone est appliquée sur les images acquises, puis ils eectuent un algorithme d'extraction de caractéristiques : LBP (Local Binary Pattern) qui leur donne une représentation invariante à l'illumination. 32 CHAPITRE 2. ÉTAT DE L'ART Zou [86] a utilisé la diérentiation entre deux acquisitions pour éliminer la lumière ambiante. On acquiert deux images : une classique, puis une seconde avec un éclairage en infrarouge additionnel. Le circuit de contrôle de gain automatique du CCD a été désactivé pour ne pas atténuer l'illumination additionnelle du ash proche infrarouge. Ce circuit atténue le signal de sortie en présence d'une forte illumination. En cas de faiblesse de l'éclairage ambiant, il tend à amplier le signal de sortie du capteur. Désactiver ce circuit (AGC - Automatic Control Gain) permet alors d'avoir le vrai niveau du signal et ainsi la vraie quantité de lumière captée. La diérence entre les deux images est ensuite eectuée sur ordinateur. On note le temps important entre l'acquisition des deux images qui fait apparaître un ou dû au mouvement dans la scène. Un traitement est alors eectué par la suite pour le supprimer. Avec ce capteur, Zou a acquis une base de donnée de visage composée de 40 sujets en deux sessions. Pendant chaque session l'acquisition contient des variations d'illuminations avec un éclairage additionnel à droite, à gauche, en haut et de bas. L'auteur a exploité la réexion des IR sur la pupille pour pouvoir construire un système de détection des yeux basé sur l'algorithme SVM. L'algorithme de vérication des visages utilisé par la suite est celui de FisherFace avec une base d'apprentissage composée des images de visage de XM2VTS. Ces travaux n'ont pas fait l'objet d'une intégration, mais ce sont quie se rapprochent le plus de ceux qui sont présenté dans cette thèse. 2.5 Conclusion Dans ce chapitre, nous avons présenté l'architecture générale des systèmes de reconnaissance de visage, les diérentes étapes d'enregistrement, de normalisation et de comparaison des caractéristiques extraites. Nous avons présenté uniquement les travaux dans lesquels l'intégration d'algorithme de reconnaissance de visage sur composant programmable a été réalisée. Il faut noter que la modalité du visage est sujette à beaucoup de variations liées soit aux conditions d'acquisition soit aux variations temporelles qui détériorent considérablement les performances de reconnaissance. Améliorer la qualité de l'acquisition peut alors améliorer les performances d'un système de reconnaissance. C'est pourquoi nous avons présenté aussi les rétines électroniques qui peuvent donner une solution à l'élimination de certaines variations liées à l'acquisition, comme celles liées à la variation d'illumination. Nous allons nous intéresser dans ce qui suit à la description des capteurs que nous avons réalisés pour éliminer l'illumination ambiante. Chapitre 3 Capture de visage temps réel On a vu que l'illumination est un des facteurs les plus inuents sur les performances d'un système de reconnaissance de visage. Plusieurs pré-traitements sont eectués sur les images acquises pour éliminer l'eet de l'illumination. Ces algorithmes dont la complexité augmente avec l'amélioration qu'ils peuvent apporter sont assez diciles à intégrer sur SoC. Nous proposons des solutions intégrées dans le capteur pour avoir des images indépendantes de l'illumination ambiante. 3.1 Introduction : Système Actuel et problèmes associés Les capteurs d'images se basent sur l'eet photoélectrique découvert en 1887 par le physicien Hertz. Les photons captés génèrent des paires électrons-trous dans le semi-conducteur. La méthode de collection de ces électrons et de leur transfert au sein de ma matrice dière selon le type de capteurs. On trouve deux familles de capteur : les imageurs CMOS et les imageurs CCD. Le capteur CCD était le capteur le plus répandu sur le marché des imageurs jusqu'aux début de cette décennie. Il se caractérise par le grand rapport signal sur bruit et la qualité des images acquises. Le capteur CMOS malgré son apparition assez précoce en 1963 [67], n'a connu de succès commercial que récemment grâce à la forte densité d'intégration qui a permis la réduction de la taille des pixels et l'augmentation du rapport signal sur bruit. Il a l'avantage d'avoir un faible coût de fabrication et une consommation réduite. Nous présenterons ici ces deux familles de capteurs. 33 34 CHAPITRE 3. CAPTURE DE VISAGE TEMPS RÉEL 3.1.1 Capteur CMOS Comme tous les imageurs, le capteur CMOS est basé sur le principe de conversion photon-électron. Les charges seront collectées par un champ électrique pour former une image électronique. Mais, la collecte et le transfert de ces charges est direct via un bus et un système d'adressage/décodage. L'architecture générale d'un capteur CMOS est présentée en gure 3.1. Figure 3.1: Architecture générale d'un capteur CMOS La cellule photosensible peut diérer d'un capteur à autre, on peut trouver des diodes à jonction, des "photogate", ou des photoMOS, etc. Capteur d'image CMOS à pixel passif - PPS Le premier pixel passif a été suggéré par G. Weckler en 1967 à Fairchild [78] où il a utilisé une jonction PN fonctionnant en mode intégration pour capter le ux de photons. Les paires d'électron-trou générées par les photons incidents sont séparées par un champs électrique dans une jonction. Les électrons sont collectés vers une capacité de jonction Cj . La lecture directe de cette charge donne une image électronique. Un transistor d'accès est ajouté pour la lecture des diérents pixels de la matrice et le transfert de la tension Vout sur le bus analogique comme le montre la gure 3.2. Mais cette architecture soure de la capacité parasite du bus de lecture. Cela génère beaucoup de bruit KTC et réduit le signal vidéo. Une solution proposée par [36] [57] est d'intégrer un amplicateur par colonne. Cet amplicateur de charge est placée à la n de chaque bus colonne de la matrice. Cette solution a permis d'améliorer la rapport signal sur bruit des imageurs CMOS en diminuant le bruit de commutation (KTC) 3.1. INTRODUCTION : SYSTÈME ACTUEL ET PROBLÈMES ASSOCIÉS 35 Figure 3.2: Structure schématique d'un pixel PPS Capteur d'images CMOS à pixel actif - APS Ce sont les capteurs CMOS les plus répandus. On compte plusieurs structures, qui dièrent par leur mode de transfert des charges collectées par la photodiode. On trouve plusieurs modes de fonctionnement. On cite ici le mode d'intégration du photocourant, le mode courant et le mode logarithmique. Mode d'intégration Courant : La structure élémentaire d'un pixel est montrée en gure 3.3. Le pixel est composé d'un transistor de reset T1 , d'un transistor du signal T2 et d'un transistor de signal T3 . Le fonctionnement du pixel est : 1. La photodiode est initialisée par le transistor T1 . Après cette initialisation, la tension sur la photodiode est de Vrst . La tension aux bornes de Cj est xée à la même valeur. 2. La photodiode intègre les charges photoélectriques pendant le temps d'exposition. La tension sur la photodiode chute selon la charge accumulée. En eet, sous l'action de Iph la capacité Cj se décharge progressivement. Cela entraine une décroissance de la tension Vd : Vd (Texp ) = Vrst − 1 Cj Z Texp 0 Iph (t)dt Pour connaitre la tension équivalente à la quantité de charge accumulée durant le temps d'exposition il faut faire la diérence entre Vrst et Vd (Texp ). Pour une lumière statique cela nous donne : ∆Vd = Vrst − Vd (Texp ) = Iph Texp Cj 3. La tension de la photodiode est lue via les transistors T2 et T3 . Le transistor T3 a pour rôle de sélectionner le pixel pour le transmettre sur le bus. 36 CHAPITRE 3. CAPTURE DE VISAGE TEMPS RÉEL La diérence avec le pixel PPS est la présence des transistor T2 et T4 qui font fonction d'amplicateur suiveur de tension. On voit que dans cette architecture la capacité Cbus n'agit pas sur la photodiode. La photodiode joue ici deux rôles : Elle collecte des charges photoélectriques et convertit la charge en tension. Pour maintenir une bonne sensibilité du capteur, il faut diminuer la capacité sur la photodiode. Une technologie CMOS très ne permet une bonne sensibilité et un facteur de remplissage important. Actuellement le taux de remplissage est entre 25% et 50%, cela reste similaire à un capteur CCD à transfert interligne. Figure 3.3: Structure du pixel en mode d'intégration du photocourant Mode courant : Dans ce mode, au lieu de convertir la charge accumulée en tension, nous allons l'exploiter sous forme de courant. Ce mode est moins utilisé que le mode d'intégration. Il est utilisé lorsqu'on a un besoin de lecture en continu de l'information. Cette architecture nécessite un convoyeur de courant ou un miroir de courant qui permettent de transmettre le photocourant. Compte tenu du faible courant, ces structures ont une grande impédance d'entrée et amplient le signal d'entrée. L'architecture d'un pixel à base d'un miroir simple composé de transistors P est présentée en gure 3.4. Cependant ce mode demande beaucoup d'attention lors de la conception à cause de la faiblesse du photocourant qui atteint quelques picoampères pour une scène à éclairage ambiant de bureau. Les structures d'amplications réduisent dans ce cas le taux de remplissage et le bruit spatial xe est compliqué à supprimer. 3.1. INTRODUCTION : SYSTÈME ACTUEL ET PROBLÈMES ASSOCIÉS 37 Figure 3.4: Architecture d'un pixel en mode courant Mode logarithmique : Dans ce mode de fonctionnement, on exploite la relation exponentielle qui existe entre le courant drain Id d'un transistor MOS et la tension grille/source VGS . Cela permet d'avoir une grande dynamique allant jusqu'à 120dB , s'approchant ainsi de la dynamique de l'oeil humain. La structure du pixel logarithmique la plus utilisée est montrée en gure 3.5. Dans ce schéma, le transistor M 1 opère dans la région de faible inversion. Le courant de drain Id est le photocourant. En utilisation normale ce courant est de quelques nA. La relation entre Id et la tension VGS est : VGS V − DS Id = Is e κVt (1 − e Vt ) Dans un transistor CMOS, le courant de fermeture Iof f n'est pas négligeable dans des applications à courant faible. Le courant dans le drain est alors : IDA = ID + Iof f . V − DS Quand la tension VGS >> VT , (1 − e Vt ) ∼ = 1. Dans ce cas, la tension VGS du transistor M1 s'écrit en fonction du courant photoélectrique Iph : VGS (Iph ) = κVt log( Iph + Iobs − Iof f ) Is Où κ est le facteur de l'eet du substrat et il varie entre 1 et 2 en fonction des paramètres du procédé, Iobs est le courant d'obscurité de la photodiode et Is = − Vth 2 κVt est le courant du canal risiduel pour une tension V µn Cdep W G = κVS et L Vt e VD >> VS [64]. La tension VD se calcule suivant : VD (Iph ) = VDD − κVt log( Iph + Iobs − Iof f ) Is 3.1.2 Les capteurs CCD Le capteur CCD se base sur les travaux réalisés dans les années soixante-dix au sein des laboratoires Bell par les ingénieurs W. Boyles, G. Smith et G.G. Amlio [11]. 38 CHAPITRE 3. CAPTURE DE VISAGE TEMPS RÉEL Figure 3.5: Architecture d'un pixel logarithmique utilisant une photodiode en mode photocourant Au début, ces travaux ont été utilisés pour réaliser les lignes à retard, des ltres analogiques, etc. Mais ce concept a rapidement évolué vers des applications d'imagerie. Le premier capteur CCD a vu le jour dans les laboratoires Fairchild Electronics en 1974. Ce capteur avait une résolution de 100 × 100 pixels. Un capteur CCD se compose d'une zone photosensible connecté à une capacité MOS. La capacité MOS est la cellule de base d'un CCD (gure 3.6). Elle est composée de d'une électrode grille M, d'un substrat semi-conducteur de type P relié à la masse et d'une couche isolante SiO2. Figure 3.6: La structure d'une capacité MOS Quand on applique une tension à la grille Vg supérieure à une tension de seuil (Vth ), cela crée un champ électrique qui repousse les charges libres du substrat et forme ainsi sous l'isolant une région de déplétion (appelée zone de charge d'espace ZCE). La profondeur de la ZCE est contrôlée par la tension Vg (gure 3.7). Si on met une deuxième capacité MOS à côté de la première telle que leurs zones de déplétion peuvent se toucher, nous pouvons ainsi transférer les charges accumulées de la première capacité à la seconde en créant des puits de potentiel successifs. L'ap- 3.1. INTRODUCTION : SYSTÈME ACTUEL ET PROBLÈMES ASSOCIÉS 39 Figure 3.7: Stockage des charges dans une capacité MOS plication de voltage adéquat permet de créer des puits de potentiel qui permettent de piéger les charges accumulées. La gure 3.8 montre ce principe. Figure 3.8: Puit et barrière de potentiel dans une capacité MOS La diculté de ce système est la lecture de l'ensemble des cellules du capteur. Pour cela, on utilise le dispositif CCD. La structure du CCD est montrée en gure 3.9. Elle est formée d'une série de registres à décalage qui forment des colonnes et une ligne. Cela permet le déplacement des charges accumulées après la période d'exposition. Le transfert des charges dans une matrice CCD se fait en deux phases : 1. Décalage vertical : cette phase charge la ligne vers le bas de l'image dans la matrice vers la seconde phase. 2. Décalage horizontal : durant cette étape, les charges sont décalées dans le sens de la ligne vers le détecteur de charge, pixel par pixel. 40 CHAPITRE 3. CAPTURE DE VISAGE TEMPS RÉEL Figure 3.9: Architecture générale d'un capteur CCD Ce transfert de charge est contrôlé par une horloge à phases multiples. Le nombre de phases varie selon le type de CCD. Le capteur à 4 phases (4φ) est le type le plus répondu. Dans ce cas, à chaque pixel correspond 4 capacités. Si un haut voltage est appliqué sur une de ces capacités une zone de déplétion se crée sous celle-ci, une tension faible appliquée sur les capacités environnantes permet la formation d'une barrière de potentiel. Le timing de la gure 3.10 décrit les diérentes étapes de ce transfert. On maintient les phases φ1 et φ2 à un niveau haut et φ3, φ4 à un niveau bas. La zone de déplétion créée permet la collecte des charges du pixel Pn. Si on change la polarité des phases φ1 et φ3 (φ1 niveau bas et φ3 au niveau haut) la charge du pixel va se déplacer sous les capacités correspondantes à φ2 et φ3. On change après la polarité de φ2 et de φ4, ainsi la charge progresse sous les capacités correspondantes à φ3 et à φ4. Ce processus est répété jusqu'à ce que les charges soient sous les capacités du pixel Pn+1 complétant ainsi un cycle de transfert. Le détecteur de charge convertit la quantité de charge en une tension selon un facteur de conversion constant. Cette tension est la sortie du capteur CCD. On trouve 3 architectures principales des CCD : 1. transfert de trame progressif 2. transfert de trame parallèle - série 3. transfert de trame interligne 3.2. CAPTEURS D'IMAGE DÉDIÉS 41 Figure 3.10: Transfert de charge avec un CCD à 4 phases 3.2 Capteurs d'image dédiés Pour améliorer les performances des systèmes de reconnaissance de visage, nous nous sommes intéressés au procédés permettant de limiter l'inuence de l'illumination. L'acquisition active est la solution idéale pour avoir une image riche en information sur la texture et qui peut être indépendante de l'illumination. En eet, la vision passive telle que celle correspondant à un capteur thermique n'est pas ecace en cas de variation temporelle. Nous présenterons deux capteurs qui éliminent l'illumination ambiante avec deux méthode diérentes. Le premier capteur que nous avons utilisé a été conçu dans notre laboratoire par Prof. Yang Ni [55]. Ce capteur intègre dans la matrice une fonction diérentielle qui permet l'élimination de la lumière ambiante. Le deuxième capteur se base sur un capteur CCD qui délivre une image en proche-infrarouge et une seconde en visible simultanément. Ce second capteur diminue l'eet de l'illumination par la réduction du temps d'exposition. 3.2.1 Capteur diérentiel La vision active est l'acquisition d'une image avec une source de lumière contrôlée. Le capteur diérentiel, présenté ici, supprime l'illumination ambiante pour n'acquérir que la lumière contrôlée. Pour cela, le capteur acquiert deux photos successives la première avec une source de lumière contrôlée et la seconde sans source de lumière 42 CHAPITRE 3. CAPTURE DE VISAGE TEMPS RÉEL additionnelle. En eectuant la diérence entre ces deux images, nous éliminerons de l'image tous les objets éclairés seulement par la lumière ambiante. Nous avons choisie une source de lumière émettant en proche infrarouge pour ne pas gêner l'utilisateur. La diérence entre deux images acquises dans deux conditions d'éclairages peut se faire de deux manières possibles : soit hors du capteur soit dans le capteur. La première possibilité bien que simple à synthétiser présente un inconvénient majeur, à cause des changements spatio-temporelle qui peuvent apparaître durant les deux acquisitions successives. En eet, le temps entre l'acquisition des deux scènes peut être important vu les opérations eectuées de numérisation et de transmission de l'image. Un changement spatial peut alors se produire ce qui causerait un ou lors de la diérentiation. La deuxième solution est d'eectuer la soustraction au sein même du capteur. Cette opération se fait donc analogiquement. Le premier capteur dédié à cette tâche est réalisé par Miura [47]. L'auteur a intégré dans le capteur deux cellules mémoire analogique dans chaque pixel. L'opération de diérence se fait sur la colonne lors du chargement de l'image. Cette approche a permis une bonne suppression de la lumière ambiante, mais la présence de deux mémoires au sein du pixel, nous donne un pixel de taille importante (47.5µm2 × 47.5µm2 avec une technologie de 0.6µm). Le capteur diérentiel développé par Prof. Yang Ni possède une seule mémoire analogique au sein du pixel. Le pixel est présenté en gure 3.11. Il comporte une photodiode et une cellule mémoire analogique (MA). La capture de l'image commence par une initialisation du pixel (Prec) puis un transfert de la charge accumulée (Samp) dans la mémoire MA. Deux modes de capture sont possibles dans ce capteur à travers les Figure 3.11: Structure d'un pixel du capteur diérentiel diérents signaux de contrôle : 1. Toute la matrice est initialisée au même instant et transmise dans la mémoire. 2. L'image est acquise ligne par ligne. Chaque ligne sélectionnée sera initialisée, et les charges capturées transmises vers un buer. Ce double fonctionnement nous permettra l'acquisition diérentielle avec un taux de 3.2. CAPTEURS D'IMAGE DÉDIÉS 43 transfert d'image assez important. La structure globale du capteur est donnée en gure 3.12. Figure 3.12: Structure du capteur diérentielle [55] En bas du capteur se trouvent deux buers ligne (LB1 et LB2). Une ligne sélectionnée de la matrice peut être chargée dans un de ces buers. Les signaux RD1 et RD2 permettent la sélection de ces buers. La sortie de ces lignes buers est l'entrée du bloc diérentiel. Un convertisseur analogique/numérique parallèle à 8bites est également intégré dans le capteur. La gure 3.13 montre la séquence de fonctionnement du capteur. En premier lieu, toute la matrice est exposée avec éclairage ambiant plus celui en proche infra-rouge. Le temps d'exposition de la matrice est de 50µs. Ce temps est assez pour ne pas causer de saturation dans les pixels. Le ash en proche infrarouge est synchronisé avec la période d'intégration. Cela permet de réduire la consommation électrique et d'avoir un meilleur rendement. En seconde étape, on active séquentiellement l'exposition des lignes de la matrice. Chaque ligne est chargée dans un buer (LB1) et dans LB2 on charge la ligne capturée durant la première étape. La diérentiation des deux lignes nous donne une ligne qui est indépendante de l'illumination ambiante s'il n'y a pas de changement de scène ou d'éclairage. La taille de la matrice est de 160 × 120 réalisée 44 CHAPITRE 3. CAPTURE DE VISAGE TEMPS RÉEL Figure 3.13: Principe de fonctionnement du capteur diérentiel avec une technologie CMOS de 0.5µm. La taille du pixel est de 12µm et un taux de remplissage de 20%. Initialement, La caméra était reliée à un ordianteur par une liaison prallèle. Mais vu les limites de transmission du port et l'apparition d'images saccadées, nous avons conçu une interface UBS-1 pour l'acquisition des images. Avec ce protocole on peut acquérir 8images/s. Des images acquises avec ce capteur sont présentées en gure 3.14. Figure 3.14: Examples d'images acquises par le capteur diérentiel 3.2.2 Capteur IRVI Le premier capteur avec lequel j'ai fait des expériences et que nous venons de décrire dans la section précédente est un capteur CMOS dédié à la suppression de la lumière ambiante. Son architecture est unique. Le second capteur que j'ai développé dans le cadre de ce doctorat se base sur un capteur CCD. On a essayé d'exploiter la qualité des images issues d'un capteur CCD pour avoir une image plus propre (faible bruit spatial xe). Pour cela, on a exploité au début une webcam à base de capteur CCD SONY pour tester notre approche. Nous présentons en premier lieu le principe 3.2. CAPTEURS D'IMAGE DÉDIÉS 45 de fonctionnement puis le capteur. Principe Le principe de fonctionnement du capteur est illustré en gure 3.15. Pour réduire l'inuence de la lumière ambiante, nous devons en acquérir la moindre quantité possible. Et pour pouvoir constituer une image, nous devons ajouter une source d'illumination puissante durant ce faible temps d'acquisition. Ainsi, le faible temps d'acquisition nous a permis de diminuer l'inuence de la lu- Figure 3.15: Principe de la Caméra CCD Pulsé mière ambiante. L'ajout du ash puissant synchronisé avec la période d'exposition du capteur permet de générer une image qui ne met en évidence que les objets éclairés par le ash. L'avantage de cette méthode est l'utilisation d'un capteur classique, disponible sur le marché, et une réduction de la consommation électrique du ash par rapport à une utilisation continue de celui-ci . Pour valider ce principe, on a exploité une webcam (LOGITECH 4000) à base d'un capteur CCD SONY (ICX098BQ [3]). Le driver de la webcam nous permet de réduire le temps d'exposition. Nous avons alors extrait les signaux du shutter électronique et de synchronisation du driver d'horloges du CCD. Ces signaux permettent le contrôle du ash. La synchronisation du ash avec la période d'acquisition permet un meilleur rendement des diodes et de passer à travers un courant important (dans notres cas le courant direct au bornes de chaque diode est de 1A environ). Ainsi nous avons un meilleur éclairement de la scène. La gure 3.16 montre l'architecture de ce prototype. Les images issues de ce capteur (gure 3.17) nous permettent de valider notre approche. L'utilisation d'une webcam nous a permis de valider notre approche pour l'atténuation des eets de variations de la lumière ambiante. Mais nous n'avons pas un contrôle de la durée d'exposition qui se fait à travers le driver de la caméra. Nous avons développé un second capteur à base d'un module CCD Noir/Blanc. Le module se compose de : 46 CHAPITRE 3. CAPTURE DE VISAGE TEMPS RÉEL Figure 3.16: Architecture fonctionnelle du prototype à base de webcam Figure 3.17: Image de sortie du prototype à base de webcam Le capteur CCD : un capteur CCD interligne d'une résolution de 500x582pixel Le vertical CCD driver : son but est d'adapter les signaux TTL pour contrôler les horloges de transfert de charge dans la matrice CCD. Timing & Synchro generator : ils sont Générés les horloges de transfert de charges (niveaux TTL) CCD processor : Il sert à réguler le temps d'exposition, le temps de décharge du CCD pour une meilleure qualité de l'image. Le schéma de ce module est présenté en gure 3.18 : Le signal d'initialisation des photodiodes dans le capteur est le signal Xsub. En eet, l'initialisation des photodiodes dans un capteur CCD interligne se fait par l'intermédiaire d'un transistor commandé par le signal Xsub, qui décharge la cellule photosensible. Le schéma d'un pixel est présenté en gure 3.19. Et le signal déclenchant le début de transfert de ligne des charges est le signal Xsg. Ces deux signaux sont extraits au niveau de l'entrée du driver de l'horloge verticale où les signaux sont au niveau TTL. Nous avons aiguillé ces signaux du générateur des signaux de synchronisation vers un microcontrôleur ATMEL (série ATMEGA) dans lequel nous avons généré des pulsations "reset" pour réduire le temps d'exposition à une valeur de 50µs. La gure 3.20 montre la modication apportée pour changer le temps d'exposition. 3.2. CAPTEURS D'IMAGE DÉDIÉS 47 Figure 3.18: Schéma du module CCD Durant le temps d'exposition, nous activons les LEDs infrarouge pulsées. Le rapport cyclique de fonctionnement des diodes est de 50µs/40ms = 1.25 10−3 . Ce faible rapport pourrait permettre une alimentation de l'ensemble sur des piles électriques. Cela conviendrait donc pour des applications mobile de reconnaissance de visage. Le signal de contrôl du ash est généré par le microcontrôleur. Il active un MOSFET qui permet le déclenchement du ash. Nous avons aussi désactivé le contrôle automatique de gain pour ne pas amplier le signal et augmenter le bruit qui peut être introduit par la lumière ambiante. Figure 3.19: Obturation électronique dans un capteur CCD interligne L'image issue de ce capteur, dans ce mode de fonctionnement, nous génère une image en proche infrarouge qui ressemble à l'image issue de notre prototype décrit précédemment. Nous avons exploité la caractéristique du capteur CCD interligne pour acquérir une image constituée de deux trames diérentes : une en proche infrarouge avec la méthode de réduction du temps d'exposition et une seconde en visible en laissant la boucle d'acquisition (gure 3.18). Le mode d'acquisition d'un capteur CCD interligne est la suivante : Au début on expose les lignes paires et durant les séries 48 CHAPITRE 3. CAPTURE DE VISAGE TEMPS RÉEL Figure 3.20: Chronogramme de la réduction du temps d'exposition dans le CCD de décalage des charges, on expose les lignes impaires. Après que toute les charges des lignes paires ont été transmises, on commence le décalage des lignes impaires et on expose les pixels des lignes paires et ainsi de suite. Le chronogramme de l'acquisition est présenté en gure 3.21. Dans ce schéma, les pulsations en rouge du signal Vsub sont celles ajoutées par le microcontrôleur pour réduire le temps d'exposition et acquérir ainsi une image en proche infrarouge. Figure 3.21: Chronogramme d'acquisition des trames dans une CCD interligne L'image qu'on a en sortie du capteur est une image contenant deux trames entrelacées une en visible et la seconde en proche infrarouge. On peut facilement séparer les deux trames et par interpolation on reconstitue deux images d'une résolution VGA. 3.3 Bases de donnée Avec ces capteurs à disposition, nous avons mené diérentes campagnes d'acquisition pour évaluer l'amélioration que peuvent apporter les capteurs dédiés à la suppression de la lumière ambiante. 3.3.1 Base BIOMET La base BIOMET est une base biométrique qui contient 5 diérentes modalités : la voix, le visage, la main, l'empreinte digitale et la signature [20] . Pour le visage, plusieurs caméras ont été utilisées : une caméra classique à base d'un CCD SONY 3.3. BASES DE DONNÉE 49 pour l'acquisition audio-vidéo. Un système d'acquisition en 3D est aussi exploité dans cette base de donnée. Il se base sur une lumière structurée. La projection d'une série de lignes de diérentes couleurs sur une surface sert comme référence dans l'image obtenue. Chaque ligne est dénie par sa couleur et sa position. Par triangulation (caméra, projecteur), on peut dénir ainsi la 3ème dimension. La troisième caméra utilisée dans cette base est la caméra diérentielle décrite dans la section 3.2.1, nous l'appellerons DiCam. Pour les acquisitions de BIOMET, nous avons utilisé un illuminateur proche infrarouge émettant une longueur d'onde de 850µm. Il contient 24 LEDs pulsées et contrôlées par un transistor MOSFET. Durant ces acquisitions, le sujet se tient à une distance de 50cm de la caméra. On acquiert 10 images par personne à raison d'une image par seconde. Durant les acquisitions le sujet bouge lentement la tête. La base de donnée contient 85 personnes. La gure 3.22 montre un échantillon d'images de la base. Les personnes portant des lunettes les ont gardées. Nous avons constaté que les lunettes causent des réexions importantes de la lumière des LEDs et ainsi des saturations dans l'image (gure 3.23). Nous avons séparé ces images de la base, pour créer une sous base ne contenant pas de telle saturation. Figure 3.22: Example d'image de la base BIOMET 3.3.2 Base IV2 Durant la compagne d'acquisition du projet IV2 [66], nous avons installé le capteur IRVI dans la cabine d'acquisition. Le capteur était équipé d'une lentille à grand angle ce qui a induit un eet sheye sur les images acquises. Le sheye est une distorsion de 50 CHAPITRE 3. CAPTURE DE VISAGE TEMPS RÉEL Figure 3.23: Eet de saturation dû au port des lunettes dans la Base BIOMET l'image introduite par une lentille à grand angle pour avoir un angle de vu important (180). Les acquisitions se sont déroulées dans une cabine où des projecteurs avaient été installés deux derrière, un à gauche et un à droite du sujet. Un système automatique contrôle l'allumage et l'extinction de ces derniers. La personne se tient devant la caméra à une distance de 50cm et enlevant ses lunettes si elle en porte. La base contient 50 personnes. Pour chacune nous disposons d'une vidéo de 40 secondes. Les vidéos contiennent les images en lumière visible et en proche infrarouge entrelacées. Les vidéos ont une résolution de 640×480 avec un débit de 30 images par seconde. Chaque 10 secondes, nous changeons la conguration de l'éclairage. Durant les 10 premières secondes, les quatre projecteurs sont allumés. Puis on les éteint, ensuite on allume successivement les projecteurs à droite et à gauche de la caméra. La gure 3.24 montre un exemple d'image de la base de donnée. Figure 3.24: Exemple d'images de la base de donnée IV2 3.3.3 Base IRVI Vu les déformations présentes dans les images de la base IV2, nous avons changé la lentille du capteur IRVI. Pour des convenances de distance et de taille du visage 3.3. BASES DE DONNÉE 51 dans l'image, nous avons opté pour une lentille d'une distance focale de 6mm. Les acquisitions se sont déroulées dans un bureau, près d'une fenêtre qui est à gauche de la caméra. Un éclairage d'appoint se trouve à droite de la caméra. il s'agit d'une lampe de bureau d'une puissance de 40W. La personne se tient en face de la caméra. Les personnes ont été invitées à enlever leur lunettes avant l'acquisition pour éviter les problèmes de réexion. La gure 3.25 montre l'environnement des acquisitions. Figure 3.25: Environnement d'acquisition de la base VINSI Cette Base de visage contient 60 personnes. Chaque personne possède deux sessions (S1 et S2) acquises à deux/trois semaines d'intervalle. Durant chaque session, nous avons trois protocoles d'enregistrement avec des illuminations variables. Le premier protocole (P1)est acquis avec un éclairage de bureau ambiant. Les stores durant ce protocole sont fermés pour diminuer l'inuence de la lumière venant de l'extérieur. Pour le second protocole (P2), on ajoute un éclairage d'appoint illuminant le coté gauche du visage. Le dernier protocole (P3) peut être assimilé à une acquisition en extérieur. En eet, l'acquisition près d'une fenêtre met en jeu la lumière du jour. Chaque protocole correspond à une acquisition d'une vidéo de 30 secondes. On n'a sauvegardé qu'une image toutes les 10 secondes. Un logiciel d'acquisition sépare les deux images entrelacées visible et proche infrarouge. Pour chaque protocole, nous avons ainsi 10 images en proche infrarouge et autant en lumière visible . Les personnes peuvent bouger ou changer de position durant les acquisitions. Un changement de pose peut alors apparaître entre les images d'une même session. La gure 3.26 montre les diérents protocoles de la base. Cette gure montre l'inuence de la lumière du jour sur les images en visible à travers le troisième protocole. Nous pourrons aussi noter la stabilité des images IR lorsque les conditions d'illumination varient. Durant les acquisitions du troisième protocole, nous avons remarqué des limitations du capteur IRVI quand la lumière extérieure est importante. En eet, un fort éclairage ambient ne peut plus être négligé devant la lumière du ash. La gure montre l'eet 52 CHAPITRE 3. CAPTURE DE VISAGE TEMPS RÉEL Figure 3.26: Exemples d'images de la base IRVI et les diérents protocoles d'un fort éclairage du soleil bien qu'atténué par la réduction du temps de pose sur l'image. Ce fort éclairement peut être éliminé par un procédé d'acquisition diérentiel si on n'atteint pas la saturation durant les deux acquisitions. Nous avons annoté manuellement 4 points caractéristiques : les deux centres des yeux, le centre bas du nez et le centre de la bouche. Pour les tests de reconnaissance, nous avons choisi les cinq premières images de la première session, premier protocole (S1P1) comme des images de référence. Les images des autres protocoles et cinq images de S1P1 sont considérées comme images de test. Pour chaque personne nous avons ainsi 5 images de référence et 30 images de test. Chaque image est de taille 640 × 480. 3.4 Conclusion L'illumination est un des facteurs les plus importants dans l'acquisition des images. Elle inue sur la qualité des images : la présence de saturation réduit l'information dans une image. Nous avons présenté dans ce chapitre, deux capteurs permettant l'atténuation, voir l'élimination de la lumière ambiante. Le premier capteur présenté est un capteur CMOS qui intègre une fonction de diérentiation. Le second capteur est à base de la technologie CCD ce qui donne au capteur une meilleur qualité d'image grâce au faible bruit spatial xe présent dans cette technologie. Il se base sur la réduction du temps d'acquisition pour acquérir moins de lumière ambiante et l'ajout d'un ash composé d'une quarantaine de LED pulsées en proche infrarouge synchrone avec la période d'acquisition. Nous avons ensuite décrit les diérentes bases de données 3.4. CONCLUSION 53 acquises pour pouvoir valider notre approche visant à améliorer les performances des systèmes de reconnaissance en présence de variations d'illumination. En ne mettant en jeu que des opérateurs intégrable sur SoC ou sur CMOS, nous avons construit un algorithme potentiellement intégrable sur SoC. La description de cet algorithme fera l'objet des chapitres suivants. Chapitre 4 Détection des points caractéristiques Ce chapitre est une présentation de la méthode de détection des points caractéristiques sur les images infrarouges issues des capteurs développés au sein de notre laboratoire. Nous nous sommes intéressés à la mise au point d'une méthode simple et ecace pouvant être intégrée par la suite aisément sur des composants programmables ou dans le capteur lui même. 4.1 Introduction Une des étapes les plus importantes dans le processus de reconnaissance de visage est la détection de points caractéristiques. Cette étape est indépendante de l'algorithme de vérication utilisé. En eet, la reconnaissance de visage en 2D requiert dans tous les cas une bonne détection des yeux pour xer la taille du visage. La distance entre les yeux est considérée comme référence pour déterminer la taille et l'orientation du visage et par suite normaliser celui-ci. Certains algorithmes sont plus sensibles que d'autres à la bonne détection des yeux. L'algorithme utilisant la projection par "sherface", par exemple, demande une détection au pixel près [66]. Cette sensibilité est due à la transformation de l'image en un vecteur de taille xe, ce qui laisse moins de souplesse après pour la correction de position. Par contre, les algorithmes se basant sur une analyse locale (tel que l'EGM) autour des points singuliers sont moins sensibles à une bonne détection, vu que l'algorithme ane sa recherche des points par la suite [9]. Les points caractéristiques ont aussi été utilisés pour faire de la reconnaissance de visage en utilisant leurs positions, leurs formes [12]. On peut dénir 55 56 CHAPITRE 4. DÉTECTION DES POINTS CARACTÉRISTIQUES "un point caractéristique comme étant le point particulier qui trouve son correspondant dans l'inter et l'intraclasse" [17]. Les points caractéristiques peuvent être des points dénis par l'anatomie du visage ou des points dénis mathématiquement ou des pseudo-points caractéristiques [69]. Les points caractéristiques extraits de l'anatomie du visage sont les plus importants vu l'information qu'ils contiennent par rapport à la taille et la texture du visage. Ces points nécessitent une détection par des techniques de machine de vision. Les points mathématiques sont plus simples à détecter. Ils sont déterminés par des propriétés mathématiques tel que le maximum de gradient dans le visage ou d'autres propriétés géométriques. Les pseudo-points caractéristiques sont des points situés entre les points dénis par l'anatomie et ceux dénis par des propriétés mathématiques. 4.2 Détection de points caractéristiques dans la littérature On trouve dans la littérature plusieurs approches pour la détection de points caractéristiques. On citera ici une partie d'entre eux. Cette liste est non restrictive, mais nous essayons d'illustrer les principales approches que l'on peut trouver dans la littérature. Nous pouvons classer ces algorithmes en deux classes : une première qui se base sur une analyse statistique du visage et une seconde qui se base sur l'analyse locale s'appuyant sur une étude anthropométrique du visage. 4.2.1 Méthode Adaboost L'une des méthodes les plus utilisées dans la littérature est la détection du visage et des points caractéristiques par boosting. La variante la plus utilisée est celle proposée par Viola et Jones [76] et elle se base sur le "boosting" adaptatif (adaboost). Cette méthode est une combinaison de plusieurs classieurs simples pour créer un classieur plus performant, cela se traduit par une combinaison linéaire des classieurs : f (x) = T X αt ht (x) t=1 où αt est le poids correspondant au classieur ht . Ces paramètres sont appris itérativement durant l'étape d'apprentissage. A chaque itération, le poids des hypothèses classiées incorrectement augmente alors que le poids des bons classieurs diminue. Cela permet de se concentrer sur les exemples les plus durs à classier. La méthode adaboost utilise des classieurs simples dérivés des ondelettes de Haar. 4.2. DÉTECTION DE POINTS CARACTÉRISTIQUES DANS LA LITTÉRATURE 57 4.2.2 Modèle de contour actif La seconde méthode que nous citerons ici est une méthode beaucoup utilisée dans la compression vidéo et la détection d'expression du visage. Cette méthode a été développée pour extraire des objets caractéristiques complexes et non-rigides, comme l'oeil ou les lèvres. Au départ, un modèle de contour actif [28] [87] [83] doit être placé près de l'objet caractéristique à localiser dans l'image. Le modèle de contour actif va par la suite interagir avec les propriétés de l'image locale et se déformer lentement pour prendre la forme de l'objet caractéristique à extraire. Il y a trois types de modèle de contour actif. Le contour actif, aussi appelé "snake", est utilisé pour trouver le contour d'un objet caractéristique. Pour cela, on doit initialiser le contour actif autour de l'objet caractéristique à localiser. Le contour actif se concentre ensuite sur les bords proches et prend pas à pas la forme de l'objet caractéristique. Le but du contour actif est de minimiser une fonction énergie : Esnake = Eint + Eext où Eint et Eext sont respectivement l'énergie interne et externe. L'énergie interne dépend des propriétés intrinsèques du contour actif et dénit l'évolution naturelle de celui-ci. L'évolution naturelle d'un contour actif est typiquement de se rétrécir et de se dilater. L'énergie externe agit contre l'énergie interne et permet au contour actif de se comporter contre son évolution naturelle. C'est ce qui permet au contour actif d'entourer le bord de l'objet caractéristique. Les masques déformables (deformable template) sont une évolution des contours actifs. Ils incorporent de l'information globale sur l'objet caractéristique à localiser. Un masque déformable est un contour déni par n paramètres. Ce contour permet de modéliser des formes typiques que l'objet caractéristique peut prendre. Par exemple, pour modéliser l'oeil on peut prendre diérentes ellipses. Si on pose le masque déformable près de l'objet caractéristique, alors le masque (contour paramétré) va changer les valeurs de ses paramètres (va se déformer) pour converger vers le contour optimal de l'objet caractéristique. De nouveau, le but est de minimiser une fonction énergie. Le PDM (Point distributed model) est une description paramétrique compacte de la forme de l'objet caractéristique à localiser sur la base de statistiques. Lors du PDM, le contour est discrétisé en un nombre de points labellisés. Le déplacement de ces points est calculé à l'aide d'images exemples sur l'objet caractéristique à localiser en utilisant une PCA. De telle façon, on aboutit à un modèle linéaire exible. Le modèle consiste en la valeur moyenne de tous les points et des composantes principales pour chaque point. Pour localiser l'objet caractéristique, le modèle du contour moyen ("mean shape model"), étant constitué des valeurs moyennes des points, est placé 58 CHAPITRE 4. DÉTECTION DES POINTS CARACTÉRISTIQUES près de l'objet caractéristique. Ensuite, une stratégie, utilisant l'intensité locale de l'image, est utilisée pour déplacer chaque point du modèle vers le point sur le contour de l'objet caractéristique. Pendant la déformation, la forme peut seulement changer son apparence d'une façon qui coïncide avec l'information modélisée. 4.2.3 Détection des yeux dans les images infrarouges Les images infrarouges ont montré une bonne robustesse vis à vis des variations de l'illumination [41]. Cela a permis le développement de plusieurs techniques robustes de détection de points caractéristiques appliquées aux images en proche infrarouge. Nous citons les travaux de Dowdall [16] qui exploraient la diérence de réexion de la peau dans la basse bande du proche infrarouge et de la haute bande en proche infrarouge pour détecter et localiser les yeux. En eet, les yeux apparaissent noirs alors que la peau est plutôt claire sous un éclairage en basse bande proche IR alors que dans la bande supérieure du proche IR, les sourcils apparaissent assez claire (car ils rééchissent mieux ces longueurs d'onde). Par des projections horizontales des deux images et la détection des maxima et minima du résultat, l'auteur arrive à marquer la position des yeux. La gure 4.1 montre un exemple de cette projection. L'inconvénient majeur de cette méthode est qu'elle soure de l'inuence de l'arrière plan. Figure 4.1: Localisation des yeux avec la méthode proposée par Dowdall [16] Dans [86], une nouvelle approche a été développée pour la détection des yeux. Les images acquises par le capteur, décrit dans le paragraphe 2.4, présentent des eets ressemblant aux yeux rouges dans la photographie. En eet au fait de la diérence d'illumination et parce que le temps entre deux poses assez long, la pupille n'a pas le temps de s'adapter à l'intensité de lumière émise et reste ainsi dilatée. Cet eet crée des pupilles brillantes. L'application d'un ltre de contour (Canny dans ce cas) crée des petits cercles ou des demi cercles dans le centre de l'oeil (pupille). L'auteur a 4.3. DÉTECTION DE ZONES DE SÉLECTION 59 utilisé une nouvelle méthode de suivi du contours (chaincode) pour détecter les demicercles. Pour chaque point du contour, il crée un code de suivi des points voisins. Celui correspondant à un demi cercle étant unique, on peut extraire dès lors les points et par suite les contours correspondant à des cercles ou demi-cercle. Mais cette méthode détecte également toutes les courbures ressemblant à des cercles. En explorant la symétrie du visage et un minimum de distance inter-oculaire, Zou sélectionne ainsi les contours circulaires candidats pour être ceux de la pupille. On ane ensuite le résultat de recherche par classication de l'histogramme du voisinage des points ainsi obtenus par la méthode SVM. La classication des centres des yeux est indépendante. On crée un modèle correspondant à l'oeil droit et un second pour l'oeil gauche. Si le système construit fait défaut pour diverses raisons telles que le clignotement des yeux, on applique alors la méthode de détection basée sur les classieurs de Harr le Floatboost. Ainsi, on a deux méthode de détection en cascade pour améliorer les performances de détection. 4.3 Détection de zones de sélection Les images en proche-infrarouge présentent une stabilité vis à vis de l'illumination. On remarque aussi un bon degré de contraste dans ces images. Donc, l'image de contour en proche infrarouge est plus stable qu'en visible. Nous avons exploité ce fait pour sélectionner les zones de l'image pouvant contenir des points caractéristiques [27]. Nous allons nous intéresser à la détection de quatre points : les yeux, le centre du nez et le centre de la bouche. Nous avons construit notre méthode de détection pour qu'elle soit intégrable sur le capteur. Dans ce but, nous avons utilisé des opérations simples et élémentaires telles que la projection qui n'est qu'une sommation de pixels, ou le gradient qui est calculé comme une diérence. Dans [40], on montre que la fonction de projection est bien adaptée pour les images infrarouges et pour la détection du visage. Nous allons utiliser cette opération pour détecter des zones d'intérêt pouvant contenir les yeux, le nez ou la bouche. 4.3.1 Image de contour L'image de contour du visage a été utilisée dans les algorithmes de reconnaissance du visage [30][58]. En eet, les contours sont considérés comme des éléments intéressants pour diérencier les individus car ils sont aussi des points caractéristiques de l'anatomie du visage. Donc les points que nous avons choisis de rechercher se trouvent sur cette image de contour. L'image de contour présente aussi l'avantage d'être binaire et donc nécessitant moins d'espace mémoire. 60 CHAPITRE 4. DÉTECTION DES POINTS CARACTÉRISTIQUES (a) (b) Figure 4.2: Filtrage gaussien (a) image initiale (b) image après ltrage gaussien Pour l'extraction de l'image de contour, plusieurs méthodes peuvent être utilisées. On trouve dans la littérature une série de détecteurs tel le gradient, le détecteur de Sobel, Canny[32]. Nous voulons une image de contours grossière ne contenant pas tous les petits détails du visage. Le détecteur de Canny, bien que performant pour les images visibles, nous donne un nombre important de contours qui peuvent être considérés comme du bruit. Nous cherchons à construire une image de contour ne contenant que les principaux éléments anatomiques du visage à savoir les yeux, les sourcils, le nez et la bouche [43]. Nous avons opté pour un ltre s'inspirant du ltre de Sobel mais dans les 8 directions montrées dans la gure 4.3-a) et de taille plus importante. Pour éliminer les petits contours nous avons procédé, en premier lieu, à un ltrage gaussien. La gure 4.2 montre l'image originale et l'image ltrée. L'image de contour et le ltre utilisé sont présentés en gure 4.3. Une opération de seuillage est aussi faite pour accentuer les contours. L'image résultante est une image qui ressemble aux images croquis du visage (sketch images) qui ne présentent que les traits caractérisant la personne c'est à dire ses yeux, sourcils, la forme du nez et la bouche. On notera que les sourcils ne sont pas toujours détectable et cela est du soit à leur ne épaisseur (surtout chez les femmes) ou à la mauvaise réexion des poils à la lumière proche infrarouge. Cette méthode d'extraction des contours présente l'avantage d'être simple : un ltrage gaussien suivi d'un ltre avec un masque de taille 9×9 et un seuillage. Toutes ces opérations ont été intégrées et validées sur capteur par diérents auteurs [52][77][5]. 4.3. DÉTECTION DE ZONES DE SÉLECTION 61 Figure 4.3: Extraction de l'image de contour - a) Filtre de détection de contours - b) image en proche IR - c) Résultat de la convolution 4.3.2 Présélection des zones du visage Une projection horizontale de l'image de contour présente des maximums au niveau des ordonnées des points caractéristiques recherchés. En eet, ces points se trouvent sur des contours de direction horizontale. Pour une image I(x, y) la fonction projection est dénie comme suit : n X H(y) = I(i, y) i=1 Où n est le nombre de colonnes dans l'image. La recherche des ordonnées des points caractéristiques est liée à la bonne détection des maximums locaux dans la courbe de projection. Pour cela nous avons procédé comme suit : 1. Calcul du Laplacien de H1 = ∇H 2. Recherche du maximum M de H 3. Annulation des points autour de M jusqu'au changement de signe de H1 4. Répéter de l'étape 2 jusqu'à atteinte du nombre de maximums recherchés correspondant aux nombres des points particuliers. Pour prendre en considération les aléas, par exemple le port de boucles d'oreille rééchissantes, au lieu de rechercher trois maximums locaux (correspondants aux yeux, nez et bouche) nous avons recherché cinq maximums parmi lesquels nous allons, par la suite, sélectionner les plus adéquats. Ces ordonnées trouvées correspondent à des zones de pré-sélection pouvant contenir des points caractéristiques du visage. La gure 4.4 montre la fonction projection et la détection de ces zones contenant les points caractéristiques. 62 CHAPITRE 4. DÉTECTION DES POINTS CARACTÉRISTIQUES Figure 4.4: Sélection des régions entourant les points caractéristiques 4.4 Détection de la bouche L'un des éléments du visage ayant la forme la plus simple, en l'absence d'expression, est la bouche. Elle est toujours présentée sous forme d'une ligne dans l'image de contour. Nous allons chercher une ligne qui se trouve dans une des zones de présélection (gure 4.4). Nous restreignons notre recherche aux zones les plus basses : la bouche se trouve en bas du visage. 4.4.1 Détection par morphologie mathématique Dans le but de pouvoir intégrer facilement notre approche, nous nous sommes basés sur une méthode simple et qui a déjà été implémentée sur divers supports : FPGA, DSP, ASIC, MOS [48]. Notre méthode ne se base que sur deux traitements : l'un qui est une opération morphologique et l'autre une projection. La morphologie mathématique est une technique largement utilisée dans le traitement d'image pour diérents buts : segmentation, ltrage, analyse de texture, etc [73]. Elle permet d'extraire les structures intéressantes en parcourant l'image à l'aide d'un élément de forme connue appelé élément structurant. Le choix de cet élément est fonction de la forme recherchée dans l'image. Les deux opérateurs morphologiques de base sont : l'érosion et la dilatation. Ces transformations sont utilisées pour dénir d'autres opérateurs morphologiques tels que l'ouverture, la fermeture. Pour une image binaire I et un élément structurant S , on dénit les deux principaux opérateurs morphologiques comme suit : 4.4. DÉTECTION DE LA BOUCHE 63 L'érosion : ES (I) = {~x|S~x ⊂ I} où S~x est l'élément structurant translaté de ~x. L'érosion répond donc à la question est-ce que l'élément structurant est inclu dans l'objet de l'image. Cet opérateur élimine les objets de taille inférieure à l'élément structurant. La gure 4.5-a) montre le résultat B de l'érosion d'une forme A par l'élément structurant S. L'élément S se déplace le long de l'objet A. Durant ce déplacement si S n'est pas inclue dans A, le point n'est retenue dans le résultat de l'érosion B. La dilatation : ES (I) = {~x|(S~x ∩ I) 6= ∅}. La dilatation est l'opération duale de l'érosion. Elle répond au critère est-ce que l'élément structurant heurte l'objet. Elle augmente ainsi la taille des objets de l'image. La gure 4.5-b) montre le résultat B de la dilatation d'une forme A par l'élément structurant S. Figure 4.5: Les opérateurs de morphologie : a) Érosion de la gure A par l'élé- ment structurant S, b) Dilatation par l'élément S L'intérêt d'utiliser la morphologie est que c'est une approche basée sur un traitement de voisinage. Donc il s'agit de comparer le voisinage d'un pixel avec un élément de forme xe. Cela peut être facilement implémenté dans un composant de type FPGA ou ASIC. De plus, la transformation morphologique n'est pas appliquée sur toute l'image, mais sur les zones de l'image précédemment sélectionnées. On s'est xé un voisinage autour des maximums dénis dans le paragraphe 4.3.2 pour l'analyse et la recherche de la bouche. Pour éviter les possibles discontinuités dans les contours nous avons eectué une ouverture avec un élément structurant de forme circulaire et de rayon 1 pixel. Pour trouver la droite la plus longue qui peut représenter la bouche, nous avons procédé à une érosion par un élément structurant de taille 2 × 20. Une projection par la suite, nous permet de déterminer quelle serait la zone contenant la plus longue droite. La gure 4.6 montre les diérentes étapes de cette détection. Pour trouver le centre de la bouche, nous avons supposé que ce dernier devrait être le barycentre de cette zone. En eet, grâce à la symétrie du visage, le centre de la bouche est au milieu du visage et ainsi au barycentre de la zone la contenant. 64 CHAPITRE 4. DÉTECTION DES POINTS CARACTÉRISTIQUES Figure 4.6: Détection de la bouche 4.4.2 Détection par la transformée de Hough Nous avons étudié aussi l'application d'une approche se basant sur les modèles paramétriques. La plus connue est la transformée de Hough. Elle est devenue durant ces dernières décennies la méthode la plus utilisée dans le domaine de la vision articielle. Elle peut être appliquée pour détecter diverses formes de contours : droite, cercle et ellipse. Elle est aussi robuste par rapport aux discontinuités du contours. La méthode requiert d'abord l'extraction des contours de l'image par un ltre de Sobel ou Canny. Puis, on doit réaliser la transformation des contours C(x, y) en : ρ = xcosθ + ysinθ où θ est l'angle variant entre −π/2 et π/2. Ainsi chaque courbe ρ(θ) représente un point. Des points de la même droite sur l'image de contours correspondent à des courbes ayant un point d'intersection. Ainsi le point de maximum d'intersection correspond à la droite la plus longue dans le contour[2]. L'inconvénient de cette transformée est qu'elle est moins facile à implémenter sur "chips" vu sa complexité que les méthodes basées sur la morphologie, mais en réduisant la taille de l'image ou de la zone à analyser on arrive à implémenter plus facilement la détection de ligne. Dans notre cas, l'analyse de Hough est eectuée uniquement sur les zones pré-sélectionnées par maximums de projections horizontales de l'images de contour. 65 4.5. DÉTECTION DU NEZ 4.5 Détection du nez Le nez est un organe qui se caractérise par sa forme xe par rapport aux mouvements de la tête. Les petites rotations et les expressions faciales ne changent pas la forme du nez. Cela fait du centre du nez un point stable et facilement détectable [24]. Il est utilisé principalement dans la reconnaissance et la segmentation du visage en 3D ainsi que dans le suivi du visage dans un ux vidéo. Notre deuxième point caractéristique recherché est alors le centre du nez. Notre démarche vise en premier lieu à détecter le nez ou la région du nez puis de préciser le centre du bas du nez. Le bas du nez est un contour horizontal. Nous allons chercher dans les zones de présélection se trouvant au dessus de la bouche, précédemment détectée, une forme qui ressemble à un nez. La forme du nez est modélisée en gure 4.7. Notre recherche est limitée aux zones au dessus de la bouche et de taille inférieure à la taille de la bouche. Cela revient à corréler cette image type sur l'ensemble de ces zones. La corrélation est limitée dans ce cas à une faible surface de l'image ce qui permet un gain en temps de calcul. En eet la taille de notre modèle est de 8 × 60 pixels. En utilisant les projections verticales, nous pourrons ainsi limiter les bords du nez. Figure 4.7: Modèle du nez Le bas du nez a la particularité d'avoir une partie verticale limitant son contour. Pour déterminer le centre du nez, nous avons eectué une projection horizontale (selon l'axe des ordonnées) et le milieu des deux plus grands gradients correspond au milieu du nez. La gure 4.8 montre la projection du contour du nez et le gradient de la projection. 4.6 Détection des yeux La détection des yeux, ou des centres des yeux, est l'une des étapes les plus importantes dans le processus de reconnaissance. En eet, la taille du visage est dénie par la distance intra-oculaire, l'orientation par l'alignement des yeux. Puisque la détection des yeux va permettre de normaliser ensuite les images ce qui est indispensable avant tout algorithme de mise en correspondance. Pour cela, on trouve dans la littérature plusieurs méthodes de détection des yeux. De l'ecacité de ces méthodes dépend la performance de l'algorithme de reconnaissance. Plusieurs approches ont été utilisées pour détecter la position des yeux. Ces approches peuvent être classées en trois catégories [84] [86] : 66 CHAPITRE 4. DÉTECTION DES POINTS CARACTÉRISTIQUES Nez détecté 2 4 6 8 10 20 30 40 50 60 20 30 40 50 60 8 6 projection gradient 4 2 0 −2 10 Figure 4.8: Projection du contour du nez Approche basée sur l'apparence : Cette méthode détecte les yeux en se basant sur l'intensité lumineuse de l'oeil. Dans [19], on utilise la projection du niveau de gris pour détecter les yeux. Approche basée sur les modèles : Cette approche construit un modèle (template) déformable de l'oeil qui est mis en comparaison avec l'oeil de l'image de test. Approche basée sur les traits de l'oeil : On s'intéresse dans cette méthode aux traits caractéristiques des yeux tel que les coins des yeux. Dans [71], les auteurs ont mis en place un algorithme de détection se basant sur deux ltrages : un ltrage de Gabor pour la détection de l'oeil et un second non linéaire pour la détection des coins des yeux. Pour des contraintes d'intégration et comme précédemment pour la détection de la bouche et du nez, nous avons construit une méthode se basant sur des opérations élémentaires de traitement d'image et qui ont été intégrées dans la littérature. Avec l'opération de pré-sélection que nous avons mise en place, on a une idée de la zone où peut se trouver les yeux : en eet les yeux ne peuvent être qu'au dessus du nez. Aussi, nous avons remarqué que les yeux sont les seules éléments du contour qui ont une forme circulaire. Une opération morphologique d'ouverture dans les zones présélectionnées avec un élément structurant circulaire permettra de mettre en évidence l'emplacement des yeux. La taille de l'élément structurant a été choisie empiriquement. 4.7. VALIDATION SUR LES BASES INFRAROUGE 67 Dans nos expériences, nous avons choisi un élément circulaire de rayon 4 pixels. Une projection horizontale des zones après ouverture permet de détecter l'ordonnée des yeux. Les centres des yeux sont ensuite déterminés par détection des barycentres des objets les plus important. Il faut noter que notre détection tend a marquer les yeux plus que détecter le centre exact des yeux (centre de la pupille). La gure 4.9 montre ces opérations successives. Figure 4.9: Détection des yeux 4.7 Validation sur les bases Infrarouge 4.7.1 Critère de mesure Pour la validation de nos approches sur la détection des diérents points particulier du visages, nous avons testé la performance de détection des diérents points caractéristiques sur les bases décrites dans le chapitre 2. Nous rappelons que ces bases ont été étiquetées à la mains. Nous nous sommes basés pour mesurer les erreurs de localisation sur la mesure proposée par Jesorsky et al. [31]. C'est la première mesure proposée, à notre connaissance, pour évaluer les performances de détection des yeux. Elle compare l'erreur de localisation des centres de chaque oeil à la distance intra-oculaire et donc à la taille du visage : dyeux = max(eg , ed ) k Cg − Cd k où eg et ed représentent la distance euclidienne entre le centre réel de l'oeil gauche, respectivement droit, et le centre détecté. k Cg − Cd k est la distance intra-oculaire réelle mesurée par un opérateur. Jesorsky montre dans [31] que si dyeux < 0.25. La 68 CHAPITRE 4. DÉTECTION DES POINTS CARACTÉRISTIQUES détection des yeux peut être considérée comme bonne. Cette valeur correspond à la moitié de la taille d'un oeil. Ainsi de la même manière nous avons dénie la mesure d'erreur de détection de la bouche : ebouche dbouche = k Cg − Cd k où ebouche est la distance euclidienne entre le centre de la bouche détecté et celui marqué par l'utilisateur. Bien que cette mesure soit proposée pour l'évaluation de la détection des yeux, nous l'avons utilisée pour la détection des diérents points caractéristiques car elle met en valeur l'erreur de détection en distance euclidienne par rapport à la taille du visage dans l'image. La mesure d'erreur du nez est : dnez = enez k Cg − Cd k où enez est la distance euclidienne entre le centre du nez détecté et le centre réel. 4.7.2 Performances de détection Validation sur la base IRVI Pour cette base de donnée composée d'une soixantaine de personnes où nous avons étiqueté à la main les diérents centres de la bouche, du nez et des yeux et nous avons tracé en gure 4.10 les histogrammes des performances de détection. Figure 4.10: Performance de détection sur la base IRVI 69 4.7. VALIDATION SUR LES BASES INFRAROUGE Nous voyons que notre méthode détection réalise un taux de bonnes détections de 98% pour dyeux = 0.25. Pour la bouche, à dbouche = 0.2 on a 90% de bonne détection. Les erreurs de détection de la bouche sont majoritairement dues aux expressions telles que le fait d'avoir la bouche ouverte. Pour le nez les performances sont de 85% de bonne détection pour dnez = 0.3. En eet, les rotations selon l'axe horizontal modient un peu la forme du nez (apparition des narines). La détection de la bouche a aussi été étudiée par la transformé de Hough. On a pourra ainsi réduire les erreurs de détections induites par une discontinuité du contour relatif à la bouche. La gure 4.11 montre l'amélioration apportée par la transformé de Hough sur celle de la morphologie. dbouche 100 par morphologie par Hough 90 80 70 60 50 40 30 20 10 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Figure 4.11: Comparaison de performance de détection de la bouche avec la transformée de Hough et la morphologie mathématique L'amélioration apportée par la transformé de Hough est assez nette surtout pour les petites distances d'erreur. En eet avec cette méthode on peut déterminer avec précision le centre du segment horizontal le plus long ce qui nous donne plus de précision de détection. A partir d'une erreur de détection de 0.3 les deux méthodes sont presque équivalente. Par la suite nous allons utiliser la transformé de Hough pour détecter la bouche dans le reste du travail de la thèse. Validation sur la base IV2 Cette base de donnée acquise durant la compagne d'acquisition de IV2( voir section 3.3.2) présente des distortions optiques (lentilles shereye) dues à l'angle de la lentille. Pour cette base, nous avons à disposition les coordonnées des yeux, du centre de la bouche et du nez. Pour dyeux = 0.25, on arrive à détecter à 90% de bonnes positions des yeux. Cette performance reste élevée, mais pas autant qu'avec les images de la base IRVI. Cela 70 CHAPITRE 4. DÉTECTION DES POINTS CARACTÉRISTIQUES deye 100 80 60 40 20 0 0 0.1 0.2 0.3 0.4 0.5 dnose 100 80 80 60 60 40 40 20 20 0 0.2 0.4 0.7 dmouth 100 0 0.6 0.6 0.8 1 0 0 0.2 0.4 0.6 0.8 Figure 4.12: Performance de détection sur la base IV2 est peut être du à la déformation du visage par la lentille. Validation sur la base Biomet Cette base a été acquise avec la caméra diérentielle durant l'acquisition de BIOMET (voir paragraphe 3.3.1). Pour ces données il n'y a de disponible que les coordonnées des yeux. De ce fait, nous n'avons appliqué que l'algorithme de détection des yeux. Et pour cette base, nous avons aussi éliminé les personnes qui portent des lunettes. En eet, les verres rééchissent la lumière infrarouge issue du ash de manière importante, ce qui sature la région des yeux. L'histogramme de mesure de l'erreur de détection est présenté en gure 4.13. Malgré la faible taille des images (120×160) notre algorithme reste stable et donne des performances du même ordre de grandeur que sur les bases précédentes (90% pour dyeux = 0.25). 4.8 Détection de points caractéristiques sur les images en visible Le capteur IRVI que nous avons développé nous fournit en sortie un ux d'images visible et proche infra-rouge. Nous avons essayé dès lors d'utiliser notre méthode de détection sur les images en visible pour vérier si ce mode de détection de points 4.8. DÉTECTION DE POINTS CARACTÉRISTIQUES SUR LES IMAGES EN VISIBLE 71 deye 100 90 80 70 60 50 40 30 20 10 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Figure 4.13: Performance de détection des yeux sur la base Biomet caractéristiques serait applicable sur des images VI ou bien s'il n'est adapté qu'aux images IR. 4.8.1 Détection de contour En utilisant les mêmes procédures décrites que celles dans le paragraphe 4.3.1 sur les images en visible, nous remarquons une forte diérence entre les contours obtenus en proche infrarouge et en visible quand on a une variation d'illumination. La gure 4.14 montre une image en proche infrarouge et son équivalente en visible du troisième protocole d'acquisition où on a un éclairage extérieur de prol. On remarque la détérioration de l'image de contours en lumière visible par ce changement d'éclairage qui rend sombre une partie de l'image. On voit dans cette gure la disparition des contours de l'oeil droit à cause du manque de lumière sur cette partie de l'image. En eet le capteur en fonctionnement normal tends à réduire le temps d'exposition pour ne pas saturer l'image. Ainsi les parties moins éclairées sont sombres. La détérioration des performances de détection est remarquable sur les quatre points détectés. Nous avons une chute de 40% sur la détection du centre des yeux (gure 4.15) en appliquant notre approche sur les images visible pour avoir une détection de 0.2. La performance détection des yeux a chuté fortement à cause de l'éclairage de prol qui occulte une des partie du visage. Mais vu que le nez et la bouche sont au centre du visage, leurs performances de détections ne chutent pas énormément. Pour le nez et pour une erreur de détection de 0.5 en NIR le taux de détection correct est 72 CHAPITRE 4. DÉTECTION DES POINTS CARACTÉRISTIQUES Image NIR Image Visible Image de contour NIR Image de contour Visible Figure 4.14: Inuence des variations d'éclairage sur l'image de contours à gauche image NIR, à droite image VI correspondante de 96% en NIR alors qu'en visible ce taux est de 88%. 4.9 Conclusion Dans ce chapitre, nous nous sommes intéressés à la détection des points caractéristiques du visage. Ces points, et leurs voisinages nous donnent des informations utiles (texture et position), nécessaires pour la reconnaissance de visage. Nous nous sommes restreints à n'utiliser que des méthodes simples par leur construction pour pouvoir les intégrer. Tous les opérateurs utilisés ont d'ailleurs été intégrés dans divers travaux disponibles dans la littérature. Grâce à la stabilité des images acquises en infrarouge vis à vis de l'illumination, nous avons pu simplier les algorithmes de détection par rapport aux approches classiquement utilisées sur des images en lumière visible. En eet, les images de contour extraites des images en lumière visible ne sont pas aussi stables et présentent des saturations qui modient les contours du visage. Nous avons 73 4.9. CONCLUSION d yeux 100 80 60 40 NIR Visible 20 0 0 0.1 0.2 0.3 0.4 0.5 dnez 100 80 80 60 60 40 40 20 20 0 0.5 0.7 dbouche 100 0 0.6 1 1.5 0 0 0.2 0.4 0.6 0.8 1 Figure 4.15: Comparaison de performance de détection sur les images NIR et visible dans la base IRVI (en haut détection des yeux : dyeux , en bas à gauche détection du ney : dnez , en bas à droite détection de la bouche : dbouche aussi montré la stabilité et la robustesse de notre approche vis à vis des diérents systèmes d'acquisition développés dans notre équipe. Nous allons dans la suite de ce travail, nous intéresser à la reconnaissance de visage en lumière infrarouge. Nous avons opté pour une approche se basant sur les points caractéristiques et une analyse locale du visage. Cela nous permettra de nous compenser des mauvaises localisations des points caractéristiques. Le chapitre suivant décrira notre nouvelle méthode adaptée aux images infrarouges pour la reconnaissance de visage et les performances de reconnaissance sur la base enregistrée par le capteur IRVI décrite dans le paragraphe 3.3.3. Chapitre 5 Algorithme de Reconnaissance de Visage Dans ce chapitre nous allons présenter un algorithme de reconnaissance adapté aux images proche infrarouge issues de notre capteur. Cette méthode s'inspire de l'algorithme de comparaison élastique des graphes connu sous le nom Elastic Graph Matching (EGM). Dans le but de pouvoir intégrer par la suite ce système de reconnaissance de visage, nous nous sommes contraints à utiliser une approche locale qui est plus adaptée pour un SoC et une intégration sur le capteur qu'une méthode globales à base d'apprentissage. Nous allons en premier lieu détailler l'algorithme EGM original et quelques approches développées dans la littérature qui s'inspirent de la méthode des graphes. Les performances de reconnaissance de cet algorithme sont étudiées tout d'abord sur une base publique BANCA [6] ensuite nous allons les valider sur la base IRVI acquise dans notre laboratoire. En suite nous allons présenter notre nouvelle approche qui se base sur la détection de contours et de points caractéristiques présentée précédemment. Nous allons par la suite comparer notre approche avec diérentes méthodes de base pour la reconnaissance de visage, dont l'EGM précédemment cités et des méthodes globales développées dans notre laboratoire. 5.1 Élaboration des graphes pour la reconnaissance de visage Les approches locales ont été les premières à être exploitées pour la reconnaissance de visage. Dans les premiers travaux réalisés, ces études ont consisté à mesurer 75 76 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE les diérentes distances anthropométriques du visage pour trouver une caractéristique unique à chaque personne, mais on s'est rendu compte que cette approche ne permettait pas d'obtenir un bon élément diérenciateur entre les individus. Certaines distances sont même constantes entre les personnes. Ainsi cette approche ne donne pas de bonnes performances de reconnaissance. La conclusion c'est qu'il faut donc analyser le visage localement mais sans omettre le caractère global de l'analyse. L'approche des graphes est une solution proposée par Lades [37] en 1992. Un graphe est constitué d'un ensemble de n÷uds reliés entre eux par des lignes/contours (Edge). Les n÷uds peuvent être des points particuliers de l'objet (du visage dans notre cas) ou des points d'une grille virtuelle déposée sur l'objet. Pour une meilleure modélisation par graphe, il est conseillé d'avoir des n÷uds qui possèdent des caractéristiques diérentes les unes des autres. Mais ils doivent être stables dans diérentes situations d'acquisition. Outre leurs positions, les n÷uds contiennent aussi une analyse de leurs voisinages. Cela peut être une analyse statistique du voisinage, du contour, du moment, de la forme, ou une transformation du voisinage d'un autre espace (transformée de Fourier, transformée DCT, ...). L'information sur le voisinage est représentée dans un vecteur appelé Jet. Cette information peut être générée par plusieurs méthodes d'analyse, on citera les plus utilisées : Analyse de la forme par morphologie mathématique : dans cette approche le vecteur Jet contient l'information sur la forme du voisinage par une succession d'érosions et de dilatations. Cette méthode bien que simple est assez dépendante de la pose, de l'illumination et de la taille de l'image d'origine. Analyse de la texture par transformée en cosinus discrète : protant du fait que cette transformée est très utilisée pour la compression d'image (JPEG) et de sa maturité en terme d'implémentation, on peut construire le vecteur Jet en faisant varier la taille du noyau de la transformée. Cette méthode est aussi performante que l'analyse avec les ltres de Gabor [51]. Mais, elle soure d'une complexité de calcul importante au niveau de l'étape de calcul de la variance locale. Analyse de la texture par transformée de Gabor : C'est l'approche la plus utilisée en ce moment. Elle se base sur l'utilisation d'un banc de ltres de Gabor en variant les orientations et les résolutions. Ainsi le voisinage de chaque noeud est convolué par ces diérents ltres. Nous présentons ici, en détail, les deux approches les plus utilisées dans la littérature. La première se base sur des traitements morphologiques et la deuxième sur l'analyse par ondelettes de Gabor. 5.1. ÉLABORATION DES GRAPHES POUR LA RECONNAISSANCE DE VISAGE 77 5.1.1 Analyse par morphologie mathématique Cette méthode a été utilisée par Kotropoulos [34], pour extraire les diérentes informations de forme dans le voisinage des noeuds. On eectue une série d'érosions et de dilatations par des éléments structurants de forme circulaire. Leurs tailles varient de 3 × 3 à 19 × 19. La gure 5.1 montre un exemple du résultat de successions d'opérations morphologique sur une image en NIR où la première image est l'érosion de l'image d'origine par l'élément de la taille la plus grande et la dernière image est la dilatation de l'image d'origine par cet élément. Figure 5.1: Érosion et dilatation successives avec des éléments structurants cir- culaires de taille variable sur une image en NIR. De haut en bas de gauche à droite Érosion par un élément structurant de taille décroissante (E9 -> E2), puis Dilatation par un élément structurant de taille croissante (D2 -> D9) Dans ces images, on remarque que la pupille est de plus en plus brillante au fur et à mesure que l'on réalise des dilations. En eet, la tâche qui correcpond à la reexion de la lumière sur la pupille qui est de forme circulaire s'agrandit avec la dilatation par un élément circulaire. On pourrait exploiter ce fait pour une détection des yeux tel que l'as proposé Zou dans sa thèse [86]. 78 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE Une grille rigide est ensuite placée sur le visage. Ses points constituent l'ensemble des noeuds du graphe. Le jet est composé des valeurs des pixels des images érodées et dilatées. Un jet se compose dès lors de : J(x, y) = {D9 (x, y); . . . ; D1 (x, y); I(x, y); E1 (x, y); . . . ; E9 (x, y)} où Dn (x, y) (respectivement En (x, y)) est la valeur de l'image érodée (respectivement dilatée) par l'élément de rang n au pixel (x, y), et I(x, y) est la valeur du pixel dans l'image d'origine. Cette approche bien que relativement simple présente de faibles performances comparées à celles données par une analyse de Gabor. Dans [48], on étudie cette diérence qui est de l'ordre de 30% sur des tests faits sur la base XM2VTS. 5.1.2 Analyse par les ondelettes de Gabor Une alternative à l'usage de la morphologie mathématique est l'application d'une transformée d'ondelette. Les ondelettes de Gabor sont connues comme le moyen d'analyse espace-fréquence qui minimise l'incertitude de Heisenberg à savoir si on est précis dans l'analyse de l'information dans l'espace du pixel on le sera moins dans l'espace fréquentiel et vice versa. Cette caractéristique fait des ondelettes de Gabor un moyen puissant pour l'analyse de la texture. Elles ont été développées au début pour l'analyse des signaux à une dimension. Leurs expression générale est : 2 W (t, t0 , ω) = e−σ(t−t0 ) e−iω(t−t0 ) où ω est la fréquence et i2 = −1. Cette cette ondelette est en fait une gaussienne modulée par une fonction sinusoïdale. La généralisation de cette fonction en 2D donne une fonction gaussienne à deux dimensions modulée par une harmonique. Les ondelettes de Gabor 2D ont la caractéristique d'être modulable par diérents paramètres qui contrôlent leurs orientations, fréquences, phases, tailles et aspects. L'équation générale d'une ondelette de Gabor en 2D est : W (x, y, θ, λ, ϕ, σ, γ) = e− x02 +γ 2 y 02 2σ 2 x0 ei( λ +ϕ) (5.1) où x0 = xcosθ + ysinθ et y 0 = −xsinθ + ycosθ. Il y a donc 5 paramètres qui contrôlent l'analyse par ondelette. Ce jeu de paramètres permet dès lors une analyse complète de la texture d'une région de l'image. La gure 5.2 montre les diérentes orientations et résolutions des parties réelles des ondelettes de Gabor en 2D. 5.2 La comparaison élastique des graphes - EGM L'algorithme de référence utilisant les graphes est celui proposé par Wiskott et al. [81] et qui sera noté EGM-CSU. Cet algorithme se base sur la détection des 5.2. LA COMPARAISON ÉLASTIQUE DES GRAPHES - EGM 79 Figure 5.2: Les diérentes orientations et résolutions des parties réelles des ltres de Gabor utilisés points caractéristiques du visage qui constitueront les noeuds du graphe. Nous allons voir dans ce paragraphe la méthode employée pour former un graphe représentant le visage et l'approche de comparaison des graphes tel que proposée par [81]. Nous avons aussi réalisé des expériences avec cet algorithme de base. Ainsi nous avons étudié l'inuence du nombre des noeuds dans la méthode sur les performances de reconnaissance sur une base publique BANCA [6]. 5.2.1 Détection des noeuds dans le EGM-CSU La première étape de l'algorithme est la détection des points caractéristiques. Ils sont au nombre de 25. Ces points sont communs à tous les visages, mais leur forme peut changer d'une personne à une autre comme le nez, les yeux, la bouche. Les points sont dénis précisément de manière à minimiser l'erreur de leur localisation. Par exemple pour le nez, on précise bien le centre bas du nez, ou l'extrémité gauche 80 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE du nez, etc. Pour pouvoir bien localiser les noeuds du graphe, une étape d'apprentissage est nécessaire. L'opérateur marque manuellement sur une cinquantaine d'images normalisées ces diérents points. On crée par la suite un modèle de chaque point basé sur sa position géométrique dans le visage et sur l'analyse fréquentielle obtenue par les ltres de Gabor. La détection de ces diérents points se fait sur le reste des images de la base en deux étapes : 1. Localisation grossière du point : Grâce à la position moyenne de chaque noeud par rapport à la position des yeux, déterminée durant l'étape d'apprentissage, nous déterminons la position du point dans la nouvelle image normalisée. On a donc besoin de connaître la position des yeux au préalable et de normaliser l'image avant de détecter les diérents noeuds. 2. Anage de la détection : La position trouvée précédemment n'est qu'une estimation de la région pouvant contenir le noeud recherché. Il faut donc aner la position du point. En utilisant l'analyse par les ltres de Gabor, nous allons chercher le point dans le voisinage du point initial qui est le plus similaire au vecteur Jet extrait lors de l'apprentissage. La mesure de la similitude du vecteur Jet qui est composé des diérents modules de la réponse des ltres de Gabor, se fait selon la formule suivante : PN 0 j=1 aj aj cos(φj − φ0j ) 0 (5.2) Sφ (J, J ) = qP PN 02 N 2 j=1 aj j=1 aj où N est le nombre de composantes du vecteur Jet, aj (respectivement a0j ) est l'amplitude de la j ième composante du vecteur jet J (respectivement J 0 ) et φj (respectivement φ0j ) est la phase de la j ième composante du vecteur jet J (respectivement J 0 ). Ce score varie donc entre -1 et 1 et il est maximal quand les deux phases et amplitudes sont similaires. 5.2.2 Extraction de caractéristiques et paramètres des ondelettes de Gabor dans l'approche CSU Après la détection des diérents n÷uds du graphe, la seconde étape dans l'algorithme de comparaison des graphes est l'extraction des caractéristiques locales. Dans l'approche EGM-CSU, le vecteur caractéristique se compose des modules du résultat de la convolution des voisinages des n÷uds par des ltres de Gabor. Pour nos tests sur la base IRVI et Banca, nous avons appliqué les paramètres par défaut du programme de l'université CSU. Ces paramètres ont été proposés par Wiskott de manière à avoir une meilleure analyse locale [80]. De l'équation 5.1, on a choisi le jeu de variables suivant pour construire le vecteur Jet : 5.2. LA COMPARAISON ÉLASTIQUE DES GRAPHES - EGM 81 θ spécie l'orientation du ltre. On a utilisé dans ce cas 8 orientations : {0, π/8, π/4, 3π/3, π/2, 5π/8, 3π/4, 7π/8} λ spécie la longueur d'onde et donc la fréquence de la sinusoïde. Cette variable √ √ peut prendre 5 valeurs comprises entre 4 et 16 : {4, 4 2, 8, 8 2, 16} ϕ spécie la phase de la sinusoïde. Elle vaut 0 ou π/2 selon que l'on veut la partie réelle ou imaginaire. σ spécie la variance de la gaussienne (sa taille). Elle est proportionnelle à la longueur d'onde de la sinusoïde. Dans notre cas σ = λ. γ spécie l'aspect de la gaussienne. Ici les gaussiennes sont de forme circulaire : γ = 1. Ainsi le vecteur Jet utilisé est composé des 40 modules de la réponse des diérents ltres de Gabor. 5.2.3 Comparaison des graphes Après la détection des 25 points caractéristiques du visage et la construction des Jets au niveau de chaque noeud, on dénit une série de liens (contours du graphe) qui relient les noeuds. Dans la méthode proposée par Wiskott, ils sont au nombre de 50. Ainsi le graphe caractéristique du visage est composé de 25 noeuds et de 50 segments. La gure 5.3 montre une image de la base BANCA et le graphe associé. Figure 5.3: Représentation d'un graphe sur une image de la base BANCA La comparaison de graphes se fait par calcul de similarité entre les Jets selon l'équation 5.2. Pour modéliser le déplacement des noeuds et ainsi le changement dans l'ensemble des contours entre image de référence et image de test, l'auteur a associé un Jet à chaque segment. Ce Jet est l'analyse de Gabor du milieu du segment. Ainsi, on a en tout 80 Jets pour chaque image de visage. La similitude entre deux graphes 82 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE Figure 5.4: Exemples d'image de la base BANCA (a) image en haute résolution contrôlée (b) Dégradée (c) non contrôlée est la moyenne de similitude des jets correspondants : 80 S(G, G0 ) = 1 X Sφ (Jj , Jj0 ) 80 (5.3) j=1 5.2.4 Inuence du nombre des noeuds Le choix d'avoir un graphe composé de 25 points n'était pas expliqué dans la littérature. Nous avons choisi de modier le graphe, déni dans l'algorithme proposé, en diminuant le nombre de n÷uds pour évaluer l'eet sur les performances de reconnaissance de l'algorithme sur une base publique :BANCA. Base de donnée visage BANCA Cette base de données contient deux modalités : la voix et le visage. On y trouve deux types d'acquisition : une en haute dénition et une seconde en dégradé. Les personnes sont enregistrées selon trois protocoles : contrôlé, dégradé et non contrôlé. La gure 5.4 montre une image d'une personne acquise selon les trois protocoles. La base contient 12 sessions. 208 personnes ont été enregistrées dans cette base à parité égale homme-femme. Mais, les données disponibles correspondent à 52 personnes : 26 hommes et 26 femmes. Plusieurs combinaisons de test sont possibles sur cette base par permutations des diérentes sessions. Nous nous sommes intéressés dans ce travail au protocole de comparaison Test Commun (Pooled Test : P). Dans celui ci, on considère que les images de référence sont issues d'une session contrôlée (S1) et les images de tests sont issues du reste de la base. La base est divisée en deux groupes : g1 et g2. Chaque groupe contient 13 hommes et 13 femmes. 5.2. LA COMPARAISON ÉLASTIQUE DES GRAPHES - EGM 83 Inuence du nombre des n÷uds Pour étudier l'inuence du nombre des n÷uds sur les performances de reconnaissance, on a éliminé, en premier lieu 5 noeuds que nous avons choisis par rapport à leur signication anthropométrique. Nous avons pensé que l'élimination par exemple du sommet de la tête n'aurait pas d'inuence sur le taux d'erreur. Nous avons aussi éliminé les contours associés à ces n÷uds. Le nombre total de jet dans le graphe, dans ce cas, est de 52 (nombre des n÷uds et des segments). Ce test sera noté 20C dans la suite du texte. La gure 5.5 a) montre le graphe associé aux 20 noeuds restants. Dans un second temps, nous avons omis aléatoirement 5 noeuds du graphe initial et les segments reliés à ces derniers. Ce cas nous a généré un graphe composé de 56 jets. Ce test est noté par 20 dans la suite. La gure 5.5 b) représente ce graphe. La dernière conguration de graphe eectuée est avec 15 n÷uds aléatoirement omis. Le nombre de Jets est de 33 dans ce cas. La gure 5.5 c) montre le graphe avec 15 n÷uds. Le protocole de test que nous avons appliqué sur cette base est le protocole P déni dans le paragraphe précédent. Les images de référence dans ce protocole sont choisies dans la session contrôlée et dans la session non contrôlée (images de webcam). Les images de test sont issues du reste de la base. Figure 5.5: Variation du nombre des noeuds dans un graphe : a) 20 noeuds choisis b) 20 noeuds aléatoirement choisis et c) 15 noeuds aléatoirement choisis Le tableau 5.1 montre les résultats associés aux diérents nombres de n÷uds dans un graphe. On voit dans un premier temps que les scores de reconnaissance sont du même ordre de grandeur. L'écart de performances entre un graphe composé de 15 noeuds et un de 25 n÷uds est assez faible : dans le protocole de test g1 avec un graphe de 25 points on a 25.5% de HTER alors qu'avec 15 noeuds on a 25.8%. Cela peut être dû à la taille des ltres de Gabor utilisés (les plus grands ont une taille de 128). En eet, avec une taille des images de 140 × 140 le ltre de taille 128 permet de presque réaliser une analyse globale sur toute l'image. Pour deux n÷uds proches, la réponse de ce ltre de ce ltre de taille 128 serait similaire. Aussi la méthode de calcul de similarité donne le même poids aux diérents Jets, or les ltres 84 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE de grande taille donnent une réponse assez grande en module par rapport aux ltres de petites tailles. Ce qui explique le même ordre de grandeurs des performances de reconnaissance, indépendamment du nombre de n÷uds. Nous remarquons aussi que le choix des n÷uds par notre stratégie anthropomorphique n'est pas très inuent sur les performances de reconnaissance. Protocole de test Nbr de noeud dans le graphe HTER (%) 25 25.5 20C 25 g1 20 21.8 15 25.8 25 22.9 20C 26.2 g2 20 23.3 15 26.5 Table 5.1: Comparaison des performances de reconnaissance en fonction du nombre des n÷uds dans un graphe BANCA − g1 BANCA − g2 100 100 15 N 20 N 20C N 25 N 90 80 70 70 60 60 FRR (%) FRR (%) 80 50 50 40 40 30 30 20 20 10 10 0 0 20 40 60 FAR(%) 80 100 15 N 20 N 20C N 25 N 90 0 0 20 40 60 FAR (%) 80 100 Figure 5.6: Courbes ROC de performance de reconnaissance selon le nombre de noeud dans un graphe sur la base BANCA - Protocole P De ces essais nous pouvons conclure que pour avoir des bons taux de reconnaissance, il faut avoir au moins 20 points, ce qui correspond à 35 Jets dans un graphe. Nous allons exploiter ce résultat lorsque nous allons construire le graphe par une nouvelle méthode, nous prenons garde à avoir au moins 35 Jets. Nous allons présenter dans la suite notre méthode qui utilise l'image de contour pour extraire les n÷uds. 5.3 Exploitation de l'image de contour - Algorithme EGM-TMSP Lorsque nous étudions l'image des contours obtenue par la méthode décrite dans la section 4.3.1, nous voyons que la majorité des points caractéristiques utilisés dans l'approche proposée par Wiskott se trouvent sur ces contours (les yeux, les points du nez : coins et centre, etc.). Nous allons exploiter ce fait pour construire notre graphe. 5.3. EXPLOITATION DE L'IMAGE DE CONTOUR - ALGORITHME EGM-TMSP 85 Récemment des travaux de l'université de Vigo [23] se sont orientés vers l'exploitation des arêtes (ridges) et des vallées (valleys) pour construire l'ensemble de noeuds. Dans ce travail, à partir d'une image classique, on extrait les diérents contours par un ltre de Sobel. Ce ltre génère beaucoup de contours fermés et cette méthode d'extraction de contour soure d'une sensibilité à l'illumination. Ainsi, les contours changent d'aspect selon l'éclairage. Un pré-traitement pour atténuer ces eets est alors nécessaire. Les auteurs utilisent, ensuite, une grille dense (le nombre de points est supérieur à 100) couvrant l'image. Cette grille sert pour échantillonner leur image de contours. Tous les points de la grille sont alors déplacés pour être sur l'image de contour. Chaque noeud de la grille correspond à un seul et unique point du contour. Un système de ag est alors aecté pour avoir cette unique correspondance entre la grille et les contours. On procède alors par une analyse par des ltres de Gabor sur chaque noeud. Notre approche s'inspire de la méthode de Vigo mais prend en compte explicitement notre méthode d'extraction de contours telle que dénie dans le paragraphe 4.3.1. Travaillant sur des images NIR, notre contour sera stable aux variations d'illumination comme montré précédemment. De plus les contours obtenus sont diérents de ceux obtenus par la méthode de Vigo ; ils contiennent les bords du nez, la bouche c'est à dire les caractéristiques naturelles du visage. On donc a utilisé une grille pour échantillonner l'image de contours générée par les images NIR comme décrite dans le paragraphe 4.3.1. Une question que l'on peut se poser est de savoir si ona besoin d'autant de noeuds que dans la littérature (Vigo, CSU) ? Notre analyse sur le nombre de noeuds montre qu'un nombre aussi élevé (80 Jets comme dans la méthode EGMCSU) n'est pas nécessaire, mais il faut dans ce cas bien positionner la grille. Nous basons sur nos travaux eectués dans le chapitre 4, nous avons choisi de recadrer en premier lieu la grille sur la partie du visage limitée par les yeux et la bouche (voir gure 5.7) et non de la poser sur l'image complète comme dans l'article [23]. La grille est positionnée selon la position des yeux et de la bouche. Cela nous permet d'éviter un calcul de recadrage des grilles durant les comparaisons. Cela nous permet aussi de n'avoir que des points signiants par la suite. La gure 5.7 montre un exemple de positionnement adapté à la position des yeux et de la bouche pour l'image de contour (a) et son équivalent sur l'images NIR (b). On remarque qu'avec cette méthode, certains noeuds de la grille n'appartiennent pas à l'image de contour. Ces points se trouvent donc dans une région continue où il n'y a pas de changement de texture. Nous avons éliminé les points de la grille n'ayant pas dans leurs voisinages un contour. Cette opération nous permet de réduire le nombre des noeuds sans pour autant perdre de l'information pertinente. Les points restants sont alors déplacés vers le point du contour le plus proche et ayant la valeur 86 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE Figure 5.7: Positionnement d'une grille sur le visage selon la position des yeux et de la bouche a) Image de contour, (b) Image en NIR Figure 5.8: Sélection des n÷uds dans la méthode de l'Université de Vigo [23] : Images à gauche présentent le visage en lumière visible de la même personne, les images au centre sont les images des vallées extraits et les images à droites sont les n÷uds sélectionnés pour le graphe de chaque visage la plus importante dans l'image de contours. Ce point est alors marqué comme "pris", et aucun autre noeud ne sera aecté à ce point. Cela nous permet d'éviter d'avoir le cas de deux noeuds superposés. De plus nous avons limité la taille du voisinage d'un noeud de telle sorte que les voisinages n'aient pas de partie commune entre eux. Le résultat de cette sélection des points du contour est montré en gure 5.9. Dans cette gure, on remarque que le changement de pose n'aecte pas beaucoup la position des noeuds ni leur nombre : dans les deux images on en compte 64. Après avoir sélectionné un ensemble de points de l'image de contour, nous appliquerons l'analyse de Gabor au voisinage de chaque point de cet ensemble. Chaque noeud est représenté par un vecteur jet constitué par les modules des réponses des ltres décrits précédemment. Ainsi une image de visage est maintenant modélisée par ce graphe. Pour comparer deux graphes nous allons mettre en correspondance les diérents noeuds selon la méthode décrite dans la section suivante. 5.3. EXPLOITATION DE L'IMAGE DE CONTOUR - ALGORITHME EGM-TMSP 87 Figure 5.9: Sélection des noeuds de l'image de contour et inuence d'un chan- gement de pose sur la sélection 5.3.1 Méthode de mise en correspondance des n÷uds La mise en correspondance des noeuds est la dernière étape avant le calcul de similarité entre deux graphes. La méthode CSU n'a pas ce problème de mise en correspondance vu que chaque noeud possède une signication physique bien dénie. Ce problème s'est posé avec la méthode proposée par l'université de Vigo [23]. Pour cela, ils ont étudié la ressemblance de la forme du voisinage de chaque noeud. Cela peut se faire par une étude de l'histogramme local, par ltrage DoG ou par gradient. Cette méthode est aussi utilisée dans l'algorithme SIFT (Scale-invariant feature transform) [44]. Ainsi, on calcule l'histogramme local de chaque point du graphe de l'image de référence et on le compare à ceux des points du graphe de test. Cet algorithme nécessite donc la mémorisation des jets et de l'histogramme local de chaque noeud de l'image de référence. Le calcul de mis en correspondance est coûteux dans cette méthode vue le nombre de noeuds qui constituent le graphe et la méthode de comparaison des n÷uds utilisée. Dans notre cas, pour limiter l'utilisation de mémoire (données enregistrées en référence), nous fabriquons un procédé plus simple en utilisant les données déjà disponibles c'est à dire les jets et la grille. La comparaison directe des jets n'a pas donné un bon résultat de correspondance. Nous avons alors étiqueté les n÷uds de la grille initialement ajustée sur le visage. Leurs coordonnées initiales dans la grille sont mémorisées avec le jet associé. La correspondance se fait alors avec les noeuds de même coordonnée ou avec ses voisins s'il en existe. Dans le cas contraire où le n÷ud n'a pas son correspondant de même coordonnée et ses voisins sont déjà mis en correspondance, le noeud n'est pas pris en compte pour le calcul de similarité. La gure 5.10 montre la correspondance entre les noeuds des graphes de deux images. La similarité entre deux graphes est alors calculée avec les jets des noeuds mis en 88 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE correspondance. Nous avons utilisé le calcul de similitude tel que décrit dans l'équation 5.2. Cependant, nous avons calculé séparément, les similarités des éléments du vecteur jet correspondant à des ltres de même taille : on calcule tout d'abord la similarité des diérentes réponses des ltres de même taille, puis on moyenne le tout. En eet, le fait que les réponses des ltres de grande taille soient plus grandes que celles des ltres de petite taille tend à atténuer l'inuence des ltres de petites résolutions. Figure 5.10: Méthode de correspondance des graphes selon les coordonnées des noeuds dans la grille originale, les traits continus présentent une mise en correspondance entre noeuds de mêmes coordonnées, les traits discontinus sont une correspondance entre noeuds possible vu qu'ils sont voisins et n'ont pas de noeuds correspondants 5.4 Comparaisons et Performances Pour évaluer notre nouvel algorithme, nous avons mis en place un protocole de test sur la base IRVI. Nous avons aussi comparé les performances de reconnaissance de l'algorithme proposé avec l'algorithme original proposé par l'université CSU et avec deux algorithmes de référence basés sur une approche globale : le LDA et un autre algorithme plus performant combinant l'analyse de Gabor et une classication LDA développé dans notre laboratoire [61]. Nous décrivons, brièvement, en premier lieu, ces deux algorithmes de référence. Puis, nous présenterons les performances respectives de toutes les méthodes. 5.4.1 Algorithmes de référence Les algorithmes décrits dans la suite sont des algorithmes connus [61]. Ils nous servent de base de comparaison avec notre approche. 5.4. COMPARAISONS ET PERFORMANCES 89 Analyse linéaire discriminante (LDA) Cette méthode se classe parmi les approches globales de reconnaissance. Dans ce type d'approches on cherche à modéliser un espace de visages construit à partir d'une base de donnée d'apprentissage. Puis on représente le visage dans cet espace P de dimension réduite, par rapport à l'espace des images 2D, Φ par x = ni=1 αi Vi où x est le vecteur de l'image dans l'espace initial et (Vi ) sont les vecteurs propres de l'espace réduit. L'intérêt de cet algorithme est de déterminer les axes qui accentuent la diérence entre les classes. La procédure tend ainsi à réduire les diérences au sein d'une même classe. Ainsi on rassemble les éléments d'une même classe tout en diérenciant les classes [7]. Pour cela, on dénit deux mesures : la première est la mesure de dispersion intra-classe (within-classe scatter matrix) dénit par : Nj c X X Sw = (xji − µj )(xji − µj )T j=1 i=1 où xji est le ime composant de la classe j , µj est la moyenne de la classe j , c est le nombre de classes et Nj le nombre d'échantillon de la classe j . La deuxième mesure est la mesure de dispersion inter-classe (Between-class scatter matrix) dénie par : Sb = c X (µj − µ)(µj − µ)T j=1 où µ est la moyenne de tout les échantillons. Pour maximiser la ressemblance intra-classe en minimisant l'inter-classe, nous cherchons la matrice de transformation W qui maximise le critère suivant : J(W ) = W T Sb W W T Sw W Dans ce travail, cet espace réduit est construit avec des images issues de la base de données FRGC (Face Recognition Grand Challenge). Cette base représente mieux les images en visible. Vu la non-disponibilité d'assez de données en proche infrarouge, nous avons utilisé cette même base pour représenter les données NIR même si cela n'est pas optimal. Analyse linéaire discriminante des coecients de Gabor - GLDA Cette seconde approche est bien plus complexe que la précédente, mais elle a montré son ecacité dans les compétitions menées par le NIST et dans les expériences comparatives menées dans [61]. Dans cet algorithme, le visage est modélisé par les résultats d'analyse de Gabor de l'image. On a utilisé dans ce cas 16 ltres avec 4 90 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE orientations et 4 résolutions. Ainsi la représentation de l'image I est IGs,o = I ⊗ Gs,o où Gs,o constitue l'ensemble des ltres de Gabor obtenus en variant l'orientation o et la taille s et ⊗ est l'opérateur de convolution. L'algorithme combine l'utilisation de la phase et du module pour construire un modèle plus robuste. En eet, l'analyse de Gabor donne une valeur complexe, cette valeur peut avoir sa partie réelle et imaginaire proche de zéro. Cela crée une forme indéterminée lors du calcul du module et de la phase. Pour résoudre ce problème, les points qui ont des valeurs en dessous d'un seuil seront omis. Le vecteur composé des diérentes analyses de Gabor constituera l'entrée du classieur LDA. 5.4.2 Protocoles de test Pour tester les performances de reconnaissance apportées par les images NIR avec les variations d'illumination nous avons conduit une série de tests sur la base IRVI. La base décrite dans le paragraphe 3.3.3, contient 60 personnes acquises en 2 sessions, chaque session contient 3 protocoles d'acquisition qui mettent en jeu la variation de l'illumination. Pour chaque personne, nous avons choisi 5 images de référence issues du protocole 1 de la 1ère session (S1P1) décrit dans le paragraphe 3.3.3. Les images de test sont elles issues des autres protocoles et session. Pour chaque protocole d'acquisition on extrait 5 images de test. Chaque personne a ainsi 5 images de référence et 30 images de test (5 images de S1P1, 5 de S2P1, etc.). Nous avons testé les algorithmes au sein de la première session avec le premier protocole (éclairage contrôlée) ce test est nommé TS1P1. Pour une personne donnée, on compare durant ce protocole de test 5 images de S1P1 avec 5 autres images de S1P1. Pour déterminer le score client de ce test, on ne retient que le maximum des ces comparaisons. Pour chaque personne cliente, les tests imposteurs sont la comparaison des images de référence du client avec les images de tests (5 images pour chaque imposteur) de 10 autres personnes. Dans ce protocole nous eectuons alors 300 comparaisons intra-classe et 3000 comparaisons interclasse. Le deuxième protocole de test vise à vérier la stabilité intersession avec même condition d'éclairage. Le temps d'acquisition entres les deux images des deux session est de quelques semaines (environ 3 semaines). Il s'agit de comparer les images de référence de S1P1 avec les images de test de S2P1 avec le même protocole de test que précédemment. Ce protocole de test sera noté TS2P1. On a dans ce test 270 comparaisons intra-classes et 2700 inter-classe. Le troisième protocole de test est une comparaison inter-session avec les diérents protocoles de variation d'illuminations. Ainsi l'ensemble des images de référence de la personne est comparé avec ses propres images de test issues des diérents protocoles d'acquisition de la base. Pour les comparaisons imposteurs, on compare les images de 91 5.4. COMPARAISONS ET PERFORMANCES références avec celles de 10 autres personnes avec les diérents protocoles et sessions. Ce test nommé TS2PA comporte une comparaison entre S1P1 et S1P2, S1P3, S2P1, S2P2 et S2P3. Durant ce protocole, on teste la robustesse des algorithmes par rapport aux illuminations et par rapport aux variations dans le temps. Ce test comporte un nombre de comparaison assez élevé par rapport aux tests précédents. En eet, on a 1650 comparaisons intra-classe et 15500 inter-classe. Intervalle de conance La base IRVI construite avec le capteur développé est considérée comme un base de faible taille. De plus le nombre de comparaison intra-classe (1650 comparaisons client pour TS2PA) est bien inférieur à celui inter-classe (15500 comparaisons imposteurs pour TS2PA). Il y a un rapport de 100 entre eux. Le nombre de comparaison étant assez faible, les résultats sont donc soumis à une marge d'erreur qu'il est important d'indiquer par rapport à la généralisation qui peut être attendue des modèles testés. Nous allons donc calculer l'intervalle de conance de nos taux d'erreurs. Cette mesure paramétrique, nous permet d'évaluer dans quel intervalle peut varier notre mesure d'erreur et ainsi nous permettre d'encadrer les performances si on eectue des tests sur une base de taille plus importante. Nous estimerons les taux d'erreur F AR(τ ) et F RR(τ ) pour une valeur du seuil donnée τ par la fonction de répartition empirique pour les deux classes client et imposteur. On considère Fc , respectivement Fi , la fonction de répartition client, respectivement imposteur : Z τ Z ∞ F AR(τ ) = 1 − Fi (τ ) = 1 − fi (x)dx = fi (x)dx −∞ τ Z F RR(τ ) = Fc (τ ) = τ −∞ fc (x)dx où fi et fc sont les densités de probabilités des clients et des imposteurs. Sur une base contenant Nc scores client et Ni scores imposteur, on estime les taux d'erreurs par : Ni 1 X [ 1(xj > τ ) F AR(τ ) = 1 − F̂i (τ ) = Ni j=1 Ni 1 X F[ RR(τ ) = F̂c (τ ) = 1(xj ≤ τ ) Nc j=1 On introduit une variable aléatoire Z binomiale de probabilité p = Fc (τ ) pour Nc tirages. La distribution de probabilité de cette variable est : P (Z = z) = CzNc Fc (τ )z (1 − Fc (τ )Nc −z , z = 0, . . . , Nc 92 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE TS1P1 − EGM−CSU 5 NIR VI 4.5 4 3.5 FRR (%) 3 2.5 2 1.5 1 0.5 0 0 1 2 3 4 5 FAR (%) Figure 5.11: Courbe ROC de l'EGM-CSU sur la base IRVI avec le protocole TS1P1 L'espérance de la variable Z est E(Z) = Nc Fc (τ ) et son espérance est σ 2 = Nc Fc (τ )(1 − Fc (τ )). Si Nc tend vers l'inni alors la variable Z tend vers une variable normale. F̂c (τ ) est la moyenne d'une loi normale d'une variance : s σ̂c (τ ) = F̂c (τ )(1 − F̂c (τ )) Nc L'intervalle de conance est donc déterminé par les percentiles de la distribution normale. Pour calculer alors l'intervalle de conance à 90% pour F̂c (τ ) correspondant à un percentile à 90% centré sur la loi normale : Fc (τ ) ∈ [F̂c (τ ) − 1.645σ̂c (τ ), F̂c (τ ) + 1.645σ̂c (τ )] On calcule de même l'intervalle de conance de Fi (τ ). 5.4.3 Expériences et Performances Performances des algorithmes standards Dans un premier temps, nous avons testé l'algorithme de l'EGM-CSU sur notre base IRVI et sur les images NIR et visible. Nous avons annoté manuellement sur 50 images en NIR les diérents points caractéristiques. Ces images sont issues des diérents protocoles d'illumination pour avoir un modèle qui tient compte des variations d'illumination surtout pour les images en visible. Nous avons d'abord expérimenté le protocole TS1P1. Le résultat est montré dans la courbe ROC de la gure 5.11. 93 5.4. COMPARAISONS ET PERFORMANCES Les performances de reconnaissance, exprimées en EER, sont de 0.76% pour les images NIR et de 1.44% pour les images en visible pour l'expérience TS1P1. En observant la courbe ROC du test TS1P1, on voit que, pour tout point de fonctionnement, la reconnaissance avec des images NIR est meilleure que celle en VI. Cela peut être dû à une meilleure détection des n÷uds avec les images NIR. Mais ces performances restent dans le même ordre de grandeur. En eet dans le premier protocole de test, on contrôle l'illumination ce qui met à égalité les deux types d'image. Nous allons tester aussi la robustesse de l'algorithme aux eets d'illumination durant le troisième protocole TS2PA. Il faut noter que le nombre de tests dans ce cas est 5 fois supérieur au premier vu qu'on y intègre tous les protocoles d'acquisition de la base. La gure 5.12 est la courbe ROC de ce test. On y obtient un taux de EER égal à 5.44% pour les images NIR et 19.33% pour les images en visible. TS2PA − EGM Visible NIR 20 FRR (%) 15 10 5 0 0 5 10 15 20 FAR (%) Figure 5.12: Courbe ROC de l'EGM-CSU sur la base IRVI - protocole TS2PA On peut conclure de la courbe 5.12, l'apport de l'utilisation de l'infrarouge quand on a des variations importantes de l'illumination. En eet, il y a un écart relatif de 30% dans les performances de reconnaissance entre les deux types d'images avec cet algorithme à approche locale. On conclut donc que les changements dans les caractéristiques dûs aux variations d'illumination détériorent les performances de reconnaissance. Pour valider la robustesse des images en infrarouge, nous avons eectué d'autres tests avec des algorithmes à approche globale. Ces algorithmes ont été décrit précédemment dans le paragraphe 5.4.1. Ainsi nous avons eectué la même série de tests avec la LDA et l'analyse de Gabor par LDA (GLDA). Les gures présentées ci après sont les résultats obtenus avec les diérents protocoles de test sur la base IRVI. 94 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE Dans la gure 5.13, nous présentons les résultats par des courbes ROC des trois algorithmes sur les images en NIR avec le protocole de test TS1P1. La gure 5.14 compare les performances de reconnaissances de TS1P1 sur les images en visible. TS1P1 − NIR 5 GLDA LDA EGM − CSU 4.5 4 3.5 FRR(%) 3 2.5 2 1.5 1 0.5 0 0 1 2 3 4 5 FAR(%) Figure 5.13: Courbes ROC des algorithmes LDA, GLDA et EGM-CSU sur la base IRVI - protocole TS1P1 images NIR TS1P1 − VI 5 EGM − CSU LDA GLDA 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 0 1 2 3 4 5 Figure 5.14: Courbes ROC des algorithmes LDA, GLDA et EGM-CSU sur la base IRVI - protocole TS1P1 images VI Pour ce protocole de test TS1P1, on vérie bien les bonnes performances de l'algorithme GLDA pour les deux types d'images. Cet algorithme a donné en eet de bons taux de reconnaissance dans l'étude comparative sur la base BANCA [66]. Aussi les images en NIR donnent de meilleurs résultats de reconnaissance sauf avec 95 5.4. COMPARAISONS ET PERFORMANCES l'algorithme LDA où ils sont légèrement moins bons. Nous avons eectué les deux protocoles de test TS2P1 et TS2PA sur les images NIR et VI. Nous avons présenté les résultats de ces tests dans la gure 5.15 pour le protocole TS2P1 et dans la gure 5.16 pour TS2PA. TS2P1 − NIR 10 GLDA LDA EGM − CSU 9 8 7 FRR(%) 6 5 4 3 2 1 0 0 1 2 3 4 5 FAR(%) 6 7 8 9 10 (a) TS2P1 − VI 40 GLDA LDA EGM − CSU 35 30 FRR(%) 25 20 15 10 5 0 0 5 10 15 20 FAR(%) 25 30 35 40 (b) Figure 5.15: Courbes ROC des algorithmes LDA, GLDA et EGM-CSU sur la base IRVI - protocole TS2P1 (a)images NIR - (b) images VI Dans les deux protocoles de test, on note que les meilleures performances sont 96 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE réalisées par l'algorithme GLDA cela pour les images NIR et visible. Cela montre la robustesse de cet algorithme qui fait une analyse de toute l'image du visage. Le EGM-CSU donne des taux d'EER plus faible que la LDA. Cela montre qu'une analyse locale par les ltres de Gabor est toujours meilleure qu'une analyse des niveaux de gris des pixels. La diérence des taux d'erreur dans le proche infrarouge entre les deux protocoles assiciés à deux sessions diérentes TS2P1 et TS1P1 est dûe à des variations de pose (rotations autour de l'axe parallèle au plan focal de la caméra) et aussi au manque de généralisation à cause de la petite taille de la base de donnée qui induit un faible nombre de comparaisons. Sur le graphique 5.16 (b), on voit que la courbe de l'EGM-CSU est au dessous de celle du GLDA pour les faibles valeurs de FAR. Mais cette situation s'inverse en augmentant le FAR. Cela montre une robustesse de l'approche locale face aux fausses acceptations dans les cas extrêmes de sécurité. Le tableau 5.2 donne les valeurs comparées à l'EER des diérents algorithmes suivant les diérents protocoles. Dans ce tableau, on note la stabilité des images NIR par rapport à l'illumination et cela pour les 3 algorithmes. Notre méthode d'acquisition permet ainsi d'obtenir des images qui fournissent des taux de vérications similaires, quelques soient les conditions d'illumination, et cela sans ajouter des pré-traitements à l'image, source de calcul supplémentaire. En eet, aucune des images en NIR n'ont subi de prétraitement alors que les images en VI ont été égalisées. Au point de fonctionnement EER, l'algorithme EGM-CSU donne des performances de reconnaissance se situant entre les deux autres algorithmes, le LDA et le GLDA l'algorithme de classication des réponses des ltres de Gabor par LDA qui est le plus performant des trois, même en considérant les intervalles de conance. En eet, les intervalles de conance sont aussi dépendante des valeurs des performances : plus les valeurs sont faibles plus l'intervalle est faible ce qui limite la plage de variation de l'EER dans le cas de l'approche GLDA. Mais, cet algorithme demande plus de calcul. En eet, chaque pixel de l'image est analysé par le banc des ltres, et ensuite la classication est eectuée par une projection (multiplications de vecteur). Mais lorsqu'on compare les performances de reconnaissance des trois algorithmes sur les images NIR avec les intervalles de conance associés, nous remarquons que les approches LDA et EGMCSU sont à peu près équivalentes pour nos protocoles de test. Sur le protocole de test TS2PA, où on a plus de comparaisons (environ 3000 en intra) les intervalles de conance se chevauchent ce qui donne une équivalence entre les deux approches. On vérie cela sur la gure 5.18 (a) où les courbes sont presque superposées. Alors que sur les images visibles, on remarque de meilleures performances de reconnaissance de l'EGM-CSU qui sont pratiquement équivalentes à celle du GLDA. Cela nous montre qu'une approche locale est aussi meilleure qu'une approche globale. 97 5.4. COMPARAISONS ET PERFORMANCES EER % / Intervalle de Conance LDA GLDA EGM TS1P1 NIR VI 0.96 0.77 [0.9 ;1.1] [0.7 ;0.9] 0.01 0.08 [0 ;0.02] [0 ;0.1] 0.76 1.44 [0.6 ;0.9] [1 ;1.8] TS2P1 NIR 4.80 [4,2 ;5.5] 1.08 [0.9 ;1.2] 4.46 [4 ;4.9] VI 21.7 [20.8 ;22.5] 12.2 [12.1 ;12.3] 15.5 [14.9 ;16.1] TS2PA NIR 6.04 [5.5 ; 6.9] 3.59 [2.7 ;4.4] 5.44 [4.3 ;6.5] Table 5.2: Performance en EER des diérents algorithmes de reconnaissance sur la base IRVI et l'intervalle de conance Performances de l'EGM-TMSP Après avoir comparé les diérentes performances de reconnaissance des algorithmes standards, nous allons comparer notre approche développée dans ce chapitre avec l'EGM-CSU. Les similarités entre les deux approches sont multiples : ce sont toutes les deux des approches locales qui se basent sur l'analyse de Gabor et la construction d'un graphe. Cela nous donne une idée sur les performances attendues du nouvel algorithme à savoir des taux d'erreur équivalents. Les gures 5.17 et 5.18 présentent les courbes ROC des deux systèmes de reconnaissance. Le tableau 5.3 résume leurs performances de reconnaissance. EER (%) / Intervalle de Conance EGM-CSU EGM-TMSP TS1P1 TS2PA 0.76 [0.6 ;0.9] 0.5 [0.4 ;0.6] 5.44 [4.3 ;6.5] 5.3 [4 ;6.6] Table 5.3: Comparaison de performances de reconnaissance des deux algorithmes de reconnaissances EGM sur la base IRVI et les intervalles de conance Ces résultats montrent que notre méthode est bien équivalente à celle de l'EGMCSU à l'EER. Le domaine de variation des EER des deux algorithmes sont presque les mêmes. Sur la gure 5.17 pour protocole TS1P1, on remarque aussi que l'erreur FAR à faible FRR est moins importante pour EGM-TMSP par rapport à EGM-CSU cela veut dire que les deux systèmes n'ont pas exactement le même comportement pour tous les points de fonctionnement. Ceci dit, notre approche EGM-TMSP a le grand avantage d'utiliser des opérateurs arithmétiques simples, mis à part l'extraction des jets. Cette dernière tâche peut être exécutée sur une unité de calcul externe. L'algorithme original demande en plus une phase d'apprentissage et une annotation manuelle des données d'apprentissage des noeuds du graphe. L'avantage de notre VI 28.43 [27.5 ;29.5] 20.85 [17.5 ;21.1] 19.34 [17.4 ;21.1] 98 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE approche est qu'elle demande moins de calculs car elle se base sur un échantillonnage adéquat de l'image de contour pour extraire un graphe robuste. 5.5 Conclusion On a présenté dans ce chapitre l'approche locale la plus utilisée pour la reconnaissance de visage : la comparaison élastique des graphes. Nous avons exploité cette approche ainsi que des approches globales (LDA,GLDA) pour montrer en premier lieu la robustesse de notre méthode d'acquisition en proche infrarouge vis à vis des variations de l'illumination. Pour cela, nous avons comparé les performances de ces divers algorithmes en visible et en proche infrarouge sur divers protocoles. Dans tous les cas, on note une nette amélioration des performances en NIR par rapport au visible sur des protocoles avec des images non contrôlées. Il faut noter que la petite taille de notre base de donnée ne permet pas de comparer nement les algorithmes sur le protocole contrôlé mono session TS1P1. Par contre, malgré cela, l'écart de performance entre tous les algorithmes fonctionnant sur TS2PA entre VI et NIR est tellement important que l'apport de l'acquisition en proche infrarouge en condition d'illumination variable ne peut être mis en doute par la petite taille de la base. Les approches de traitement local ont l'avantage de pouvoir être intégrées sur SoC, cela nous a guidé pour développer une nouvelle approche locale adaptée aux images proche infrarouges acquises par ce capteur. La stabilité de l'image de contours par rapport aux variations d'éclairage, est un point essentiel pour la bonne détection des points caractéristiques et cela nous a permis ensuite de construire un graphe correspondant au visage. Notre méthode est proche de l'approche EGM-CSU et elle est équivalente en performance de reconnaissance. De plus elle possède l'avantage considérable d'être construite sur des opérateurs qui peuvent été intégrés sur SoC. L'association entre des opérateurs sur le capteur et sur le SoC réduirait le temps de calcul et l'utilisation de mémoire. Ces deux facteurs contribuent à la réduction de la consommation électrique qui est un avantage considérable dans un contexte de mobilité. Nous estimons que ce nouvel algorithme pourra intégré par la suite. 99 5.5. CONCLUSION TS2PA − NIR 30 EGM − CSU LDA GLDA 25 FRR(%) 20 15 10 5 0 0 5 10 15 FAR(%) 20 25 30 (a) TS2PA − VI 40 35 30 FRR (%) 25 20 15 10 EGM − CSU GLDA LDA 5 0 0 5 10 15 20 FAR (%) 25 30 35 40 (b) Figure 5.16: Courbes ROC des algorithmes LDA, GLDA et EGM-CSU sur la base IRVI - protocole TS2PA (a)images NIR - (b) images VI 100 CHAPITRE 5. ALGORITHME DE RECONNAISSANCE DE VISAGE Protocole TS1P1 5 EGM − TMSP EGM − CSU 4.5 4 3.5 FRR (%) 3 2.5 2 1.5 1 0.5 0 0 1 2 3 4 5 FAR (%) Figure 5.17: Courbes ROC des systèmes de reconnaissance EGM-CSU et EGMTMSP avec le protocole TS1P1 Protocole TS2PA 30 EGM −CSU EGM − TMSP 25 FRR (%) 20 15 10 5 0 0 5 10 15 FAR (%) 20 25 30 Figure 5.18: Courbes ROC des systèmes de reconnaissance EGM-CSU et EGMTMSP avec le protocole TS2PA Chapitre 6 Conclusion et perspectives Dans cette thèse, nous avons utilisé et conçu plusieurs capteurs pour la suppression de l'illumination ambiante. Vu l'importance de la qualité des images dans l'amélioration des performances de reconnaissance, nous avons conçu de nouveaux capteurs avec un soucis d'amélioration de la qualité d'images qui fournissent des images invariantes par rapport à l'éclairage. Nous avons utilisé pour ce fait l'illumination active avec deux méthodes d'acquisition : la première avec un capteur CMOS diérentiel, la seconde, et qui présente notre apport personnel dans ce travail de thèse, une acquisition avec réduction du temps d'exposition et un ash synchrone à la période d'acquisition. Ce procédé utilisé avec une caméra CCD permet d'avoir des images de bonne qualité en proche infrarouge et à moindre coût. Nous avons alors exploité la nature du capteur pour acquérir deux trames diérentes. Nous obtenons ainsi deux informations simultanées : la première issue de la lumière visible, la seconde de la lumière issue du ash. La présence de ces deux informations visible et proche infrarouge simultanément nous permet d'évaluer l'apport de l'illumination active pour la suppression de la lumière ambiante par rapport au visible. Pour cela, nous avons mené une compagne d'acquisition pour avoir une base de donnée de visage avec cette caméra (de 60 personnes). Exploitant le bon niveau de contraste dans les images en proche infrarouge issues du capteur développé, nous avons conçu une nouvelle méthode de détection des points caractéristiques du visage. Nous avons extrait les contours du visage en utilisant un ltre de même forme que le ltre DoG implémenté dans la littérature dans un imageur. L'image de contour comprend des éléments caractéristiques du visage à savoir, les yeux, le nez et la bouche. Nous avons alors extrait 5 points particuliers de cette image et cela en n'utilisant uniquement des opérateurs qui ont été implémentés. Notre approche utilise uniquement une projection avec des traitements sur des petites 101 102 CHAPITRE 6. CONCLUSION ET PERSPECTIVES zones de l'image pour limiter les ressources de calcul. Pour évaluer les performances de notre approche, nous l'avons testée sur les bases de données de visage acquise en proche infrarouge à notre disposition. Nous avons obtenue de bonnes performances de détection comparable à celles des méthodes présentes dans la littérature. Une dernière contribution de ce travail de thèse concerne la mise au point une nouvelle approche de reconnaissance de visage. Cette approche locale se base sur l'image de contour et elle s'inspire de l'algorithme de comparaison élastique des graphes. Nous avons exploité le fait que l'image de contour obtenue contient les points particuliers du visage pour extraire des points de ce contour en utilisant une grille judicieusement placée sur le visage. Elle est, en eet, placée selon les positions des yeux et de la bouche et couvre ainsi tout le visage. La grille est utilisée comme un élément permettant d'échantillonner l'image et de construire l'ensemble des noeuds du graphe. Le voisinage des points extraits est analysé par un banc de ltres de Gabor. L'ensemble des points associés à l'analyse de Gabor constitue le graphe du visage. Nous avons adapté le calcul de comparaison des graphes classiques à notre méthode pour réduire le nombre de comparaisons entre les noeuds. Nous avons comparé les performances de notre méthode avec celles de l'algorithme original EGM-CSU, et trouvé des résultats équivalents en terme de EER. Ce résultat était assez prévisible vu les ressemblances entre les deux méthodes et l'utilisation du même outil d'analyse locale. Cependant, notre approche est mieux adaptée pour une implémentation future. En eet, notre algorithme ne demande pas d'étape d'apprentissage pour déterminer la position moyenne des points caractéristiques. Cette dernière technique est en eet aussi complexe que la comparaison de deux graphes. Les perspectives de cette thèse sont en premier lieu la validation de notre algorithme de reconnaissance sur composants programmables. En eet, notre algorithme est conçu pour une implémentation partagée entre le capteur et un composant programmable. Outre l'acquisition diérentielle ou par réduction de temps de pose qui sont les premières opérations eectuées dans l'imageur, nous estimons que les opérations de détection de contours et de projection peuvent être implémentées sur le capteur. En eet, le ltrage DoG est un moyen pour extraire les contours. Ce ltre peut être implémenté par un réseau RC ou un réseau capacitif tel décrit dans le 2ème chapitre. Le deuxième opérande qui peut facilement être intégré dans le capteur est la fonction de projection qui n'est qu'une sommation sur une même ligne. Cette opération si elle est eectuée numériquement demandera plusieurs cycles d'opération d'addition, alors qu'en analogique, en exploitant la loi des noeuds, on arrive à faire la sommation instantanément avec des variables courant. Le traitement analogique peut ainsi nous faire gagner en temps de traitement et nous économise en ressource de calcul ultérieurement. 103 La sortie du capteur peut être l'image de contour avec la projection de celle-ci sur l'axe horizontal. La sortie serait transmise à une unité de calcul qui peut être soit un FPGA, un DSP ou un ARM, tout dépend des performances que l'en veut atteindre. Cela nous permettra d'extraire les points caractéristiques du visage et ainsi d'avoir les coordonnées des diérents points de la grille qui seront retenues. Si le temps de traitement est assez court nous pouvons acquérir une nouvelle image sur laquelle nous allons appliquer les ltres de Gabor autour des points ainsi trouvés. En eet si le temps d'extraction de ces points est négligeable par rapport à un éventuel déplacement du client nous pouvons nous passer de l'enregistrement de l'image est ainsi économiser en mémoire du système. Dans le cas où le temps d'extraction est assez grand, nous procédons à l'enregistrement d'une image en proche infrarouge. Cette image serait transmise directement vers l'unité de calcul pour la formation des jets. Nous pouvons optimiser l'enregistrement de l'image en ne conservant que le voisinage des points caractéristiques qui forment le graphe. En eet, l'analyse de Gabor est locale et ne s'applique que sur le voisinage des points extraits. Les ltres de Gabor peuvent être enregistrés sur des blocs mémoires présents à l'intérieur d'un FPGA ce qui peut réduire considérablement le temps d'accès mémoire ou dans une mémoire externe dans le cas d'une implémentation sur DSP ou ARM. La comparaison des graphes peut s'eectuer ensuite sur l'unité de calcul après avoir lu et chargé le graphe référence. Cette architecture sommaire de notre approche est ainsi divisée entre le capteur qui eectue en plus de la capture diérentielle ou avec ash synchronisé, l'extraction de primitives et la projection. L'unité de calcul permet l'extraction des points caractéristiques, l'analyse par les ltres de Gabor et la tâche de comparaison des graphes. Une autre perspective de ce travail concerne la fusion de données issues des 2 types d'image soit au niveau des scores soit des caractéristiques extraites. En eet, grâce à la double capture en proche infrarouge et en visible, nous pouvons étudier avec plus de détails la complémentarité des deux images et la diérence de nature dans les caractéristiques locales. Nous pouvons explorer une fusion des caractéristiques pour améliorer les performances de reconnaissance et ainsi bénécier de l'apport de chaque image. La diérence de réectance de la peau dans les deux spectres peut donner une réponse diérente aux ltres de Gabor. Une fusion des scores de reconnaissances issues d'algorithmes avec diérents approches globales et locales pourrait aussi permettre de proter des avantages de chaque méthode et ainsi améliorer les performances de reconnaissance. Une autre perspective concerne le fait d'utiliser ce principe d'acquisition sur d'autres modalités. L'acquisition de l'iris se fait aussi en proche infrarouge. Nous pouvons alors exploiter cette caméra pour cette modalité, mais nous devons alors changer l'optique 104 CHAPITRE 6. CONCLUSION ET PERSPECTIVES et la disposition des illuminateurs pour ne pas endommager l'oeil. Une autre modalité qui commence à être exploitée dans les pays asiatiques est la reconnaissance par les veines de la main. Cette modalité est bien acceptée car elle ne nécessite pas de contact, et est dicile à falsier Son acquisition se fait aussi dans le proche infrarouge. En effet les ondes pénètrent l'épiderme et sont rééchis par les vaisseaux sanguins. Notre procédé d'acquisition serait alors idéal pour capter les veines de la main. De même que l'on peut étudier la complémentarité entre une image du visage dans les deux spectres, on pourra dès lors étudier la complémentarité entre la paume de la main (empreinte palmaire) à travers l'image en visible et les veines de la main à travers l'image en proche infrarouge. Bibliographie [1] http ://www.oki.com/jp/FSC/ics/en/. [2] http ://www.tsi.enst.fr/tsi/enseignement/ressources/mti/ellipses/Hough.html. [3] Datasheet icx098bq. con/english/img/sony01/a6809927.pdf. [4] Yael Adini, Yael Moses, and Shimon Ullman. Face recognition : The problem of compensating for changes in illumination direction. IEEE Transactions on Pattern Analysis and Machine Intelligence, 19(7) :721732, 1997. [5] O. Aubreton, B. Bellach, L. F. C. Voon, B. Lamalle, P. Gorria, and G. Cathébras. Retina for pattern matching in standard 0.6-mu m complementary metal oxide semiconductor technology. Journal of Electronic Imaging, 13(3) :559569, 2004. [6] E. Bailly-Baillière, S. Bengio, F. Bimbot, M. Hamouz, J. Kittler, J. Mariéthoz, J. Matas, K. Messer, V. Popovici, F. Porée, B. Ruiz, and J.-P. Thiran. The banca database and evaluation protocol. In AVBPA, pages 625638, 2003. [7] P.N. Belhumeur, J.P. Hespanha, and D.J. Kriegman. Eigenfaces vs. sherfaces : Recognition using class specic linear projection. In Proc. of the 4th European Conference on Computer Vision, ECCV'96, pages 4558, Cambridge, UK, April 1996. [8] Thierry M. Bernard. Rétines articielles : Quelle intelligence au sein du pixel ? Calculateurs parallèles, 9(1) :77108, 1997. [9] D.S. Bolme. Elastic bunch graph matching, 2003. Thesis for the Master of Science Degree ; Colorado State University. http ://www.sony.co.jp/ semi- [10] K.W. Bowyer, K.I. Chang, P.J. Flynn, and C. Xin. Face recognition using 2-d, 3d, and infrared : Is multimodal better than multisample ? Proceedings of the IEEE, 94(11) :20002012, 2006. [11] W. S. Boyle and G.E. Smith. Charge-coupled semiconductor devices. Bell Systems Technical Journal, 49 :587593, 1970. [12] R. Brunelli and T. Poggio. Face recognition : Features versus templates. IEEE Transactions on Pattern Analysis and Machine Intelligence, 15(10) :10421052, 1993. 105 106 BIBLIOGRAPHIE [13] H.F. Chen, P.N. Belhumeur, and D.W. Jacobs. In search of illumination invariants. Computer Vision and Pattern Recognition, 2000. Proceedings. IEEE Conference on, 1 :254261, 2000. [14] Xin Chen, Patrick J. Flynn, and Kevin W. Bowyer. Ir and visible light face recognition. Computer Vision and Image Understanding, 99(3) :332358, 2005. [15] I.J. Cox, J. Ghosn, and P.N. Yianilos. Feature-based face recognition using mixturedistance. Computer Vision and Pattern Recognition, 1996. Proceedings CVPR '96, 1996 IEEE Computer Society Conference on, pages 209216, Jun 1996. [16] J. Dowdall, I.T. Pavlidis, and G.N. Bebis. Face detection in the near-ir spectrum. IVC, 21(7) :565578, July 2003. [17] I.L. Dreden and K.V. Mardia. Statistical Shape Analysis. John Wiley, New York, 1998. [18] B. Duc, S. Fischer, and J. Bigun. Face authentication with gabor information on deformable graphs. Image Processing, IEEE Transactions on, 8(4) :504516, Apr 1999. [19] G. C. Feng and P. C. Yuen. Variance projection function and its application to eye detection for human face recognition. Pattern Recogn. Lett., 19(9), 1998. [20] S. Garcia-Salicetti, C. Beumier, G. Chollet, B. Dorizzi, J. Leroux les Jardins, J. Lunter, Y. Ni, and D. Petrovska-Delacrétaz. Biomet : A multimodal person authentication database including face, voice, ngerprint, hand and signature modalities. In AVBPA, pages 845853, 2003. [21] J.M. Gilbert and W. Yang. A real-time face recognition system using custom vlsi hardware. Computer Architectures for Machine Perception, 1993. Proceedings, pages 5866, Dec 1993. [22] A.J. Goldstein, L.D. Harmon, and A.B. Lesk. Identication of human faces. Proceedings of the IEEE, 59(5) :748760, May 1971. [23] D. Gonzalez-Jimenez and J.L. Alba-Castro. Shape-driven gabor jets for face description and authentication. Information Forensics and Security, IEEE Transactions on, 2(4) :769780, Dec. 2007. [24] D.O. Gorodnichy. On importance of nose for face tracking. Automatic Face and Gesture Recognition, 2002. Proceedings. Fifth IEEE International Conference on, pages 181186, May 2002. [25] R. Gross and V. Brajovic. An image preprocessing algorithm for illumination invariant face recognition. In 4th International Conference on Audio- and Video-Based Biometric Person Authentication (AVBPA). Springer, June 2003. [26] T. Hamamoto and K. Aizawa. A computational image sensor with adaptive pixel-based integration time. Solid-State Circuits, IEEE Journal of, 36(4) :580585, Apr 2001. [27] W. Hizem, Y. Ni, and B. Dorizzi. Near infrared sensing and associated landmark detection for face recognition. Journal of Electronic Imaging, 17(1) :011005, 2008. BIBLIOGRAPHIE 107 [28] Erik Hjelmåsa and Boon Kee Low. Face dectection : A survey. Computer Vision and Image Understanding, 83 :236274, September 2001. [29] A. J. Howell and H. Buxton. Learning identity with radial basis function networks. Neurocomputing, 20 :1534, Aug 1998. [30] D.P. Huttenlocher, G.A. Klanderman, and W.A. Rucklidge. Comparing images using the hausdor distance. IEEE Transactions on Pattern Analysis and Machine Intelligence, 15(9) :850863, 1993. [31] O. Jesorsky, K.J Kirchberg, and R.W Frisholz. Robust face detection using the hausdor distance. Int'l Conf. Audio- and video-Based Biometric Person Authentication, pages 9095, 2001. [32] Bernd Jähne. Practical Handbook on Image Processing for Scientic Applications. CRC Press, 1997. [33] R. Kleihorst, H. Broers, A. Abbo, H. Ebrahimmalek, H. Fatemi, and H. Corporaal. An simdvliw smart camera architecture for real-time face recognition. In In Proceedings of ProRISC 2003, pages 17, 2003. [34] C. Kotropoulos, A. Tefas, and I. Pitas. Morphological elastic graph matching applied to frontal face authentication under optimal and real conditions. In ICMCS '99 : Proceedings of the IEEE International Conference on Multimedia Computing and Systems Volume II-Volume 2, pages 934938, 1999. [35] B. Kröse and P. van der Smagt. An Introduction to neural network. The University of Amsterdam, 1996. [36] M. Kyomasu. A new mos imager using photodiode as current source. Solid-State Circuits, IEEE Journal of, 26(8) :11161122, Aug 1991. [37] M. Lades, J. C. Vorbruggen, J. Buhmann, J. Lange, C. von der Malsburg, R. P. Wurtz, and W. Konen. Distortion invariant object recognition in the dynamic link architecture. IEEE Trans. Comput., 42(3) :300311, 1993. [38] Seong-Whan Lee, Sang-Woong Lee, and Ho-Choul Jung. Audio- and Video-Based Biometric Person Authentication, chapter Real-Time Implementation of Face Recognition Algorithms on DSP Chip, pages 294301. Springer, 2003. [39] D. Y. Li and W.H. Liao. Facial feature detection in near-infrared images. In Proc. Fifth Int'l Conf. Computer Vision, Pattern Recognition and Image Processing, pages 2630, Sept 2003. [40] D.Y. Li and W.H. Liao. Facial feature detection in near-infrared images. In International Conference on computer vision , Pattern Recogntion and Image Processsing, pages 26 30, 2003. [41] Stan Z. Li, RuFeng Chu, ShengCai Liao, and Lun Zhang. Illumination invariant face recognition using near-infrared images. IEEE Transactions on Pattern Analysis and Machine Intelligence, 29(4) :627639, 2007. 108 BIBLIOGRAPHIE [42] S.Z. LI and A.K. Jain. Handbook of Face Recognition. Springer, 2005. [43] Y. Li and H. Kobatake. Extraction of facial sketch image based on morphological processing. icip, 3 :316, 1997. [44] D. Lowe. Distinctive image features from scaleinvariant key-points. International Journal for Compute rVision, 2 :91110, 2004. [45] D. Marr. Vision : A Computational Investigation into the Human Representation and Processing of Visual Information. W. H. Freeman and Co., 1982. [46] K. Matou and Y. Ni. Precise fpn compensation circuit for cmos aps [imager]. Electronics Letters, 38(19) :10781079, Sep 2002. [47] H. Miura, H. Ishiwata, Y. Lida, Y. Matunaga, S. Numazaki, A. Morisita, N. Umeki, and M. Doi. A 100 frame/s cmos active pixel sensor for 3d-gesture recognition system. Solid-State Circuits Conference, 1999. Digest of Technical Papers. ISSCC. 1999 IEEE International, pages 142143, 1999. [48] Jean-Luc Nagel. Algorithms and VLSI Architectures for Low-Power Mobile Face Verication. PhD thesis, Institut de Microtechnique - Université de Neuchâtel, juin 2005. [49] Jean-Luc Nagel, Patrick Stadelmann, Michael Ansorge, and Fausto Pellandini. A lowpower vlsi architecture for face verication using elastic graph matching. In European Signal Processing Conference, volume 3, pages 577580, 2004. [50] T. Nakano and T. Morie. A digital lsi architecture of elastic graph matching and its fpga implementation. Neural Networks, 2005. IJCNN '05. Proceedings. 2005 IEEE International Joint Conference on, 2 :689694, July-4 Aug. 2005. [51] I. Ng, T. Tan, and J. Kittler. On local linear transform and gabor lter representation of texture. Pattern Recognition, 1992. Vol.III. Conference C : Image, Speech and Signal Analysis, Proceedings., 11th IAPR International Conference on, pages 627631, Aug-3 Sep 1992. [52] Y. Ni. Smart image sensing in cmos technology. Circuits, Devices and Systems, IEE Proceedings, 152(5) :547555, Oct. 2005. [53] Y. Ni and K. Matou. A cmos log image sensor with on-chip fpn compensation. SolidState Circuits Conference, 2001. ESSCIRC 2001. Proceedings of the 27th European, pages 101104, Sept. 2001. [54] Y. Ni, Yi min Zhu, B. Arion, and F. Devos. Yet another analog 2d gaussian convolver. Circuits and Systems, 1993., ISCAS '93, 1993 IEEE International Symposium on, pages 192195, May 1993. [55] Y. Ni and Xie-Long Yan. Cmos active dierential imaging device with single in-pixel analog memory. Proceeding of ISSCC02, pages 359362, 2002. [56] Yang Ni, F. Devos, M. Boujrad, and Jian Hong Guan. Histogram-equalization-based adaptive image sensor for real-time vision. Solid-State Circuits, IEEE Journal of, 32(7) :10271036, Jul 1997. BIBLIOGRAPHIE 109 [57] T. Ozaki, H. Kinugasa, and T. Nishida. A low-noise line-amplied mos imaging devices. Electron Devices, IEEE Transactions on, 38(5) :969975, May 1991. [58] Vivek E. P and N. Sudha. Robust hausdor distance measure for face recognition. Pattern Recogn., 40(2) :431442, 2007. [59] F. Paillet, D. Mercier, T.M. Bernard, and E. Senn. Low power issues in a digital programmable articial retina. Low-Power Design, 1999. Proceedings. IEEE Alessandro Volta Memorial Workshop on, pages 153161, Mar 1999. [60] E. Painkras and C. Charoensak. A vlsi architecture for gabor ltering in face processing applications. Intelligent Signal Processing and Communication Systems, 2005. ISPACS 2005. Proceedings of 2005 International Symposium on, pages 437440, Dec 2005. [61] D. Petrovska-Delacrètaz, G. Chollet, and B. Dorizzi. Guide to Biometric Reference Systems and Performance Evaluation. Springer, 2009. [62] L. Pierrefeu, J. Jay, and C. Barat. Auto-adjustable method for gaussian width optimization on rbf neural network. application to face authentication on a mono-chip system. IEEE Industrial Electronics, IECON 2006 - 32nd Annual Conference on, pages 34813485, Nov. 2006. [63] A. Pérez-Uribe and E. Sanchez. Fpga implementation of an adaptable-size neural network. In ICANN 96 : Proceedings of the 1996 International Conference on Articial Neural Networks, pages 383388, London, UK, 1996. Springer-Verlag. [64] Behzad Razavi. Design of Analog CMOS Integrated Circuits. McGRAW-HILL, 2001. [65] P.-F. Ruedi, P. Heim, F. Kaess, E. Grenet, F. Heitger, P.-Y. Burgi, S. Gyger, and P. Nussbaum. A 128x128 pixel 120-db dynamic-range vision-sensor chip for image contrast and orientation extraction. Solid-State Circuits, IEEE Journal of, 38(12) :23252333, Dec. 2003. [66] M. Sadeghi, J. Kittler, A. Kostin, and K. Messer. A comparative study of automatic face verication algorithms on the banca database. In AVBPA, pages 3543, 2003. [67] F. Wanlass Fairchild Semiconductor. Low stand-by power complementary eld eect circuitry. U.S. Patent 3,356,858, 1963. [68] N. Shams, I. Hosseini, M.S. Sadri, and E. Azarnasab. Low cost fpga-based highly accurate face recognition system using combined wavelets with subspace methods. In ICIP06, pages 20772080, 2006. [69] J. Shi, A. Samal, and D. Marx. How eective are landmarks and their geometry for face recognition ? Comput. Vis. Image Underst., 102(2) :117133, 2006. [70] Terence Sim, Simon Baker, and Maan Bsat. The cmu pose, illumination, and expression database. IEEE Transactions on Pattern Analysis and Machine Intelligence, 25(12) :1615 1618, December 2003. [71] Saad A. Sirohey and Azriel Rosenfeld. Eye detection in a face image using linear and nonlinear lters. Pattern Recognition, 34 :13671391, 2001. 110 BIBLIOGRAPHIE [72] D.A. Socolinsky and A. Selinger. Thermal face recognition in an operational scenario. Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings of the 2004 IEEE Computer Society Conference on, 2 :II1012II1019, June-2 July 2004. [73] Pierre Soille. Morphological Image Analysis, Principles and Applications. SpringerVerlag, 1999. [74] M. Tabet and R. Hornsey. Cmos image sensor camera with focal plane edge detection. Electrical and Computer Engineering, 2001. Canadian Conference on, 2 :11291133, 2001. [75] M.A. Turk and A.P. Pentland. Face recognition using eigenfaces. Computer Vision and Pattern Recognition, 1991. Proceedings CVPR '91., IEEE Computer Society Conference on, pages 586591, Jun 1991. [76] Paul A. Viola and Michael J. Jones. Robust real-time face detection. International Journal of Computer Vision, 57(2) :137154, 2004. [77] L. F. C. L. Voon, G. Cathebras, B. Lamalle, P. Gorria, B.Bellach, and O.Aubreton. 100x 100-pixel cmos retina for real-time binary pattern matching. Optical Engineering, 41 :924925, may 2002. [78] G.P. Weckler. Operation of p-n junction photodetectors in a photon ux integrating mode. Solid-State Circuits, IEEE Journal of, 2(3) :6573, Sep 1967. [79] J. Wilder, P.J. Phillips, Cunhong Jiang, and S. Wiener. Comparison of visible and infra-red imagery for face recognition. Automatic Face and Gesture Recognition, 1996., Proceedings of the Second International Conference on, pages 182187, Oct 1996. [80] L. Wiskott, N. Kruger J.-M. Fellous, and C. von der Malsburg. Face recognition by elastic bunch graph matching. Tech. Report 96-08, Ruhr-Universitat Bochum, April 1996. [81] Laurenz Wiskott, Jean-Marc Fellous, Norbert Krüger, and Christopher von der Malsburg. Face recognition by elastic bunch graph matching. IEEE Trans. Pattern Anal. Mach. Intell., 19(7) :775779, 1997. [82] Fan Yang and M. Paindavoine. Implementation of an rbf neural network on embedded systems : real-time face tracking and identity verication. Neural Networks, IEEE Transactions on, 14(5) :11621175, Sept. 2003. [83] Alan L. Yuille, Peter W. Hallinan, and David S. Cohen. Feature extraction from faces using deformable templates. Int. J. Comput. Vision, 8(2) :99111, 1992. [84] Z. Zhu and Q. Ji. Robust real-time eye detection and tracking under variable lighting conditions and various face orientations. Comput. Vis. Image Underst., 98(1) :124154, 2005. [85] X. Zou, J. Kittler, and K. Messer. Illumination invariant face recognition : A survey. Biometrics : Theory, Applications, and Systems, 2007. BTAS 2007. First IEEE International Conference on, pages 18, Sept. 2007. BIBLIOGRAPHIE 111 [86] Xin Zou. Illumination Invariant Face Recognition Based in Active Near-Infrared Dierential Imaging. PhD thesis, University of surrey, march 2007. [87] F. Zuo and P. H. N. de With. Facial feature extraction by a cascade of model-based algorithms. Image Commun., 23(3) :194211, 2008. Appendices 113 Annexe A Liste des Publications Articles de Journaux : Yang Ni, E. Krichen, W. Hizem, S. Garcia-Salicetti and B. Dorizzi, "Active differential CMOS imaging device for human face recognition", Signal Processing Letters, IEEE , vol.13, no.4, pp. 220-223, April 2006. Walid Hizem, Yang Ni and Bernadette Dorizzi, "Near infrared sensing and associated landmark detection for face recognition", J. Electron. Imaging 17, 011005 (2008). Conférences Internationale : Walid Hizem, Emine Krichen, Yang Ni, Bernadette Dorizzi and Sonia GarciaSalicetti, "Specic Sensors for Face Recognition". International Conference on Biometrics ICB 2006. p 47-54. Colloques Nationaux : Walid Hizem, Yang Ni, Emine Krichen, "Ambient Light Suppression Camera for Human Face Recogntion", Colloque Read05 Rétines électroniques, Asic-FPGA et DSP pour la vision et le traitement d'images en temps réel. p 21-23, Juin 2005. B. Dorizzi, S. Garcia-Salicetti, W. Hizem, L. Allano et Y. Ni, "Capture infrarouge et fusion multimodale de scores dans le projet VINSI : Vérication d'Identité Numérique Sécurisée Itinérante", Workshop Interdisciplinaire sur la sécurité globale, Janvier 2008. 115 Annexe B "Active dierential CMOS imaging device for human face recognition" [1] Yang Ni, E. Krichen, W. Hizem, S. Garcia-Salicetti and B. Dorizzi, Active dierential CMOS imaging device for human face recognition", Signal Processing Letters, IEEE , vol.13, no.4, pp. 220-223, April 2006. 117 220 IEEE SIGNAL PROCESSING LETTERS, VOL. 13, NO. 4, APRIL 2006 Active Differential CMOS Imaging Device for Human Face Recognition Yang Ni, Emine Krichen, Walid Hizem, Sonia Garcia-Salicetti, and Bernadette Dorizzi Abstract—This letter describes an original CMOS imaging system dedicated to human face recognition. The main interest of this work is to provide ambient light invariant images and facilitate segmentation of the face from the background. This system has been implemented in a specially designed CMOS smart image sensor with only one analog memory per pixel. This simple pixel design gives the possibility to incorporate this functionality into classic low-cost CMOS image sensors. One of its possible applications is face recognition, since the human face appearance is dramatically dependent on illumination conditions. A first indoor experience with different illumination conditions shows that a simple correlation-based verification algorithm on face images of 25 people of the INT database gives promising results. To cope with this problem, another approach relies in the combination of a specific sensor with a dedicated algorithm. Such a sensor can remove or considerably reduce the image dependency on ambient illumination, leading to a more reliable recognition system. This consideration is the main motivation of this work. We present here a complete face verification system with a smart CMOS imaging device combined with a computationally light correlation-based algorithm. This system has been tested on a database of 25 individuals, acquired with this imaging device and a normal CCD camera. Index Terms—CMOS sensor, correlation, differential imaging, face recognition. II. SMART CMOS IMAGE SENSOR I. INTRODUCTION H UMAN face recognition is a complex computer vision problem. In the visible/near-infrared spectrum, an image is formed by the reflection of ambient light sources. This reflected image formation makes the visual aspects of a human face dramatically dependent on lighting conditions. Indeed, the same human face can have very different visual aspects under different illumination source configurations, which makes face verification very difficult. However, research on face recognition offers numerous possible solutions. First, geometric feature-based methods [1], [2] are insensitive to a certain extent to variations in illumination since they are based on measures between facial features (e.g., eyes, nose, mouth); the problem with these methods is the precision of the detection of such features, which is far from being straightforward, particularly in bad illumination conditions. Also, statistical methods like principal component analysis [3], Fisherfaces [4], and independent component analysis [5] emerged as an alternative to a certain variability of facial appearance. Such methods, despite success in certain conditions, have the drawback of being reliable only when the face references used by the system and the face test images present similar illumination conditions; for this reason, some studies have proposed to model illumination effects [6]. Manuscript received May 3, 2005; revised October 19, 2005. This work was supported by the GET (Groupe des Ecoles de Télécommunications) and the French government under the Bio_MUL project. The associate editor coordinating the review of this manuscript and approving it for publication was Dr. Mauro Barni. The authors are with the Institut National des Télécommunication, 91160 Evry, France (e-mail: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]). Digital Object Identifier 10.1109/LSP.2005.863661 Our proposal is based on an active differential imaging principle. Indeed, in the presence of ambient light, one of the solutions is to use an artificial light source attached to the imaging system, of greater intensity than the ambient light to diminish the effect of the latter (using a synchronized flash bulb is one example). This solution is the simplest one, but the associated power consumption is a big issue because in an outdoor configuration, the ambient light level can be very high. Another alternative is to use a differential imaging method. In this case, two images are captured: one image with the artificial light on and the other one with the artificial light off. The output image is obtained from the difference between these two images. This way, all the stationary objects illuminated by the light sources will be removed. This solution is very interesting because the ambient light suppression is based only on the spatiotemporal stationarity of the light. In order to verify this condition, the differential process needs to be much faster than the possible spatiotemporal change during the double-image shooting. Therefore, a specially designed sensor that can give the differentiated images directly is highly preferable. Besides, we think that this special image sensor should be compatible with the usual physical constraints, such as optic size and power consumption imposed on a classic image sensor. The first smart sensor with this purpose has been designed by Toshiba [8]; it has the advantage of optimizing the time interval between the images ON and OFF (the differentiation is done during the readout phase by a differential amplifier) but results in a large pixel pitch (50 um) that gives not only low spatial resolution (64 64 pixels) but also an optical size problem. We propose a very simple active differential image sensing, carried out totally on-chip, without any other component. The basic idea is the following. In the first phase, we capture the “ON” image by setting the pixel array in parallel mode (all pixels take the image at the same time), and the captured image is stored in the analog memory. Then, in the second phase, we 1070-9908/$20.00 © 2006 IEEE NI et al.: ACTIVE DIFFERENTIAL CMOS IMAGING DEVICE FOR HUMAN FACE RECOGNITION 221 Fig. 3. Fig. 1. Samples of normalized faces. Structure of the pixel. Fig. 4. Segmentation and preprocessing (size normalization, grey-level normalization, smoothing). Fig. 2. Active differential imaging system. capture the “OFF” image, during the differential image readout phase. The sensor has a special pixel design (see Fig. 1). Each pixel has a photodiode and an analog memory cell. Image capture begins with a photodetector’s reset (Prec) and terminates with a charge transfer (Samp) into the analog memory (MA in Fig. 1). During the first phase (“ON” image capture), we expose the whole matrix of pixels to ambient light with an infrared flash. In the second phase (OFF image capture), in order to have the differential operation at the same time as the read-out phase, we expose, only to ambient light, the matrix line by line. Right after the first phase, we load the line to be exposed in a line buffer (LB1). Then, we expose this line of pixels (phase 2), and we load it in a second buffer (LB2). Finally, we calculate the difference of the two lines. The designed prototype sensor chip has a resolution limited to 160 120 pixels. A flash ADC with 8-bit resolution has been incorporated on the same chip that gives a readout speed greater than 10 MHz [9]. A prototype camera system has been realized with an interface to PC for image capturing and storing (see Fig. 2). III. ASSOCIATED FACE VERIFICATION ALGORITHM A. Face Segmentation and Verification The first step is to extract the face from the original image. Our approach consists of taking advantage of the fact that the background is much darker than the area of the face. Segmentation of the face is carried out through a binarization process that involves the use of 1) adaptive threshold; 2) object labeling following the hierarchical connected components method; 3) simple face test; 4) face extraction step. Our face test (step 3) is based on the size of each object detected. We consider each connex component; if its size is in the range of an acceptable face size, the object is labeled as a face; otherwise, we may make a closing to concatenate the object, considered as small, to other small neighboring objects (to concatenate the object, considered as small, to other small neighboring objects) if the object size is less than a minimum associated threshold. This is the case in particular when the face is segmented in two parts due to the presence of a beard or of a differently colored headband on the upper face. We can also perform opening (to separate the object, considered as large, from other large neighboring objects) when the object size is greater than a maximum associated threshold. The segmentation process is shown in Fig. 4. Before performing recognition, we must normalize the images; this step is very important independently of the algorithm involved later [7]. In general, normalization relies on eyes’ localization, but this may not be feasible in our case because of people wearing glasses. For this reason, the only possible normalization is on face size. We chose the 100 70 pixels normalized format and applied a histogram equalization to a normalized image, to perform grey-level normalization. We also applied Gaussian smoothing to the face image as a preprocessing before performing correlation-based algorithms. Fig. 3 shows examples of resulting normalized and preprocessed face images. B. Recognition Process and Results The verification process is done by computing the Euclidian distance between a reference image template (template) and a test image. As the grey-level corresponding to the background is known, during distance computation, pixels from the background are not taken into account. The resulting Euclidean distance between a reference image and a test image is compared to a decision threshold. If the distance is lower than a threshold, the claimed identity is accepted; if not, it is rejected. 222 IEEE SIGNAL PROCESSING LETTERS, VOL. 13, NO. 4, APRIL 2006 TABLE I DIFFERENT TEST SCENARIO USING INT DATABASE Fig. 5. Samples of the INT database for the same person. (Top) Images from the four sessions for the DiffCam. (Bottom) Images from the normal CCD camera. For experimental evaluation purposes, we have registered face images using the prototype camera described above, in the framework of a multisession and multicamera database called the INT database. To study the resistance of the whole system (sensor and algorithm) to illumination effects on faces, a 25-person database of faces has been constructed with two cameras: the active differential imaging device (DiffCam) and a normal CCD camera (Normal CCD). There are four sessions representing different illumination conditions. The first session is taken indoors with ambient daylight and artificial light; this session is denoted “Normal Light.” The second session is taken indoors with very few ambient light (no artificial light, little daylight); this session is denoted “No Light.” The third session is taken indoors in the same ambient light conditions as those of the first session but, in addition, with an artificial light source (a desk lamp) in front of the face; this session is denoted “Frontal Light.” Finally, in the fourth session, the artificial light source was moved to the right side of the face; this session is denoted “Side Light.” Images from all sessions are shown in Fig. 5. In each session, we have taken ten images per person and per camera. Thus, 40 images per person and per camera are available. The DiffCam image resolution is 160 120, and the CCD camera image resolution is 320 280. Frontal face images are captured at 50 cm from each device. Small rotations of faces were tolerated during acquisition as well as a limited variation of expressions. Also, anyone could wear glasses, regardless of whether spot reflections obscured the eyes. In our experiments, we have chosen five images of each person as reference images and five others as test images. We consider six test scenarios in which reference and test images were acquired in different illumination conditions. Table I shows the results obtained in each scenario for each type of sensor. Results are expressed in terms of equal error rates (EERs), the point in which the false acceptance (FA) rate is equal to the false rejection (FR) rate [10]. Such a point corresponds to a specific value of the decision threshold. Each test scenario is defined by a couple of illumination conditions, respectively, reference and test image acquisition conditions denoted in Table I as “Reference condition vs. Test condition.” As shown in Table I, we notice that the DiffCam outperforms in all cases the normal CCD camera. Despite the limitation of this experiment (25 persons), the gap between the performances of the two cameras is significant. Fig. 6. DET curve for the test scenario “normal light vs. facial light.” As the EER represents only one “working point” (a given value of a ratio of FA and FR) in a biometric system, in order to compare more precisely the two sensors, we have plotted the DET curve [11] (see Fig. 6). In such curve, the FA is plotted against the FR. Again, the DiffCam clearly outperforms the CCD camera at any “working point.” IV. CONCLUSION In this letter, we have described a complete face recognition system based on an original CMOS image sensor and a computationally low-cost algorithm. The smart CMOS sensor in this system gives very stable face images, invariant under most environmental conditions. First, verification experiments carried out on face images under various illumination conditions were performed with several protocols. Because this imaging device provides uniformly dark backgrounds and a stable illumination of the face independently of surrounding lighting conditions, we intentionally used a very simple matching (verification) method, namely, pixel-level correlation, and measured its resistance to important illumination variability. NI et al.: ACTIVE DIFFERENTIAL CMOS IMAGING DEVICE FOR HUMAN FACE RECOGNITION Our experiments show that the DiffCam coupled with the pixel-level correlation algorithm has a good performance, even in the presence of strong illumination variability, and outperforms clearly the normal CCD camera coupled with the same recognition algorithm. Such a system is particularly suited for face verification on mobile platforms like smart phones, since the mobility context involves a great variability of lighting conditions and complex backgrounds and also a strong hardware performance limitation. Our intimate conviction is that this prototype system has great room for improvement, especially by increasing sensor resolution and frame rate. REFERENCES [1] R. Brunelli and T. Poggio, “Face recognition: Features vs. templates,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 15, no. 10, pp. 1042–1053, Oct. 1993. [2] S. Li and J. Lu, “Face recognition using nearest feature line,” IEEE Trans. Neural Netw., vol. 10, no. 2, pp. 439–443, Mar. 1999. 223 [3] M. A. Turk and A. P. Pentland, “Face recognition using eigenfaces,” in Proc. IEEE Conf. Computer Vision Pattern Recognition, Jun. 1991, pp. 586–591. [4] J. Li, S. Zhou, and C. Shekhar, “A comparison of subspace analysis for face recognition,” in Proc. IEEE Int. Conf. Acoustics, Speech, Signal Processing, vol. 3, Apr. 2003, pp. 121–124. [5] M. S. Bartlett, J. R. Movellan, and T. J. Sejnowski, “Face recognition by independent component analysis,” IEEE Trans. Neural Netw., vol. 13, no. 6, pp. 1450–1464, Nov. 2002. [6] A. Georghiades, P. N. Belhumeur, and D. J. Kriegman, “From few to many: Illumination cone models for face recognition under variable lighting and pose,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 23, no. 6, pp. 643–660, Jun. 2001. [7] Colorado State University. Evaluation of Face Recognition Algorithms. [Online]http://www.cs.colostate.edu/evalfacerec/. [8] H. Miura, H. Ishiwata, Y. Lida, Y. Matunaga, S. Numazaki, A. Morista, N. Umeki, and M. Doi, “A 100 frame/s CMOS active pixel sensor for 3D-gesture recognition system,” in IEEE Int. Solid-State Circuits Conf., 1999, pp. 142–143. [9] Y. Ni and X. L. Yan, “CMOS active differential imaging device with single in-pixel analog memory,” in Proc. IEEE Eur. Solid-State Circuits Conf., Sep. 2002, pp. 359–362. [10] S. J. Raudys and A. K. Jain, “Small sample size effects in statistical pattern recognition: Recommendations for practitioners,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 13, no. 3, pp. 252–264, Mar. 1991. [11] A. Martin, G. Doddington, T. Kamm, M. Ordowski, and M. Przybocki. The DET Curve in Assessment of Detection Task Performance. [Online]http://www.nist.gov/speech/publications/papersrc/det.doc. Annexe C Near infrared sensing and associated landmark detection for face recognition [2] Walid Hizem, Yang Ni and Bernadette Dorizzi, "Near infrared sensing and associated landmark detection for face recognition", J. Electron. Imaging 17, 011005 (2008). 119 Near Infrared Sensing and Associated Landmark Detection for Face Recognition Walid Hizem, Yang Ni and Bernadette Dorizzi INT\GET, 9 Rue Charles Fourier, Evry, France; {Walid.Hizem, Yang.Ni, Bernadette.Dorizzi}@int-edu.eu ABSTRACT We present, in this work, a new system of Near-Infrared capture that aims to eliminate ambient light effects. We designed this sensor to be integrated into the mobile platform VINSI. One of the originalities of this sensor is that we can acquire two images at the same time: one in infrared and the other in visible light. We developed a novel method for landmark detection of sufficiently low complexity so that it can be implemented on our mobile platform. We tested this method on three different near-infrared face databases, and we observed stability in the precision of localization over these databases associated to performance comparable to the state of the art. Keywords: Near-Infrared sensing, Landmark Detection, illumination suppression 1. INTRODUCTION The illumination problem is one of the limitations in face recognition, especially in an outdoor environment. In (1 ), the influence of the illumination - in the uncontrolled session in FRGC (Face Recognition Grand Challenge) - on the performance of the algorithms can be easily observed as the performance decreases by a factor of 1.6 between the controlled and uncontrolled cases. There are two solutions to tackle this problem. The first and most commonly used one is to eliminate analytically the illumination effect (2 )(3 )(4 ). However, the performance of these algorithms depends on the quality of the original image and the conditions of illumination. The analytical approach has also the disadvantage of being complex and time consuming. These algorithms are therefore not suitable for mobile devices where the processing capacities and memory are limited. The other direction (active approach) is to design active imaging techniques to obtain face images captured under consistent illumination conditions. The VINSI (Vérification d’Identité Numérique Sécurisé Itinérante) project aims at designing and implementing a mobile device for biometric identity verification through face and fingerprints. This device could be used to verify the identity of travellers carrying a biometric visa or passport. In this context of mobility and high illumination variations, active approaches are recommended. We therefore designed a new sensor capable of acquiring simultaneously a normal-light image and an image in near infrared, thus allowing us to suppress the influence of the ambient light. The accurate finding of landmark position (like position of the eyes, the nose, the mouth) is an important process for image normalization (scale, pose and face expressions), and it is an a priori treatment before any face verification procedure. Landmarks can be well detected on Near InfraRed (NIR) images while their determination is more difficult in saturated normal lightened images because some part of the face could be undetectable. By acquiring both images at the same time, we can detect the facial landmarks in the NIR image and subsequently position them on the normal light image. We propose in this paper a new scheme for accurate landmark detection on NIR images which we validate on several different databases acquired in our laboratory. One of the characteristics of thes scheme is its ability to be integrated in the sensor itself. Our paper is divided into four sections. After a brief recall of the state of the art in Near Infrared sensing, we describe in more details the architecture and design of our VINSI sensor. A description of our landmark detection method, suitable for mobile devices, is presented in the third section. Finally, we validate our approach on different near-infrared face databases at our disposal. 2. NEAR INFRARED SENSORS Active sensing consists of eliminating ambient light during the acquisition of the image. In this process, the acquired image depends on an additional and controlled light and therefore requires a dedicated sensor. In this paper we will focus on infrared sensors for ambient lighting suppression. These sensors use the near infrared lighting to illuminate the scene instead of the ambient light. Much recent research (5 )(6 ) has been done on this type of image, but using different sensor architectures. The most robust architecture relies on the differential acquisition. It is assumed that the ambient light is a DC component, so it can be suppressed by using a differential process. Two images are then acquired; one with ambient light and the second one with a near infrared light (7 ) and then a subtraction is performed between the two images. The resulting image is in near infrared. The disadvantage of this method is that the subtraction is done outside the sensor, which slows the acquisition flow and in consequence a motion problem can appear. In (8 ) we have shown that the differential operation can be done in the sensor. The idea is to do the subtraction analogically in the sensor. With this procedure we have improved the ambient light suppression resulting in a faster sensor than the method subtracting the two images outside the sensor. Another method uses a visible cut filter in the front of the camera (9 )(10 ) and adds a near infrared illumination. This solution is optimized for indoor acquisitions or dark environmental conditions but not in situations where ambient light contains too much Near Infrared (sunlight) in which the long acquisition time does not allow any attenuation of ambient light. In our laboratory, we developed another ambient light suppression sensor based on a CCD sensor with a pulsed flash (11 ) as a preliminary step forwards the actual VINSI sensor presented in 3. In this approach, we have shortened the acquisition time and we have used a synchronized flash. This sensor is based on a modified Logitech QuickCam Pro 4000 webcam equipped with a CCD sensor and the exposure time was controlled by the software of the webcam. The resolution of this camera is 640 × 480. This solution presents the advantage of being built on a standard sensor similar to the differential sensor, but the acquisition time is set by software and then can’t be set freely. We developed then a new sensor (VINSI infrared sensor) that can achieve an acquisition in infrared with programmable acquisition time and in ambient light with a small delay time (20ms). 3. VINSI INFRARED SENSOR This new sensor can therefore acquire successively images in ambient and in infrared light. The acquisition is nearly simultaneous: indeed the delay time is only 20ms. We combined the video acquisition protocol and the FlashCam principle to perform the dual acquisition. The output of our sensor is an image composed of two frames, the odd one being the visible image and the even one, the near infrared image. During the acquisition of the visible image, the Timing and synchro generator component fix the acquisition time. The integration time of the CCD sensor is set by the lapse of time between the last reset signal of the substrate (Vxsub) and the transfert signal (Vxsg). During the odd frame, we use the same principle as in the FlashCam. We modify the reset signal Vxsub by adding extra ones before the charge transfer from the CCD matrix to the charge lecture circuit (Vxsg). By this way, we are reducing the exposure time of the pixels (fig.1). During this time, we activate the flash through the Vled signal. We settled the exposure time in the odd frame to 50µs. This exposure time is short enough to suppress the ambient light and long enough to have a good image quality in the near infrared spectrum. Figure 1. Acquisition Principle The VINSI infrared sensor is a Black and White CCD of 500 × 582 (TV resolution) pixels. The architecture of the module is shown in figure. 2. The module is composed of the CCD, a Samsung component, controlled via the vertical CCD driver with a Timing and synchro generator. We use the outputs of this component to control the acquisition mode and timing. We add to the CCD module a Video Sync Separator LM1881 and an ATMEGA32 microcontroller. To have a good image quality in infrared, we designed a flash composed of 40 LEDS surrounding the lens of the camera (2). We choose a powerful LEDS that can be pulsed and can emit an infrared light of 880nm. In order to get optimized images, the subject must stand at 50cm from the camera. Figure 2. Architecture of the VINSI Module This distance depends on the radiant intensity and on the optic used in the prototype. After the acquisition phase, we extract the frames from the video and separate the odd and even lines from each frame. A linear interpolation allows the production of 2 images: one in near infrared and a second in visible light. We see in figure.3 that the ambient light has no effect on the near infrared image. The suppression of the ambient light is therefore very efficient. Figure 3. Image subsampling from the VINSI sensor 4. LANDMARKS DETECTION During the development of the sensor described above, we noticed the remarkable image stability across illumination variation. We therefore know that the landmark detection performed on these images will be of equal quality, independently of the illumination conditions, contrary to what occurs in the case of normal light images. Moreover, we developed a landmark detection algorithm suitable for this type of images with the constraint of an easy integration on the chip. This does not allow us the use of statistical models, neither of high complexity methods. Taking into account that the characteristics of the near infrared images is their high contrast which facilitates the edge detection, we first apply a height-direction edge filter (figure 4). The resulting image accen- Figure 4. Edge detection in Infrared images tuates the edges of the face and the landmarks (namely eyes, nose, mouth). We have noticed that a horizontal projection allows us to detect the ordinate of the landmarks (5 )(10 ). The maxima of the projection coincide with the eyes, the nose, the mouth, the chin and the nostrils. Therefore, we are going to analyze the area of those maxima to find out the position of the landmarks at interest (namely the eyes, the nose and the mouth which are the most stable and common landmarks. The same processing has been done on the visible images. Due to Figure 5. Samples of acquired images and corresponding edge detection the sensitivity of the edges to the illumination, the edge image doesn’t contain enough information to be treated as the infrared image. Indeed, we can see in figure 6 that due to the illumination problem, we can’t get the right part of the face in the edge image. Figure 6. visible and infrared edge image Detection of the mouth: The analysis of the three bottom pre-selected areas (by the horizontal projection) will lead us to the ordinate of the mouth. The mouth is present in the area where we can find the longest horizontal line. We apply an opening operation in the pre-selected region with a line structuring element to highlight the line elements. The longest line is selected by a horizontal projection. After that we calculate the barycentre of that line to fix the centre of the mouth. Detection of the nose: The nose is selected from the zones which were pre-selected during the horizontal projection. The nose is indeed located just above the mouth. So, we analyze the upper areas of the mouth where we can find the model of the nose (presented in figure 7). Using a vertical projection, we will find two important gradients relative to the nose vertical borders. Figure 7. Model of the nose Detection of the eyes: The eyes are selected from the upper pre-selected zones, just above the nose. Erosion with a round structuring element in those areas will allow to select the two bigger area. Depending on their size we will know whether the zone contains or not the eyes. The centre of each eye is obtained by calculating the barycentre of the two main objects in that zone. 5. EXPERIMENTATIONS In order to validate and test our method and the robustness of the VINSI sensor, we have acquired two databases called IV2 and INT-VINSI. We also tested our algorithm on images acquired with other infrared sensors in order to study its stability relative to the different NIR datasets. In this context, we have tested our method on the Differential sensor (DiffCam(8 )) using the BIOMET infrared database (12 ) . 5.1 Databases Description : Infrared IV2 face database: We took advantage of a recent acquisition campaign in our institute to acquire this infrared face database using a first version of our sensor. This sensor was equipped with a wide angle lens (fisheye lens), and that led to hemispherical images. The acquisition took place in an indoor environment. We built a booth with a system designed to control the illumination composed of four halogen lamps: two behind the subject, one at his right and the last one at his left. There are 50 people in this database. For each person, we have at our disposal a video of 40 seconds. The resolution of those videos is 640x480. Every ten seconds we change the illumination conditions: all the four lamps are on, all the four lamps are off, left illumination and right illumination. We have extracted 10 images from videos from which we separate the odd and even frames in order to get the infrared image and the visible one. Some samples of this data base are shown in figure. 8. Note that none of the subjects wear glasses. Figure 8. Samples of the visible light images in the IV 2 database INT-VINSI face database: This database contains a set of 25 persons acquired in two sessions over several weeks. Each session contains three videos of ten seconds recorded using the VINSI infrared sensor. Three different illumination conditions are considered for each video. The difference with the previous database lies in the lens used in the sensor (6mm); we also modified the flash to a more powerful one. The first session corresponds to an ambient office lighting. In the second session we illuminate the face with a light source directed to the left. The last one is taken near an open window. The face is illuminated laterally from the right. The intensity of the illumination depends on the daytime and on the weather. Some samples of this database are illustrated in figure 9. BIOMET: This NIR face database was acquired during the BIOMET acquisition campaign (12 ) with the differential sensor(8 ). The resolution of the images is 160x120 i.e: lower than in the two previous databases. We have excluded from our tests people who wear glasses, in order to avoid the problem of reflection. Figure 9. Sample of the INT-VINSI database 5.2 Performance: The criteria that we use for landmark detection evaluation is the one originally proposed by Jesorsky and al.(13 ). This criterion is based on the intraocular distance as follows: deye = max(dl , dr ) k Cl − Cr k Where Cl , Cr are the real centre of the left(respectively right eye) and dl , dr are the distances between the detected eye left (respectively right) centre and the real left (respectively right) eye coordinate. Note that the real centre positions are detected manually and can be subject to some error. To measure the performance of the nose and mouth detection, we used the same principle as for deye : dnose = dn kCl −Cr k , where dn is the distance between the detected position of the nose and the one manually determined. dmouth = dm kCl −Cr k , where dm is the distance between the detected position of the mouth and the one manually determined. In (14 ), it was established experimentally that in order to perform a good verification, the deye localization precision has to be lower than 0.05. In other work(13 ), it is shown that for an eye localization accuracy of 0.25, the centre of the eye can still be detected inside the eye region. The results of the tests on the IV2 database are shown in figure 10. Our method has a ratio of 75% of good eye localization at factor of 0.05 on the IV2 database. The performance of our method on the INT-VINSI database is shown in figure 11. On this database the precision of the eye localization is better than on the IV2 database. Indeed, even if we use the same capture method, images in INT-VINSI are of better quality (no hemispherical distortion and deye 100 80 60 40 20 0 0 0.1 0.2 0.3 0.4 0.5 d 100 80 80 60 60 40 40 20 20 0 0.2 0.4 0.6 0.7 mouth 100 0 0.6 d nose 0.8 1 0 0 0.2 0.4 0.6 0.8 Figure 10. Cumulative histograms of deye , dmouth and dnose (IV 2 ) Figure 11. Cumulative histograms of deye , dmouth and dnose (INT-VINSI) availability of a better flash). We notice that we have a ratio of 80% for deye = 0.05. The performance on the BIOMET database is shown in figure 12. Figure 12. Cumulative histograms of deye (BIOMET) We just measured the error of the eye localization for BIOMET, because we do not have at our disposal the mouth and the nose position. We reach a localization rate of 80% for deye =0.1 in this database. This is less good than the previous results, because of the limited size of the face in the images (the average size is 50 × 70pixels). 6. CONCLUSION In this work we presented a new sensor for ambient light suppression. This sensor is to be imbedded in the VINSI mobile platform to control the identity of citizens who hold biometric passports. This new sensor is capable of acquiring two images at the same time: the first one is taken in visible light; the second in near-infrared. We also developed a method of landmark detection which we tested on near infrared images acquired with different types of sensors. The best result, in terms of precision of the localization, was found on the images acquired with our new VINSI sensor, which was to be expected because they have the best quality. However, our experiments show that this method can be used on different types of infra-red images and with sufficiently good results. Better performance could eventually be obtained with learning-based methods (such SVM in(15 )), but these methods can not be simply implemented on a mobile device having limited resources; for these reasons we did not considered them. Our future works will aim to use these NIR landmarks to provide eye localization on the associated visible image for further processing. Another direction concerns the realization of a verification algorithm for NIR images suitable for analogical architecture. ACKNOWLEDGMENTS This work has been founded by the French project VINSI (Vérification d’identité Numérique Sécurisé Itinérante) REFERENCES 1. P. Phillips and Al., “Overview of the face recognition grand challenge,” Conference on Computer Vision and Pattern Recognition 1, pp. 947 – 954, 2005. 2. S. Shan and Al., “Illumination normalization for robust face recognition against varying lighting conditions,” IEEE International Workshop on Analysis and Modeling of Faces and Gestures , pp. 157–164, 2003. 3. D. Jobson, Z. Rahman, and G. Woodell, “A multiscale retinex for bridging the gap between color images and the human observation of scenes,” IEEE Transactions on Image Processing 6, pp. 965–976, 1997. 4. X. Xie and K. Lam, “An efficient illumination normalization method for face recognition,” Pattern Recognition Letters 27, 2005. 5. J. Dowdall, I. Pavlidis, and G. Bebis, “Face detection in the near-ir spectrum,” Image and Vision Computing 21, pp. 565–579, 2003. 6. D. Li and W. Liao, “Facial feature detection in near infrared images,” Proc. Fifth Int’l Conf. Cumputer vision Pattern Recognition and Image Processing , pp. 26–30, 2003. 7. X. Zou, J. Kittler, and K. Messer, “Ambient illumination variation removal by active near-ir imaging,” Proceedings of IAPR International Conference on Biometric , pp. 19–25, 2006. 8. Y. NI and X.-L. YAN, “Cmos active differential imaging device with single in-pixel analog memory,” Proceeding of ISSCC02 , pp. 359–362, 2002. 9. S. Z. Li and Al., “Illumination invariant face recognition using near-infrared images,” IEEE Transactions on Pattern Analysis and Machine Intelligence 29(4), pp. 627–639, 2007. 10. W.-H. Liao and D.-Y. Li, “Homomorphic processing techniques for near-infrared images,” Proceedings of Acoustics, Speech, and Signal Processing. (ICASSP ’03) 3, pp. III– 461–4, 2003. 11. W. Hizem and Al., “Specific sensors for face recognition,” Int’l Conf. Audio- and video-Based Biometric Person Authentication , pp. 47–54, 2006. 12. S. Garcia-Salicetti and Al., “Biomet : A multimodal person authentication database including face, voice, fingerprint, hand and signature modalities,” AVBPA Proceedings 2688, p. 1056, 2003. 13. O. Jesorsky, K. Kirchberg, and R. Frisholz, “Robust face detection using the hausdorff distance,” Int’l Conf. Audio- and video-Based Biometric Person Authentication , pp. 90–95, 2001. 14. M. Sadeghi, J. Kittler, A. Kostin, and K. Messer, “A comparative study of automatic face verification algorithms on the banca database,” Proc. Fourth Int’l Conf. Audio- and Video-Based Biometric Person Authentication , pp. 35–43, 2003. 15. X. Zou, J. Kittler, and K. Messer, “Accurate face localisation for faces under active near-ir illumination,” Proceedings of the 7th Int’l Conference on Automatic Face and Gesture Recognition (FGR’06) , pp. 369–374, 2006. List of Figures 1 Acquisition Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Architecture of the VINSI Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 Image subsampling from the VINSI sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 Edge detection in Infrared images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 Samples of acquired images and corresponding edge detection . . . . . . . . . . . . . . . . . . . . 5 6 visible and infrared edge image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 Model of the nose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8 Samples of the visible light images in the IV 2 database . . . . . . . . . . . . . . . . . . . . . . . 7 9 Sample of the INT-VINSI database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 10 Cumulative histograms of deye , dmouth and dnose (IV 2 ) . . . . . . . . . . . . . . . . . . . . . . . 9 11 Cumulative histograms of deye , dmouth and dnose (INT-VINSI) . . . . . . . . . . . . . . . . . . . 9 12 Cumulative histograms of deye (BIOMET) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9