Reconnaissance et suivi de visages et implémentation en robotique temps-réel

Dimension: px
Commencer à balayer dès la page:

Download "Reconnaissance et suivi de visages et implémentation en robotique temps-réel"

Transcription

1 Université Catholique de Louvain Ecole Polytechnique de Louvain Mémoire de fin d études Reconnaissance et suivi de visages et implémentation en robotique temps-réel Réalisé par Mathieu Van Wambeke en vue de l obtention du diplôme de Master Ingénieur Civil en Génie Biomédical Promoteur: Prof. Benoît Macq Assistant: Christian Van Brussel Année académique

2 Remerciements Je remercie particulièrement ma famille pour le soutien qu elle m a apporté et la motivation qu elle a su me donner lorsque j en avais le plus besoin. Je tiens à remercier mon promoteur, le professeur Benoît Macq, sans qui je n aurais pas pu réaliser ce mémoire ni avoir accès à Nao, le petit robot humanoïde. Je remercie sincèrement mon assistant-chercheur, Christian Van Brussel, pour ses précieux conseils lors de la rédaction et sa disponibilité sans failles. Je remercie également mes compagnons mémorants du local a143.10, Arnab Bhattacharya, Mireia Montañola et les autres, grâce auxquels l ambiance de travail fut excellente. Je remercie aussi Sébastien Brousmiche et Abdellatif Zaidi pour leurs conseils avisés. I

3 Résumé Dans ce mémoire, il est question d implémenter sur un robot humanoïde les mécanismes de base d une relation entre individus. L objectif est de reconnaître les personnes et de s orienter vers une d entre elles pour commencer une interaction. Le robot humanoïde Nao de Aldebaran Robotics sert de support au logiciel et la reconnaissance se fait exclusivement sur base de données biométriques visuelles capturées dans un environnement réel, donc soumis à des variations d illumination. Nao effectuera une localisation et une poursuite des visages et sera capable de se souvenir des gens qu il croise après ne les avoir vu qu une seule fois. Ce problème de reconnaissance à partir d un seul cliché est traité dans la littérature sous le nom de one sample problem ou reconnaissance avec un seul échantillon d apprentissage par personne. L application de reconnaissance de visages convertit les images en modèles binaires locaux ( local binary patterns ), les divise en plusieurs sous-régions et détermine l identité d un visage en comparant leurs histogrammes de sous-régions. Le nombre de manières de diviser l image en sous-régions pouvant se chevaucher est colossal et empêche de sélectionner la meilleure en les essayant toutes. Ce mémoire propose une méhode pour garantir le choix d une des meilleures combinaisons de sous-régions. De plus, il est proposé une technique de génération de cartes des zones les plus utiles à la discrimination qui permet de mettre en évidence l importance des zones frontières des éléments clés du visage tels que le nez, la bouche ou les yeux dans le cas de la reconnaissance de visages par comparaison d histogrammes de modèles binaires locaux. II

4 Table des matières Remerciements Résumé Table des matières I II III Introduction 1 Structure du mémoire I Etat de l art 4 1 Détection de visages Algorithme de Viola & Jones L image intégrale Algorithme d apprentissage basé sur Adaboost Cascade Paramétrisation & Entraînement Travaux existants suite à l Algorithme de Viola & Jones Nouvelles caractéristiques Améliorations du Training set Dernières avancées : Wu et al Dernières avancées : Xiaohua et al Reconnaissance de visages Problème à échantillons multiples Problème avec un seul échantillon d entraînement par personne Méthodes holistiques Méthodes locales Méthodes hybrides Les Local Binary Patterns appliqués à la reconnaissance faciale III

5 2.3.1 Dernières avancées : Travail de Tan et Triggs Le traitement de l illumination II Application 26 3 Conception de l application Mise en situation Définition de l objectif et énumération de ses conséquences Importance du temps réel et des performances Matériel disponible et limitations Le challenge Gérer le problème du temps réel Différence entre temps de réaction et le temps de rafraichissement Points importants pour choisir la distribution idéale des tâches Choix des lieux d exécution : l architecture prototype Architecture prototype et cycle de fonctionnement standard Détection des visages La poursuite Reconnaissance des visages Pistes pour améliorer les performances Nouvelles informations spatiales Collaboration des système de reconnaissance et de poursuite Conclusion Entraînement sous MatLab du stage de reconnaissance Ensembles d entraînement, de validation et bases de visages Taille de fenêtre utilisée Sélection de la combinaison de sous-régions pour la reconnaissance faciale Difficulté et objectif Stratégie et résultats Conclusion et suite Obtenir une carte des zones utiles à la discrimination Contexte et motivations Division en parties contigues Introduction aux ensembles d apprentissage et de validation artificiellement générés IV

6 5.4 Exploitation de parties non-contigues Méthode (a) Méthode (b) Méthode (c) Méthode (d) Stratégie proposée et résultats Conclusion Implémentation C++ et test des performances Implémentation Test de la détection des visages Orientations détectées Cadrage des visages Test de la reconnaissance des visages Conclusion 72 Bibliographie 78 Appendices 84 A Implémentation C++ : la librairie ImProc 85 A.1 Les librairies utilisées A.2 La librairie ImProc V

7 Introduction La reconnaissance faciale est une aptitude qui relie l apparence d une personne à son identité. Lors d une rencontre, cette compétence permet de se rappeler des échanges précédents et ainsi de construire une relation à long terme où les individus finissent par se connaître et savoir anticiper leurs comportements et besoins respectifs. Dans une situation où un délit est effectué à visage découvert, reconnaître le coupable permet de lui faire assumer la responsabilité de ses actes. L intérêt de la communauté scientifique à la reproduction de cette aptitude pour des applications judiciaires, de contrôle et d assistance est donc manifeste; la vérification d identité pour le déverrouillage d ordinateur ou la traque de suspects à travers les enregistrements vidéos de stations de métro représentent un échantillon des nombreuses applications envisageables à partir de ce type de technologie. L objectif de ce mémoire est de concevoir et d implémenter sur un petit robot humanoïde commercialisé par Aldebaran Robotics une application de reconnaissance faciale capable de reconnaître les individus après une seule prise de vue. Nao, le petit robot humanoïde, montrera son intention d entrer en interaction avec une des personnes reconnues en la poursuivant du regard. Le logiciel développé aura deux tâches principales à effectuer. Tout d abord la localisation des visages dans le champ visuel de Nao et leur poursuite à chaque rafraîchissement de l image. Ensuite la reconnaissance des visages détectés. Dans un contexte plus large, ce logiciel incarne l assise d applications plus sophistiquées d interactions homme-machine : une fois les personnes reconnues et le regard orienté vers un individu, la voie est prête pour un échange. Celui-ci pourra, par exemple, commencer par l analyse des émotions du visage de la personne ou par le rassemblement des données en mémoire concernant l individu. De par cette position à la source d une grande quantité d applications potentielles, l exécution du logiciel devra obéir à des exigences de fluidité et de rapidité et fournir un résulat robuste. 1

8 Figure 1: Robot humanoïde Nao utilisé comme support de l application de ce mémoire. Il mesure 58 centimètres, est capable de se mouvoir et possède une caméra sur le front qui sera utilisée par le logiciel pour capturer l image de l environnement qui lui fait face. Ses ressources au niveau du processeur et de la mémoire sont faibles et amèneront le logiciel final à être exécuté à côté, sur un ordinateur distant plus puissant. La seconde tâche chargée de la reconnaissance des visages convertit d abord l image en modèles binaires locaux et divise l image en sous-régions pouvant se chevaucher. Un comptage des modèles binaires locaux est ensuite réalisé pour chaque sous-région et les histogrammes ainsi obtenus servent de base à la comparaison d individus. La manière de décomposer l image a une influence capitale sur les performances finales du classifieur: comme la transformation en histogrammes efface toutes les informations quant à l emplacement des modèles binaires locaux, la division est l unique garante que des données concernant l organisation spatiale sont disponibles durant le processus de comparaison. Trouver la meilleure combinaison de sous-régions n est pas facile vu leur nombre. Ainsi, trouver la meilleure association de trois sous-régions contenues dans un visage de pixels, signifie sélectionner 1 combinaison parmi candidats. Ce mémoire accorde une importance spéciale à ce problème et propose une solution pour gérer ce grand nombre de candidats. De plus, il a été décidé de développer une méthode de génération d une carte qui, par sa consultation, permettrait de repérer tout de suite les zones du visage à considérer 2

9 prioritairement pour la reconnaissance. Cette carte offrirait par la même occasion une vue d ensemble du visage en termes de ces zones les plus à même de différencier les individus. Le développement d une telle méthode s est révélé plus ardu que prévu et les principaux problèmes à résoudre ont été les conséquences négatives des effets de bord et la tendance au gommage des contours de la carte lors de l utilisation de méthodes simples. Structure du mémoire Dans les deux premiers chapitres j introduirai les problèmes de localisation et de reconnaissance faciale et présenterai les principales méthodes qui sont utilisées de nos jours pour leurs résolutions. Dans le troisième chapitre, je parlerai de la conception du logiciel de reconnaissance faciale utilisant Nao comme support en précisant les contraintes matérielles que l utilisation d un tel robot provoque sur l architecture d une application de ce type. Dans le quatrième chapitre, je paramétrerai le logiciel pensé au chapitre 3 en utilisant le logiciel MatLab. Dans le cinquième chapitre, j expliquerai comment j ai développé un système qui permet de générer une carte des régions les plus utiles à la discriminination dans le cas de la reconnaissance faciale à partir d un seul cliché. Dans le sixième chapitre, je donnerai le résultat des tests de performance. 3

10 Partie I Etat de l art 4

11 Chapitre 1 Détection de visages La détection des visage pose le problème de la localisation des visages présents dans une image d entrée. Idéalement, la détection fourni aussi leurs dimensions pour un éventuel traitement ultérieur. L intérêt de la localisation faciale va au-delà de l application de ce présent mémoire. Son utilité se manifeste dans des domaines variés allant de la vidéosurveillance au jeu interactif. Les premières difficultés rencontrées par les méthodes s attelant à détecter les visages sont les variations de pose (vue de profil, de face), d expression, de rotation du visage 1, d âge et d illumination. Ce dernier type de difficulté pouvant être surmonté par un prétraitement de normalisation et de compensation de l illumination présenté au chapitre 2.4. Pour le reste la difficulté est d autant plus grande que la plupart des applications ayant recours à cette technologie requièrent une exécution en temps réel, limitant les marges de manoeuvre de l algorithme. Une classification des méthodes de localisation faciale est proposée par Yang et al. [49]: Knowledge-based methods. Ces méthodes se basent sur la connaissance des différents éléments qui constituent un visage et des relations qui existent entre eux. Ainsi, les positions relatives de différents éléments clés tels que la bouche, le nez et les yeux sont mesurés pour servir ensuite à la classification visage nonvisage chez Chiang et al. [13]. Le problème dans ce type de méthode est qu il est difficile de bien définir de manière unique un visage. Si la définition est trop détaillée, certains visages seront ratés tandis que si la description est trop générale le taux de faux positifs montera en flèche. Feature invariant approaches. Ces approches utilisent les éléments invariants 1 selon un axe perpandiculaire à l objectif 5

12 aux variations d illumination, d orientation ou d expression tels que la texture ou la signature de couleur de la peau pour la détection. Template matching methods. Des modèles caractéristiques d un visage entier ou de sous-partie de visage (bouche, oeil, nez) sont créés. La localisation se fait ensuite sur base de la corrélation de ces modèles avec les candidats. Appearance-based methods. Ces méthodes utilisent le même principe que présenté au point précédent mais se basent sur des modèles appris à partir de set d entraînement. Ces méthodes présentent l avantage de s executer très rapidement mais demandent un long temps d entraînement. Les méthodes appartenant à cette catégorie ont montré de bons résultats par rapport aux 3 autres types de méthodes [54], on peut citer parmi celles-ci la méthode basée sur les réseaux de neurones de Rowley et al. [29], la méthode de Schneiderman et Kanade [30] basée sur un classifieur de Bayes naïf ainsi que le fameux algorithme de Viola et Jones [38] fonctionnant en temps réel qui sera détaillé plus loin. Notons que la délimitation entre les trois premières catégories est parfois floue et que dans les articles plus récents, ces catégories sont fusionnées entre elles [54, 35, 20]. 1.1 Algorithme de Viola & Jones Une avancée majeure dans le domaine a été réalisée par Viola et Jones en 2001 [38]. Ces derniers ont proposé une méthode basée sur l apparence ( Appearance-based methods ) robuste et tournant à 15 fps pour des images de 384 x 288 pixels sur un pc Intel Pentium III 700Mhz. Ce fut la première méthode en temps réel présentée. La renommée de cette approche 2 est faite sur trois concepts : L image intégrale L algorithme se base sur les caractéristiques de Haar (Haar features) pour localiser les visages présents sur une image d entrée. Dans le but d extraire rapidement ces caractéristiques, l image est représentée sous forme intégrale. En effet, sous cette forme, l extraction d une caractérisque à n importe quel endroit et à n importe quelle échelle est effectuée en un temps constant tandis que le temps de conversion vers la représentation intégrale ne remet pas en cause ce gain de temps offert par l utilisation de la représentation en image intégrale. La définition des caractéristiques de Haar et la manière dont la 2 L article Robust Real-Time Face Detection [39] est cité plus de 1600 fois selon Google Scholar 6

13 représentation intégrale accélère considérablement leur extraction sont présentés ci-après pour une image en niveaux de gris. Dans toute image, une zone rectangulaire peut être délimitée et la somme des valeurs de ses pixels calculée. Une caractéristique de Haar est une simple combinaison linéaire de sommes ainsi obtenues. Plusieurs caractéristiques de Haar peuvent être définies selon le nombre, les échelles, les positions et les dimensions des zones rectangulaires considérées. 4 exemples sont présentés à la figure 1.1. Figure 1.1: Exemple de 4 caractéristiques de Haar. La somme des valeurs des pixels appartenant aux zones encadrées claires est soustraite à la somme des valeurs des pixels appartenant aux zones encadrées sombres pour obtenir la caractéristique de Haar. Chacune des quatre caractéristiques de Haar est représentée avec son cadre de détection respectif. Présenté comme tel, le calcul d une caractéristique de Haar demande à chaque fois l accès aux valeurs de tous les pixels contenus dans les zones rectangulaires considérées. Cela devient vite contraignant temporellement dès que les caractéristiques de Haar sont définies par des zones rectangulaires de grandes dimensions. L image intégrale permet de surmonter ce problème en rendant constant le temps de calcul d une caractéristique de Haar à n importe quelle échelle. L image intégrale est réprésentée mathématiquement par : ii(x, y) = i(x, y ) (1.1) x x,y y 0 < x width, 0 < y height (1.2) où i(x, y) est l image d origine et i(x, y ) l image sous sa nouvelle représentation. Ainsi chaque pixel a pour valeur la somme des valeurs des pixels compris dans le rectangle défini par le coin supérieur gauche de l image et lui-même. 7

14 Le calcul de la somme des valeurs des pixels appartenant à une zone rectangulaire s effectue donc en accédant seulement à quatre pixel de l image intégrale : Soit un rectangle ABCD dont les sommets sont nommés dans le sens des aiguilles d une montre en commençant par le sommet supérieur gauche et soit x la valeur sous la représentation intégrale d un sommet X du rectangle (X {A, B, C, D}). La somme des valeurs des pixels appartement à ABCD est, quelle que soit sa taille, donnée par c b d + a. Une caractéristique de Haar étant une combinaison linéaire de tels rectangles ABCD, son calcul se fait alors en un temps indépendant sa taille Algorithme d apprentissage basé sur Adaboost Pour localiser les visages sur l image d entrée, cette dernière est scannée par une fenêtre de dimension déterminée. La fenêtre parcourt l image et son contenu est analysé pour savoir s il s agit d un visage ou non. Comme dit plus haut, les caractéristiques de Haar sont extraites pour effectuer la classification et de ce fait la représentation intégrale de l image accélère l analyse. Mais, pour une fenêtre de 24x24 pixels il y a caractéristiques de Haar, les traiter toutes prendrait beaucoup trop de temps pour une application en temps réel. Pour surmonter ce problème, une variante de la méthode de boosting Adaboost est utilisée. Ci-dessous Adaboost est brièvement présenté suivi de sa variante qui constitue le deuxième apport du travail de Viola & Jones. Adaboost est une méthode d apprentissage permettant de booster les performances d un classifieur quelconque nommé classifieur faible. L idée est de faire passer les candidats à classifier à travers plusieurs classifieurs faibles, chacun étant entraîné en portant plus d attention sur les candidats mal classifiés par le classifieur précédent. Pour arriver à ce résultat des poids sont associés aux échantillons du set d entraînement 3 ((x i, y i ) i = 1,..., m), tout d abord de manière équilibrée : w 0 i = 1 m (1.3) pour i = 1,..., m. Le 0 en exposant indique qu il s agit des poids initiaux. Ensuite le premier classifieur faible est entraîné comme suit : h 0 = argmin hj Hɛ j (1.4) avec l erreur ɛ j = m i=1 w0 i δ(y i h j (x i )) et H l ensemble des classifieurs faibles. Puis une nouvelle génération de poids wi 1 sont créés tels qu ils accordent plus d importance 3 Pour un échantillon (x, y) appartenant au set, x est la valeur de l échantillon et y la classe à laquelle il appartient 8

15 aux échantillons mal classifiés par h 0. Ensuite un nouveau classifieur h 1 est entraîné, puis de nouveaux poids wi 2 sont générés et ainsi de suite. Enfin, après T itérations, le classifieur fort H(x) est obtenu : ( T ) H(x) = sign α t h t (x) θ (1.5) avec α = 1ln 1 ɛ t ɛ t 2 t=1 et θ un seuil à déterminer. La valeur à attribuer à ce dernier sera discutée plus loin. Chaque classifieur fort est donc constitué d un nombre T de classifieurs faibles. Adaboost sert donc à booster une classifieur déjà existant et à priori chaque classifeur faible possède le même espace d entrée. Dans la variante d Adaboost de Viola & Jones, les classifieurs faibles h j H ont pour entrée une caractéristique de Haar différente. Adaboost s apparente alors à une sélection de caractéristiques (feature selection). Cette variante d Adaboost est utilisée lors de l apprentissage pour sélectionner les caractéristiques de Haar les plus à même de détecter un visage et permet ainsi de surmonter le problème du nombre élevé de caractéristiques de Haar existant pour une fenêtre de recherche Cascade L idée de base derrière le concept de Cascade est que parmi l ensemble des candidats, c est à dire l ensemble des états de la fenêtre de recherche, une partie peut être éliminée sur base de l évaluation de seulement quelques caractéristiques de Haar. Une fois cette élimination effectuée, les candidats restants sont analysés par des classifieurs forts plus complexes (utilisant plus de caractéristiques de Haar) demandant un plus grand temps de traitement. En utilisant plusieurs étages de ce type, le processeur évite d effectuer des analyses lourdes en temps de calcul sur des échantillons pour lesquels il est rapidement possible de se rendre compte qu ils sont négatifs. Le processus de classification apparaît alors comme une cascade de classifieurs forts de plus en plus complexes où à chaque étage les échantillons classifiés négatifs sont sortis tandis que les échantillons classifiés positifs sont envoyés aux classifieurs suivants. Ceci est représenté à la figure 1.2. Si le premier étage rejette un faux négatif, c est un gros problème car il ne sera jamais récupéré par la cascade. Autrement dit c est un visage qui ne sera pas détecté. Par contre, si le premier étage transmet un faux positif, il pourra toujours être éliminé aux étages suivants de la cascade. Ce petit raisonnement permet de mettre en évidence que les premiers noeuds constitutifs de la cascade peuvent se permettre d avoir un taux de faux positifs élevés (de l ordre de 40-50%) mais doivent absolument assurer un taux 9

16 Figure 1.2: Cascade de classifieurs forts. A chaque étage, uniquement les candidats classifiés positifs sont transmis à l étage suivant. de détection maximum. dans la prochaine section. La paramétrisation de l algorithme en ce sens sera détaillée Ce concept permet donc à l algorithme de consacrer son temps à de longues analyses complexes uniquement lorsque cela en vaut la peine. Il s agit à nouveau d un mécanisme qui accélère la vitesse d exécution de la méthode proposée par Viola & Jones. 1.2 Paramétrisation & Entraînement Le nombre d étages dans la cascade, leurs seuils de détection θ et le nombre de caractéristiques T considéré à chaque étage sont à ajuster pour que la localisation soit rapide et atteigne un taux de détection élevé. Cet ajustement se fait pendant la phase de construction de la cascade qui sera décrite après l introduction des quelques éléments clés ci-dessous. Premièrement, pour une image d entrée en situation réelle, le nombre de candidats qui s avéreront positifs est relativement faible par rapport au nombre total de candidats. Le problème est dit asymétrique. Il faut dès lors pour assurer une détection fiable que le taux de détection des négatifs soit bien plus élevé que le taux de détection des positifs. On parle typiquement d un taux de détection autour de 95%-99% et d un taux de faux positif extrêment faible 4 de l ordre de L asymétrie constitue donc une difficulté à la résolution du challenge de localisation faciale. Notons que le problème de localisation faciale est asymétrique pour 3 raisons catégorisées par Wu et al. dans [44]. Ensuite et enfin, les éléments clés taux globaux de détection D et taux de faux 4 Un taux de détection des négatifs élevé (= T N F P +T N ) équivaut à un faible taux de faux positifs (= F P F P +T N ) 10

