Test de la reconnaissance des visages

In document Reconnaissance et suivi de visages et implémentation en robotique temps-réel (Page 76-93)

Les taux de bonnes classifications pour un ensemble de test comptant 60 visages diff´erents pour l’apprentissage et 69 prises de vue de ces 60 visages pour le test sont pr´esent´es `a la figure6.4. Les m´ethodes test´ees sont la simple classification `a partir des images d’origine, la classification utilisant les sous-r´egions s´electionn´ees par la technique pr´esent´ee au chapitre 4 et idem avec les images ayant subi un traitement contre l’illumination.

Ce r´esultat est `a replacer dans son contexte: deux facteurs principaux le d´emarque des situations de tests rencontr´ees dans les articles de la litt´erature.

• Les visages ont ´et´e cadr´es par l’algorithme de localisation de visages de Viola et Jones et aucune op´eration visant `a recentrer le visage par rapport `a sa fenˆetre de d´elimitation, `a mettre le visage droit ou `a gommer un background gˆenant n’a

´et´e effectu´ee. Par exemple, l’article de Deng et al. [16] obtenant des r´esultats

Figure 6.4: Taux de bonnes classifications obtenus `a partir des images originales (BMP), des images originales et en utilisant la technique de la division en sous-r´egions trait´ees s´epar´ement (COMBI) et idem avec un pr´etraitement d’illumination (COMBI+ILLU).

avoisinant les 95% place les yeux au pixel pr`es dans une fenˆetre de d´elimitation de 128×128 pixels2.

• La dimension de l’image est de 60×60 = 3600 pixels2pour rejoindre les dimensions que l’algorithme rencontrera lors de son utilisation avec le robot Nao. Dans la litt´erature, des dimensions sup´erieures `a 10000 pixels2 sont souvent rencontr´ees [42, 4].

Conclusion

L’objectif de ce m´emoire ´etait de concevoir et d’impl´ementer sur un petit robot hu-mano¨ıde, Nao, une application de reconnaissance faciale capable, en temps r´eel, de reconnaˆıtre les visages et de diriger le regard de Nao vers eux apr`es une seule prise de vue. Vu la quantit´e de logiciels potentiels pouvant se baser sur cette application, celle-ci devait r´epondre `a des exigences de rapidit´e et de robustesse des r´esultats.

En ce sens, la premi`ere partie de l’application qui consiste `a localiser les visages employe l’algorithme de Viola et Jones [38], largement reconnu comme m´ethode fonc-tionnant en temps r´eel et fournissant des r´esultats robustes et fiables. Il s’est av´er´e que l’algorithme d´etectait une proportion tr`es ´elev´ee (>98%) des visages pr´esent´es de face et plus de 94% des visages qui s’´ecartaient de la position frontale de moins de 20. Ces r´esultats sont consid´er´es amplement suffisants pour son utilisation par le logiciel d´evelopp´e.

Les visages localis´es sont extraits et font l’objet du traitement d’illumination propos´e par Tan et al. [33] qui est compos´e de deux ´etapes majeures. Tout d’abord l’´el´evation `a une puissance qui diminue l’influence de l’intensit´e d’illumination sur la couleur per¸cue d’un pixel. Ensuite une filtration par diff´erence de gaussiennes qui supprime les basses fr´equences contenant les effets non d´esirables des ombres et les hautes fr´equences con-tenant l’aliasing et le bruit.

