Utilisateur:Mschepens/Brouillon

Une page de Wikipédia, l'encyclopédie libre.

Un système de reconnaissance faciale est une application logicielle visant à reconnaître une personne grâce à son visage de manière automatique.

Ces systèmes sont généralement utilisés à des fins de sécurité pour déverrouiller ordinateur/mobile/console, mais aussi en domotique. Ils sont appréciés car considérés comme peu invasifs, en comparaison avec les autres systèmes biométriques ( empreintes digitales, reconnaissance de l'iris, ...). Le fonctionnement de ces systèmes se base sur une ou plusieurs caméras pour reconnaître l'utilisateur.

Ils peuvent également être utilisés afin de faciliter la vie de l'utilisateur, comme le font par exemple certains réseaux sociaux sur internet (Facebook[1], Google+ [2]) ou certaines applications mobiles (NameTag[3], FaceRec [4]) pour identifier des visages sur des images. Ces systèmes se basent alors sur des photos/vidéos d'une ou plusieurs personnes.

Il faut toutefois veiller à ne pas confondre la détection de visage, qui consiste à repérer qu'un visage est présent sur une image, et la reconnaissance faciale, qui consiste à reconnaître quelqu'un depuis une image ou une vidéo.

Usages[modifier | modifier le code]

Les systèmes de reconnaissance faciale sont de plus en plus présents au quotidien. Ils sont par exemple utilisés sur les réseaux sociaux sur internet pour identifier quelqu'un sur une photo, sur les smartphones pour les déverrouiller, ou par des services de sécurité pour reconnaître des individus recherchés. Ces utilisations peuvent être séparées en deux principales catégories : la sécurité et l'assistance à l'utilisateur.

 Sécurité[modifier | modifier le code]

La sécurité est le principal domaine d'application des systèmes de reconnaissance faciale. Le système s'assure dans ce cas que l'utilisateur est bien un utilisateur valide avant de lui autoriser un accès à un élément donné : Cela peut être utilisé dans un lieu public :

  • Pour autoriser l'accès à un avion afin de s'assurer qu'un futur passager n'est pas recherché, comme cela est le cas à Broadway [5]
  • Pour autoriser l'accès à un pays, comme cela est fait dans les aéroports en Australie où cela est utilisé après une arrivée par avion et avant toute attribution de visa[6]

Mais également un logement ou une pièce (Domotique|domotique) : différents équipements comme SekuFACE[7] ou iFace[8] utilisent en effet la reconnaissance faciale pour s'assurer de l'identité de l'utilisateur. Cet élément peut également se déplacer : différents équipements existent en effet pour des véhicules comme Mobii[9]. Ou encore un environnement virtuel, cet environnement pouvant être :

  • Les données d'un ordinateur, comme les exemples de systèmes Toshiba Face Recognition [10] ou Blink[11].
  • Les données d'un smartphone, il est alors possible de trouver des systèmes qui utilisent les capteurs du téléphone [14] ou non (systèmes mis en place dès Android 4.0 [15] ou Windows Phone [16]).

Les systèmes de reconnaissance faciale, au delà de protéger des données, permettent donc également d'interdire l'accès et l'utilisation d'éléments matériels ou immatériels.

 Assistance à l'utilisateur[modifier | modifier le code]

Le second principal domaine d'application de ces systèmes est l'assistance à l'utilisateur. Elle facilite la recherche d'identité d'une personne à l'aide d'une photo ou d'une vidéo. Celle-ci peut s'appliquer dans le cadre du divertissement (réseaux sociaux en ligne) ou dans le cadre professionnel (forces de l'ordre).

En ce qui concerne l'utilisation de réseaux sociaux sur internet, comme pour Facebook [1] ou Google+ [2], lors d'un ajout de photo ou de vidéo, le visage est détecté puis un Algorithme suggère une liste de personnes pouvant correspondre au visage repéré sur l'image ou la vidéo grâce aux images identifiant déjà chaque individu. Pour l'usage dans le cadre professionnel, l'exemple des forces de l'ordre est notable, comme le système de reconnaissance faciale développé actuellement par le FBI appelé NGI[17], ou celui actuellement utilisé par la NSA [18] qui se base entre autres sur les images postées sur les réseaux sociaux sur internet.

Les méthodes de reconnaissance faciale[modifier | modifier le code]