17 positifs F sont définis comme suit : D = F = K d i (1.6) i=1 K f i (1.7) i=1 où K est le nombre d étages de la cascade, d i l objectif local de détection (voir plus loin) et f i l objectif local de faux positifs (idem). La méthode de construction de la cascade utilisée par Viola & Jones reçoit ses objectifs en terme de taux de détection et taux de faux positifs globaux. Ceux-ci permettent de déterminer les objectifs locaux (entendre par noeud) par les formules présentées-ci dessus. Puis, la cascade est construite un étage après l autre, le processus prenant fin dès lors que les objectifs globaux sont atteints. La construction d un étage est faite en utilisant Adaboost, ce dernier ajoute des caractéristiques au classifieur fort jusqu à ce que les taux locaux de détections de positifs et négatifs soient atteints. Imaginons une cascade de 15 étages pour laquelle nous souhaitons obtenir un taux de détection de 99% et un taux de faux positif de Par les formules ci-dessus l objectif local en taux de détection doit donc être de 99.93%. Ce dernier semble au premier abord difficile mais l opération est facilitée par le fait que le taux de faux positifs local nécessaire est de 34.14% (>> 10 7 ). Ainsi la difficulté attribuée au haut taux de faux positif global est surmontée par l utilisation de la cascade qui divise l embûche parmi les étages. Notons que le taux de détection local est quant à lui supérieur à son équivalent global. On observe qu une cascade entraînée comme telle répond aux attentes de rapidité formulée par l exigence du temps réel. Les premiers niveaux traitent quelques caractéristiques en rejettant plus de 50% des négatifs tandis que les derniers niveaux plus complexes analysent jusqu à plusieurs milliers de caractéristiques de Haar pour arriver au même résultat. La complexité et le temps de calcul sont donc bien distribués de manière à ce qu uniquement les candidats les plus prometteurs soient soumis aux analyses les plus gourmantes en instructions. Une technique de boostrapping est utilisée lors de l entraînement du détecteur en cascade. Après la construction de chaque étage, un nouveau set de non-visages est construit pour l entraînement du suivant. Celui-ci est constitué des échantillons négatifs qui n auront pas été détectés par la cascade en cours de construction. Le set d échantillon positif reste quant à lui toujours le même. 11

18 1.3 Travaux existants suite à l Algorithme de Viola & Jones Nouvelles caractéristiques Lienhart et al. ont proposé en plus de la représenation intégrale une représentation intégrale inclinée où chaque pixel a pour valeur la somme des valeurs des pixels compris dans la zone rectangulaire inclinée de 45 dont le point extrême droit est le pixel considéré. Aux modèles initiaux de Viola & Jones sont donc ajoutés leurs équivalents inclinés de 45. Le set obtenu ainsi et utilisé par Lienhart et al. est présenté à la figure 1.3. Lienhart et al. ont obtenu ainsi des améliorations de l ordre d un demi-pourcent d erreur. Figure 1.3: Set de caractéristiques de Haar obtenu par Lienhart et al. en utilisant les concepts d image intégrale et d image intégrale inclinée Améliorations du Training set Les performances du classifieur final peuvent être améliorées en préparant le set d entraînement. Les travaux récents effectués par Chen et al. [9] proposent une méthode basée sur un algorithme génétique pour étendre le set de visages. L utilisation de leur approche est selon leurs dires la plus prometteuse dans le domaine de l optimisation du Training set. En reconnaissance faciale, le one sample problem où un seul échantillon est disponible par personne à reconnaître, des travaux s intéressent à la génération de nouveaux échantillons positifs à partir d un seul visage. Cette optimisation du training set sera traitée dans le chapitre 2 consacré à la reconnaissance faciale Dernières avancées : Wu et al. La version développée par Wu et al. en 2008 [44] est prise dans un article récent comme référence en terme de vitesse et de performance [46]. Leurs travaux se consacrent à la fois à la vitesse de traitement, la vitesse d apprentissage et aux performances en 12

19 termes de taux de détection. L algorithme de Viola & Jones effectue la sélection de caractéristiques et l apprentissage en une seule étape lors de l intervention d Ababoost dans l algorithme. Wu et al. proposent de traiter ses deux phases séparément et avancent que cela permet de mieux gérer les difficultés liées à l asymétrie du problème de localisation faciale. Ils énumèrent leurs contributions au nombre de trois. Premièrement une analyse appronfondie du problème qui révèle trois causes d asymétrie du problème et les difficultés qu elles engendrent. Deuxièmement une méthode de sélection de caractéristiques est proposée, la FFS pour forward feature selection, cette dernière accélérant 50 à 100 fois l apprentissage d Ababoost. Et troisièmement un algorithme d apprentissage nommé Linear Asymetric Classifier (LAC) est présenté. Il est montré que ce dernier améliore les performances du classifieur Dernières avancées : Xiaohua et al. Comme vu plus haut, lors de l entraînement de la cascade, un nouveau set de non-visages est généré par bootstrapping à la fin de la construction de chaque étage. Xiaohua et al. [46] ont remarqué qu au fur et à mesure que la cascade grandissait, les non-visages collectés sont de plus en plus similaires aux visages et que le taux d erreur des noeuds les plus profonds sur un set de validation composé uniquement d échantillons négatifs tendait vers 0.5. Cela signifie qu il devient ardu de trouver des caractéristiques encore capables de distinguer les non-visages des visages. Ils observent aussi que le nombre de caractéristiques nécessaires pour atteindre les objectifs locaux en terme de taux de détection et de faux positifs augmente selon une pente de plus en plus raide pour les noeuds profonds. Ceci confirme la difficulté de trouver des bonnes caractéristiques. Notons que les échantillons positifs utilisés sont des carrés couvrant la zone yeux-nezbouche. Xiaohua et al proposent qu au delà d une certaine profondeur soient considérées les parties entourant la zone yeux-nez-bouche en se basant sur le fonctionnement du système visuel humain [34]. Ils avancent que les informations de ces zones peuvent être bénéfiquement utilisées lorsque la zone centrale est épuisée. Ainsi une hiérarchie est mise en place où 3 dimensions standards d échantillons positifs sont utilisées successivement pour entraîner la cascade. Ceci est présenté à la figure 1.4. De plus, ils proposent une extension du set de caractéristiques de Haar composé de wavelets de Gabor simplifiées. Ces wavelets sont des fonctions inspirées du profil des champs réceptifs de l oeil des mammifères [14]. Elles sont simplifiées car elles sont calculées à partir des représentions intégrales et intégrales inclinées de manière à ne pas compromettre l aspect temps réel de l algorithme de Viola et Jones. Ceci est illustré à 13

20 Figure 1.4: 3 types d échantillons positifs utilisés par Xiaohua et al. pour améliorer les performances du classifieur en cascade. Le format de gauche est d abord utilisé puis lorsque son potentiel en caractéristiques devient trop faible le format suivant est utilisé et ainsi de suite. la figure 1.5. Figure 1.5: En haut : quelques wavelets de Gabor. Une fréquence à plusieurs orientations est présentée. En bas : échantillon des Wavelets de Gabor simplifiées utilisées comme caractéristiques pour le classifieur en cascade. Les expériences menées par l équipe montre des améliorations en terme de vitesse et de taux de détection par rapport à la version de Wu et al. 14

21 Chapitre 2 Reconnaissance de visages Le domaine de la reconnaissance faciale se veut de proposer des méthodes pour parvenir à identifier des personnes à partir d informations visuelles. Pour cela la reconnaissance faciale fait partie des méthodes de biométrie qui visent à l identification des personnes à partir d informations biologiques. D autres méthodes appartenant à cette catégories sont par exemple la capture de l image de l iris ou des empreintes digitale. La reconnaissance faciale est un domaine de recherche aux publications foisonnantes en raison de ses nombreuses applications. Parmi celles-ci les systèmes de contrôle d accès, de surveillance, d interaction homme machine dans des applications multimédia de divertissement ou à finalités éducatives, de vérification de carte de crédit et bien d autres. Une première distinction au sein des approches existantes peut se faire entre les méthodes à échantillons multiples et les méthodes à échantillon unique. Dans la première catégorie, le training set est composé de plusieurs prises de vue par sujet et ces dernières peuvent inclure des variations diverses telles que l illumination, l âge, l orientation du visage ou l expression. La seconde catégorie, quant à elle, s attarde sur des problèmes de reconnaissance où il n y a qu un seul échantillon disponible par personne pour construire le reconnaisseur de visage. Un brève description de l état de la technique pour le problème à échantillons multiples est faite ci-dessous suivi d un état de l art de la résolution du problème de la reconnaissance faciale à partir d une seule image. Cette démarche qui accorde plus d intérêt sur le problème à échantillon unique est utilisée car l attention de ce mémoire est premièrement portée sur ce problème aussi dénommé le one sample problem. Après cet état de l art, je m attarderai à décrire et faire l inventaire détaillé des dernières avancées relatives à la méthode des Local Binary Patterns qui sera utilisée pour l application de ce mémoire. 15

22 2.1 Problème à échantillons multiples Les méthodes s attelant à la résolution de ce problème peuvent être classées en plusieurs catégories [53]: 1. Les méthodes de projection qui prennent en entrée un vecteur constitué de la concaténation des lignes de l image. On compte entre autres parmi ces méthodes l analyse en composante principale (PCA) [36] et l analyse en discriminant linéaire de Fisher(FLDA) [7]. Les limitations de ces méthodes viennent de leur sensibilité aux variations d expression et d illumination car elles considèrent chaque visage comme une combinaison de vecteurs de base appelés Eigen Face ou Fisher Face, ce qui est évidemment faux [5]. 2. Les réseaux de neurones parmi lesquels ont peut noter la présence de la méthode Elastic Bunch Graph Matching (EBGM) [43] où un graphe est superposé au visage de manière à faire correspondre les noeuds à des points clés du visage tels que les yeux et le bout du nez. Chacun de ses noeuds est rattaché à un ou plusieurs jets de Gabor constitués de réponses du voisinage du noeud en question face à des filtres associés à plusieurs wavelets de Gabor. Ces jets de Gabor attribuent à la méthode EBGM une robustesse face aux variations d illumination, aux distortions et aux changements d échelle [26]. Notons que le champ de recherche issu des EBM (Elastic Graph Mathing) est large et compte dans ses rangs d autres méthodes que le EBGM tels que le morphological elastic graph matching (MEGM) [22] ou le discriminant elastic graph matching (DEGM) [52]. 3. Les autres méthodes sont basées sur l obtention d informations complémentaires telles que la profondeur ou le profil infrarouge. Ces techniques ouvrent la voie à de nouvelles méthodes pour contrer les variations d illumination qui seront traitées dans le chapitre Problème avec un seul échantillon d entraînement par personne Les avantages d un système capable de résoudre ce problème sont (1) la facilité de rassembler un training set car une simple photo suffit par personne; (2) une économie de mémoire pour le stockage de la base de données; (3) une économie de temps d apprentissage peut avoir lieu puisqu il n y a qu une seule image par personne à considérer [32]. L intérêt 16

23 d un tel système est donc tout à fait tangible que ce soit pour un système de poursuite de suspect à travers un réseau de caméras ou pour la vérification d identité. Dans ce type de problème, on ne peut compter sur la taille du training set pour distinguer les variabilités intra-class (au sein d un même groupe, ici l ensemble des variations pouvant affecter un même visage, à savoir l illumination, la pose, l expression, l âge) et inter-class (entre les individus)[42]. L ensemble de ces méthodes peut faire l objet d une classification, celle de Tan et al. [32] compte 3 catégories qui seront détaillées dans les sections suivantes : les méthodes holistiques, les méthodes locales et les méthodes hybrides Méthodes holistiques Ces dernières utilisent comme entrée l image complète sous forme d un vecteur de niveau de gris pour décider d une identité. Ici tombent des extensions au one sample problm issues des méthodes de projection présentée plus haut. Malheureusement, ces méthodes de projection conçues pour le problème à échantillons multiples ne sont pas directement utilisables ici. En effet, les méthodes de projection telle que la LDA [51] ayant fait leurs preuves dans le domaine du problème à échantillons multiples souffrent du problème du petit nombre d échantillons (small sample size (SSS) problem) [19] [55] qui dégrade leurs performances. Néanmoins, on trouve dans les développement récents des travaux qui passent au dessus de ce problème et présentent des résultats corrects. Parmi ces travaux la (PC) 2 A [45] suivi de sa généralisation la E(PC) 2 A [11]; et la 2DPCA [48]. Toujours dans le domaine des méthodes holistiques, des stratégies consistent à élargir artificiellement le training set par la génération de nouveaux échantillons à partir du premier, ouvrant ainsi la porte à l utilisation de méthodes à échantillons multiples. Citons parmis celles-ci l idée simple de Yang et al. [50] qui utilisent les images symmétriques gauche et droite pour générer de nouvelles vues. A noter aussi, le travail de Beymer et al. [8] qui ont présenté la méthode de déformation parallèle pour générer de nouvelles poses à partir d une première photo (voir figure 2.1 pour un exemple) Méthodes locales Cette catégorie se divise en deux sous-catégories basées respectivement sur des caractéristiques et des apparences locales. Méthodes basées sur des caractéristiques locales Ici des propriétés géométriques sont extraites à partir de la localisation de points clés sur le visage. Deux faiblesses en découlent directement : d une part la localisation de 17

24 Figure 2.1: Méhode de déformation parallèle développée par [8] pour la génération de nouveaux échantillons via génération de nouvelle pose. L image d entrée est la photo centrale, les 8 autres ont été générées automatiquement. tels points n est pas toujours une mince affaire lorsque des occlusions ou des variations de position ou d expression surviennent et d autre part toute l information nécessaire à une reconnaissance robuste n est pas forcement contenue dans ces quelques points clés, en effet beaucoup d informations passent à la trappe lorsque l image est compressée aux informations contenues à quelques endroits. Un exemple parlant est la méthode DCP de Gao et al. [18] qui, appliquée au problème de la reconnaissance faciale de personnes qui crient, présente une chute de performance de près de 60% [32]. On peut noter parmi ces méhodes basées sur les caractéristiques locales les développements de Gao et al. [18] déjà mentionnés plus haut et les EBGM [43]. Du à l étape nécessaire de recherche des points clés, cette dernière technique a pour défaut de pouvoir demander plus de temps de calcul pour son exécution que la PCA. Méthode basées sur des apparences locales Ici ce sont plusieurs vecteurs correspondant à des caractéristiques du visage qui sont utilisés en entrée. Ces méthodes sont à priori mieux taillées pour le problème à échantillon unique [32]. Tout d abord car un set de plusieurs vecteur de faible dimension au lieu d un seul de grande dimension permet dès le début de s attaquer à la malédiction de la dimen- 18

25 sionnalité (curse of dimensionality). Ensuite le fait d avoir plusieurs sous-vecteurs de caractéristiques permet l utilisation d un système de poids donnant priorité dans la décision finale aux sous-vecteurs identifiés comme étant les plus discriminatifs, ce qui améliore les performances [37]. Enfin, un nombre élevé de sous-vecteurs de caractéristiques peut augmenter la diversité des types de classifieurs utilisés par le biais d équipe de classifieurs et ainsi améliorer les performances du classifieur global [23]. Notons que ces trois observations peuvent s appliquer aussi à certaines méthodes de la première catégorie des méthodes locales tel que l Elastic Bunch Graph Matching (EBGM) où à chaque point clé correspond un vecteur d information. Ci-après sont citées quelques autres techniques appartenant à cette catégorie qui sont reprises dans le tableau récapitulatif de performance compilé par Tan et al. [32] présenté à la figure 2.2. Les travaux de Tan utilisant les self-organizing-map (SOM) [31], une technique pour rendre la LDA utilisable pour le one sample problem [10], une appoche analytic-to-holistic de Lam et al. [24], la méthode basée sur les Hidden Markov Model [25] et les Local Binary Patterns [4]. Ces derniers feront l objet d explications et d un état de l art détaillé à la section Méthodes hybrides Comme leur nom le fait penser, ces approches combinent des méthodes holistiques et locales. L idée est de les combiner de manière à utiliser les avantages de l une pour contrebalancer les défauts de l autre. La combinaison efficace entre caractéristiques locales et globales reste pour le moment un problème et peu de travaux sur son application au problème de la reconnaissance faciale existent [32]. A la figure 2.2 sont reprises les performances des méthodes phares dans le domaine de la reconnaissance faciale à partir d une seule image par personne. 2.3 Les Local Binary Patterns appliqués à la reconnaissance faciale Ci-dessous sera décrite la méthode de Ahonen et al., la majeure partie des informations étant reprise de leur article [4]. L opérateur LBP basique prend comme entrée un carré de 9 pixels et a pour sortie un nombre binaire 8 bits. Ce dernier est présenté à la figure 2.3. La motivation qui a poussé à utiliser cet opérateur est qu un visage peut être vu comme un assemblage 19

26 Figure 2.2: Tableau récapitulant les scores de certaines méthodes s attaquant au problème de la reconnaissance faciale avec des training sets composés d un seul échantillon par personne. La base de données utilisée pour les tests est à chaque fois indiquée ainsi que des informations complémentaires sur les conditions de test (nombre d images, de personnes à tester, etc.). Le dataset accessoire désigne un set extérieur utilisé lors de l entraînement, il peut s agir par exemple d identifier les déformations que le visage subit lorsque la position du sujet change d une photo à l autre dans le but de les reproduire pour élargir le training set artificiellement comme dans la méthode de déformation parallèle [8]. de micro-patterns dont la description par LBP est à la fois bonne, robuste face aux variations de gris et rapide à générer. Figure 2.3: Opérateur LBP basique. L entrée est un carré de 9 pixels. Un seuil est appliqué tel que tous les pixels périphériques dont la valeur est supérieure à la valeur du pixel central se voient attribuer la valeur 1 tandis que les autres reçoivent la valeur 0. La valeur LBP finalement obtenue est le nombre binaire se lisant dans le sens des aiguilles d une montre autour du pixel central. La convertion de toute une image se fait en déplaçant une fenêtre de conversion de 3x3 pixels sur l entièreté de l image. Pour obtenir une image convertie de même dimension que l image d entrée on peut par exemple répéter les pixels du bord de l image. Figure tirée de [4]. 20

27 Cet opérateur simple a été étendu pour rester fiable à différentes échelles. Ainsi, P points décrivent le nombre binaire et ceux-ci sont distribués le long d un cercle de rayon R. Cet entourage sera noté (P, R). Comme ces P points ne tombent pas nécessairement au centre d un pixel de l image, leurs valeurs sont obtenues par interpolation bilinéaire. Ceci est illustré à la figure 2.4. Figure 2.4: Extension de l opérateur lbp basique. représentés. Figure tirée de [4]. Les entourages (8,1), (16,2), (8,2) sont Ensuite ne sont gardés que les patterns uniformes ne présentant au plus que deux transitions 1-0 ou 0-1 lorsqu ils sont regardés comme des cercles. Ainsi et sont uniformes tandis que et ne le sont pas. En pratique, la conversion d un pattern non uniforme donne le résultat 0. On se rend compte ainsi que 90% des patterns (8, 1) appartiennent à la catégorie des uniformes. Cette extension permet l interpréter les LBPs en termes de coins et arrêtes inclinées et sera revue à la section Ensuite pour inclure une information quant à la disposition spatiale des textures et éviter de se limiter à une description holistique des textures qui souffrirait des limitations connues des méthodes de ce type, l image convertie est divisée en plusieurs sous-régions pour lesquelles autant d histogrammes LBP seront faits. Ainsi pour 4 sous-régions, 4 histogrammes seront générés. Ces derniers seront concaténés pour former une matrice à 2 dimensions appelée histogramme spatialement amélioré. Notons que les sous-régions peuvent se recouvrir et ne doivent pas nécessairement être rectangulaires. La comparaison de deux histogrammes spatialement améliorés suppose d une part d établir une méthode de mesure de distance entre deux histogrammes simples et d autre part l utilisation de poids pour rassembler les distances obtenues pour chaque sousrégion. La méthode 2 en 1 proposée par Ahonen et al. est la distance carré de Chi balancée : χ 2 w(x, ξ) = j,i w j (x i,j ξ i,j ) 2 x i,j + ξ i,j où x et ξ sont des histogrammes spatialement améliorés normalisés à comparer, i correspond à iième valeur du jième sous-histogramme et w j est le poids accordé à la sousrégion j. 21

28 Notons maintenant l ensemble des éléments paramétrisables : tout d abord le choix de l entourage (P, R) à utiliser pour la conversion LBP, ensuite la manière dont les sousrégions sont délimitées, puis le poids accordé à chacune d elles et enfin la méthode de calcul de distance qui sera utilisée pour comparer deux histogrammes. Ces paramétrages bien effectués amélioreront les performances du classifieur final Dernières avancées : Travail de Tan et Triggs Leur travail [33] fait suite à celui de Ahonen et al. et propose 3 nouveaux concepts qui permettent d améliorer significativement les performances (plus de 40% sur la database FRGC-104 selon leur publication). Ces trois concepts sont les Local Ternary Patterns (LTP), une méthode de prétraitement de l image et enfin une méthode de mesure de distance pour la comparaison d échantillons au format LBP ou LTP. Ces concepts sont détaillés ci-dessous. Les local ternary patterns Il s agit de la généralisation des local binary patterns au système ternaire. Elle a été proposée par Tan et Triggs [33] comme solution au problème de sensibilité qu éprouve le LBP face au bruit aléatoire et celui de quantification. Le principe est le suivant : alors que les LBP appliquaient un seuil égal à la valeur du pixel central, la conversion en Local Ternay Patterns (LTP) attribue à la valeur 0 aux pixels dont la valeur se trouve dans un voisinage de la valeur du pixel central, 1 à ceux dont la valeur est au-delà de ce voisinage et -1 à ceux dont la valeur est en dessous. La formulation mathématique est la suivante pour u un pixel périphérique d un entourage à convertir, i c la valeur du pixel central et t le voisinage : 1 si u i c + t s(u, i c, t) = 0 si u i c < t 1 si u i c t Comme fait pour l opérateur lbp basique, une illustration de l opérateur ltp basique est faite à la figure 2.5. Figure 2.5: Opérateur LTP basique. [33]. 22