La seconde partie de l’application s’occupant de la reconnaissance des visages localis´es convertit d’abord l’image en ’mod`eles binaires locaux’ et ensuite divise l’image en sous-r´egions pouvant se chevaucher. Enfin, un comptage des mod`eles binaires locaux est r´ealis´e pour chaque sous-r´egion et les histogrammes ainsi obtenus servent de base `a la comparaison d’individus.

La conversion en mod`eles binaires locaux aboutit `a une description de l’image en termes des structures, coins ou arˆetes, auxquelles appartiennent les pixels de l’image.

Ainsi, deux pixels de mˆeme couleur appartenant respectivement `a une arˆete verticale et une arˆete horizontale auront deux mod`eles binaires locaux associ´es diff´erents d´evrivant

leurs types de structure (ici: deux arˆetes) et leurs orientations (ici: verticale et horizon-tale). Cette description en termes de coins et d’arˆetes est une premi`ere interpr´etation de l’image et donne une signification plus pertinente aux valeurs des pixels.

La division peut se faire de beaucoup de mani`eres diff´erentes et certaines zones du visages ne sont parfois pas du tout consid´er´ees pour la classification. De la mˆeme fa¸con, certaines combinaisons sont plus aptes `a reconnaˆıtre les visages que d’autres.

Trouver la meilleure combinaison de sous-r´egions est difficile vu leur nombre. Ainsi, trouver la meilleure association de trois sous-r´egions contenues dans un visage de 60×60 pixels2, signifie s´electionner 1 combinaison parmi 6.2597×1018 candidats.

La solution propos´ee `a cette situation est d’op´erer une pr´es´election. La technique consiste `a classer les sous-r´egions au sein de chaque cat´egorie de dimensions et de pr´es´electionner ensuite la meilleure combinaison des meilleures sous-r´egions de chaque cat´egorie.

La m´ethode de pr´es´election a comme principaux d´efauts de (1) ne s´electionner au maximum qu’une sous-r´egion par cat´egorie de dimensions et (2) de ne pas garan-tir par son fonctionnement intrins`eque une pr´es´election dont la compl´ementarit´e des

´

el´ements accordera au classifieur final les meilleures performances. Une am´elioration de la m´ethode propos´ee consisterait alors `a diviser l’image en plusieurs ’macro sous-r´egions’

au sein desquelles des classements entre sous-r´egions de mˆeme surface seraient effectu´es.

Ensuite chaque macro sous-r´egion apporterait ses sous-r´egions d’´elite `a la pr´es´election.

Figure 6.5: R´esultat de la param´etrisation des sous-r´egions trait´ees s´epar´ement durant la reconnaissance. Les zones 1 et 2 ont un poids de 5 tandis que les deux autres ont un poids de 1.

La meilleure combinaison obtenue (voir fig. 6.5) en utilisant la m´ethode d´evelopp´ee est constitu´ee de petites sous-r´egions inclues dans des sous-r´egions de plus grandes

di-mensions qui englobent la totalit´e des ´el´ements cl´es du visage tels que les yeux, la bouche et le nez. Or, il ´etait attendu plusieurs sous-r´egions de dimensions moyennes ne se chevauchant que l´eg`erement. Ce r´esultat est probablement influenc´e par le nombre de sous-r´egions consid´er´ees impos´e `a quatre. L’´etape suivante du d´eveloppement serait donc de voir, avec un ordinateur le permettant, si ces sous-r´egions de grande taille sont toujours pr´esentes pour une combinaison d’un nombre plus ´el´ev´e.

Les plus petites sous-r´egions se r´epartissent sur un seul cˆot´e du visage, ph´enom`ene qui pourrait ˆetre du `a la sym´etrie du visage qui rend inutile la connaissance d’une sous-r´egion si son homologue sym´etrique est d´ej`a connu. Ce dernier r´esultat est int´eressant et devrait faire l’objet de plus d’´etudes pour le g´en´eraliser.

Dans le cas d’un nombre fixe de 4 sous-r´egions combin´ees, l’analyse de la distribution des poids fait remarquer que les sous-r´egions de petites dimensions centr´ees sur des

´