Chacune des méthodes se base sur trois phases : la détection de visage qui repère un visage, l'analyse du visage qui donne un résultat numérique, et la reconnaissance qui compare ce résultat avec la base de données de visages enregistrés. Il faut donc, avant toute tentative d'identification, constituer une base de données contenant pour chaque utilisateur soit une capture initiale[19], soit plusieurs. Dans le cas où plusieurs captures sont effectuées, une moyenne de celle-ci est alors stockée [20], ce qui permet au système de mieux s'adapter à divers paramètres pouvant varier au moment de la reconnaissance (apparition de cernes/rides, luminosité ambiante, maquillage, ...). Une fois l'analyse effectuée, la reconnaissance effectue donc la comparaison entre le modèle obtenu avec ceux stockés en base de données. On parle alors de reconnaissance 1 à 1 si on avait une seule capture initiale stockée en base de données initialement, ou de reconnaissance 1 à N si on en avait plusieurs.

 Reconnaissance 2D[modifier | modifier le code]

Considérée comme la méthode "classique" de reconnaissance faciale [19], cette méthode consiste à reconnaître l'utilisateur à partir d'une photo de lui. Cette photo peut être capturée par une caméra fans un but de sécurité, ou simplement être déjà enregistrée dans le cadre d'une assistance à l'utilisateur. La reconnaissance est alors effectuée par un algorithme qui peut s'appuyer sur différents éléments [21], comme la forme d'éléments du visage [22] tels que les yeux et leur écartement, la bouche, le visage, ...