29 Ensuite, ce code ternaire peut être transformé soit en un nombre réel soit en code binaire pour passer à la phase suivante. Dans le premier cas on pourrait utiliser un code de valeurs 3 n similaire au code binaire 2 n. Tan et Triggs ont quant à eux divisé le code ternaire en deux codes binaires traités séparément et rassemblés ensuite lors de la phase de comparaison. Cette méthode à l avantage de garder le système simple d élimination des patterns non-uniformes. La méthode de préparation de l image Celle-ci s effectue en trois étapes : 1. Correction Gamma. L idée de base est que comme l image réfléchie par un visage est le produit de la lumière qui l atteint par la réflectance de la surface, une variation de la réflectance représentant un trait discriminatif aura une influence relative à l illumination qu elle subit, introduisant par là même un biais. La solution proposée est d appliquer l opérateur logarithmique par lequel ce produit deviendra une somme. Ainsi, pour une illumination locale uniforme, un saut de réflectance x provoquera la même incrémentation sur l image réfléchie quelle que soit la valeur de l illumination de départ. Néanmoins, selon Tan et al., un logarithme a tendance à trop amplifier le bruit dans les zones sombres. Pour cette raison, un exposant γ compris dans l intervalle [0, 0.5] est utilisé à la place du logarithme. Ainsi la première étape se décrit par la relation mathématique : I (i, j) = I(i, j) γ où I(i, j) est l intensité du pixel de coordonnées (i, j) de l image d entrée et I l image issue de cette première étape de prétraitement. 2. Filtrage par différence de Gaussiennes. Il s agit de l implémentation d un passe bande pour supprimer les basses fréquences contenant les effets non désirables des ombres et les hautes fréquences contenant l aliasing et le bruit. 3. Egalisation des contrastes. Celle-ci s effectue en trois étapes sur la région délimitant le visage. I(x, y) I(x, y) (mean( I(x, y ) a )) 1/a I(x, y) I(x, y) (mean(min(τ, I(x, y ) ) a )) 1/a I(x, y) I(x, y) τtanh( ) τ 23

30 où τ est utilisé dans l étape deux pour tronquer les grandes valeurs, a est un exposant inférieur à 1 réduisant l effet des grandes valeurs. L étape trois limite l espace de l image à l intervalle [ τ, τ]. Effectuer cette méthode sur une zone présentant plusieurs visages ne donnera pas le même résultat que l application sur chacun des visages séparément. Par conséquent, si une étape de masquage doit être effectuée, il faut qu elle le soit avant cette étape d égalisation des contrastes. L application de cette méthode à un même visage soumis à différentes conditions d illumination est illustré à la figure 2.6. Figure 2.6: Illustration de l application de la méthode de correction d illumination proposée par Tan et Triggs. Figure tirée de [33]. La métrique utilisée pour comparer deux histogrammes La mesure de distance proposée par Tan et Triggs prend intrinsèquement compte de l organisation spatiale des LTP distribués sur l entiéreté de l image. Ici plus question d histogramme non plus. Soit deux images à comparer X et Y. Pour chaque LTP (aussi nombreux que le nombre de pixels) de Y, la méthode va regarder parmi les LTPs de même valeur de X celui qui est le plus proche et utiliser la distance qui les sépare pour incrementer proportionnellement la distance globale. Concrètement, pour chaque valeur k possible de LTP, une matrice binaire b k X représentant la distribution des patterns k dans X est créée. Ensuite, les matrices de distances d k X sont compilées tel que l élément (i, j) de d k X représente la distance entre (i, j) et la position du plus proche pixel de X dont la valeur est k. L exemple d une matrice b k X et de sa matrice d k X associée est présenté à la figure 2.7. Finalement le calcul de la distance entre deux images X et Y se fait comme suit: D(X, Y ) = w(d k Y (i,j) X (i, j)) pixels(i,j)of Y où w(d) est une fonction (à choisir) qui associe à une distance de pixel la pénalité correspondante. Tan et Triggs proposent la gaussienne 1 w(d) = exp (d/σ)2 /2 et la troncation 1 A noter que dans ce cas-ci un grand D(X, Y ) correspondra à deux images X et Y proches 24

31 Figure 2.7: A gauche : Exemple de matrice binaire de distribution des patterns. A droite : Matrice de distances correspondante. Figure tirée de [33]. linéaire w(d) = min(d, τ) et disent que leurs performances sont similaires. 2.4 Le traitement de l illumination Les problèmes liés aux variations d illumination sont très présents dans le domaine de la reconnaissance et de la détection faciale. L importance liée à ce domaine pour améliorer les performances des reconnaisseurs de visage se manifeste par le nombre d articles sur le sujet rien que pour les 5 premiers mois de 2010 [12, 6, 21, 40]. Un inventaire des techniques existantes en deux catégories actives et passives est fait par Zou dans [56]. Les techniques passives s occupent de l illumination à partir des données en niveaux de gris ou en couleur reçues par l appareil de capture. De l autre côté, les techniques actives obtiennent des données supplémentaires telles que la profondeur ou le profil infrarouge pour arriver à leurs fins. Plus récemment est parue une étude comparative des différentes techniques de préprocessing dans le domaine de la reconnaissance basée sur les espaces de vecteurs propres [15], c est à dire les méthodes holistiques ou de projections. Un point important de cette étude est qu elle rend compte de la simplicité de la méthode, de sa rapidité et sa robustesse. Il est par contre dommage que les comparaisons en termes de performances ne soient faites que sur base de la reconnaissance par des méthodes de projections. Néanmoins Ruiz-del-Solar donne ainsi un bon aperçu objectif des techniques existantes et de leurs performances ainsi qu un relevé de leurs temps d execution sur une même machine pour le même boulot, ce qui peut s avérer très utile pour le design d application en temps réel. La méthode qui ressort comme étant l état de l art pour la reconnaissance par méthode de projection est la combinaison de SQI [41] et du LBP modifié [17]. Néanmoins cette méthode est surpassée en terme de performance par une méthode contemporaine à l étude comparative : le prétraitement de Tan et Triggs [33] présentée plus haut. 25

32 Partie II Application 26

33 Chapitre 3 Conception de l application Ce troisième chapitre est consacré à la conception de l application qui permettra à Nao d établir des relations avec les personnes qui l entourent. Tout d abord, dans la première section Mise en situation, je préciserai l énoncé du problème et identifierai les limitations matérielles qui guideront le développement de l application. Je consacrerai ensuite la section 3.2 au problème du temps réel en général et appliqué à l application de ce mémoire. Puis, j expliquerai le fonctionnement complet de l application finale à la section 3.3 Architecture prototype et cycle de fonctionnement standard. Je terminerai par apporter quelques pistes qui permettraient d améliorer les performances générales à la section 3.4 et par conclure à la section Mise en situation Définition de l objectif et énumération de ses conséquences L objectif de l application est de permettre à Nao de reconnaître les personnes qui l entourent, de mémoriser sur demande l identité d un nouveau personnage et d établir une relation avec quelqu un en le suivant du regard. Un scénario type de l utilisation de ces capacités se déroule en deux phases. Premièrement Nao fait la connaissance d un personnage (Paul), sauvegarde ses informations visuelles et les associe à un label. La deuxième phase se produit lorsque Paul revient voir Nao, ce dernier le reconnaît et tourne le visage vers lui en le saluant. Cette deuxième phase est illustrée à la figure 3.1 p.28. Un tel comportement implique en conséquence que Nao soit capable d effectuer en temps réel 1. la localisation de tous les visages dans son champ visuel, 27

34 Figure 3.1: Situation typique que Nao doit être capable d effectuer. Paul est un personnage que Nao a rencontré auparavant. Lors d une seconde rencontre, Paul rentre dans le champ visuel de Nao et ce dernier le reconnaît, se tourne vers lui et le salue par son prénom. 2. la poursuite des visages d une capture du champ visuel à l autre, 3. la reconnaissance faciale, 4. une sauvegarde de nouveaux visages dans une base de données et 5. la construction de l ordre de mouvement de la tête pour fixer une personne en particulier Importance du temps réel et des performances Cette application est une routine à la base de toute une série d applications d interaction homme-machine d ordre supérieur telles qu une conversation ou la poursuite à travers la foule d une personne en particulier. Elle doit par conséquent (1) utiliser un minimum de ressources et (2) être la plus robuste possible, un dysfonctionnement à cet étage se propagerait de manière désastreuse en aval. Si le robot présente ces deux caractéristique de temps réel et de performance, on pourra dire qu il s intègre dans son milieu de manière limpide, ce qui s avère être précieux pour toutes les applications potentielles. Prenons l exemple d un système chargé de transmettre des informations confidentielles à un trader internationnal pressé. Il sera malvenu que (1) le système transmette les informations à la mauvaise personne ou (2) le système prenne 15 secondes pour reconnaître le trader. 28

35 La conception devra donc s orienter dès le début vers des choix qui permettront au système d être rapide et robuste. La tâche sera d autant plus ardue qu il s agit là de deux éléments antagonistes où l amélioration de l un se fait souvent au détriment de l autre Matériel disponible et limitations Figure 3.2: Matériel disponible pour l application développée dans le cadre de ce mémoire. Une unité de traitement embarquée sur Nao et une unité de traitement à distance puissante communiquant entre-elles par wifi. Le matériel disponible (voir fig. 3.2 p.29) est constitué de L ordinateur Zosma AMD Athlon 64 X2 Dual (2.01 GHz) 2 Go de RAM (ressources distantes). Le robot Nao fourni par Aldébaran Robotics [1]. Ce dernier est équipé d un processeur AMD X86 GEODE 500MHz et de 256 Mo de SDRAM (ressources embarquées). Une caméra est placée sur le haut de sa tête et fonctionne en trois modes : 640x480, 320x240 et 180x120 pixels. Une transmission sans fil est disponible entre Nao et l ordinateur distant. Une seconde connection par fil est aussi disponible mais s oppose à l idée d autonomie du robot. 29

36 Avec fil Sans fil Résolution N&B Couleur N&B Couleur Table 3.1: Relevé en ms des temps de transmission avec et sans fil entre le robot Nao et l ordinateur distant pour différentes résolutions. La transmission d images de couleur implique le transfert de 3 chaînes de couleur. Ce matériel a pour principaux défauts des ressources embarquées faibles et un temps de transmission élevé comme le montre le relevé des temps de transmission dans différentes conditions à la table 3.1 p Le challenge Le challenge à relever est donc de choisir l architecture et les méthodes pour obtenir le meilleur compromis entre temps réel et performance en s arrangeant avec des ressources embarquées faibles et un temps de transmission élevé. 3.2 Gérer le problème du temps réel Des solutions au problème du temps réel peuvent déjà être trouvées dès la conception de l architecture où il est possible de jouer sur la distribution des tâches entre les deux processeurs disponibles. Il sera donc question ici de choisir les lieux d exécution des différentes étapes du traitement énumérées à la section p.27 : la détection, la poursuite, la sauvegarde, la reconnaissance et la construction de l ordre de mouvement. Mais tout d abord, deux concepts temporels importants, à savoir le temps de réaction et le temps de rafraichissement, sont introduits à la section et une liste des éléments à prendre en compte pour le choix des lieux d exécution des différentes étapes du traitement est établie à la section Différence entre temps de réaction et le temps de rafraichissement Le temps de réaction est le temps entre l occurence d un stimulus au système et le début de l exécution de la réponse souhaitée. Le temps de rafraichissement s apparente au nombre d images capturées par seconde ou le nombre d images affichées par seconde 30

37 dans le cas où il y a un écran témoin. Bien que l optimisation de l un semble découler de l optimisation de l autre, ce n est pas nécessairement le cas. Ainsi, en prenant l application à développer pour ce mémoire, les architectures potentielles 1 (A) et (B) présentées ci-dessous illustrent une situation où l augmentation du nombre d images par seconde (fps = frames per second) est synonyme de diminution de temps de réaction, voir figure 3.3 p.31. Figure 3.3: Illustration de deux situations pour lequelles la diminution du temps de rafraîchissement n est pas synonyme de diminution du temps de réaction du système. Dans la situation A, l entièreté du traitement s effectue sur Nao, donnant un temps de rafraîchissement égal au temps de réaction. Dans la situation B, une partie du traitement se fait sur l ordinateur distant, plus rapide. Bien que cela ait permis de diminuer le temps de rafraîchissement, on voit que le temps de réaction a quant à lui augmenté par rapport à la situation A (L hypothèse est faite que les deux plateformes sont multitâches, sachant à la fois traiter et transmettre/recevoir. La relaxation de cette hypothèse forcerait Nao à commencer la capture de l image 1 seulement à la fin de la transmission à l ordinateur mais ne remettrait pas en cause cette conclusion). A Tout le traitement s effectuent sur Nao, la détection des visages et la reconnais- 1 Pour illustrer le concept, seules deux étapes de traitement sont considérées : la détection et la reconnaissance des visages. Ceci est aussi valable pour la figure

38 sance. B Seule la détection s effectue sur le processeur embarqué, la reconnaissance se fait sur l ordinateur distant, plus rapide. Cela implique un temps de transmission. Les temps de rafraîchissement et de temps de réaction sont donc deux concepts différents et lorsque le temps de transmission entre les deux processeurs est significatif l optimisation de l un peut conduire à la détérioration de l autre Points importants pour choisir la distribution idéale des tâches L obtention de la distribution idéale des tâches entre le processeur embarqué et le processeur distant se déroule en étant attentif à plusieurs points : La grandeur temporelle à minimiser: l architecture ne sera pas la même pour une application aval demandant beaucoup d informations en un minimum de temps (temps de rafraîchissement faible) ou une application aval demandant un temps de réaction faible. La première catégorie correspond par exemple à une application chargée de vérifier l identité du personnel d entreprise à l entrée du bâtiment et d avertir de la présence d un étranger. Pour ne pas alerter inutilement le garde, l application pourra augmenter sa robustesse en basant son jugement sur plus d un cliché. La deuxième catégorie comprend par exemple les applications d interaction de divertissement où le lag est un phénonème très peu apprécié. Les ressources disponibles, pas uniquement les processeurs, la mémoire RAM aussi. Le lieu de stockage de la base de données. En effet, pour chaque information la base doit entièrement être parcourue et le transfert entre la base et le processeur qui effectue la reconnaissance peut donner lieu à des temps d accès significatifs. La quantité d informations devant être transmise sur l ordinateur distant. Une situation où toute l image doit être transmise et une autre où seulement les visages sont demandés pourront conduire à des choix d architecture différents. La détermination de la répartition idéale des tâches à utiliser est donc influencée par (1) les temps de transmission et de traitement sur les différentes plateformes, ceuxci dépendant du matériel et (2) les objectifs de l application en aval demandeuse du système de reconnaissance, à savoir principalement la grandeur temporelle à minimiser (temps de rafraîchissement ou temps de réaction) et les besoins en affichage. 32

39 3.2.3 Choix des lieux d exécution : l architecture prototype L architecture développée est un prototype où tout se déroule sur l ordinateur distant (voir figure 3.4 p.33). Les raisons qui ont poussé à ce choix sont (1) les ressources limitées de Nao (le processeur, l espace disponible et la RAM), (2) l absence d application aval; (3) la facilité de développement car pour charger un nouveau programme sur Nao il faut l éteindre, ouvrir sa tête, retirer une clé USB, la flasher, la remettre en place et rallumer Nao, opération pouvant prendre facilement 3 à 5 minutes; et (4) l importance d avoir un affichage du champ visuel complet pour une application prototype de ce type. Figure 3.4: Un cycle complet de l application. Il commence par la capture de l image sur Nao et se poursuit par la transmission de l image à l ordinateur distant. Ensuite trois étapes de traitement sont effectuées à l issue desquelles un ordre de mouvement est envoyé par wifi à Nao. 3.3 Architecture prototype et cycle de fonctionnement standard L application fonctionne par cycles qui commencent par la capture du champ de vision de Nao et se termine par l envoi ou non de l ordre de mouvement de la tête de Nao vers 33

40 une personne en particulier. Un cycle standard n comprend trois stages 2 de traitements cités ci-dessous, décrits en détail à partir de la prochaine section et illustrés à la figure 3.4 p.33. La détetion des visages. Il s agit d extraire les zones rectangulaires qui délimitent les visages du cycle n contenus dans le champ de vision de Nao. La poursuite des visages qui est chargée de faire correspondre les visages du cycle n à ceux du cycle n 1. Cette poursuite permettra au stage de reconnaissance de tenir un historique sur plusieurs cycles des identités attribuées à un même visage. La reconnaissance des visages : les visages du cycles n sont comparés avec ceux contenus dans la base de données et les identités ponctuelles (uniquement basées sur les informations du cycle n) sont déduites puis ajoutées à l historique. L identité divulguée est le résultat d un vote des identités ponctuelles de plusieurs cycles Détection des visages Figure 3.5: La boîte de détection des visages. L entrée est une capture du champ visuel de Nao tandis que la sortie comprend les visages extraits, leurs dimensions et leurs positions dans l image de départ. La détection des visages reçoit une capture du champ visuel de Nao et a pour but (1) d extraire les zones rectangulaires de l image qui contiennent les visages et (2) de fournir leurs dimensions et leurs positions. Cette localisation est effectuée par la librairie C++ OpenCV [2] qui fournit une implémentation de l algorithme de détection de Viola et Jones [38] décrit à la section 1.1 p.6. La description de la boîte détection des visages est faite à la figure 3.5 p Le mot stage est utilisé ici comme synonyme du mot étape pour éviter toute confusion plus loin dans le texte 34

41 OpenCV ( Open Source Computer Vision ) est une librairie initialement développée par Intel qui fournit plus de 500 algorithmes pour la vision par ordinateur en temps réel. L algorithme de Viola et Jones y est implémenté et des apprentissages sont fournis. Ainsi OpenCV peut déjà localiser les visages, les yeux, les bouches ou d autres parties du corps La poursuite Figure 3.6: La méthode de poursuite utilisée. Le fonctionnement normal est présenté à gauche. Les trois situations suivantes correspondent à trois situations où la poursuite ne parvient pas à poursuivre correctement les visages d un cycle à l autre La poursuite doit établir la correspondance entre les visages de deux cycles successifs. La méthode utilisée dans cette application consiste à appliquer la règle simple suivante : si le centre du visage dans la frame n est compris à l intérieur d une zone définissant un visage dans la frame n 1, alors il s agit de visages appartenant à la même personne. L exécution normale de cette méthode est illustrée à la figure 3.6. Les inconvénients et faiblesses de cette méthode sont listés ci-dessous et les trois premiers (a), (b) et (c) font aussi l objet d une illustration à la figure 3.6. (a) Lorsque le temps de rafraîchissement est faible, les distances parcourues par les centres des visages en mouvement peuvent dépasser leur cadre de délimitation provoquant ainsi l échec de la poursuite. (b) Lorsque deux candidats repreneurs sont présents (voir point (b) de la figure 3.6) une indécision a lieu. Bien que l algorithme n associera pas deux fois la même iden- 35

42 tité, le résultat de la poursuite dépendra de l ordre dans lequel les deux candidats auront été détectés durant le stage de détection et ne sera donc pas fiable. (c) Lors du croisement de deux visages, il se peut que les identités soient inversées, faussant ainsi tout résultat du vote ultérieur pour l identification. (d) Si le système de détection de visage manque le visage x lors du cycle n, le lien entre le visage x du cycle n 1 et du cyle n + 1 ne sera pas établi. Comme conséquence immédiate la phase de vote de l étape de reconnaissance ne pourra plus compter que sur un seul exemplaire du visage x lors de l identification du cycle n + 1. Le même problème survient lorsqu un visage quitte le champ visuel pendant un court instant. Pour éviter la majorité de ces inconvénients, une méthode de poursuite alternative basée sur la correspondance des couleurs entre visages de cycles successifs pourrait être utilisée. Il faudra alors être attentif à sa sensibilité aux variations d illumination. Cette application utilise donc une méthode de poursuite simple dont les faiblesses ont été répertoriées. Elle présente les avantages de sa simplicité, sa rapidité d exécution et son fonctionnement sur n importe quel type d image (couleur, niveau de gris,etc.). De plus, les performances qu elle a su montrer lors de tests se sont avérées suffisantes Reconnaissance des visages Ce stage reçoit en entrée un visage candidat et trouve son identité si il est déjà enregistré dans la base de données. Dans le cas contraire, c est l identité de l élément le plus proche de la base de données qui est renvoyée. Ce traitement de l information se fait en plusieurs phases décrites ci-dessous et illustrées à la figure 3.7 p.37 : 1. Le traitement de l illumination. En conditions réelles, l éclairage peut varier et causer une dégradation des performances de reconnaissance. Cette phase de préparation de l image prend ce problème en charge. 2. La conversion LBP. L image est décrite en termes de Local binary patterns introduits à la section 2.3 p.19. L interprétation de cette description en termes d arêtes et de coins sera donnée à la section p La division en sous-régions. Il s agit d une phase clé qui a fait l objet d une paramétrisation complexe décrite à la section 4.3 p.47. En séparant l image en plusieurs petites images traitées séparément, cette phase permet de tenir compte d informations spatiales précieuses pour la classification. 36

43 Figure 3.7: Illustration du stage de reconnaissance. L entrée est un visage dans sa zone rectangulaire de délimitation. Il subit d abord un traitement d illumination avant d être converti au format LBP. Il est ensuite divisé en sous-régions qui seront traitées séparément durant le reste du processus. Un histogramme par région est calculé et ensuite comparé avec ses homologues chez chacun des éléments de la base de données pour obtenir l identité ponctuelle. Un vote sur l historique a enfin lieu pour déterminer l identité divulguée. L ajout de l identité ponctuelle à l historique n a pas été dessinée pour simplifier la lecture du schéma. 4. La construction des histogrammes pour chaque sous-région. Ensemble ils forment un set d histogrammes associé au candidat. 5. La comparaison avec les éléments de la base de données. Le set d histogrammes du candidat est comparé avec tous les personnages de la base de donnée qui eux aussi possèdent leur propre set d histogrammes. Le membre le plus proche est ensuite sélectionné comme identité ponctuelle du candidat et ajouté à un historique. 6. Enfin, l identité divulguée est obtenue par le vote sur plusieurs cycles, rendu pos- 37