el´ements cl´es du visage semblent aider le reconnaisseur de visage `a se diriger vers la bonne d´ecision par de petites influences tandis que les sous-r´egions de grandes dimensions indiquent la direction g´en´erale.

Au vu de cette m´ethode de pr´es´election qui ne garantit pas d’obtenir la combinaison dont les sous-r´egions sont les plus compl´ementaires, ce m´emoire propose une m´ethode de g´en´eration de carte dont la consultation permettrait de rep´erer tout de suite les zones du visage `a consid´erer prioritairement.

Le d´eveloppement d’une telle m´ethode s’est r´ev´el´e plus ardu que pr´evu et les prin-cipaux probl`emes `a r´esoudre ont ´et´e les cons´equences n´egatives des effets de bord et la tendance au gommage des contours de la carte lors de l’utilisation de m´ethodes sim-ples. Pour identifier ces probl`emes et cerner leurs cons´equences sur la carte finale, des ensembles artificiels de donn´ees ont ´et´e g´en´er´es et mis sur le banc d’essai. Parmi les propositions qui ont finalement men´e `a la strat´egie finale, une fonction associant la frac-tion d’informafrac-tions discriminatives contenue dans une sous-r´egion au taux de bonnes classifications a constitu´e un tournant.

La solution finalement adopt´ee construit la carte `a partir des taux de bonnes clas-sifications individuels des sous-r´egions. Elle admet deux param`etres : le premier agit pendant la phase de normalisation des donn´ees et permet de jouer sur la pr´ecision de la carte finale en d´efavorisant plus ou moins les sous-r´egions de grande superficie. Le second concerne la r´esolution de la carte finale. A cˆot´e de ces param`etres, il est possible de construire la carte `a partir d’ensembles de sous-r´egions dont une des caract´eristiques, telle qu’une dimension ou la surface, est comprise dans un intervalle particulier.

Toutes ces possibilit´es de configurer la g´en´eration de la carte des zones les plus utiles

`

a la discrimination m`enent finalement `a un large panel de cartes desquelles il est difficile de faire la synth`ese. Ainsi le premier param`etre de pr´ecision s’apparente `a un bouton de mise au point qui produit une multitude de niveaux de r´esultats correspondant `a diff´erents niveaux de d´efavorisation des sous-r´egions de superficie ´elev´ee.

La technique ne r´epond donc pas enti`erement aux attentes de d´epart mais r´esout les premi`eres grosses embˆuches `a la g´en´eration d’une telle carte. Une des premi`eres

´

etapes de la suite du d´eveloppement de cette m´ethode serait de regarder ce que peuvent apporter des techniques statistiques ou d’imagerie.

Figure 6.6: Carte des zones les plus utiles `a la discrimination.