Deux catégories d'algorithmes sont alors distinguées :

  • La première catégorie d'algorithmes crée une image géométrique de l'utilisateur en fonction de différents paramètres (tailles d'éléments du visage, forme et distance entre eux) [23]. Les paramètres récupérés sont alors encodés puis comparés avec ceux présents en base de données.
  • La seconde catégorie d'algorithme encode numériquement l'image, en utilisant les algorithmes de Fourier[24], en utilisant des eigenfaces [25] pour créer des vecteurs de poids, ou encore via des calculs de moyennes sur certaines zones de l'image[20], ....

 Reconnaissance 3D[modifier | modifier le code]

Schema d'une modélisation 3D pouvant être issue d'une reconnaissance faciale

Cette méthode est considérée comme une amélioration de la reconnaissance 2D. En effet, elle crée un modèle 3D [19] depuis plusieurs photos effectuées successivement ou depuis une vidéo, cela permettant d'avoir différents points de vue de la personne à reconnaître afin de créer le modèle 3D.

De nombreux algorithmes existent en ce qui concerne l'analyse, chacun se basant sur un ou plusieurs éléments du visage (orientation du nez[26], du visage, ...) pour créer le modèle 3D [27][28] correspondant au visage de l'utilisateur.


Failles du système[modifier | modifier le code]

Comme tout élément ayant une utilité de sécurisation, les systèmes de reconnaissance faciale sont sujets à des attaques visant à les tromper en exploitant des failles. Trois principaux types d'attaques sont alors connus dans ce domaine pour tromper les systèmes de reconnaissance faciale.

 Attaques photo[modifier | modifier le code]

Le premier type d'attaque est l'attaque par photo[14][19][20]. En effet, montrer une photo au système semble être une bonne méthode pour tromper la caméra. L'efficacité de ce type d'attaque a été aidée par l'arrivée d'imprimantes ayant une résolution élevée, aussi nommée haute définition. Ces imprimantes permettent en effet d'imprimer une image très qualitative, trompant aisément la vigilance des systèmes. Une autre possibilité consiste à utiliser des écrans à haute définition disponibles dans le commerce (écrans, smartphones) pour présenter une photo très détaillée et ainsi tromper le système.

Ce type d'attaque est devenu encore plus simple à effectuer avec l'apparition des réseaux sociaux sur internet et les très nombreuses photos postées par les utilisateurs.

 Attaques vidéo[modifier | modifier le code]

Ce deuxième type d'attaque consiste à présenter une vidéo à l'objectif de la caméra afin de tromper le système de reconnaissance faciale [14]. Des logiciels disponibles sur internet, appelés caméras virtuelles, tels que VirtualCamera [29] ou Manycam[30] permettent en effet de tromper le système de reconnaissance en lui présentant une vidéo comme si celle-ci provenait de sa propre caméra. Il est alors possible de présenter la vidéo d'une personne au système de reconnaissance afin de tromper celui-ci.

Ce type d'attaque s'est répandu avec l'arrivée des reconnaissances 3D, car il est très compliqué de tromper une reconnaissance d'un modèle 3D avec une simple photo, cette dernière présentant toujours la même posture d'un individu. En revanche, la vidéo présente du mouvement et permet d'obtenir plusieurs postures du même individu, le système de reconnaissance 3D peut donc modéliser un modèle réel et être trompé.

Attaque avec un masque[modifier | modifier le code]

La récente mise à disposition au grand public de l'impression tridimensionnelle crée également une faille pour les systèmes de reconnaissance faciale. En effet, cela permet de créer un masque [31] correspondant au visage de l'utilisateur. Il est alors facile d'imaginer l'utilisation d'un masque présentant un individu pour tromper un système de reconnaissance faciale.


Réponses à ces failles[modifier | modifier le code]

 Réponses aux attaques photo[modifier | modifier le code]

Ce type d'attaque est principalement contré en multipliant le nombre de photos prises de l'utilisateur puis en :

  • Analysant s'il y a eu un clignement des yeux [32]. Etant donné que l'oeil humain cligne 15 à 30 fois par minute [32], il est possible sur une courte analyse de repérer un clignement. Ce système reste tout de même faible face aux attaques vidéo, étant donné qu'une vidéo peut contenir les clignements des yeux de la personne à reconnaître.
  • Analysant les micro-mouvements [14] [33] [34] de l'utilisateur ou de son environnement. Une immobilité/stabilité (de l'utilisateur ou son environnement) parfaite lors de l'enregistrement peut en effet éveiller de lourds soupçons quant à la fiabilité de l'enregistrement.
  • Vérifiant la "texture" du visage photographié [35](texture réelle et non similaire à celle d'une photo). Une texture trop floue ou irréelle montrera la non-fiabilité de l'image.

 Réponses globales[modifier | modifier le code]

Certaines techniques ont émergé pour contrer les trois types d'attaque. Celles-ci utilisent des événements totalement ou partiellement extérieurs à l'image :

  • En créant un modèle depuis des postures fixes de l'utilisateur dans un ordre précis (par exemple : profil gauche, profil droit, face).
  • Sur les smartphones, il est possible synchroniser les micro-mouvements ou mouvements du smartphone avec ceux de l'image/vidéo [14] afin de vérifier l'authenticité de celle-ci.
  • Sur les périphériques équipés de micro, il est possible de demander à l'utilisateur de parler [34] [36] et de vérifier que les mouvements de la bouche sur l'image/vidéo afin de vérifier la synchronisation des deux. De même, cela permet de faire une identification basée sur deux paramètres biométriques (la voix et le visage). Il est imaginable de lier d'autres paramètres biométriques avec la reconnaissance faciale, comme les empreintes digitales.
  • Vérifier la "texture" du visage en addition d'autres réponses pour rendre plus compliquée l'attaque.
  • Donner des instructions à l'utilisateur [14] (exemples : "Tournez la tête vers la droite", "Faites tourner la caméra autour de votre visage", "Bougez la caméra vers le haut", ...). Il est alors possible de vérifier que l'utilisateur suit bien les instructions, ce qui est fiable en raison du côté l'aléatoire des instructions et la précision de celles-ci.

Fiabilité[modifier | modifier le code]

 Indicateurs de fiabilité[modifier | modifier le code]

La fiabilité des différents systèmes de reconnaissance faciale se vérifient selon plusieurs indicateurs [14][19] :

  • Le taux de bonne reconnaissance : le système reconnaît bien l'utilisateur qu'il devait reconnaître
  • Le taux de mauvaise reconnaissance : le système reconnaît un utilisateur mais en l'identifiant comme un autre
  • Le taux de faiblesse aux attaques photo : le système est trompé par une attaque photo
  • Le taux de faiblesse aux attaques vidéo : le système est trompé par une attaque vidéo

 Paramètres augmentant la fiabilité[modifier | modifier le code]

Différents paramètres entrent en compte pour accroître les performances :

  • Le nombre de photo/vidéo en base de données [19] : le nombre de photos/vidéos en base de données permet de mieux modéliser l'utilisateur, et donc de mieux le reconnaître ensuite.
  • Le nombre d'images capturées lors de la reconnaissance [19] : le nombre d'images capturées permet de mieux modéliser l'utilisateur qui souhaite s'identifier, et donc de mieux vérifier qu'il correspond au modèle en base de données.
  • La luminosité [14][19] : une meilleure luminosité sur le visage de l'utilisateur permet de mieux reconnaître celui-ci en évitant de mal modéliser son visage en raison de "zones d'ombre".
  • La proximité de l'utilisateur vis-à-vis de l'objectif [14][19] : une meilleure proximité de l'utilisateur vis-à-vis de l'objectif permet une meilleure qualité d'image sur son visage, et donc une meilleure modélisation.
  • La qualité de l'image [14][19] : pour la même raison que le paramètre précédent, une meilleure qualité permet une meilleure modélisation.

Performances[modifier | modifier le code]

L'efficacité d'un système de reconnaissance faciale est donc établit en fonction de son taux de fiabilité, mais également en fonction du temps d'exécution qu'il lui faut pour effectuer la reconnaissance ainsi que pour établir le "profil" stocké en base de données.

Le tableau suivant résume les informations récupérées sur les différents systèmes évoqués.

Système utilisé Type de reconnaissance Constitution de la base de données Temps de reconnaissance moyen (sans échec)
Toshiba 3D 2 à 3min 20s
Android avec capteurs 2D Inconnu 5s
Android 4.0 2D 2s < 1s
Iphone 4S 2D 2 à 5min < 1s
XBox One Inconnu 5s 1 à 5s
PS4 3D 50 à 70s < 2s

Note et références[modifier | modifier le code]

  1. a et b Reconnaissance Faciale de Facebook
  2. a et b Reconnaissance faciale Google
  3. NameTag
  4. FaceRec
  5. Reconnaissance faciale à l'aéroport de Broadway
  6. Reconnaissance faciale dans les aéroports australiens, contrôle des visas
  7. SekuFACE
  8. iFace
  9. Mobii
  10. Toshiba Face Recognition
  11. Blink
  12. Reconnaissance Faciale Playstation 4
  13. Xbox One
  14. a b c d e f g h i et j Sensor-Assisted Facial Recognition: An Enhanced Biometric Authentication System for Smartphones
  15. Reconnaissance Faciale Android
  16. Reconnaissance Faciale sur Windows Phone
  17. NGI
  18. Système de reconnaissance faciale utilisé par la NSA
  19. a b c d e f g h i et j Face recognition from a single image per person: A survey Erreur de référence : Balise <ref> incorrecte : le nom « survey » est défini plusieurs fois avec des contenus différents.
  20. a b et c 100% Accuracy in Automatic Face Recognition
  21. View-Based and Modular Eigenspaces for Face Recognition
  22. Parametric models for facial features segmentation
  23. Face recognition: A literature survey
  24. Live face detection based on the analysis of Fourier spectra
  25. Face recognition: A literature survey
  26. Multiple Nose Region Matching for 3D Face Recognition under Varying Facial Expression
  27. Face Recognition Based on Fitting a 3D Morphable Model
  28. 3D Face Recognition Using Simulated Annealing and the Surface Interpenetration Measure
  29. VirtualCamera
  30. Manycam
  31. Spoofing Face Recognition with 3D Masks
  32. a et b Eyeblink-based Anti-Spoofing in Face Recognition from a Generic Webcamera
  33. Real-time eye blink detection with GPU-based SIFT tracking
  34. a et b Face recognition with liveness detection using eye and mouth movement
  35. Is physics-based liveness detection truly possible with a single image?
  36. A Multimodal Biometric Identification System

Bibliographie[modifier | modifier le code]

  • (en) Shaxun Chen, Amit Pande et Prasant Mohapatra, « Sensor-Assisted Facial Recognition: An Enhanced Biometric Authentication System for Smartphones », MobiSys, vol. Proceedings of the 12th,‎ (lire en ligne)
  • (en) Jiangwei Li, Yunhong Wang, Tieniu Tan et Anil K. Jain, « Live face detection based on the analysis of Fourier spectra », Biometric Technology for Human Identification, vol. Biometric Technology for Human Identification,‎ (DOI 10.1117/12.541955, lire en ligne)
  • (en) K.I. Chang et W. Bowyer, « Multiple Nose Region Matching for 3D Face Recognition under Varying Facial Expression », IEEE, vol. Transactions on pattern analysis and machine intelligence 28,‎ , p. 1695 - 1700 (ISSN 0162-8828, DOI 10.1109/TPAMI.2006.210, lire en ligne)
  • (en) Chaua C. Queirolo, Luciano Silva, Olga R.P. Bellon et Mauricio Pamplona Segundo, « 3D Face Recognition Using Simulated Annealing and the Surface Interpenetration Measure », IEEE, vol. Transactions on pattern analysis and machine intelligence 32,‎ , p. 206-219 (ISSN 0162-8828, DOI 10.1109/TPAMI.2009.14, lire en ligne)
  • (en) M. Lalonde, D. Byrns, L. Gagnon, N. Teasdale et D. Laurensdeau, « Real-time eye blink detection with GPU-based SIFT tracking », IEEE, vol. Computer and Robot Vision 4th Canadian Conference,‎ , p. 481-487 (ISBN 0-7695-2786-8, DOI 10.1109/CRV.2007.54, lire en ligne)
  • (en) Robert W. Frischholz et Ulrich Dieckmann, « A Multimodal Biometric Identification System », BioID, vol. 33,‎ (lire en ligne)