44 sible par le stage de poursuite et la tenue de l historique. Le traitement de l illumination Cette phase du stage de reconnaissance emploie la méthode utilisée par Tan et al. [33] et qui est présentée à la section La conversion en local binary Patterns Cette phase de conversion reçoit en entrée une image décrite en niveaux de gris et rend une image décrite en local binary patterns. La description théorique de cette technique a été présentée à la section 2.3 p.19 et fait l objet dans cette section d une interprétation en termes de coins et arêtes (voir figure 3.8 p.39). Pour rappel, la conversion basique d un pixel en un local binary pattern se fait en deux étapes à partir des relations plus petit plus grand qu entretient sa valeur et avec celles des 8 pixels périphériques qui l entourent. Tout d abord l association d un label binaire à chacun des pixels périphériques est faite en leur associant le label 1 si leur valeur est supérieure à celle du pixel à convertir et le label 0 dans le cas contraire. Ensuite, les huits labels sont lus dans le sens des aiguilles d une montre pour former un nombre binaire appelé local binary pattern (lbp). L endroit où commence la lecture n a pas d importance et a été choisi comme étant le pixel périphérique situé au dessus du pixel à convertir. Finalement, seuls les lbp uniformes sont conservés pour la construction de l image convertie. Un lbp est qualifié d uniforme lorsque la lecture cyclique de ses labels comprend moins de trois transitions 0-1 ou 1-0. Ainsi et sont respectivement uniforme et non-uniforme. L interprétation des lbp est faite sur base de l emplacement des transitions dans le nombre binaire. Ainsi les nombres binaires , et correspondent respectivement à une arête verticale, une arête horizontale et un coin inférieur gauche. Plusieurs exemples de ce type sont présentés à la figure 3.8. La description lbp décrit donc les contours des objets présents dans l image et dans le cas de la reconnaissance faciale cela peut être interprété comme une description des silhouettes des éléments clés du visage tel que le nez ou la bouche. 38

45 Figure 3.8: Interprétation de la description en local binary patterns. L image à convertir en LBP est ici le trapèze. Les arrangements de 8 pixels en carrés correspondent chacun aux pixels périphériques d un pixel à convertir. Lorsqu un pixel périphérique est associé au label 1 il est colorié en gris et dans le cas contraire en bleu. En commençant en haut à gauche et en continuant dans le sens des aiguilles d une montre, les conversions LBP des arrangements représentés donnent respectivement 16, 12, 14 et 112. La division en sous-régions et la contruction des histogrammes Cette phase incarne l utilisation d informations spatiales dans le stage de reconnaissance en découpant l image en sous-régions qui seront traitées et comparées séparément. Les tailles et les positions des sous-régions ont fait l objet d une optimisation présentée à la section 4.3 p.47. Des histogrammes sont ensuite construits pour chacune des sous-régions et rassemblés dans un set d histogrammes associé au visage à reconnaître. Ce rassemblement en set d histogrammes est le format sous lequel les personnages connus de Nao sont stockés dans la base de données. L antagonisme de ces deux opérations, la division en sous-régions et la construction des histogrammes, mérite d être souligné et est expliqué ci-dessous. Dans l évolution du contenu informatif tout au long du traitement, l opération de mettre les données sous forme d un histogramme efface toute information concernant la distribution géographique des éléments au sein de l image. Cette opération permet donc de diminuer la sensibilité de la reconnaissance face aux déformations rigides locales ou globales que peut subir une personne entre deux clichés mais interdit aussi à toute étape ultérieure d appliquer un traitement différent à des régions dont le contenu discriminatif 39

46 serait différent, telles qu une région à contours marqués et une région de peau continue 3. La division en sous-régions en amont agit dans le sens contraire de la génération des histogrammes car elle permet de différencier le traitement de régions en fonction de leur emplacement dans la fenêtre de délimination du visage. La divisions en sous-régions et la génération des histogrammes peut donc être interprétée comme deux processus qui permettent ensemble de moduler la quantité d informations spatiales qui sera prise en compte lors de la classification. La comparaison avec les éléments de la base de données Cette phase reçoit en entrée le set d histogrammes du candidat assemblés lors de la phase précédente et détermine quel set d histogrammes de la base de données lui est le plus proche. La proximité de deux sets est donnée par la distance qui les séparent. Celle-ci est une combinaison linéaire des distances entre leurs histogrammes homologues. Ainsi pour deux histogrammes de la première sous-région H 1 = (H1, 1 H1, 2..., H1 n ), H 2 = (H2, 1 H2, 2..., H2 n ) et Hx i la valeur du bin i de l histogramme H x, la distance qui les sépare est D 1 ( H 1, H 2 ) = H 1 H 2 H 1 H 2 (3.1) La similarité entre deux visages est donc mesurée par la combinaison linéaire des distances qui séparent leurs histogrammes homologues. Les coefficients de cette combinaison ont fait l objet d une optimisation présentée à la section 4.3. Le vote Cette phase utilise les multiples exemplaires 4 du visage à reconnaitre pour voter l identité divulguée. Celle-ci est obtenue en moyennant les rangs de proximité des éléments de la base de donnéess avec les exemplaires. 3 Vu l utilisation des lbp, un simple changement du sens d un dégradé provoqué par une source lumineuse sur une zone de peau plane pourra provoquer la génération de deux histogrammes complètement différents 4 Ces multiples exemplaires sont les occurences du visages à reconnaître dans les cycles précédents 40

47 3.4 Pistes pour améliorer les performances Nouvelles informations spatiales Les informations spatiales sont actuellement intégrées à la classification lors de la division en sous-régions et elle concerne la distribution des données discriminatives parmis les sous-régions. Il m est venu l idée d ajouter à cela des informations spatiales contenues à l intérieur des sous-régions. Cette capture d informations spatiales contenues dans une sous-région se déroule en deux étapes. Tout d abord les centres de gravité de chaque valeur de lbp sont calculés et ensuite les distances qui séparent certains d entre-eux sont ajoutées à l histogramme selon facteur à paramétrer. Les paires de lbp dont la distance des centres de gravité est évaluée sont sélectionnés tels qu elles puissent effectivement représenter une caractéristique discriminative du visage. Ainsi, pour une sous régions englobant les sourcils, il est possible de mesurer la distances qui les séparent tel qu illustré à la figure 3.9. Figure 3.9: La distance entre les centres de gravité de lbp au sein d une sous-région peut représenter une distance physionomique. Ici deux sourcils sont représentés en orange pâle et les deux lignes rouges représentent des patterns identiques avec leurs centres de gravité indiqués par un point noir. Des exemplaires de paire de lbp dont l espacement des centres de gravité peut représenter une distance discriminative sont présenté à la figure Ne font pas partie de ces paires les lbp représentant les arêtes verticales ou horizontales car leur espacement correspond à l épaisseur d un trait, ne fournissant pas d informations discriminatives. J ai donc montré ici comment extraire des lbps des informations spatiales d une autre manière que par la division en sous-régions et propose l utilisation de cette méthode pour améliorer les performances des systèmes de reconnaissance faciale. 41

48 Figure 3.10: Set de quatre paires dont l espacement des centres de gravité peut aider à la reconnaissance faciale en donnant des informations quant à l organisation spatiale à l intérieur d une sous-région. Ces paires sont toutes issues d une symétrie axiale. La première paire illustrée est constituée des lbp 224 et Collaboration des système de reconnaissance et de poursuite La poursuite et la reconnaissance ont le point de commum d associer un visage à un autre issu d une autre frame ou d une base de données. Cet objectif commum permet d envisager une collaboration entre les deux techniques. Actuellement, la poursuite aide déjà la reconnaissance en lui permettant d avoir accès à plusieurs exemplaires du visage à identifier et en augmentant ainsi sa robustesse. C est déjà un premier pas vers la collaboration mais il est possible de faire plus. Tout d abord en rendant inutile la reconnaissance dans les situations où la poursuite est capable d affirmer avec certitude qu un visage est le même que celui d un autre cycle déjà identifié. Ce type d entraide a deux bénéfices : celui de diminuer le temps de traitement et celui d offrir un support au système de reconnaissance lorsque sa tâche est rendue difficile par une occlusion partielle ou une déformation du visage. Ainsi le fâcheux problème du cri qui survient quand la personne à reconnaître crie est esquivé lorsque le système de reconnaissance a la possibilité de faire appel au système de poursuite. Ensuite en donnant la possibilité au système de poursuite de faire appel au système de reconnaissance pour retrouver la trace d un visage disparu après une occlusion totale. La mise en place d une collaboration entre les systèmes de reconnaissance et de poursuite demanderait donc à ces deux systèmes de pouvoir fournir un degré de certitude quant à leurs résultats et dans le même temps permettrait d améliorer d une part la robustesse des deux techniques face à des situations difficilles et d autre part le nombre moyen d images traitées par intervalle de temps. 42

49 3.5 Conclusion La conception de l application en tenant compte des contraintes matérielles et de l exigence d une exécution en temps réel est maintenant terminée. Elle a sollicité une réflexion sur les concepts de temps de rafraîchissement et de temps réaction et a finalement abouti à l organisation présentée ci-dessous. La capture du champ de vision de Nao est directement envoyée par wifi à un ordinateur puissant chargé, en fonction de la personne avec qui établir un contact, de commander un mouvement de tête qui centrera le visage de l interlocuteur au centre du champ de vision de Nao. La station distante effectue pour cela deux stages majeurs 5 de traitement: une localisation des visages dans le champ de vision de Nao et une reconnaissance faciale pour chacun d eux 6. La détection utilise le fameux algorithme de localisation en temps réel de Viola et Jones et la reconnaissance est basée principalement sur une division de l image en sous-régions suivie de la génération pour chacune d elles d histogrammes de local binary patterns. Les interprétations de deux phases importantes du stage de reconnaissance ont été faites: celle de la conversion en local binary patterns comme description en termes d arêtes et de coins, et celle de la division en sous-régions suivie de la génération d histogrammes comme moyen de modulation de la quantité d informations spatiales prise en compte lors de la classification. D autre part, deux améliorations ont été proposées: une concernant la prise en compte d informations spatiales au sein des sous-régions et l autre concernant la collaboration des systèmes de reconnaissance et de poursuite de visages à travers plusieurs champs visuels successifs. Après cette conception, la paramétrisation qui doit nécessairement avoir lieu est faite au chapitre suivant et déterminera premièrement la taille des fenêtres de délimitation qui seront utilisées et deuxièmement la manière de diviser l image en sous-régions pour obtenir le meilleur taux de bonnes classifications. 5 Pour rappel, c est ainsi que les macro étapes de traitement sont nommées pour éviter la confusion avec des étapes de traitement d ordre inférieur 6 Si la personne avec qui établir un contact est connue d avance, une vérification d identité aurait suffi. La reconnaissance est ici utilisée pour donner à Nao la conscience permanente de l identité des gens qui l entourent et ainsi lui permettre d ajuster son comportement en fonction des personnes présentes ou non. Cela permet aussi de rester dans un cas général et d offrir un maximum d informations à tout logiciel d ordre supérieur telle que pourrait constituer une application chargée de rendre un accueil personnalisé à l entrée d une institution 43

50 Chapitre 4 Entraînement sous MatLab du stage de reconnaissance Ce chapitre est destiné à paramétrer l application pensée au chapitre précédent. Pour cela, le stage de reconnaissance de visage a été entièrement implémenté à l aide du Logiciel Matlab. Les éléments à paramétrer sont: 1. La taille de fenêtre qui sera utilisée. Tous les visages d entrée, qu ils soient destinés à la sauvegarde dans la base de données où à l identification, devront présenter les mêmes dimensions. En effet, la reconnaissance est basée sur la génération d histogrammes de local binary patterns (lbp) et par conséquent l utilisation de visages de résolutions différentes poserait deux problèmes : celui des lbp qui détectent la présence d arêtes et coins pour des environnements de 9 pixels quelque soit la résolution de l image et celui des histogrammes qui, s ils sont générés sur des régions de tailles différentes, ne pourront pas être comparés. La solution la plus simple est de redimensionner l image dès le début. La principale critique à l encontre de cette solution est que l interpolation qui devra nécessairement avoir lieu dégrade la qualité de l information contenue dans l image originale. 2. Les dimensions, les positions et les poids des sous-régions utilisées pour la reconnaissance. Pour rappel, l application comprend une phase de découpage de l image en sous-régions traitées séparément pour apporter des informations concernant l organisation spatiale à la classification. Cette méthode, comme cela sera vu au chapitre 6, augmente de manière significative les résultats et mérite donc de s y attarder. Ce chapitre décrit la paramétrisation de ces éléments aux sections 4.2 et 4.3. Une conclusion à la section 4.4 p.51 reprend les éléments à retenir et donne un avis critique 44

51 accompagné des éléments qui conduiront au chapitre 5. Avant de commencer la paramétrisation, les ensembles d entraînement et de validation qui seront utilisés sont introduits à la section Ensembles d entraînement, de validation et bases de visages Figure 4.1: Méthode de détection de Viola et Jones implémentée par OpenCV appliquée à un échantillon de la base de données FERRET gray. Cette extraction qui forme les ensembles d apprentissage et de validation pour l application de paramétrisation en Matlab a été effectuée avec le même code c++ que celui qui est utilisé pour l application avec Nao. Le contenu des ensembles d entraînement et de validation se veut le plus proche possible des visages auxquels le stage de reconnaissance aura affaire. Par conséquent leurs cadrages dans leurs fenêtres de délimitation seront faits en utilisant l implémentation OpenCV de l algorithme de Viola et Jones [38] tel que c est le cas pour les visages détectés dans le champ visuel de nao. Les images d entrées sont issues de la base de données FERRET gray [27, 28](voir figure 4.1 pour un échantillon cadré avec OpenCV). L ensemble d apprentissage compte 60 visages différents et celui de validation compte 100 prises de vue des 60 personnes de l ensemble d apprentissage. Un test standard comprend l apprentissage des 60 visages différents suivi du calcul du taux de bonnes classifications sur l ensemble de validation. 45

52 La base de données FERRET est largement utilisée à travers la littérature pour mesurer les performances d un classifieur [4, 47, 6, 16] et n est pas disponible en téléchargement libre. J ai pu la télécharger entièrement après avoir suivi les procédures qui sont demandées sur le site web du projet [3]. 4.2 Taille de fenêtre utilisée Pour déterminer la taille de fenêtre à utiliser, plusieurs dimensions d image ont été testées sur l ensemble de validation. Le graphe de la figure 4.2 reprend les résultats qui montrent qu il existe un intervalle de taille de fenêtre d entrée pour lequel la méthode de classification est plus performante. Je n ai pas pu tester l utilisation de taille d image d entrée supérieure à 105 pixels de côté car je n avais pas assez de mémoire virtuelle pour effectuer les calculs. Figure 4.2: Taux de bonnes classifications obtenus pour différentes longueurs de côté d image d entrée. Des petites longueurs donnent de mauvais résultats car elle ne capturent pas beaucoup d informations. Bien qu il m ait été impossible de tester pour des tailles d images d entrée plus grande, le graphe laisse paraître qu une fois passé une certaine dimension le taux de bonnes classifications par rapport à la taille de l image d entrée diminue. La raison serait qu à partir d une certaine dimension, l information capturée par les lbps devient moins discriminative car elle est relative à un environnement de 8 pixels autour de chaque pixel et est donc invariable aux dimensions de l image. 46

53 Au vu de ces résultats, j ai choisi une taille de 60 pixels de côté. Ce choix est aussi motivé par le fait que la résolution de l image d entrée capturée du champ de vision de Nao sera d une résolution faible ( ou pixels) pour minimiser les temps de transmission à la station distante et que par conséquent les visages extraits par la méthode de détection ne seront pas de dimensions très élevées à moins que les personnes ne se tiennent juste en face de la caméra, situation impossible à garantir. Donc un choix d image d entrée de 60 pixels de côté a été fait en tenant compte de la résolution des images qui seront effectivement apportées par la caméra de Nao et de la taille d image d entrée qui semble permettre aux local binary patterns de capter le plus d informations discriminatives. 4.3 Sélection de la combinaison de sous-régions pour la reconnaissance faciale L objectif de cette paramétrisation est de trouver la combinaison de sous-régions qui permettra de distinguer au mieux les personnages. Pour rappel, le stage de reconnaissance divise le visage en plusieurs sous-régions traitées séparément pour tenir compte de la distribution géographique des zones utiles à la discrimination lors de la classification. L identification de la difficulté de cette paramétrisation et la précision de l objectif en conséquence sont d abord faits à la section 4.3.1, puis la stratégie et la combinaison finalement sélectionnée sont repris à la section Enfin, une conclusion comprenant une critique de la stratégie adoptée et des pistes pour la suite est faite à la section Difficulté et objectif La majeure difficulté de ce problème est de sélectionner la meilleure combinaison de x sous-régions parmi le nombre titanesque qu il est possible de trouver. Ainsi il y a déjà manières différentes de prendre x = 3 sous-régions parmi les n = que compte une fenêtre de 60 pixels de côté 1 : n! (n x)!x! ! = ( )!3! = L objectif de cette section sera donc de développer et d exécuter une stratégie efficace qui permettra de trouver une combinaison performante sans devoir utiliser d ordinateur quantique. 1 Ce nombre a été obtenu par Matlab en tentant de toute les générer. 47

54 4.3.2 Stratégie et résultats La stratégie est globalement de faire une pré-sélection parmi les sous-régions rectangulaires que contient une fenêtre de 60 pixels de côté pour que le nombre de combinaisons possibles devienne accessible. Il sera possible de toutes les essayer pour trouver la meilleure. Pour obtenir cette pré-sélection, il faut tout d abord trouver le moyen de les comparer entre elles. Une technique simple serait de comparer les résultats que chacune des sous-régions parvient à atteindre sur l ensemble de validation 2. Néanmoins, l application directe de cette technique pose plusieurs problèmes : Les premières zones sélectionnées sont de grande dimension et correspondent en fait à un simple recadrage du visage (voir fig 4.3). Or il est recherché des zones de taille moyenne couvrant plusieurs parties différentes pour rendre compte l organisation spatiale des données discriminantes. (a) Meilleur score (b) Score en fonction de la surface Figure 4.3: (a) La plus petite des sous-régions offrant le meilleur score de 67%. (b) Score des sous-régions en fonction de leur surface. Une idée pour passer au-delà de ce problème serait de pénaliser le score obtenu par les zones de grande taille, mais déterminer de quelle manière effectuer cette pénalisation n est pas évident. Normaliser les scores par la surface ne donne pas 2 La méthode de test d une sous-région consiste à ne considérer que les pixels qu elle inclue pour effectuer la reconnaissance 48

55 de bons résultats et ne fait que retourner le problème en privilégiant de manière excessive les sous-fenêtres de petite taille. Cette technique considère que la force d une combinaison de sous-régions se trouve dans les performances individuelles de ses membres, or la richesse de leur combinaison est aussi recherchée: si une zone contient les trois quarts de l information et une autre un quart, il est aussi important de sélectionner au moins une sous-région issue de chaque zone que de sélectionner la meilleure sous-région de chaque zone. L idée apportée pour résoudre ces deux problèmes est de n effectuer la comparaison des résultats que sur des sous-régions de dimensions identiques et de constituer la présélection avec les premiers classés de chaque catégorie. Bien qu il soit évident que cette idée résolve le premier problème, il est moins manifeste que ce procédé sélectionne des sous-régions d horizons différents. Pourtant c est bien le cas. Comme montré dans la figure 4.4 p.49, des zones clés du visages telles que le nez et les yeux semblent être contenues dans des rectangles de dimensions différentes assurant ainsi que chacune d elle a la chance d être classée première dans une catégorie différente et que les sous-régions présélectionnées proviendront d endroits différents de du visage. En complément, les classements au sein de quatre catégories de sous-régions de dimensions différentes sont présentés à la figure 4.5. Figure 4.4: Trois zones classées premières dans leurs catégories. Elles correpondent aux deux yeux et le nez. Il est montré ainsi que la méthode de présélection ne sélectionne pas que des sous-régions provenant du même endroit A ce stade, la présélection des sous-régions classées premières dans leurs catégories permet de réduire le nombre de sous-régions à combiner de 99.89% en passant de à 3540 (=60 largeurs possibles 60 hauteurs possibles - 60 répétitions que constituent les carrés). Néanmoins le nombre de possibilités de combiner trois d entre elles reste 49

56 Figure 4.5: Classements au sein des catégories de sous-régions de dimensions 60 9, 60 3, 18 9 et pixels 2. Les zones rouges foncés sont les plus discriminatives sur l ensemble de validation tandis que les zones bleues sont les moins discriminatives. élevé (8.0315e + 009) et le test de chacune de ces combinaisons prendrait 38 ans et une septantaine de jours 3. Figure 4.6: Résultat de la paramétrisation des sous-régions traitées séparément durant la reconnaissance. Les zones 1 et 2 ont un poids de 5 tandis que les deux autres ont un poids de 1. Ont alors été mises sur le côté les sous-régions dont la surface n était ni comprise entre 280 et 420, ni entre 1600 et Il s est avéré après quelques tests que cette présélection 3 Temps obtenu à partir du temps moyen nécessaire au test d une seule combinaison selon plusieurs combinaisons de poids 50