Les pr´esents r´esultats (voir fig. 6.6) permettent d’en savoir un peu plus sur l’organisation des zones les plus utiles `a la discrimination malgr´e qu’ils doivent encore faire l’objet de tests pour ˆetre affirm´es avec certitude. Ainsi il semble que ce ne soit pas les zones com-prenant compl`etement des ´el´ements cl´es du visage tels que les yeux, le nez ou la bouche qui sont les plus utiles `a la discrimination dans le cas de l’utilisation d’histogrammes de mod`eles binaires locaux, mais les zones fronti`eres comme les bords de la bouche (sans doute moins soumis `a des l´egers d´eplacements des l`evres causant l’apparition des dents) ou la r´egion inf´erieure des yeux.

Le logiciel finalement con¸cu reconnaˆıt 85.5% des visages pr´esent´es pour une base de visages de 60 ´el´ements. Avant d’ˆetre compar´e aux r´esultats obtenus dans la litt´erature, une remarque importante est `a faire. Pour reproduire au mieux les conditions r´eelles d’ex´ecution de l’application, les visages utilis´es lors des tests ont ´et´e extraits d’images originales de la base de donn´ees FERRET par l’algorithme de localisation des visages de Viola et Jones impl´ement´e par OpenCV. Par cons´equent, les visages des ensem-bles d’apprentissage et de test pr´esentaient des variations d’´echelles, de cadrages et d’inclinaisons des visages (visages pench´es `a droite ou `a gauche jusqu’`a 7).

De plus, pour reproduire les dimensions des visages qui seront extraits du champ vi-suel de Nao en conditions r´eelles, les visages utilis´es lors des tests avaient des dimensions de 60×60 pixels2.

Les r´esultats obtenus dans la litt´erature atteignent des valeurs sup´erieures `a 95% mais font souvent recours `a des recadrages et mises `a l’´echelle manuels placant les ´el´ements cl´es du visage au pixel pr`es dans une fenˆetre de d´elimitation de surface sup´erieure `a 100×100 pixels2 [42, 4, 16].

Les points cl´es de ce m´emoire sont:

• La proposition d’une m´ethode de s´election d’une combinaison de sous-r´egions pour la classification des visages qui supporte le chevauchement.

• La proposition d’une m´ethode de g´en´eration de cartes des zones les plus utiles `a la discrimination.

• La mise en ´evidence des rˆoles jou´es par les petites et les grandes sous-r´egions dans une combinaison performante.

• La mise en ´evidence du rˆole des zones fronti`eres des ´el´ements cl´es du visage dans la reconnaissance faciale.

• La conception d’un logiciel de reconnaissance sur le robot Nao en tenant compte de ses limitations mat´erielles.

• L’interpr´etation des mod`eles binaires locaux en termes d’arˆetes et de coins.

• L’interpr´etation de la division et de la conversion en histogrammes comme moyen de moduler la quantit´e d’informations spatiales utilis´ee pour la classification des visages.

• La proposition d’utiliser la distance entre les centres de gravit´e de mod`eles binaires locaux identiques comme information spatiale au sein d’une sous-r´egion.

• Une r´eflexion sur ce que pourrait apporter une meilleure collaboration des syst`emes de poursuite et de reconnaissance des visages.

• Une r´eflexion sur la diff´erence entre le temps de rafraˆıchissement et le temps de r´eaction d’un syst`eme.

• La transposition du concept de l’image int´egrale `a celui de l’histogramme int´egral sans laquelle la plupart des simulations de ce m´emoire n’aurait pas pu ˆetre ef-fectu´ee.

La suite du travail pourrait se concentrer sp´ecifiquement sur la g´en´eration de cartes des zones les plus utiles `a la discrimination et la s´election de la meilleure combinaison de

sous-r´egions pour la classification. Je propose tout d’abord l’am´elioration de la gestion de la m´emoire et du processeur des algorithmes utilis´es et l’emploi de machines plus puissantes pour atteindre des r´esolutions plus ´elev´ees et des nombres de sous-r´egions par combinaison plus grands. Ensuite je conseille l’utilisation de base de visages parfaitement homog`enes en ce qui concerne le cadrage, les poses et les inclinaisons des visages.

Cela permettrait d’obtenir des r´esultats plus pr´ecis qui augmenteraient les connais-sances concernant la r´epartition des zones les plus utiles `a la discrimination dans le cas de la classification par comparaison d’histogrammes de mod`eles binaires locaux.

Ensuite, ces connaissances en situation id´eale serviraient `a mieux appr´ehender le probl`eme de la reconnaissance faciale en conditions r´eelles o`u les visages sont soumis `a des variations d’inclinaison, d’orientation, d’illumination et d’expression.

Bibliographie

[1] http://www.aldebaran-robotics.com/.

[2] http://opencv.willowgarage.com/wiki/.

[3] http://face.nist.gov/colorferet/release agreement v1.html.

[4] Timo Ahonen, Abdenour Hadid, and Matti Pietik¨ainen. Face description with local binary patterns: Application to face recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(2006):2037–2041, 2006.

[5] Alberto Albiol, David Monzo, Antoine Martin, Jorge Sastre, and Antonio Albiol.

Face recognition using hog-ebgm. Pattern Recognition Letters, 29(10):1537–1543, 2008.

[6] Gaoyun An, Jiying Wu, and Qiuqi Ruan. An illumination normalization model for face recognition under varied lighting conditions. Pattern Recognition Letters, 31(9):1056 – 1067, 2010.

[7] Peter N. Belhumeur, Jo˜ao P. Hespanha, and David J. Kriegman. Eigenfaces vs.

fisherfaces: Recognition using class specific linear projection. InComputer Vision -ECCV ’96, volume 1064/1996 ofLecture Notes in Computer Science, pages 43–58.

Springer, Heidelberg, 1996.

[8] David Beymer and Tomaso Poggio. Face recognition from one example view. In Fifth International Conference on Computer Vision (ICCV’95), 1995.

[9] Jie Chen, Xilin Chen, Jie Yang, Shiguang Shan, Ruiping Wang, and Wen Gao.

Optimization of a training set for more robust face dectection. Pattern Recognition, 42(2009):2828–2840, 2009.

[10] Songcan Chen, Jun Liu, and Zhi-Hua Zhou. Making flda applicable to face recog-nition with one sample per person. Pattern Recognition, 37(7):1553–1555, 2004.

[11] Songcan Chen, Daoqiang Zhang, and Zhi-Hua Zhou. Enhanced (pc)2a for face recognition with one training image per person. Pattern Recognition Letters, 25(10):1173 – 1181, 2004.

[12] Yong Cheng, Yingkun Hou, Chunxia Zhao, Zuoyong Li, Yong Hu, and Cailing Wang. Robust face recognition based on illumination invariant in nonsubsampled contourlet transform domain. Neurocomputing, 73(10-12):2217 – 2224, 2010.

[13] Cheng-Chin Chiang, Wen-Kai Tai, Mau-Tsuen Yang, Yi-Ting Huang, and Chi-Jaung Huang. A novel method for detecting lips, eyes and faces in real time.

Real-Time Imaging, 9(4):277–287, 2003.

[14] Charles K Chui. An Introduction to Wavelets. Academic Press, Boston, 2002.

[15] Javier Ruiz del Solar and Julio Quinteros. Illumination compensation and nor-malization in eigenspace-based face recognition: A comparative study of different pre-processing approaches. Pattern Recognition Letters, 29(14):1966 – 1979, 2008.

[16] Weihong Deng, Jiani Hu, Jun Guo, Weidong Cai, and Dagan Feng. Robust, accu-rate and efficient face recognition from a single training image: A uniform pursuit approach. Pattern Recognition, 43(5):1748 – 1762, 2010.

[17] B. Fr¨oba and A. Ernst. Face detection with the modified census transform. In Proceedings of the 6th IEEE International Conference on Automatic Face and Ges-ture Recognition AFGR6th IEEE International Conference on Automatic Face and Gesture Recognition AFGR, pages 91–96, Seoul, Korea, May 2004.

[18] Yongsheng Gao and Yutao Qi. Robust visual similarity retrieval in single model face databases. Pattern Recognition, 38(7):1009 – 1020, 2005.

[19] Peg Howland, Jianlin Wang, and Haesun Park. Solving the small sample size prob-lem in face recognition using generalized discriminant analysis. Pattern Recognition, 39(2):277–287, 2006.

[20] Samuel Kadoury and Martin D. Levine. Face detection in gray scale images using locally linear embeddings. Computer Vision and Image Understanding, 105(1):1 – 20, 2007.

[21] Wen-Chung Kao, Ming-Chai Hsu, and Yueh-Yiing Yang. Local contrast enhance-ment and adaptive feature extraction for illumination-invariant face recognition.

Pattern Recognition, 43(5):1736 – 1747, 2010.

[22] Constatine Kotropoulos, Anastasios Tefas, and Ioannis Pitas. Frontal face authen-tication using morphological elastic graph matching. IEEE Transactions on Image Processing, 9(4):555–560, 2000.

[23] Ludmila I. Kuncheva and Christopher J. Whitaker. Feature subsets for classifier combination: An enumerative experiment. In Multiple Classifier Systems, volume Volume 2096/2001 ofLecture Notes in Computer Science, pages 228–237. Springer, Heidelberg, 2001.

[24] Kin-Man Lam and Hong Yan. An analytic-to-holistic approach for face recognition based on a single frontal view. IEEE Transactions on pattern analysis and machine intelligence, 20(7):673–686, 1998.

[25] Hung-Son Le and Haibo Li. Recognizing frontal face images using hidden markov models with one training image per person. In 17th International Conference on Pattern Recognition (ICPR’04) - Volume 1, volume 1, pages 318–321, 2004.

[26] Tai Sing Lee. Image representation using 2d gabor wavelets. IEEE Trans. Pattern Analysis and Machine Intelligence, 18:959–971, 1996.

[27] P.J. Phillips, H. Wechsler, J. Huang, and P. Rauss. The feret database and eval-uation procedure for face recognition algorithms. Image and Vision Computing J, 16(5):295–306, 1998.

[28] P.J. Phillips, H. Wechsler, J. Huang, and P. Rauss. The feret evaluation method-ology for face recognition algorithms. IEEE Trans. Pattern Analysis and Machine Intelligence, 22:1090–1104, 2000.

[29] H.A. Rowley, S. Baluja, and T. Kanade. Neural network-based face detection.IEEE Transactions on Pattern Analysis and Machine Intelligence, 20(1):23–38, 1998.

[30] H. Schneiderman and T. Kanade. Probabilistic modeling of local appearance and spatial relationships for object recognition. Computer Vision and Pattern Recogni-tion, IEEE Computer Society Conference on, 0:45, 1998.

[31] Xiaoyang Tan, Songcan Chen, Zhi-Hua Zhou, and Fuyan Zhang. Recognizing par-tially occluded, expression variant faces from single training image per person with som and soft knn ensemble. IEEE Transactions on Neural Networks 1, 16(4):875–

886, 2005.

[32] Xiaoyang Tan, Songcan Chen, Zhi-Hua Zhou, and Fuyan Zhang. Face recognition from a single image per person: A survey. Pattern Recognition, 39(2006):1725–1745, 2006.

[33] Xiaoyang Tan and Bill Triggs. Enhanced local texture feature sets for face recog-nition under difficult lighting conditions. In Analysis and Modelling of Faces and Gestures, volume 4778 of LNCS, pages 168–182. Springer, oct 2007.

[34] Antonio Torralba and Pawan Sinha. Detecting faces in impoverished images. Jour-nal of Vision, 2(7):601, 2002.

[35] Wen-Kwang Tsao, Anthony J.T. Lee, Ying-Ho Liu, Ting-Wei Chang, and Hsiu-Hui Lin. A data mining approach to face detection. Pattern Recognition, 43(3):1039 – 1049, 2010.

[36] M. Turk and A. Pentland. Eigenfaces for recognition. Journal of Cognitive Neuro-science, 3(1):71–86, January 1991.

[37] Patricia Ray´on Villela and Juan Humberto Sossa Azuela. Face description with local binary patterns: Application to face recognition. In MICAI 2002: Advances in Artificial Intelligence, volume 2313/2002 ofLecture Notes in Computer Sciences, pages 282–291. Springer, Heidelberg, 2002.

[38] Paul Viola and Michael Jones. Robust real-time object detection. In Second inter-national workshop on statistical and computational theories of vision, Vancouver, Canada, July 13 2001.

[39] Paul Viola and Michael Jones. Robust real-time face detection. International Journal of Computer Vision, 57:137–154, 2004.

[40] Chao Wang and Yongping Li. Combine image quality fusion and illumination compensation for video-based face recognition. Neurocomputing, 73(7-9):1478 – 1490, 2010.

[41] Haitao Wang, Stan Z Li, and Yangsheng Wang. Face recognition under varying lighting conditions using self quotient image. Automatic Face and Gesture Recog-nition, IEEE International Conference on, 0:819, 2004.

[42] Jie Wang, K.N. Plataniotis, Juwei Lu, and A.N. Venetsanopoulos. On solving the face recognition problem with one training sample per subject.Pattern Recognition, 39(2006):1746–1762, 2006.

[43] Laurenz Wiskott, Jean-Marc Fellousc, Norbert Kr¨uger, and Christopher von der Malsburg. Face recognition by elastic bunch graph matching. IEEE Trans. Pattern Anal. Mach. Intell., 19(7):775–779, 1997.

[44] Jianxin Wu, S. Charles Brubaker, Matthew D. Mullin, and James M. Rehg. Fast asymmetric learning for cascade face detection. IEEE Transactions on pattern analysis and machine intelligence, 30(3):369–382, 2008.

[45] Jianxin Wu and Zhi-Hua Zhou. Face recognition with one training image per person.

Pattern Recognition Letters, 23(14):1711–1719, 2002.

[46] Li Xiaohua, Kin-Man Lam, Shen Lansun, and Zhou Jiliu. Face detection using simplified gabor features and hierarchical regions in a cascade of classifiers. Pattern Recognition Letters, 30(2009):717–728, 2008.

[47] Quan xue Gao, Lei Zhang, and David Zhang. Face recognition using flda with single training image per person. Applied Mathematics and Computation, 205(2):726–734, 2008.

[48] Jian Yang, David Zhang, Alejandro F. Frangi, and Jing yu Yang. Two-dimensional pca: A new approach to appearance-based face representation and recognition.

IEEE Transactions on pattern analysis and machine intelligence, 26(1):131–137, January 2004.

[49] Ming-Hsuan Yang, David J. Kriegman, and Narendra Ahuja. Detecting faces in images : A survey.IEEE Transactions on pattern analysis and machine intelligence, 24(1):1746–1762, 2002.

[50] Qiong Yang and Xiaoqing Ding. Symmetrical pca in face recognition. In ICIP (2), pages 97–100, 2002.

[51] Hua Yu and Jie Yang. A direct lda algorithm for high-dimensional data – with application to face recognition. Pattern Recognition, 34(10):2067 – 2070, 2001.

[52] Stefanos Zafeiriou, Anastasios Tefas, and Ioannis Pitas. The discriminant elastic graph matching algorithm applied to frontal face verification. Pattern Recognition, 40(10):2798 – 2810, 2007.

[53] W. Zhao, R. Chellappa, P.J. Phillips, and A. Rosenfeld. Face recognition : a literature survey. ACM Computing Surveys, 28:399–458, 2003.

[54] Wenlong Zheng and Suchendra M. Bhandarkar. Face detection and tracking using a boosted adaptive particle filter. Journal of Visual Communication and Image Representation, 20(1):9 – 27, 2009.

[55] Xiao-Sheng Zhuang and Dao-Qing Dai. Inverse fisher discriminate criteria for small sample size problem and its application to face recognition. Pattern Recognition, 38(11):2192–2194, 2005.

[56] Xuan Zou, J. Kittler, and K. Messer. Illumination invariant face recognition: A sur-vey. InFirst IEEE International Conference on Biometrics : Theory, Applications, and Systems, pages 1–8, Crystal City, VA, September 2007.

Appendices

Appendix A

Impl´ ementation C++ : la librairie ImProc

Le module de reconnaissance est con¸cu pour ˆetre utilis´e `a partir de n’importe quelle source visuelle. Il est contenu dans une librairie statique pour ensuite ˆetre li´ee `a n’importe quel projet. En quelques minutes seulement, une application capable de reconnaˆıtre des personnes peut ˆetre con¸cue. Ainsi, pour l’´elaboration de ce pr´esent m´emoire, une application vid´eo d’une trentaine de lignes li´ee `a la libraire ImProc est d´ej`a capable de localiser, m´emoriser et reconnaˆıtre des individus.

Le module re¸coit en entr´ee une image sous le format IplImage de la librairie OpenCV.

Celle-ci est ensuite trait´ee et le r´esultat (nombre de personnes pr´esentes, leurs positions et leurs identit´es) est directement utilisable pour des tˆaches d’ordre sup´erieur tel que la cr´eation d’un historique des rencontres o`u l’´elaboration d’un mouvement de la cam´era vers un individu en particulier. L’architecture de la librairie est d´etaill´ee dans la section A.2.

A.1 Les librairies utilis´ ees

Pour l’´elaboration de ce module, plusieurs libraires externes ont ´et´e utilis´ees :

• OpenCV ( Open Source Computer Vision ) est une librairie initialement d´evelopp´ee par Intel qui fournit plus de 500 algorithmes pour la vision par ordinateur en temps r´eel. L’algorithme de Viola et Jones y est impl´ement´e et des apprentissages sont fournis. Ainsi OpenCV peut d´ej`a localiser les visages, les yeux, les bouches ou d’autres parties du corps.

• GTK ( Gimp toolkit ) est une librairie destin´ee `a la cr´eation d’interfaces visuelles.

Elle permet aussi l’interaction avec le clavier et la souris.

A.2 La librairie ImProc

Cette section d´ecrit l’architecture de la librairie ImProc que j’ai d´evelopp´ee dans le cadre du m´emoire. Les ´el´ements cl´es sont d´ecrit bri`evement ci-dessous tandis qu’une vue d’ensemble est propos´e `a la figure A.1.

• Display : Cet objet sera charg´e de l’affichage des r´esultats `a l’´ecran. Il relaie via ImgBufferOUT l’information visuelle g´en´er´ee par la ImProc `a la librairie GTK qui s’occupe ensuite de son affichage `a l’´ecran. Il est constitu´e d’un threath qui v´erifie r´eguli`erement s’il y a une nouvelle information `a afficher `a l’´ecran.

• ImageBufferIN : Il s’agit du tampon dans lequel est charg´e une image brute `a traiter.

• ImageBufferOUT : Lors du traitement de l’image brute, celle-ci se voit modifi´ee par l’ajout de rectangles indiquant l’emplacement des visages, de texte, etc. Cette image trait´ee est stock´ee dans ImageBufferOUT, lue par Display et envoy´e pour affichage.

• LogWriter : Objet destin´e `a l’´ecriture d’information issue de l’ex´ecution dans des fichiers. L’acc`es au disque dur est souvent synonyme de ralentissement or nous cherchons `a construire une application en temps r´eel. C’est pourquoi LogWriter stocke en m´emoire RAM toutes les informations qui lui sont transmises au fur et

`

a mesure. Il est ensuite possible de commander l’´ecriture sur disque dur `a des moments plus appropri´es, `a la fin de l’ex´ecution de l’application par exemple.

• ImProc : Le coeur de la librairie. C’est cet objet qui est charg´e de la localisation, le tracking, l’enregistrement et la reconnaissance des individus. C’est lui qui prend l’image brute dans ImageBuffer1 pour la traiter et la placer dans ImageBuffer2.

• KBEvent : Cette objet permet aux autres (typiquement ImProc) de savoir si un intervention utilisateur a eu lieu. Typiquement il s’agit de l’ordre d’enregistrer les personnes pr´esentes, de prendre une photo ou de quitter l’application. Il travaille en collaboration avec Display qui avec la librairie GTK d´etecte les ´ev`enements claviers. L’application peut aussi utilis´e KBEvent comme vecteur pour ordonner l’enregistrement du visage courant ou pour quitter l’application.

In document Reconnaissance et suivi de visages et implémentation en robotique temps-réel (Page 76-93)