57 semblait mener aux meilleurs résultats. Avec ce critère et en prenant seulement les premières sous-régions de chaque catégorie, 47 sous-régions ont été présélectionnée. Ensuite les moyens de prendre 4 de ses 47 sous-régions ont été testés sur l ensemble de validation pour 455 configurations de poids différentes 4. Cela fait un total de configurations. Le résultat est donné à la figure 4.6 Plusieurs remarques sont à faire à la découverte de ce résultat. Tout d abord la présence de deux grandes sous-régions (1 et 2) englobant plusieurs éléments clés du visage tels que les yeux, le nez et la bouche. Une seule d entre elles obtient sur l ensemble de validation un taux de bonnes classifications avoisinnant les 67% tandis que leur combinaison avec les trois autres sous-régions permet une diminution de 45% de l erreur, soit un taux de bonnes classifications obtenu de 82% 5. Ensuite les poids très faibles accordés aux deux sous-régions de dimensions moyennes 3 et 4. L algorithme avait la possibilité de leur attribuer un poid nul, le fait qu il ne l ait pas fait semble indiquer que dans une combinaison, les sous-régions de petites dimensions permettent par des petites influences de mener le reconnaisseur de visage à la bonne décision. Enfin, le positionnement exclusivement sur la partie gauche du visage des zones 3 et 4. Une hypothèse quant à ce phénomène serait la symétrie du visage diminuant l intérêt d une sous-région du visage lorsque son homologue symétrique est déjà considéré. 4.4 Conclusion et suite Le premier objectif de ce chapitre était de trouver les dimensions de l image d entrée telles que le logiciel de reconnaissance fonctionnant sur Nao puisse atteindre les meilleurs résultats. Il a été décidé d utiliser des images d entrée de 60 pixels de côté car cela permettait (1) aux modèles binaires locaux de tirer un maximum d informations discriminatives et (2) de rester proche des dimensions d images d entrée qui seront typiquement rencontrées par Nao en conditions réelles. Le deuxième objectif était de trouver la combinaison de sous-régions qui permet d obtenir le meilleur taux de bonnes classifications. La principale difficulté rencontrée est le nombre colossal de combinaisons possibles parmi l ensemble des sous-régions : 4 Nombre de façon différentes d attribuer 4 poids compris entre 0 et 12 dont la somme vaut 12 5 Ceci est une première estimation de l amélioration que peut apporter l utilisation de la combinaison de sous-régions. Le véritable potentiel de cette méthode sera révélé au chapitre 6 lors de l utilisation de la combinaison sur un ensemble de test. Ahonen et al. [4] avaient déjà mentionné l importance de la division en sous-régions mais n en avait implémenté qu une version simplifiée ne supportant pas la superposition des sous-régions 51

58 pour une fenêtre de pixels 2 il y a déjà possibilités différentes de prendre 3 sous-régions. Pour enjamber cette difficulté, une méthode a été développée pour éliminer un maximum des sous-régions qui, combinées avec les autres, ne permettraient pas d obtenir un bon taux de bonnes classifications. Cette méthode consiste à présélectionner un représentant de chaque catégorie de dimensions de sous-régions et à écarter les autres. Après s être assuré que cela permettait de compter dans la présélection des sous-régions de localisations variées contenant différents éléments clés du visage, la technique a été adoptée. Le résultat donné par cette méthode de présélection comptait encore un nombre élevé de sous-régions. Par conséquent, une seconde épuration selon un critère de surface a été effectuée pour conduire finalement à un nombre de 47 sous-régions présélectionnées. Ensuite, les possibilités de prendre 4 sous-régions parmi ces 47 sous-régions d élite selon différentes distributions de poids ont été testées sur l ensemble de validation. La combinaison qui ressort première de cette optimisation est présentée à la figure 4.6 et a permis, sur l ensemble de validation, de diminuer de 45% le pourcentage d erreur. Le véritable potentiel cette combinaison sera vu au chapitre 6 sur un ensemble de test. Après ce chapitre, la meilleure combinaison est constituée de petites sous-régions imbriquées dans des sous-régions de plus grande taille, englobant la totalité des éléments clés du visage tels que les yeux, la bouche et le nez. Ce résultat est probablement influencé par le nombre de sous-régions considérées fixé à quatre. L étape suivante du développement serait de voir, avec un ordinateur le permettant, si ces sous-régions de grande taille sont toujours présentes pour une combinaison d un nombre plus élévé. Les plus petites sous-régions se répartissent sur un seul côté du visage, phénomène qui serait du à la symétrie du visage qui rend inutile la connaissance d une sous-région si son homologue symétrique est déjà connu. Ce dernier résultat devrait faire l objet de plus d étude avant de pouvoir être généralisé. Dans le cas d un nombre fixe de 4 sous-régions combinées, il est remarqué que les sous-régions de petites dimensions centrées sur des éléments clés du visage semblent aider le reconnaisseur de visage à se diriger vers la bonne décision par de petites influences tandis que des sous-régions de grandes dimensions indiquent la direction générale. La technique de présélection a comme principaux défauts de (1) ne sélectionner au maximum qu une sous-région par catégorie de dimensions et (2) de ne pas garantir par son fonctionnement intrinsèque une présélection comptant des sous-régions de toutes les 52

59 zones supposées clés du visage telles que les yeux, le nez, la bouche et les oreilles. Une amélioration de la méthode proposée consisterait alors à diviser l image en plusieurs macro sous-régions au sein desquelles des classements entre sous-régions de même surface serait effectués. Ensuite chaque macro sous-régions apporterait ses sous-régions d élite à la présélection. Parallèlement à la recherche de la meilleure combinaison rendue difficile par le nombre élevé de combinaisons possibles, une recherche des zones les plus utiles à la discrimination peut être menée pour tenter d apporter des indices quant aux zones à explorer en priorité lors de la présélection. Cela augmenterait le potentiel discriminatif de la présélection et ainsi les performances de la meilleure combinaison de sous-régions qui en sera tirée. Une tentative de génération d une telle carte des zones les plus utiles à discrimination est faite au chapitre suivant. 53

60 Chapitre 5 Obtenir une carte des zones utiles à la discrimination L objectif de ce chapitre est d établir une carte du visage indiquant les zones les plus utiles à la discrimination. L élaboration de la stratégie pour y parvenir n a pas été aussi simple qu attendu et je reprends ici les étapes de mon raisonnement qui ont mené à la stratégie finalement proposée de la section 5.5 p.63. Une conclusion à la page 65 reprend les résultats et les points importants du développement de la stratégie de génération de la carte des zones les plus utiles à la discrimination et apporte un avis critique. 5.1 Contexte et motivations Le développement de cette stratégie s est fait en même temps que celui de la stratégie de présélections des sous-régions pour la recherche de la meilleure combinaison capable de discriminer les visages (voir chapitre 4 p.44). La principale motivation vient de la difficulté de comparer des sous-régions de dimensions différentes entre elles, comme constaté au chapitre précédent. Après la construction d une carte des zones les plus utiles à la discrimination, il est espéré que, par sa consultation, la sélection des sous-régions pour construire la meilleure combinaison sera facilitée. Cette chapitre présente en plus du précédent les problèmes qui se sont présentés lors du développement des deux stratégies, le raisonnement complet pour les contourner et des précisions quant à l obtention des graphes de la figure 4.5 p.50. Les sections 5.2 jusqu à 5.4 comprise retracent dans l ordre chronologique les étapes de mon raisonnement et de mes expérimentations qui m ont menés à la solution finalement présentée à la section 5.5 p

61 5.2 Division en parties contigues Une première façon de procéder pour obtenir la carte des zones les plus utiles à la discrimination est de la diviser en plusieurs parties contigues et de tester chacune d entre elles sur l ensemble de validation. La taille des sous-régions devra être choisie ni trop grande ni trop petite. En effet, une taille trop grande donnerait une faible résolution à la carte finale tandis qu une taille trop petite soumettrait les résultats aux conséquences néfastes d un positionnement irrégulier du visage ou de parties du visage par rapport à la fenêtre de délimitation. Cet effet est expliqué et illustré à la figure 5.1. Figure 5.1: Effets du positionnement irrégulier du visage ou de parties de visage par rapport à la fenêtre de délimitation pour deux tailles de sous-régions différentes. La ligne du haut présente la robustesse d une grande fenêtre tandis que la seconde montre l incapacité de la petite sous-région à garder son contenu discriminatif lorsque sa position par rapport à l oeil change. Ces variations de positions peuvent être provoquées par le stage de détection qui ne cadre pas toujours les visages de la même façon, par des variations d inclinaison du visage, par des variations d angle de prise de vue ou encore par des variations liées à l expression du visage. Finalement, comme le montre la figure 5.2, il n aura pas été possible de trouver un compromis satisfaisant entre les effets néfastes de la grande taille sur la résolution et la sensibilité problématique des petites sous-régions au positionnement irrégulier du visage ou de parties de visages qui peut être provoqué par le stage de détection, par une variation d inclinaison du visage ou par une variation d angle de prise de vue. C est pourquoi j ai décidé d exploiter des sous-régions non contigues pouvant se recouvrir à la section 5.4. Mais tout d abord, la section 5.3 introduit les ensembles d apprentissage et de validation artificiels qui permettront de valider la stratégie de génération de la carte des zones les plus utiles à la discrimination avant de l utiliser sur les ensembles de visages. 55

62 Figure 5.2: Cartes des zones les plus utiles à la discrimination obtenues par la technique de la division en parties contigues pour différentes tailles de sous-régions élémentaires: 3, 5, 10 et 15 pixels de côté. Le résultat des cartes haute résolution est mauvais pour les raisons évoquées dans le texte et celui des cartes basse résolution n est pas assez précis pour localiser avec précision les éléments les plus utiles à la discrimination. 5.3 Introduction aux ensembles d apprentissage et de validation artificiellement générés Suite à des résultats inattendus obtenus lors d essais de construction de la carte des zones utiles à la discrimination, j ai décidé d utiliser des ensembles artificiels de données pour valider la technique de construction de la carte avant de l employer sur des données réelles. J ai ainsi généré quatre personnes présentées à la figure 5.3. Chaque visage est constitué de deux zones discriminatives qui permettent de les distinguer. Figure 5.3: Les quatres personnes générées artificiellement pour valider la technique de construction de la carte des zones utiles à la discrimination. Plus loin dans le texte, cet ensemble d apprentissage et son ensemble de test correspondant serviront à comparer l efficacité de méthode de création de carte. Ces cartes auront une résolution de 6 6 carrés de 100 pixels 2 (voir figure 5.4). Les deux zones discriminatives sont placées exactement au centre de deux de ces carrés de 100 pixels 2. Quelques notations et précisions utiles pour la suite : les quatres personnes de l ensemble artificel sont constitués de N = 2 zones discriminatives pouvant prendre deux valeurs chacune (ξ = 2). Ainsi la chance ψ d identifier une des quatre personnes 56

63 artificielles en devinant au hasard est de : ( ) N 1 ψ = (5.1) ξ ( ) 2 1 = 2 = 0.25 Pour simuler une situation réelle où le cadrage du visage et l organisation spatiale des éléments importants pour la discrimination ne sont pas toujours les mêmes, il est possible d ajouter des perturbations de dimension et de position aux ensembles artificiels. Néanmoins, afin de pouvoir repérer le plus précisément possible les effets indésirables sur les résultats des méthodes qui seront testées plus loin, l ajout des perturbations de position et de dimension aux ensembles de données artificielles ne sera pas effectué dans un premier temps. 5.4 Exploitation de parties non-contigues Une solution alternative à la division en parties contigues est de rassembler les scores de classification de plusieurs parties non contigues pouvant se chevaucher. Ainsi j ai (1) considéré toutes les sous-régions délimitables dans une fenêtre de 60 pixels de côté dont les dimensions et les positions étaient des multiples de 15 1, (2) regardé le pourcentage de personnes qu elles pouvaient classer correctement sur l ensemble de validation et (3) recoupé les résultats pour obtenir la carte des zones les plus utiles à la discrimination. La bonne façon de les rassembler n est pas évidente à trouver et les étapes successives qui m ont menées à la stratégie finale de la section 5.5 p.63 sont passées en revue cidessous Méthode (a) La première méthode (a) que j ai essayée se déroule en deux étapes : dans un premier temps les résultats des sous-régions sont normalisés par unité de surface (les scores sont divisés par le nombre de pixels contenus dans la sous-région) et ensuite à chaque pixel de la carte est attribuée la moyenne des résultats des sous-régions qui l incluent. La normalisation est utilisée pour départager les sous-régions de surface différente qui contiennent la même quantité d informations discriminatives en favorisant les régions 1 Ce choix est fait pour limiter le nombre de fenêtres existantes et pour faciliter le répérage des points faibles des méthodes qui seront successivement testées 57

64 (a) (b) (c) (d) Figure 5.4: Cartes obtenues par différentes méthodes de rassemblement des résultats des sous-régions. La méthode (a) effectue une moyenne des résultats normalisés par leur surface. La méthode (b) effectue une moyenne pondérée par l inverse de la surface des résultats normalisés. La méthode (c) utilise la technique d expansion pour annuler les effets de bords. La méthode (d) introduit la notion de fraction d informations discriminatives et utilise le maximum au lieu de la moyenne. de dimensions plus faibles qui cadrent mieux l information discriminative 2. La carte obtenue par cette méthode est la carte (a) de la figure 5.4. La carte est incorrecte car elle attribue une importance différente aux deux zones discriminatives. La raison de cette différence d importance aux deux zones discriminatives attribuée par la première méthode est que la normalisation par la surface a plus affecté les zones centrales de carte que les zones périphériques. En effet, une zone issue du centre de la fenêtre de pixels 2 a une proportion plus grande de sous-régions de grandes tailles qui l incluent que celle d une zone périphérique (voir fig. 5.5) et par conséquent, comme les scores pénalisés s additionnent, la zone centrale est plus pénalisée que les zones extérieures Méthode (b) La première technique (b) proposée pour contrer ce problème est de diminuer l importance des grandes zones dans le moyennage final en pondérant la contribution à la moyenne des sous-régions par l inverse de leurs surfaces. Cette technique donne la carte (b) présentée à la figure 5.4. Il est constaté que la seconde méthode gomme l effet néfaste de la normalisation des scores de la méthode (a) mais ne l efface pas totalement. 2 Avec le positionnement irrégulier de l image par rapport à sa fenêtre de délimitation (cfr fig. 5.1 p.55), n est-il pas dangereux de favoriser des petites sous-régions? Non, car les sous-régions soumises au problème du positionnement irrégulier auront déjà été défavorisées en aval, lors du test sur l ensemble de validation. En effet, si ce dernier est réaliste, il contient des irrégularités de position qui conduiront à un faible taux de bonnes classifications pour les sous-régions de petites dimensions 58

65 Figure 5.5: Illustration de la différence de proportion de sous-régions de grandes tailles qu il existe pour une image de pixels 2. Ce graphique représente pour chaque pixel le nombre de sousrégions de 900 pixels de surface qui le contiennent Méthode (c) La troisième méthode (c) proposée résout totalement le problème de la méthode (a) dont la mesure de l information discriminative d une zone dépend de l endroit où elle se trouve sur l image. Pour supprimer la différence entre une zone centrale et périphérique, l image de départ pixels est placée au centre d un grand carré de pixels ne contenant aucune information discriminative et le dessin de la carte des zones les plus utiles à la discrimination est fait en considérant les sous-régions de la grande image dont aucune des dimensions ne dépasse 60 pixels. De cette manière, tous les pixels de l image originale sont dorénavant les pixels centraux de la grande image et donc un pixel central et un pixel périphérique auront la même population de sous-régions qui les incluent. Cette méthode appliquée en amont de la méthode (b) donne la carte (c) présentée à la figure 5.4. La carte (c) accorde la même importance aux deux zones discriminatives, contrairement aux cartes (a) et (b) Méthode (d) Les motivations qui m ont poussé à développer la méthode suivante émane de l observation de la carte produite par la méthode (c). Cette carte indique que la région située entre les deux zones de discrimination contient plus d informations utiles à la discrimination qu ailleurs. Ceci s explique par le fait que prendre une sous-région de dimensions aléatoires et placer son centre à mi-chemin des deux zones de discrimination donne le plus de chances de réunir les deux zones discriminatives. Néanmoins, pour un nombre plus élevé de zones discriminatives, cet effet aura tendance à gommer les contours et diminuer la précision de la carte des zones les plus utiles à la discrimination. J ai donc décidé de continuer à réfléchir sur le problème et j en suis arrivé à développer la méthode (d) qui apporte deux contributions à la précédente. La première est l utilisa- tion du maximum au lieu de la moyenne des résultats. Appliqué directement à la méthode (c) cette contribution donne la carte présentée à la figure 5.6. Bien que cette carte détecte exactement les deux zones de discrimination, une critique importante est à faire : cette carte n a été obtenue qu à partir des sous-régions de Première contribution 59

66 Figure 5.6: Carte obtenue par l utilisation du maximum à la place du moyennage dans l exécution de la méthode (c). Les deux zones discriminatives sont parfaitement repérées pixels, la plus petite unité utilisée lors de ces simulations. De ce fait, elle n utilise absolument pas l information de plusieurs sous-régions non contigues pouvant se chevaucher et donne le même résultat et souffre des mêmes problèmes que la méthode de division en parties contigues présentée à la section 5.2. Ce problème est provoqué par la normalisation qui est trop pénalisante pour les sous-régions de moyennes et grandes dimensions et les empêchent de se manifester dans la carte finale : soit le cas de deux zones et pixels 2 qui contiennent respectivement sur les deux zones discriminatives aucune zone discriminative et 1 zone discriminative, la première donne un résultat observé de 25% et la seconde un résultat de 50% (données réellement obtenues avec les ensembles artificiels) tandis que leurs résultats normalisés sont respectivement de 25/225 = et 50/450 = Ces résultats normalisés égaux rendent équivalentes les participations à la carte finale d une sous-région contenant 50% de l information et d une autre ne contenant aucune information et montre donc que dans ce cas précis la carte des zones les plus utiles à la discrimination n a été contruite qu à partir des sous-régions de pixels. Un autre moyen de se convaincre que la normalisation est trop pénalisante est de voir que la normalisation par la racine carrée de la surface plutôt que la surface fait resurgir la participation des sous-régions de dimensions moyennes à la carte des zones les plus discriminatives (voir figure 5.7). Figure 5.7: Carte obtenue par l utilisation du maximum à la place du moyennage dans l exécution de la méthode (c) et la diminution de la pénalité imposée aux sous-régions de grande dimension. La deuxième contribution de cette méthode (d) permet de conserver l utilisation de la normalisation par la surface dont le but premier est de permettre de cadrer au mieux les zones les plus utiles à la discrimination en pénalisant la participation à la carte finale des sous-régions de surface inutilement trop grande. Une fois la méthode (d) au point, il sera même possible d utiliser la normalisation par une puissance de la surface comme Deuxième contribution 60

67 un paramètre de précision de la carte des zones les plus utiles à la discrimination. Le coeur de la deuxième contribution est la transformation des résultats de taux de bonnes classifications des sous-régions sur l ensemble de validation à une expression de la fraction d informations discriminatives contenues dans la sous-région. L idée de base de cette approche vient du fait que si la fraction d informations discriminatives était utilisée au lieu du taux de bonnes classifications, la normalisation lors de l utilisation du maximum à la place de la moyenne n aurait pas l effet ennuyeux sur la carte finale décrit plus haut : en reprenant l exemple on obtient des fractions d informations discriminatives normalisées de 0% pour la sous-région de pixels ne contenant aucune zone discriminative et de 0.111% pour la sous-région de pixels contenant une zone discriminative. La formule pour passer du taux de bonnes classifications C à la fraction d informations discriminatives QI dans le cas des ensembles artificiels est notée ci-dessous et son graphe est représenté à la figure 5.8 : QI = 1 log 0.25 (C) (5.2) La relation 5.2 a été obtenue en partant de sa réciproque plus intuitive, le taux de bonnes classifications en fonction de la fraction d informations discriminatives. Celle-ci se construit en raisonnant comme suit sur l identification des personnes artificielles : Si aucun bit n est connu, deux sont devinés au hasard et cela donne une chance sur 4 de trouver la bonne identité; si 1 bit est connu, 1 est deviné au hasard et cela donne une chance sur 2 de trouver la bonne identité; si 2 bits sont connus, aucun n est deviné au hasard et cela donne 100% de chance de trouver la bonne identité. La généralisation de ce concept pour N bits ξ-iaire donne la formule 5.3. C = ( ) N(1 QI) 1 (5.3) ξ où N est le nombre total d éléments discriminatifs et N(1 QI) le nombre d éléments discriminatifs indéterminés en fonction de la fraction d informations discriminatives. La réciproque de 5.3 donne la fonction généralisée de la fraction d informations discriminatives par rapport au taux de bonnes classifications : QI = 1 log (1/ξ) N (C) (5.4) La méthode (d) apporte donc deux contributions : la première est l utilisation du maximum à la place de la moyenne qui permet de diminuer la tendance de la méthode (c) à gommer les contours et diminuer la précision de la carte. La seconde transforme 61

68 Figure 5.8: Fonction de conversion de taux de bonnes classifications vers fraction d informations discriminatives contenue dans la sous-région pour le cas des ensembles artificiels composés de quatre visages. Trois points clés sont indiqués sur la figure : le point (0.25, 0) qui correspond à la situation où aucune information n est disponible et où le taux de bonnes classifications correspond à la chance de d identifier au hasard la bonne personne. Le point (0.5, 0.5), ce cas représente une région qui contient 50% de l information discriminative nécessaire à une identification correcte, c est à dire un bit sur un nombre binaire de 2 bits dans le cas des ensembles artificiels. La chance de trouver au hasard la bonne personne est donc de 50%. Le point (1, 1) où toute l information discriminative est connue et donc où le taux de bonnes classifications est maximum. les résultats de taux de bonnes classifications en fraction d informations discriminatives contenue dans la sous-région considérée et permet ainsi d utiliser la normalisation par une puissance de la surface comme un paramètre de précision de la carte finale des zones les plus utiles à la discrimination. En effet, lors de l assignation du score maximal, une puissance élevée favorisera les grandes sous-régions tandis qu une puissance plus faible augmentera la participation des sous-régions de faibles dimensions à la carte des zones les plus utiles à la discrimination. 62

69 5.5 Stratégie proposée et résultats La méthode finalement utilisée pour la création de la carte des zones les plus utiles à la discrimination est la méthode (d) présentée ci-dessus qui consiste à 1. Placer l image d entrée de pixels 2 au centre d une grande image neutre de pixels 2 pour contrer les effets de bords. 2. Déterminer l ensemble des sous-régions dont la hauteur et la largeur sont inférieures à 60 pixels pour la grande image de pixels. 3. Tester pour toutes les sous-régions le taux de bonnes classifications qu elle permettent d obtenir sur l ensemble de validation. 4. Transformer les taux de bonnes classifications en fraction d informations discriminatives. 5. Normaliser les fractions d informations discriminatives par une puissance de la surface pour diminuer la participation des sous-régions de grande taille à la carte finale. Une puissance élevée l annule complètement tandis qu une puissance nulle les met sur un pied d égalité et produit une carte peu précise. 6. Pour chaque pixel repérer toutes les sous-régions qui l incluent et lui assigner la valeur de la sous-région qui, selon le test sur l ensemble de validation, a la plus grande fraction d informations discriminatives après normalisation par une puissance de la surface. Figure 5.9: Carte des zones les plus utiles à la discrimination obtenue par la méthode finale (d). La normalisation s est faite par la racine quinzième de l aire et la carte a été obtenue en ne considérant que les régions ont la position et les dimensions sont des multiples de 5. 63

70 Après quelques essais pour trouver la puissance de surface idéale par laquelle il faut normaliser pour avoir un bon résultat, la carte des zones les plus utiles à la discrimination est dressée à la figure 5.9. Les zones les plus utiles sont les sourcils, le bas des yeux et les coins gauche et droit de la bouche. D autres résultats présentés à la figure 5.10 abondent aussi dans ce sens. Néanmoins, il faut signaler que ce résultat ne ressort pas de manière catégorique à toutes les résolutions et pour toutes les puissances de surface de normalisation. De plus, pour ce genre d objectif, les visages constituant les ensembles d apprentissage et de validation devraient être parfaitement réguliers pour que les variations d inclinaison et de cadrage ne viennent pas biaiser les résultats. Or les ensembles de visages utilisés ici étaient destinés à reproduire une situation réelle de détection de visages soumise à la contrainte du temps réel et à plusieurs inclinaison des visages. Une autre remarque à faire est liée à la résolution de l image: comme l algorithme de génération de la carte n avait pas la possibilité de tracer une limite de sous-régions entre le bas des yeux et les sourcils, les deux sous-régions contenant les sourcils et le contour inférieur des yeux peuvent s avérer être quelque peu décalée. Néanmoins, cela ne remet pas en doute l observation d un creux d importance entre les sourcils et les yeux. Figure 5.10: Deux autres configurations de test pour confirmer les résultats obtenus à la figure 5.9. Ces deux cartes montrent qu au niveau des yeux deux zones sont importantes : les sourcils et une zone située plus bas. Ici seules les sous-régions de hauteur 6 ont été considérées pour des positions et des largeurs multiples de 3 (contrairement aux positions et dimensions multiples de 5 pour la figure 5.9) Figure 5.11: Carte obtenue par la méthode (c) avec une puissance d aire de normalisation d un quinzième. La carte est floue et ne permet pas de distinguer les détails. Les raisons de ce flou sont expliquées à la section p.59 et sont accompagnées de la description de la méthode (d) qui passe au dessus de ce problème. 64

71 Il est intéressant maintenant de voir ce que donne l utilisation d une autre méthode sur les ensembles de visages réels. A cette fin, le résultat de la méthode (c) avec les même paramètres est présenté à la figure L obtention de la carte des zones les plus utiles à la discrimination ne s est donc pas faite sans mal mais a abouti à un résultat qui apporte des informations précises quant à la distribution des zones qui discriminent au mieux un visage (voir fig 5.9). 5.6 Conclusion L objectif de départ était de générer une carte indiquant les zones les plus utiles à la discrimination en vue d aider à la recherche de la combinaison de sous-régions qui donne le meilleur taux de bonnes classifications (voir section 4.3). La tâche s est avérée difficile et le développement d une stratégie de construction d une telle carte a permis de se pencher sur les éléments qui influençaient le caractère discriminatif d une sous-région tels que le problème du positionnement irrégulier du visage ou de parties de visage par rapport à la fenêtre de délimitation. Les principaux défis qui ont été relevés sont l effet désastreux des effets de bord et la tendance des méthodes simples de gommer les contours de la carte. Pour les identifier et cerner leurs conséquences sur la carte finale, des ensembles artificiels de données ont été générés et mis sur le banc d essai. Parmi les propositions qui ont finalement mené à la stratégie finale, une fonction associant la fraction d informations discriminatives contenue dans une sous-région au taux de bonnes classifications a constitué un tournant dans le développement de la stratégie. La solution finalement adoptée construit la carte à partir des taux de bonnes classifications individuels des sous-régions. Elle admet deux paramètres : le premier agit pendant la phase de normalisation des données et permet de jouer sur la précision de la carte finale en défavorisant plus ou moins les sous-régions de grande superficie. Le second concerne la résolution de la carte finale. A côté de ces paramètres, il est possible de construire la carte à partir d ensembles de sous-régions dont une des caractéristiques, telle qu une dimension ou la surface, est comprise dans un intervalle particulier. Toutes ces possibilités de configurer la génération de la carte des zones les plus utiles à la discrimination mènent finalement à un large panel de cartes desquelles il est difficile de faire la synthèse. Ainsi le premier paramètre de précision s apparente à un bouton de mise au point qui produit une multitude de niveaux de résultats correspondant à différents niveaux de défavorisation des sous-régions de superficie élevée. 65

72 La technique ne répond donc pas entièrement aux attentes de départ mais résout les premières grosses embûches à la génération d une telle carte. Je n ai pas trouvé d indications pour m aider dans la littérature concernant la reconnaissance faciale que j ai consultée. Une des premières étapes de la suite du développement de cette méthode serait donc de regarder ce que peuvent apporter des techniques statistiques ou d imagerie. Les présents résultats permettent d en savoir un peu plus sur l organisation des zones les plus utiles à la discrimination malgré qu ils doivent encore faire l objet de tests pour être affirmés avec certitude. Ainsi il semble que ce ne soit pas les zones comprenant complètement des éléments clés du visage tels que les yeux, le nez ou la bouche qui sont les plus utiles à la discrimination mais des zones frontières comme les bords de la bouche (sous doute moins soumis à des légers déplacements des lèvres causant l apparition des dents) ou la région inférieure des yeux. 66

73 Chapitre 6 Implémentation C++ et test des performances 6.1 Implémentation L application a été entièrement implémentée en C++ (voir appendice A) et interfacée avec Nao. Une capture d écran de l application en fonctionnement est présentée à la figure 6.1. Figure 6.1: Capture d écran de l application en fonctionnement. Deux personnes sont reconnues par l application qui leur attribue une couleur différente. Les deux images témoins en bas à gauche sont le résultat de la phase de traitement de l illumination effectuée durant le stage de reconnaissance. 67

74 L enregistrement d un nouveau visage se commande par le clavier et il est aussi possible de commander l enregistrement sur le disque dur d un visage dans sa fenêtre de délimitation. 6.2 Test de la détection des visages Les tests de la détection des visages ont été effectués car elle se trouve en amont du traitement de l image et conditionne donc tout le reste du traitement. Une bonne compréhension et connaissance de ses capacités est importante pour l interprétation des résultats de la reconnaissance faciale ou de tout autre traitement ultérieur. Deux éléments seront testés ici : l orientation en degrés des visages détectés et le cadrage du visage dans son rectangle de délimitation Orientations détectées OpenCV fournit entre autres deux apprentissages utiles pour cette application : un pour détecter les visages de face et le second pour les visages de profil. J ai voulu en savoir plus sur les taux de détection en fonction de l orientation du visage de ces deux méthodes et j ai donc mené l expérience. Les résultats sont présentés à la figure 6.2. L apprentissage FRONTFACE donne des résultats en faveur de son utilisation comme routine de localisation de visages présentés face à la caméra : une zone de détection supérieure à 94% s étend de -20 à 20. L apprentissage PROFILFACE vient soutenir le FRONTFACE en élargissant cette zone de détection vers la gauche jusqu à Cadrage des visages Les résultats de la paramétrisation montrent que les zones de discrimination sont toutes déplacées vers la gauche (voir figure 6.3), comme si l ensemble des visages issus de la détection étaient mis trop à gauche dans leur fenêtre de délimitation. J ai voulu confirmer ces résultats en effectuant deux tests. Tout d abord, pour voir si cette asymétrie venait de mon code MatLab, j ai réeffectué les tests sur l ensemble de validation ayant subi une symétrie horizontale. Le résultat est négatif, mon code n est pas en cause. Le problème doit donc provenir d une étape en amont: la détection des visages ou les conditions dans lesquelles se sont déroulées les séances photos desquelles sont issues les photos de la base de données FERRET. Une première hypothèse serait que le cadrage du stage de détection soit incorrect. J ai alors relevé manuellement la position des yeux, des coins des yeux pour chacune des 60 images de l ensemble d apprentissage. Le résultat est que la moyenne et la médiane 68

75 Figure 6.2: Taux de détection des apprentissages fournit avec OpenCV en fonction de l orientation du visage. La courbe verte correspond à l apprentissage pour la détection des visages de face tandis que la bleue montre les performances de l apprentissage destiné à détecter les visages de profil. Les photos proviennent de la base de données GRAY FERET. Les courbes ont été construites à partir de tests portant sur 30 sujets présentés chacun selon 9 orientations différentes s étalant uniformément de -90 à 90. Figure 6.3: Résultats représentant les zones les plus utiles à la discrimination obtenus selon différentes méthodes développées au chapitre 5 Obtenir une carte des zones utiles à la discrimination. Tous montrent un décalage des zones les plus utiles à la discrimination sur la gauche de l image. des centres de gravités des deux yeux sont décalés d un dixième de pixel vers la gauche, ce qui n est pas suffisant pour provoquer l asymétrie observée dans 6.3. Une seconde hypothèse et que pour les visages inclinés à gauche ou à droite, l apprentissage de détection fourni par OpenCV privilégie un positionnement régulier de l oeil gauche 69

76 à un positionnement régulier de l oeil droit, produisant plus d effets néfastes dus au positionnement irrégulier de la fenêtre de délimitation (voir section 5.2 p.55 et figure 5.1 p.55) pour les parties du visage se trouvant à droite que pour celles se trouvant à gauche. La première observation des variances des positions en x et y relevées manuellement pour l oeil gauche et de l oeil droit semblent abonder en ce sens mais il faudrait encore des tests pour valider l hypotèse. Une dernière hypothèse serait que l éclairage durant les séances de photo était privilégièrement situé à la gauche des sujets. Ceci aurait provoqué une augmentation de contraste sur la partie vue à gauche de la photo, apportant ainsi plus de détails que les local binary patterns peuvent exploiter. Donc, on observe un déplacement vers la gauche des zones riches en informations sur toutes les cartes générées automatiquement. Un test simple de symétrie centrale sur les données d entrée a permis d écarter l hypothèse d un souci dans l implémentation Matlab. Après quelques tests, deux hypothèses à confirmer sont formulées: (1) une favorisation par l apprentissage de détection d OpenCV du placement régulier de la partie gauche de l image et (2) des conditions d illuminations régulières favorisant l apparition d une zone plus contrastée à gauche, soulignant les traits du visages et fournissant ainsi plus d informations pour la discrimination. La première étape dans la suite des investigations est de confirmer ce décalage vers la gauche sur un autre ensemble de test dont le cadrage aura été obtenu de la même façon, c est-à-dire par l algorithme de Viola et Jones implémenté par OpenCV. 6.3 Test de la reconnaissance des visages Les taux de bonnes classifications pour un ensemble de test comptant 60 visages différents pour l apprentissage et 69 prises de vue de ces 60 visages pour le test sont présentés à la figure 6.4. Les méthodes testées sont la simple classification à partir des images d origine, la classification utilisant les sous-régions sélectionnées par la technique présentée au chapitre 4 et idem avec les images ayant subi un traitement contre l illumination. Ce résultat est à replacer dans son contexte: deux facteurs principaux le démarque des situations de tests rencontrées dans les articles de la littérature. Les visages ont été cadrés par l algorithme de localisation de visages de Viola et Jones et aucune opération visant à recentrer le visage par rapport à sa fenêtre de délimitation, à mettre le visage droit ou à gommer un background gênant n a été effectuée. Par exemple, l article de Deng et al. [16] obtenant des résultats 70

77 Figure 6.4: Taux de bonnes classifications obtenus à partir des images originales (BMP), des images originales et en utilisant la technique de la division en sous-régions traitées séparément (COMBI) et idem avec un prétraitement d illumination (COMBI+ILLU). avoisinant les 95% place les yeux au pixel près dans une fenêtre de délimitation de pixels 2. La dimension de l image est de = 3600 pixels 2 pour rejoindre les dimensions que l algorithme rencontrera lors de son utilisation avec le robot Nao. Dans la littérature, des dimensions supérieures à pixels 2 sont souvent rencontrées [42, 4]. 71

78 Conclusion L objectif de ce mémoire était de concevoir et d implémenter sur un petit robot humanoïde, Nao, une application de reconnaissance faciale capable, en temps réel, de reconnaître les visages et de diriger le regard de Nao vers eux après une seule prise de vue. Vu la quantité de logiciels potentiels pouvant se baser sur cette application, celle-ci devait répondre à des exigences de rapidité et de robustesse des résultats. En ce sens, la première partie de l application qui consiste à localiser les visages employe l algorithme de Viola et Jones [38], largement reconnu comme méthode fonctionnant en temps réel et fournissant des résultats robustes et fiables. Il s est avéré que l algorithme détectait une proportion très élevée (> 98%) des visages présentés de face et plus de 94% des visages qui s écartaient de la position frontale de moins de 20. Ces résultats sont considérés amplement suffisants pour son utilisation par le logiciel développé. Les visages localisés sont extraits et font l objet du traitement d illumination proposé par Tan et al. [33] qui est composé de deux étapes majeures. Tout d abord l élévation à une puissance qui diminue l influence de l intensité d illumination sur la couleur perçue d un pixel. Ensuite une filtration par différence de gaussiennes qui supprime les basses fréquences contenant les effets non désirables des ombres et les hautes fréquences contenant l aliasing et le bruit. La seconde partie de l application s occupant de la reconnaissance des visages localisés convertit d abord l image en modèles binaires locaux et ensuite divise l image en sousrégions pouvant se chevaucher. Enfin, un comptage des modèles binaires locaux est réalisé pour chaque sous-région et les histogrammes ainsi obtenus servent de base à la comparaison d individus. La conversion en modèles binaires locaux aboutit à une description de l image en termes des structures, coins ou arêtes, auxquelles appartiennent les pixels de l image. Ainsi, deux pixels de même couleur appartenant respectivement à une arête verticale et une arête horizontale auront deux modèles binaires locaux associés différents dévrivant 72

79 leurs types de structure (ici: deux arêtes) et leurs orientations (ici: verticale et horizontale). Cette description en termes de coins et d arêtes est une première interprétation de l image et donne une signification plus pertinente aux valeurs des pixels. La division peut se faire de beaucoup de manières différentes et certaines zones du visages ne sont parfois pas du tout considérées pour la classification. De la même façon, certaines combinaisons sont plus aptes à reconnaître les visages que d autres. Trouver la meilleure combinaison de sous-régions est difficile vu leur nombre. Ainsi, trouver la meilleure association de trois sous-régions contenues dans un visage de pixels 2, signifie sélectionner 1 combinaison parmi candidats. La solution proposée à cette situation est d opérer une présélection. La technique consiste à classer les sous-régions au sein de chaque catégorie de dimensions et de présélectionner ensuite la meilleure combinaison des meilleures sous-régions de chaque catégorie. La méthode de présélection a comme principaux défauts de (1) ne sélectionner au maximum qu une sous-région par catégorie de dimensions et (2) de ne pas garantir par son fonctionnement intrinsèque une présélection dont la complémentarité des éléments accordera au classifieur final les meilleures performances. Une amélioration de la méthode proposée consisterait alors à diviser l image en plusieurs macro sous-régions au sein desquelles des classements entre sous-régions de même surface seraient effectués. Ensuite chaque macro sous-région apporterait ses sous-régions d élite à la présélection. Figure 6.5: Résultat de la paramétrisation des sous-régions traitées séparément 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éthode développée est constituée de petites sous-régions inclues dans des sous-régions de plus grandes di- 73

80 mensions qui englobent la totalité des éléments clés du visage tels que les yeux, la bouche et le nez. Or, il était attendu plusieurs sous-régions de dimensions moyennes ne se chevauchant que légèrement. Ce résultat est probablement influencé par le nombre de sous-régions considérées imposé à quatre. L étape suivante du développement serait donc de voir, avec un ordinateur le permettant, si ces sous-régions de grande taille sont toujours présentes pour une combinaison d un nombre plus élévé. Les plus petites sous-régions se répartissent sur un seul côté du visage, phénomène qui pourrait être du à la symétrie du visage qui rend inutile la connaissance d une sousrégion si son homologue symétrique est déjà connu. Ce dernier résultat est intéressant et devrait faire l objet de plus d études pour le généraliser. Dans le cas d un nombre fixe de 4 sous-régions combinées, l analyse de la distribution des poids fait remarquer que les sous-régions de petites dimensions centrées sur des éléments clés du visage semblent aider le reconnaisseur de visage à se diriger vers la bonne décision par de petites influences tandis que les sous-régions de grandes dimensions indiquent la direction générale. Au vu de cette méthode de présélection qui ne garantit pas d obtenir la combinaison dont les sous-régions sont les plus complémentaires, ce mémoire propose une méthode de génération de carte dont la consultation permettrait de repérer tout de suite les zones du visage à considérer prioritairement. Le développement d une telle méthode s est révélé plus ardu que prévu et les principaux problèmes à résoudre ont été les conséquences négatives des effets de bord et la tendance au gommage des contours de la carte lors de l utilisation de méthodes simples. Pour identifier ces problèmes et cerner leurs conséquences sur la carte finale, des ensembles artificiels de données ont été générés et mis sur le banc d essai. Parmi les propositions qui ont finalement mené à la stratégie finale, une fonction associant la fraction d informations discriminatives contenue dans une sous-région au taux de bonnes classifications a constitué un tournant. La solution finalement adoptée construit la carte à partir des taux de bonnes classifications individuels des sous-régions. Elle admet deux paramètres : le premier agit pendant la phase de normalisation des données et permet de jouer sur la précision de la carte finale en défavorisant plus ou moins les sous-régions de grande superficie. Le second concerne la résolution de la carte finale. A côté de ces paramètres, il est possible de construire la carte à partir d ensembles de sous-régions dont une des caractéristiques, telle qu une dimension ou la surface, est comprise dans un intervalle particulier. Toutes ces possibilités de configurer la génération de la carte des zones les plus utiles 74

81 à la discrimination mènent finalement à un large panel de cartes desquelles il est difficile de faire la synthèse. Ainsi le premier paramètre de précision s apparente à un bouton de mise au point qui produit une multitude de niveaux de résultats correspondant à différents niveaux de défavorisation des sous-régions de superficie élevée. La technique ne répond donc pas entièrement aux attentes de départ mais résout les premières grosses embûches à la génération d une telle carte. Une des premières étapes de la suite du développement de cette méthode serait de regarder ce que peuvent apporter des techniques statistiques ou d imagerie. Figure 6.6: Carte des zones les plus utiles à la discrimination. Les présents résultats (voir fig. 6.6) permettent d en savoir un peu plus sur l organisation des zones les plus utiles à la discrimination malgré qu ils doivent encore faire l objet de tests pour être affirmés avec certitude. Ainsi il semble que ce ne soit pas les zones comprenant complètement des éléments clés du visage tels que les yeux, le nez ou la bouche qui sont les plus utiles à la discrimination dans le cas de l utilisation d histogrammes de modèles binaires locaux, mais les zones frontières comme les bords de la bouche (sans doute moins soumis à des légers déplacements des lèvres causant l apparition des dents) ou la région inférieure des yeux. Le logiciel finalement conçu reconnaît 85.5% des visages présentés pour une base de visages de 60 éléments. Avant d être comparé aux résultats obtenus dans la littérature, une remarque importante est à faire. Pour reproduire au mieux les conditions réelles d exécution de l application, les visages utilisés lors des tests ont été extraits d images originales de la base de données FERRET par l algorithme de localisation des visages de Viola et Jones implémenté par OpenCV. Par conséquent, les visages des ensembles d apprentissage et de test présentaient des variations d échelles, de cadrages et d inclinaisons des visages (visages penchés à droite ou à gauche jusqu à 7 ). 75

82 De plus, pour reproduire les dimensions des visages qui seront extraits du champ visuel de Nao en conditions réelles, les visages utilisés lors des tests avaient des dimensions de pixels 2. Les résultats obtenus dans la littérature atteignent des valeurs supérieures à 95% mais font souvent recours à des recadrages et mises à l échelle manuels placant les éléments clés du visage au pixel près dans une fenêtre de délimitation de surface supérieure à pixels 2 [42, 4, 16]. Les points clés de ce mémoire sont: La proposition d une méthode de sélection d une combinaison de sous-régions pour la classification des visages qui supporte le chevauchement. La proposition d une méthode de génération de cartes des zones les plus utiles à la discrimination. La mise en évidence des rôles joués par les petites et les grandes sous-régions dans une combinaison performante. La mise en évidence du rôle des zones frontières des éléments clés du visage dans la reconnaissance faciale. La conception d un logiciel de reconnaissance sur le robot Nao en tenant compte de ses limitations matérielles. L interprétation des modèles binaires locaux en termes d arêtes et de coins. L interprétation de la division et de la conversion en histogrammes comme moyen de moduler la quantité d informations spatiales utilisée pour la classification des visages. La proposition d utiliser la distance entre les centres de gravité de modèles binaires locaux identiques comme information spatiale au sein d une sous-région. Une réflexion sur ce que pourrait apporter une meilleure collaboration des systèmes de poursuite et de reconnaissance des visages. Une réflexion sur la différence entre le temps de rafraîchissement et le temps de réaction d un système. La transposition du concept de l image intégrale à celui de l histogramme intégral sans laquelle la plupart des simulations de ce mémoire n aurait pas pu être effectuée. La suite du travail pourrait se concentrer spécifiquement sur la génération de cartes des zones les plus utiles à la discrimination et la sélection de la meilleure combinaison de 76

83 sous-régions pour la classification. Je propose tout d abord l amélioration de la gestion de la mémoire et du processeur des algorithmes utilisés et l emploi de machines plus puissantes pour atteindre des résolutions plus élevées et des nombres de sous-régions par combinaison plus grands. Ensuite je conseille l utilisation de base de visages parfaitement homogènes en ce qui concerne le cadrage, les poses et les inclinaisons des visages. Cela permettrait d obtenir des résultats plus précis qui augmenteraient les connaissances concernant la répartition des zones les plus utiles à la discrimination dans le cas de la classification par comparaison d histogrammes de modèles binaires locaux. Ensuite, ces connaissances en situation idéale serviraient à mieux appréhender le problème de la reconnaissance faciale en conditions réelles où les visages sont soumis à des variations d inclinaison, d orientation, d illumination et d expression. 77

84 Bibliographie [1] [2] [3] agreement v1.html. [4] Timo Ahonen, Abdenour Hadid, and Matti Pietikäinen. Face description with local binary patterns: Application to face recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(2006): , [5] Alberto Albiol, David Monzo, Antoine Martin, Jorge Sastre, and Antonio Albiol. Face recognition using hog-ebgm. Pattern Recognition Letters, 29(10): , [6] Gaoyun An, Jiying Wu, and Qiuqi Ruan. An illumination normalization model for face recognition under varied lighting conditions. Pattern Recognition Letters, 31(9): , [7] Peter N. Belhumeur, João P. Hespanha, and David J. Kriegman. Eigenfaces vs. fisherfaces: Recognition using class specific linear projection. In Computer Vision - ECCV 96, volume 1064/1996 of Lecture Notes in Computer Science, pages Springer, Heidelberg, [8] David Beymer and Tomaso Poggio. Face recognition from one example view. In Fifth International Conference on Computer Vision (ICCV 95), [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): , [10] Songcan Chen, Jun Liu, and Zhi-Hua Zhou. Making flda applicable to face recognition with one sample per person. Pattern Recognition, 37(7): ,

85 [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): , [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): , [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): , [14] Charles K Chui. An Introduction to Wavelets. Academic Press, Boston, [15] Javier Ruiz del Solar and Julio Quinteros. Illumination compensation and normalization in eigenspace-based face recognition: A comparative study of different pre-processing approaches. Pattern Recognition Letters, 29(14): , [16] Weihong Deng, Jiani Hu, Jun Guo, Weidong Cai, and Dagan Feng. Robust, accurate and efficient face recognition from a single training image: A uniform pursuit approach. Pattern Recognition, 43(5): , [17] B. Fröba and A. Ernst. Face detection with the modified census transform. In Proceedings of the 6th IEEE International Conference on Automatic Face and Gesture Recognition AFGR6th IEEE International Conference on Automatic Face and Gesture Recognition AFGR, pages 91 96, Seoul, Korea, May [18] Yongsheng Gao and Yutao Qi. Robust visual similarity retrieval in single model face databases. Pattern Recognition, 38(7): , [19] Peg Howland, Jianlin Wang, and Haesun Park. Solving the small sample size problem in face recognition using generalized discriminant analysis. Pattern Recognition, 39(2): , [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, [21] Wen-Chung Kao, Ming-Chai Hsu, and Yueh-Yiing Yang. Local contrast enhancement and adaptive feature extraction for illumination-invariant face recognition. Pattern Recognition, 43(5): ,

86 [22] Constatine Kotropoulos, Anastasios Tefas, and Ioannis Pitas. Frontal face authentication using morphological elastic graph matching. IEEE Transactions on Image Processing, 9(4): , [23] Ludmila I. Kuncheva and Christopher J. Whitaker. Feature subsets for classifier combination: An enumerative experiment. In Multiple Classifier Systems, volume Volume 2096/2001 of Lecture Notes in Computer Science, pages Springer, Heidelberg, [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): , [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 , [26] Tai Sing Lee. Image representation using 2d gabor wavelets. IEEE Trans. Pattern Analysis and Machine Intelligence, 18: , [27] P.J. Phillips, H. Wechsler, J. Huang, and P. Rauss. The feret database and evaluation procedure for face recognition algorithms. Image and Vision Computing J, 16(5): , [28] P.J. Phillips, H. Wechsler, J. Huang, and P. Rauss. The feret evaluation methodology for face recognition algorithms. IEEE Trans. Pattern Analysis and Machine Intelligence, 22: , [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, [30] H. Schneiderman and T. Kanade. Probabilistic modeling of local appearance and spatial relationships for object recognition. Computer Vision and Pattern Recognition, IEEE Computer Society Conference on, 0:45, [31] Xiaoyang Tan, Songcan Chen, Zhi-Hua Zhou, and Fuyan Zhang. Recognizing partially occluded, expression variant faces from single training image per person with som and soft knn ensemble. IEEE Transactions on Neural Networks 1, 16(4): ,

87 [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): , [33] Xiaoyang Tan and Bill Triggs. Enhanced local texture feature sets for face recognition under difficult lighting conditions. In Analysis and Modelling of Faces and Gestures, volume 4778 of LNCS, pages Springer, oct [34] Antonio Torralba and Pawan Sinha. Detecting faces in impoverished images. Journal of Vision, 2(7):601, [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): , [36] M. Turk and A. Pentland. Eigenfaces for recognition. Journal of Cognitive Neuroscience, 3(1):71 86, January [37] Patricia Rayón 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 of Lecture Notes in Computer Sciences, pages Springer, Heidelberg, [38] Paul Viola and Michael Jones. Robust real-time object detection. In Second international workshop on statistical and computational theories of vision, Vancouver, Canada, July [39] Paul Viola and Michael Jones. Robust real-time face detection. International Journal of Computer Vision, 57: , [40] Chao Wang and Yongping Li. Combine image quality fusion and illumination compensation for video-based face recognition. Neurocomputing, 73(7-9): , [41] Haitao Wang, Stan Z Li, and Yangsheng Wang. Face recognition under varying lighting conditions using self quotient image. Automatic Face and Gesture Recognition, IEEE International Conference on, 0:819, [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): ,

88 [43] Laurenz Wiskott, Jean-Marc Fellousc, Norbert Krüger, and Christopher von der Malsburg. Face recognition by elastic bunch graph matching. IEEE Trans. Pattern Anal. Mach. Intell., 19(7): , [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): , [45] Jianxin Wu and Zhi-Hua Zhou. Face recognition with one training image per person. Pattern Recognition Letters, 23(14): , [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): , [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): , [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): , January [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): , [50] Qiong Yang and Xiaoqing Ding. Symmetrical pca in face recognition. In ICIP (2), pages , [51] Hua Yu and Jie Yang. A direct lda algorithm for high-dimensional data with application to face recognition. Pattern Recognition, 34(10): , [52] Stefanos Zafeiriou, Anastasios Tefas, and Ioannis Pitas. The discriminant elastic graph matching algorithm applied to frontal face verification. Pattern Recognition, 40(10): , [53] W. Zhao, R. Chellappa, P.J. Phillips, and A. Rosenfeld. Face recognition : a literature survey. ACM Computing Surveys, 28: ,

89 [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, [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): , [56] Xuan Zou, J. Kittler, and K. Messer. Illumination invariant face recognition: A survey. In First IEEE International Conference on Biometrics : Theory, Applications, and Systems, pages 1 8, Crystal City, VA, September

90 Appendices 84

91 Appendix A Implémentation C++ : la librairie ImProc Le module de reconnaissance est conçu pour être utilisé à partir de n importe quelle source visuelle. Il est contenu dans une librairie statique pour ensuite être liée à n importe quel projet. En quelques minutes seulement, une application capable de reconnaître des personnes peut être conçue. Ainsi, pour l élaboration de ce présent mémoire, une application vidéo d une trentaine de lignes liée à la libraire ImProc est déjà capable de localiser, mémoriser et reconnaître des individus. Le module reçoit en entrée une image sous le format IplImage de la librairie OpenCV. Celle-ci est ensuite traitée et le résultat (nombre de personnes présentes, leurs positions et leurs identités) est directement utilisable pour des tâches d ordre supérieur tel que la création d un historique des rencontres où l élaboration d un mouvement de la caméra vers un individu en particulier. L architecture de la librairie est détaillée dans la section A.2. A.1 Les librairies utilisées Pour l élaboration de ce module, plusieurs libraires externes ont été utilisées : OpenCV ( Open Source Computer Vision ) est une librairie initialement développée par Intel qui fournit plus de 500 algorithmes pour la vision par ordinateur en temps réel. L algorithme de Viola et Jones y est implémenté et des apprentissages sont fournis. Ainsi OpenCV peut déjà localiser les visages, les yeux, les bouches ou d autres parties du corps. GTK ( Gimp toolkit ) est une librairie destinée à la création d interfaces visuelles. Elle permet aussi l interaction avec le clavier et la souris. 85

92 A.2 La librairie ImProc Cette section décrit l architecture de la librairie ImProc que j ai développée dans le cadre du mémoire. Les éléments clés sont décrit brièvement ci-dessous tandis qu une vue d ensemble est proposé à la figure A.1. Display : Cet objet sera chargé de l affichage des résultats à l écran. Il relaie via ImgBufferOUT l information visuelle générée par la ImProc à la librairie GTK qui s occupe ensuite de son affichage à l écran. Il est constitué d un threath qui vérifie régulièrement s il y a une nouvelle information à afficher à l écran. ImageBufferIN : Il s agit du tampon dans lequel est chargé une image brute à traiter. ImageBufferOUT : Lors du traitement de l image brute, celle-ci se voit modifiée par l ajout de rectangles indiquant l emplacement des visages, de texte, etc. Cette image traitée est stockée dans ImageBufferOUT, lue par Display et envoyé pour affichage. LogWriter : Objet destiné à l écriture d information issue de l exécution dans des fichiers. L accès au disque dur est souvent synonyme de ralentissement or nous cherchons à construire une application en temps réel. C est pourquoi LogWriter stocke en mémoire RAM toutes les informations qui lui sont transmises au fur et à mesure. Il est ensuite possible de commander l écriture sur disque dur à des moments plus appropriés, à la fin de l exécution de l application par exemple. ImProc : Le coeur de la librairie. C est cet objet qui est chargé 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ésentes, de prendre une photo ou de quitter l application. Il travaille en collaboration avec Display qui avec la librairie GTK détecte les évènements claviers. L application peut aussi utilisé KBEvent comme vecteur pour ordonner l enregistrement du visage courant ou pour quitter l application. 86

93 Figure A.1: Vue d ensemble de l architecture de la Librairie ImProc créée dans le cadre du mémoire. La boucle de traitement commence en haut à droite par l application qui capture l image d une source quelconque est la transmet à ImgBuffer IN. L image est ensuite traitée par l object ImProc(coeur de la librairie ImProc) en collaboration avec OpenCV. Le résultat est stocké dans ImbBuffer OUT pour affichage. L objet KBEvent est conçu pour modifier le comportement d ImProc en fonction de messages reçu en cours d éxecution soit par l utilisateur soit par l application. 87

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

Analyse de la vidéo. Chapitre 4.1 - La modélisation pour le suivi d objet. 10 mars 2015. Chapitre 4.1 - La modélisation d objet 1 / 57 Analyse de la vidéo Chapitre 4.1 - La modélisation pour le suivi d objet 10 mars 2015 Chapitre 4.1 - La modélisation d objet 1 / 57 La représentation d objets Plan de la présentation 1 La représentation

Plus en détail

Profil du candidat et connaissances techniques à connaître/maîtriser

Profil du candidat et connaissances techniques à connaître/maîtriser Utilisation d algorithmes de deep learning pour la reconnaissance d iris. jonathan.milgram@morpho.com Dans ce cadre, l'unité de recherche et technologie a pour but de maintenir le leadership Au sein de

Plus en détail

Analyse d images en vidéosurveillance embarquée dans les véhicules de transport en commun

Analyse d images en vidéosurveillance embarquée dans les véhicules de transport en commun des s Analyse d images en vidéosurveillance embarquée dans les véhicules de transport en commun Sébastien Harasse thèse Cifre LIS INPG/Duhamel le 7 décembre 2006 1 Système de surveillance des s Enregistreur

Plus en détail

Mémoire de fin d études pour l obtention du diplôme de Master en Informatique

Mémoire de fin d études pour l obtention du diplôme de Master en Informatique République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique Mémoire de fin d études pour l obtention du diplôme de Master en Informatique

Plus en détail

Informatique visuelle - Vision par ordinateur. Pré-traitement d images

Informatique visuelle - Vision par ordinateur. Pré-traitement d images Informatique visuelle - Vision par ordinateur Pré-traitement d images Elise Arnaud elise.arnaud@imag.fr cours inspiré par X. Descombes, J. Ros, A. Boucher, A. Manzanera, E. Boyer, M Black, V. Gouet-Brunet

Plus en détail

Analyse et modélisation de visages

Analyse et modélisation de visages Analyse et modélisation de visages Pascal Bourdon Laboratoire XLIM-SIC (UMR CNRS 7252) / Université de Poitiers pascal.bourdon@univ-poitiers.fr Analyse et modélisation de visages Plan Introduction Outils

Plus en détail

Maintien des personnes âgées à domicile

Maintien des personnes âgées à domicile Maintien des personnes âgées à domicile Enjeux scientifiques et technologiques liés à la vision par ordinateur Christian Wolf http://liris.cnrs.fr/christian.wolf Introduction Sommaire Les données et les

Plus en détail

Le traitement numérique des images

Le traitement numérique des images Le traitement numérique des images Gabriel Peyré To cite this version: Gabriel Peyré. Le traitement numérique des images. Publication en ligne sur le site Images des Mathématiques, CNRS. 2011.

Plus en détail

OUTILS FONDAMENTAUX EN TRAITEMENT D IMAGES

OUTILS FONDAMENTAUX EN TRAITEMENT D IMAGES OUTILS FONDAMENTAUX EN TRAITEMENT D IMAGES Défis actuels Mégadonnées (big data) Square Kilometer Array Telescope : 300 To/s (100 Internet) 9 Robustesse Défis actuels Repérer les comportements suspects

Plus en détail

Travaux pratiques de traitement d images

Travaux pratiques de traitement d images Travaux pratiques de traitement d images EI3 année 2009-2010 TP n 1 : Segmentation d images en régions p. 3 TP n 2 : Reconnaissance des formes p. 15 Vandenbroucke Nicolas R11 TP n 1 Segmentation d images

Plus en détail

Leçon N 8 Traitement des photos 4 ème

Leçon N 8 Traitement des photos 4 ème Leçon N 8 Traitement des photos 4 ème Partie Voyons maintenant quelques applications de GIMP 10 Renforcement de la netteté Aucun logiciel de retouche ne peut restituer une photo dont la netteté est très

Plus en détail

Introduction aux Support Vector Machines (SVM)

Introduction aux Support Vector Machines (SVM) Introduction aux Support Vector Machines (SVM) Olivier Bousquet Centre de Mathématiques Appliquées Ecole Polytechnique, Palaiseau Orsay, 15 Novembre 2001 But de l exposé 2 Présenter les SVM Encourager

Plus en détail

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

Plus en détail

Traitement bas-niveau

Traitement bas-niveau Plan Introduction L approche contour (frontière) Introduction Objectifs Les traitements ont pour but d extraire l information utile et pertinente contenue dans l image en regard de l application considérée.

Plus en détail

Opérations de base sur ImageJ

Opérations de base sur ImageJ Opérations de base sur ImageJ TPs d hydrodynamique de l ESPCI, J. Bico, M. Reyssat, M. Fermigier ImageJ est un logiciel libre, qui fonctionne aussi bien sous plate-forme Windows, Mac ou Linux. Initialement

Plus en détail

Détection de Visages à l Aide de Réseaux de Neurones. Erwan Le Martelot 17 janvier 2005

Détection de Visages à l Aide de Réseaux de Neurones. Erwan Le Martelot 17 janvier 2005 Détection de Visages à l Aide de Réseaux de Neurones Erwan Le Martelot 17 janvier 2005 1 Table des matières Introduction 3 1 Collecte des données : Balayage et Filtrages 4 1.1 Balayage de l image........................

Plus en détail

Chapitre 1. L algorithme génétique

Chapitre 1. L algorithme génétique Chapitre 1 L algorithme génétique L algorithme génétique (AG) est un algorithme de recherche basé sur les mécanismes de la sélection naturelle et de la génétique. Il combine une stratégie de survie des

Plus en détail

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories : La vision nous permet de percevoir et d interpreter le monde qui nous entoure. La vision artificielle a pour but de reproduire certaines fonctionnalités de la vision humaine au travers de l analyse d images.

Plus en détail

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Biologie, chimie, physique et sciences de la Terre (BCPST) Discipline : Informatique Première et seconde années

Plus en détail

Reconstruction et Animation de Visage. Charlotte Ghys 15/06/07

Reconstruction et Animation de Visage. Charlotte Ghys 15/06/07 Reconstruction et Animation de Visage Charlotte Ghys 15/06/07 1 3ème année de thèse Contexte Thèse CIFRE financée par Orange/France Telecom R&D et supervisée par Nikos Paragios (Ecole Centrale Paris) et

Plus en détail

Laboratoire 4 Développement d un système intelligent

Laboratoire 4 Développement d un système intelligent DÉPARTEMENT DE GÉNIE LOGICIEL ET DES TI LOG770 - SYSTÈMES INTELLIGENTS ÉTÉ 2012 Laboratoire 4 Développement d un système intelligent 1 Introduction Ce quatrième et dernier laboratoire porte sur le développement

Plus en détail

Architecture des calculateurs

Architecture des calculateurs Chapitre 1 Architecture des calculateurs 1.1 Introduction Ce paragraphe n a pas la prétention de présenter un cours d informatique. D une manière générale, seuls les caractéristiques architecturales qui

Plus en détail

LeCroy. Recherche de défauts sur circuits logiques à l aide d oscilloscopes numériques

LeCroy. Recherche de défauts sur circuits logiques à l aide d oscilloscopes numériques LeCroy Recherche de défauts sur circuits logiques à l aide d oscilloscopes numériques Avec la constante évolution industrielle, les ingénieurs d études doivent aujourd hui caractériser en permanence de

Plus en détail

Travaux pratiques de traitement d images numériques. Institut Galilée 2010-2011

Travaux pratiques de traitement d images numériques. Institut Galilée 2010-2011 G. Dauphin et A. Beghdadi Travaux pratiques de traitement d images numériques Première séance Institut Galilée 2010-2011 Les travaux pratiques de traitement d image sont répartis en trois séances de 8

Plus en détail

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

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies Régis Boulet Charlie Demené Alexis Guyot Balthazar Neveu Guillaume Tartavel Sommaire Sommaire... 1 Structure

Plus en détail

Apprentissage par méthodes à noyaux en reconnaissance d images

Apprentissage par méthodes à noyaux en reconnaissance d images Apprentissage par méthodes à noyaux en reconnaissance d images Alberto Bietti Table des matières Introduction 2 1 Apprentissage par méthodes à noyaux 2 1.1 Position du problème et motivation..........................

Plus en détail

Cours IFT6266, Exemple d application: Data-Mining

Cours IFT6266, Exemple d application: Data-Mining Cours IFT6266, Exemple d application: Data-Mining Voici un exemple du processus d application des algorithmes d apprentissage statistique dans un contexte d affaire, qu on appelle aussi data-mining. 1.

Plus en détail

Analyse complète des images thermiques.

Analyse complète des images thermiques. Analyse complète des images thermiques. testo IRSoft Un logiciel professionnelle performant. testo IRSoft Analyse, évaluation et documentation des images thermiques. La thermographie au plus haut niveau

Plus en détail

Introduction au Data-Mining

Introduction au Data-Mining Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme

Plus en détail

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Technologie et biologie (TB) Discipline : Informatique Première et seconde années Programme d informatique

Plus en détail

Analyse d images, vision par ordinateur. Partie 6: Segmentation d images. Segmentation? Segmentation?

Analyse d images, vision par ordinateur. Partie 6: Segmentation d images. Segmentation? Segmentation? Analyse d images, vision par ordinateur Traitement d images Segmentation : partitionner l image en ses différentes parties. Reconnaissance : étiqueter les différentes parties Partie 6: Segmentation d images

Plus en détail

Analyse d images introduction

Analyse d images introduction L3, option Image Analyse d images introduction http ://perception.inrialpes.fr/people/boyer/teaching/l3/ Elise Arnaud - Edmond Boyer Université Joseph Fourier / INRIA Rhône-Alpes elise.arnaud@inrialpes.fr

Plus en détail

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

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Les mathématiques et le traitement de l image Kévin Polisano

Les mathématiques et le traitement de l image Kévin Polisano Les mathématiques et le traitement de l image Kévin Polisano [ Doctorant au Laboratoire ] Jean Kuntzmann et CNRS N hésitez pas à lever la main! pour m interrompre! Qu est-ce qu une image numérique? Source

Plus en détail

Le traitement d images Détection d objets par le classificateur de Haar

Le traitement d images Détection d objets par le classificateur de Haar Le traitement d images Détection d objets par le classificateur de Haar PAGE 1 La méthode de Haar : détection d objet Les chercheurs Paul Viola et Michael Jones en 2001 ont proposés une méthode de détection

Plus en détail

Partie I : Implantation d un réseau de neurones RBF sur des systèmes embarqués : la détection et la reconnaissance de visages en temps réel

Partie I : Implantation d un réseau de neurones RBF sur des systèmes embarqués : la détection et la reconnaissance de visages en temps réel 1 Partie I : Implantation d un réseau de neurones RBF sur des systèmes embarqués : la détection et la reconnaissance de visages en temps réel F.Yang M.Paindavoine GDR-ISIS 20 Janvier 2005 Paris 2 Plan

Plus en détail

Projet : Recherche de source d onde gravitationnelle (analyse de données Metropolis Hastings Markov Chain) 1

Projet : Recherche de source d onde gravitationnelle (analyse de données Metropolis Hastings Markov Chain) 1 Université Paris Diderot Physique L2 2014-2015 Simulations Numériques SN4 Projet : Recherche de source d onde gravitationnelle (analyse de données Metropolis Hastings Markov Chain) 1 Objectifs : Simuler

Plus en détail

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring Année académique 2006-2007 Professeurs : Marco Saerens Adresse : Université catholique de Louvain Information Systems

Plus en détail

Traitement d images - Rapport de projet

Traitement d images - Rapport de projet Traitement d images - Rapport de projet Félix Abecassis - Julien Marquegnies Résumé: Ce rapport présente le travail effectué dans la cadre du cours de traitement d images dispensé à l EPITA. L objectif

Plus en détail

TP2 Opérations et filtres

TP2 Opérations et filtres TP2 Opérations et filtres 1. Opérations arithmétiques Mettre en place les fonctions Min et Max sur 2 images en niveaux de gris. Min() conserve entre 2 images les pixels de luminance minimum, Max() conserve

Plus en détail

IVRG Image and Visual Representation Group

IVRG Image and Visual Representation Group IVRG Image and Visual Representation Group Projet en Digital Photography Responsable : Patrick Vandewalle Sylvain PASINI Bertrand GRANDGEORGE le 2 juin 2003 Table des matières Table des matières 2 1. Introduction

Plus en détail

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

Plus en détail

ENSEIRB-MATMECA PG-113 2014. TP6: Optimisation au sens des moindres carrés

ENSEIRB-MATMECA PG-113 2014. TP6: Optimisation au sens des moindres carrés ENSEIRB-MATMECA PG-113 014 TP6: Optimisation au sens des moindres carrés Le but de ce TP est d implémenter une technique de recalage d images qui utilise une méthode vue en cours d analyse numérique :

Plus en détail

Coup de Projecteur sur les Réseaux de Neurones

Coup de Projecteur sur les Réseaux de Neurones Coup de Projecteur sur les Réseaux de Neurones Les réseaux de neurones peuvent être utilisés pour des problèmes de prévision ou de classification. La représentation la plus populaire est le réseau multicouche

Plus en détail

Documentation sur les indices des prix de transaction

Documentation sur les indices des prix de transaction Documentation Indice des prix de transaction 1/7 Wüest & Partner AG Gotthardstrasse 6 CH-8002 Zürich Telefon +41 44 289 90 00 Fax +41 44 289 90 01 www.wuestundpartner.com 1 Etat Décembre 2012 Documentation

Plus en détail

TP5 - Morphologie mathématique

TP5 - Morphologie mathématique TP5 - Morphologie mathématique Vincent Barra - Christophe Tilmant 5 novembre 2007 1 Partie théorique 1.1 Introduction La morphologie mathématique [1] est un outil mathématique permettant au départ d explorer

Plus en détail

Quantification Vectorielle

Quantification Vectorielle Quantification Vectorielle Marco Cagnazzo Département Traitement du Signal et des Images TELECOM ParisTech 14 Décembre 2012 M. Cagnazzo Quantification Vectorielle 1/65 Plan Introduction 1 Introduction

Plus en détail

Naviga&on)de)robots)mobiles)) par)vision)omnidirec&onnelle) )

Naviga&on)de)robots)mobiles)) par)vision)omnidirec&onnelle) ) Naviga&on)de)robots)mobiles)) par)vision)omnidirec&onnelle) ) El)Mustapha)Mouaddib)(mouaddib@u:picardie.fr)) O.)Labbani:Igbida,)P.)Merveilleux)et)R.)Marie) Contexte' Projet'ANR'R.Discover' Travaux'soutenus'par':'

Plus en détail

Projet de Traitement du Signal Segmentation d images SAR

Projet de Traitement du Signal Segmentation d images SAR Projet de Traitement du Signal Segmentation d images SAR Introduction En analyse d images, la segmentation est une étape essentielle, préliminaire à des traitements de haut niveau tels que la classification,

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

Parcours Ingénieur Polytech. Mini-projets. Banque d images. Auteur : Encadrant : Jonathan Courtois

Parcours Ingénieur Polytech. Mini-projets. Banque d images. Auteur : Encadrant : Jonathan Courtois École Polytechnique de l Université de Tours 64, Avenue Jean Portalis 37200 TOURS, FRANCE Tél. (33)2-47-36-14-14 Fax (33)2-47-36-14-22 www.polytech.univ-tours.fr Parcours Ingénieur Polytech Mini-projets

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Traitement de l image

Traitement de l image Traitement de l image Vidéosurveillance + + Détection et reconnaissance d objets + + Suivi d objets et de personnes + + Analyse automatique de scènes Multimédia + + Classification interactive de données

Plus en détail

Analyse d images. L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Analyse d images. L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories : Analyse d images La vision nous permet de percevoir et d interpreter le monde qui nous entoure. La vision artificielle a pour but de reproduire certaines fonctionnalités de la vision humaine au travers

Plus en détail

Compte-rendu du TP 1

Compte-rendu du TP 1 Pauline Tan Analyse hilbertienne et analyse de Fourier ES de Cachan Compte-rendu du TP 1 (16 octobre 2009) L objectif de ce premier TP est de faire des manipulations simples sur les images avec MatLab

Plus en détail

Prétraitement et traitement des images planétaires sous Iris

Prétraitement et traitement des images planétaires sous Iris Prétraitement et traitement des images planétaires sous Iris Les étapes du processus de prétraitement et traitement 1. Conversion d un fichier avi en pic ou fit 2. Normalisation de l Offset sur les couches

Plus en détail

Powerpoint 2003. Thibault J-Jacques Animateur multimédia au CRDP de l académie de Versailles. Page 1 sur 19

Powerpoint 2003. Thibault J-Jacques Animateur multimédia au CRDP de l académie de Versailles. Page 1 sur 19 Powerpoint 2003 Thibault J-Jacques Animateur multimédia au CRDP de l académie de Versailles Page 1 sur 19 Qu est-ce que Powerpoint? 3 Les différents modes 3 Le mode «normal» 3 Les modes plan et diapositives

Plus en détail

Cours de Traitement de l Image Licence 3

Cours de Traitement de l Image Licence 3 Cours de Traitement de l Image Licence 3 Jean-Luc Baril Université de Bourgogne - Dépt IEM Laboratoire LE2I - http://vision.u-bourgogne.fr barjl@u-bourgogne.fr http://www.u-bourgogne.fr/jl.baril Lena :

Plus en détail

CEA/SACLAY DEPARTEMENT DES TECHNOLOGIES DES SYSTEMES INTELLIGENTS SERVICE ARCHITECTURES ET CONCEPTION

CEA/SACLAY DEPARTEMENT DES TECHNOLOGIES DES SYSTEMES INTELLIGENTS SERVICE ARCHITECTURES ET CONCEPTION Laboratoire Systèmes de Vision Embarqués CEA/SACLAY DEPARTEMENT DES TECHNOLOGIES DES SYSTEMES INTELLIGENTS SERVICE ARCHITECTURES ET CONCEPTION RT LIST DTSI - LSVE CEA/SACLAY 91191 GIF-SUR-YVETTE CEDEX

Plus en détail

Rapport Projet Régie Vidéo Autonome et Mobile

Rapport Projet Régie Vidéo Autonome et Mobile Rapport Projet Régie Vidéo Autonome et Mobile BODARD Christelle - QIAN Jean - ZOMINY Laurent BODARD CHRISTELLE QIAN JEAN ZOMINY LAURENT 1 Sommaire 1) Présentation du projet... 3 2) Android... 3 a. Prendre

Plus en détail

Vous pouvez obtenir une extension nécessaire via des achats In-App dans Paramètres (bouton en haut à gauche) > Extensions.

Vous pouvez obtenir une extension nécessaire via des achats In-App dans Paramètres (bouton en haut à gauche) > Extensions. Important: La description correspond à la version de ALON Dictaphone qui comprend toutes les extensions construites. Les extensions construites sont: Partager des Notes Audio Pack Audio Avancé Sélection

Plus en détail

Corrections chromatiques de l image

Corrections chromatiques de l image Corrections chromatiques de l image 1. Réglages en amont 2. Utilisation d un histogramme et de la palette infos 3. Réglage du point blanc - point noir 4. Réglage du gamma, correction tonale Pour quadri

Plus en détail

IMN459 - Fondements de la vision par ordinateur

IMN459 - Fondements de la vision par ordinateur IMN459 - Fondements de la vision par ordinateur Chapitre 1 Introduction 1. Acquisition IMN117 2. Traitement IMN259 Scène 3D Caméra optique Une ou plusieurs images 2D Caractéristiques bas niveaux (contours,

Plus en détail

Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12

Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12 Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12 2 Discrimination Invariance Expressions faciales Age Pose Eclairage 11/12/2012 3 Personne Inconnue Identité

Plus en détail

Territoires, Environnement, Télédétection et Information Spatiale. Unité mixte de recherche Cemagref - CIRAD - ENGREF

Territoires, Environnement, Télédétection et Information Spatiale. Unité mixte de recherche Cemagref - CIRAD - ENGREF Territoires, Environnement, Télédétection et Information Spatiale Unité mixte de recherche Cemagref - CIRAD - ENGREF Master ère année Analyse spatiale, analyse géographique, spatialité des sociétés Master

Plus en détail

Système de Reconnaissance de Visage.

Système de Reconnaissance de Visage. Chapitre 1 1.1 Introduction Dans tous les domaines de sécurité et de contrôle d accès, on utilise des mots de passe ou des clés qui se compose de chiffres ou de lettres. Mais, dans ces derniers temps avec

Plus en détail

Détecteurs et descripteurs

Détecteurs et descripteurs Détecteurs et descripteurs GIF-4105/7105 Photographie Algorithmique Jean-François Lalonde Merci à D. Hoiem et A. Efros pour les slides Comment aligner deux images? Déterminer une transformation globale

Plus en détail

Page 1 2 La présente invention concerne le domaine des architectures informatiques, et en particulier un procédé pour le développement d applications destiné à un fonctionnement en réseau, par exemple

Plus en détail

Projet Télédétection. Vidéo Surveillance. Deovan Thipphavanh Mokrani Abdeslam Naoui Saïd. Master 2 Pro SIS - 2005 / 2006

Projet Télédétection. Vidéo Surveillance. Deovan Thipphavanh Mokrani Abdeslam Naoui Saïd. Master 2 Pro SIS - 2005 / 2006 Projet Télédétection Vidéo Surveillance Deovan Thipphavanh Mokrani Abdeslam Naoui Saïd Master 2 Pro SIS - 2005 / 2006 Plan Introduction Lecture des images Détection des objets mouvants Détection des anomalies

Plus en détail

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Optimisation : pipeline jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des

Plus en détail

UNIVERSITE DE LA ROCHELLE MASTER IMA 1 ère année - Vision par ordinateur 1 1.1 TP N 3 : LECTURE CODES BARRES 1 OBJECTIF 2 CONTEXTE DE L ETUDE

UNIVERSITE DE LA ROCHELLE MASTER IMA 1 ère année - Vision par ordinateur 1 1.1 TP N 3 : LECTURE CODES BARRES 1 OBJECTIF 2 CONTEXTE DE L ETUDE UNIVERSITE DE LA ROCHELLE MASTER IMA 1 ère année - Vision par ordinateur 1 1.1 TP N 3 : LECTURE CODES BARRES 1 OBJECTIF Cette séance de TP a pour but de mettre en place un processus de reconnaissance de

Plus en détail

Systèmes de représentation multi-échelles pour l indexation et la restauration d archives médiévales couleur

Systèmes de représentation multi-échelles pour l indexation et la restauration d archives médiévales couleur 18/12/2003 p.1/50 Systèmes de représentation multi-échelles pour l indexation et la restauration d archives médiévales couleur Julien DOMBRE Laboratoire IRCOM-SIC, UMR-CNRS 6615. En partenariat avec le

Plus en détail

WEBCAM HAUTE DEFINITION Réf. HDCM

WEBCAM HAUTE DEFINITION Réf. HDCM : 0033 (0)169922672 : 0033 (0)169922674 : www.sordalab.com @ : info@sordalab.com WEBCAM HAUTE DEFINITION Réf. HDCM Webcam haute définition Réf. HDCM Page 1 sur 8 I. CARACTERISTIQUES TECHNIQUES Capteur

Plus en détail

TP 1 M1 Informatique Apprentissage Automatique. Premières classifications : apprentissage et évaluation

TP 1 M1 Informatique Apprentissage Automatique. Premières classifications : apprentissage et évaluation Premières classifications : apprentissage et évaluation L objectif de ce TP est double : prise en main de la bibliothèque scikit-learn de Python, dédiée à l apprentissage automatique, sensibilisation à

Plus en détail

Exemples d'activités sur les images numériques

Exemples d'activités sur les images numériques Annexe 1 1 Accès aux composantes RVB d un pixel dans GIMP Pour agrandir l image : touche Ctrl maintenue enfoncée tout en tournant la molette de la souris, ou bien menu Affichage > Zoom > 1600 % Dans la

Plus en détail

Comparaison d images binaires reposant sur une mesure locale des dissimilarités Application à la classification

Comparaison d images binaires reposant sur une mesure locale des dissimilarités Application à la classification 1/54 Comparaison d images binaires reposant sur une mesure locale des dissimilarités Application à la classification Étienne Baudrier CReSTIC vendredi 9 décembre 2005 2/54 Contexte programme national de

Plus en détail

Contrôle de flacons par vision industrielle

Contrôle de flacons par vision industrielle Contrôle de flacons par vision industrielle Le but du TP est d effectuer le contrôle de flacons après leur remplissage, leur bouchonnage et leur étiquetage. Le développement de cette application de vision

Plus en détail

Introduction au Traitement d Images.

Introduction au Traitement d Images. Introduction au Traitement d Images. Andrés Romero Mier y Terán Laboratoire de Recherche en Informatique Université Paris-Sud XI andres.romero@lri.fr September 8, 2013 Acquisition: Capteurs Acquisition:

Plus en détail

ANALYSE AVANCEE DE DONNEES GEOSPATIALES AVEC ecognition

ANALYSE AVANCEE DE DONNEES GEOSPATIALES AVEC ecognition ANALYSE AVANCEE DE DONNEES GEOSPATIALES AVEC ecognition MISE A JOUR CADASTRALE NOTRE COMPREHENSION DU MONDE CHANGE Le logiciel est conçu pour améliorer, accélérer et automatiser l interprétation des images

Plus en détail

Exercice Chapitre 4 Traitement d images binaires par Morphologie Mathématique

Exercice Chapitre 4 Traitement d images binaires par Morphologie Mathématique Exercice Chapitre 4 Traitement d images binaires par Morphologie Mathématique L analyse par morphologie mathématique vise à modifier la structure et la forme des objets de l image, par exemple, pour séparer

Plus en détail

Chapitre III : Détection de contours

Chapitre III : Détection de contours Chapitre III : Détection de contours La détection de contour et la segmentation des images sont probablement les domaines qui ont reçu la plus grande attention de la part de la communauté de traitement

Plus en détail

TAGARNO AS Sandøvej 4 8700 Horsens Danenmark Tél: +45 7625 1111 Mail: mail@tagarno.com

TAGARNO AS Sandøvej 4 8700 Horsens Danenmark Tél: +45 7625 1111 Mail: mail@tagarno.com 8 TAGARNO AS Sandøvej 4 8700 Horsens Danenmark Tél: +45 7625 1111 Mail: mail@tagarno.com TAGARNO 2 Capture d Image Rapide Fonction Split Screen Grossissement jusqu à 320x Réglage Hauteur Facile Carte SD

Plus en détail

Description, avantages et comparaison avec les systèmes d épreuvage classiques

Description, avantages et comparaison avec les systèmes d épreuvage classiques Livre blanc : ÉPREUVAGE À L ÉCRAN Description, avantages et comparaison avec les systèmes d épreuvage classiques Ce livre blanc est destiné à présenter l épreuvage à l écran et sa capacité à produire des

Plus en détail

RECONNAISSANCE DE LA MAIN POUR LES INTERFACES GESTUELLES

RECONNAISSANCE DE LA MAIN POUR LES INTERFACES GESTUELLES RECONNAISSANCE DE LA MAIN POUR LES INTERFACES GESTUELLES Sébastien Marcel Olivier Bernier Daniel Collobert France Telecom - CNET DTL / DLI / TNT 2 avenue Pierre Marzin 22307 Lannion FRANCE Les interfaces

Plus en détail

Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure.

Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure. Filtres passe-bas Ce court document expose les principes des filtres passe-bas, leurs caractéristiques en fréquence et leurs principales topologies. Les éléments de contenu sont : Définition du filtre

Plus en détail

Google améliore la recherche d images

Google améliore la recherche d images Google améliore la recherche d images Soucieux de conserver sa position de leader dans le secteur des moteurs de recherche sur Internet, Google se montre très actif ces derniers temps et intègre de nouveaux

Plus en détail

APTITUDE DE LA THERMOGRAPHIE INFRAROUGE À DÉTECTER LES FISSURES ET NIDS D ABIELLE DANS LE BÉTON

APTITUDE DE LA THERMOGRAPHIE INFRAROUGE À DÉTECTER LES FISSURES ET NIDS D ABIELLE DANS LE BÉTON APTITUDE DE LA THERMOGRAPHIE INFRAROUGE À DÉTECTER LES FISSURES ET NIDS D ABIELLE DANS LE BÉTON J. RHAZI, S. NAAR Groupe de Recherche sur l Auscultation et l Instrumentation Département de génie civil

Plus en détail

ASSEMBLAGE ET ÉDITION DES LIENS

ASSEMBLAGE ET ÉDITION DES LIENS ASSEMBLAGE ET ÉDITION DES LIENS Mewtow 11 novembre 2015 Table des matières 1 Introduction 5 2 La chaine d assemblage 7 2.1 Résolution des symboles.............................. 7 2.2 Relocation.....................................

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

Infolettre #18 : Les graphiques avec Excel 2010

Infolettre #18 : Les graphiques avec Excel 2010 Infolettre #18 : Les graphiques avec Excel 2010 Table des matières Introduction... 1 Hourra! Le retour du double-clic... 1 Modifier le graphique... 4 Onglet Création... 4 L onglet Disposition... 7 Onglet

Plus en détail

TECH. INFOTECH # 34 Solvabilité 2 : Le calcul du capital économique dans le cadre d un modèle interne. Introduction

TECH. INFOTECH # 34 Solvabilité 2 : Le calcul du capital économique dans le cadre d un modèle interne. Introduction INFO # 34 dans le cadre d un modèle interne Comment les méthodes d apprentissage statistique peuvent-elles optimiser les calculs? David MARIUZZA Actuaire Qualifié IA Responsable Modélisation et Solvabilité

Plus en détail

PROJET PILOTE DE FORMATION À L ÉCOCONDUITE POUR VÉHICULES LÉGERS

PROJET PILOTE DE FORMATION À L ÉCOCONDUITE POUR VÉHICULES LÉGERS Bureau de l efficacité et de l innovation énergétiques PROJET PILOTE DE FORMATION À L ÉCOCONDUITE POUR VÉHICULES LÉGERS RÉSULTATS SOMMAIRES 1 Ministère des Ressources naturelles et de la Faune Secteur

Plus en détail

Utilisation d informations visuelles dynamiques en asservissement visuel Armel Crétual IRISA, projet TEMIS puis VISTA L asservissement visuel géométrique Principe : Réalisation d une tâche robotique par

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Méthodes avancées en décision

Méthodes avancées en décision Méthodes avancées en décision Support vector machines - Chapitre 2 - Principes MRE et MRS Principe MRE. Il s agit de minimiser la fonctionnelle de risque 1 P e (d) = y d(x;w, b) p(x, y) dxdy. 2 La densité

Plus en détail

Sécurité sur le web : protégez vos données dans le cloud

Sécurité sur le web : protégez vos données dans le cloud Livre blanc Sécurité sur le web : protégez vos données dans le cloud Présentation Les équipes de sécurité ne peuvent pas être partout, et pourtant le contexte actuel exige des entreprises qu elles protègent

Plus en détail

Ce document fait office d introduction au cryptage des données ainsi qu aux solutions de stockage à cryptage fiable proposées par LaCie.

Ce document fait office d introduction au cryptage des données ainsi qu aux solutions de stockage à cryptage fiable proposées par LaCie. Livre blanc : CRYPTAGE Au regard du formidable succès des disques durs externes pour le stockage et la sauvegarde des données personnelles, commerciales et organisationnelles, le besoin de protection des

Plus en détail

Reconnaissance des formes : Classement d ensembles d objets

Reconnaissance des formes : Classement d ensembles d objets Reconnaissance des formes : Classement d ensembles d objets Données Méthodes Extraction de connaissances Applications Expertise Apprentissage Bernard FERTIL Directeur de Recherche CNRS Équipe LXAO, UMR

Plus en détail