Brevet FR3083895A1 — publié le 20200117

La présente invention concerne le domaine de la reconnaissance biométrique, par exemple à des fins d'identification d'un individu ou de vérification du droit de l'individu à accéder à un lieu ou à des informations. Arrière-plan technologique Classiquement, un procédé de reconnaissance biométrique comprend les étapes de : - capturer une image d'une partie du corps d'un candidat à la reconnaissance ; - extraire de cette image des caractéristiques biométriques sous la forme d'un vecteur biométrique du candidat ; - calculer un score de similarité du vecteur biométrique du candidat avec un vecteur biométrique de référence mémorisé dans une base de données hébergée par un ordinateur ou dans un support de données détenu par le candidat, comme un circuit intégré incorporé à une carte de données ou à un document d'identité tel qu'un passeport ; - valider ou refuser la reconnaissance en fonction du score de similarité. Le vecteur biométrique de référence est obtenu lors d'une opération d'enrôlement qui comprend les étapes de : - capturer une image d'une partie du corps d'un candidat à l'enrôlement ; - extraire de cette image des caractéristiques biométriques sous la forme d'un vecteur biométrique de référence mémorisé dans la base de données hébergée par un ordinateur ou dans le support de données détenu par le candidat. Actuellement, le vecteur biométrique de référence occupe une place relativement importante dans la mémoire 2 du support de données alors que la taille de cette mémoire est relativement limitée. Objet de l'invention Un but de l'invention est de fournir un moyen pour 5 remédier au problème précité ou, plus généralement, limiter au moins en partie les ressources nécessaires à une reconnaissance biométrique. Bref exposé de l'invention A cet effet, on prévoit, selon l'invention, un 10 procédé de reconnaissance biométrique, comprenant les étapes de : - capturer une image d'une partie du corps d'un candidat à la reconnaissance ; - extraire de cette image des caractéristiques 15 biométriques sous la forme d'un vecteur biométrique candidat ; - calculer un score de similarité du vecteur biométrique candidat avec un vecteur biométrique de référence mémorisé ; 20 - valider ou refuser la reconnaissance en fonction du score de similarité ; le vecteur biométrique de référence ayant été obtenu lors d'une phase préalable d'enrôlement en : - capturant une image d'une partie du corps d'un 25 candidat à l'enrôlement ; - extrayant de cette image des caractéristiques biométriques sous la forme d'un vecteur biométrique de référence ; caractérisé en ce que l'extraction est réalisée au moyen 30 d'au moins un réseau de neurones pour au moins l'un des vecteurs biométriques. D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description 3 qui suit d'un mode de mise en oeuvre particulier non limitatif de l'invention. Brève description des dessins Il sera fait référence à la figure unique annexée 5 représentant schématiquement en perspective un dispositif pour la mise en oeuvre de l'invention. Exposé détaillé de l'invention L'invention est ici décrite en application au contrôle d'accès à un avion dans un aéroport. L'accès à 10 l'avion suppose de disposer d'une carte d'embarquement sur laquelle figurent au moins : - des éléments d'identification de l'avion et du vol ; - les nom et prénoms du passager. La carte d'embarquement est traditionnellement 15 délivrée par une borne automatique à partir d'un numéro de réservation ou tout autre information d'identification, ou au guichet de la compagnie aérienne qui a affrété ou possède l'avion. Dans le mode de mise en oeuvre qui va être décrit, un 20 vecteur biométrique de référence est associé à un document personnel et plus particulièrement ici, à la carte d'embarquement. Ceci est parfaitement réalisable avec une carte d'embarquement « papier » mais, dans la mise en oeuvre ici 25 décrite, la carte d'embarquement est dématérialisée. A cette fin, et en référence à la figure, le passager possédant un téléphone mobile 1 de type « ordiphone » ou « smartphone » se voit proposer le téléchargement d'une application permettant d'éditer sa 30 carte d'embarquement. Cette application est téléchargée depuis un serveur informatique 2 appartenant à la compagnie aérienne possédant ou ayant affrété l'avion. Le serveur informatique 2 comprend de façon classique un processeur et une mémoire contenant des programmes, et est relié à un réseau de transport de données 3, tel que 4 le réseau Internet, auquel le téléphone mobile 1 peut se connecter. Le téléphone mobile 1 est de type classique et comprend un processeur, une mémoire contenant des 5 programmes (dont certains sont appelés couramment applications), et au moins un capteur d'image 8. Le serveur informatique 2 exécute un programme comprenant des instructions pour la vente de billets d'avions. Pour acheter un billet d'avion, le futur 10 passager doit s'identifier sur le serveur informatique 2, sélectionner le vol souhaité, puis payer. Le programme lui propose alors de télécharger l'application sur son téléphone mobile 1 afin qu'il puisse créer sa carte d'embarquement. 15 Lorsque l'application téléchargée est exécutée, elle commande la réalisation d'une connexion du téléphone mobile 1 au serveur informatique 2 pour : exécuter un processus d'authentification du passager (saisie d'un identifiant et d'un mot de passe) puis, 20 si l'authentification est réussie, exécuter un processus de création de la carte d'embarquement. Le processus de création de la carte d'embarquement comprend les étapes de : capturer une image d'une partie du corps d'un 25 candidat à l'enrôlement ; extraire de cette image des caractéristiques biométriques sous la forme d'un vecteur biométrique de référence dit initial ; quantifier le vecteur biométrique de référence 30 initial pour obtenir un vecteur biométrique de référence dit quantifié former à partir du vecteur biométrique de référence quantifié et d'un identifiant du vol un code-barres à deux dimensions. 5 Pour effectuer la capture d'image, l'application pilote le capteur d'image 8 du téléphone mobile 1 et demande au futur passager de prendre une photographie de son visage (couramment appelée « selfie »). L'application 5 peut afficher à cette fin des indications textuelles ou graphiques permettant au futur passager de prendre une photographie de qualité suffisante (en terme d'exposition, de netteté, de contraste de l'image, de dimensions du visage sur l'image...) pour permettre 10 l'extraction des caractéristiques biométriques. L'application transfère ensuite, via le réseau 3, l'image capturée au serveur informatique 2 dont le programme est agencé pour détecter la position du visage dans l'image, l'aligner le visage dans l'image, puis pour 15 effectuer l'extraction des caractéristiques biométriques. La détection de la position et l'alignement du visage permettent d'obtenir une image de dimensions prédéterminées recadrée sur le visage : ces opérations sont connues en elles-mêmes et ne seront pas plus 20 détaillées ici. L'extraction est effectuée par au moins un réseau de neurones entraîné par apprentissage profond. Le réseau de neurones est ici un réseau à convolution qui est paramétré pour fournir un vecteur de référence ayant une 25 taille de 512 octets. Un seul réseau de neurones est ici utilisé mais il est possible d'utiliser plusieurs réseaux de neurones pour faire l'extraction. On obtient alors le vecteur biométrique de référence initial (couramment appelé « template biométrique ») qui 30 est ensuite quantifié pour former le vecteur biométrique de référence quantifié. La quantification ici utilisée est une binarisation. On rappelle que la binarisation est une opération consistant à comparer à un seuil la valeur de chaque composante du vecteur biométrique de référence 35 quantifié, et remplacer la valeur de chaque composante 6 par 0 lorsque la valeur de cette composante est inférieure ou égale au seuil et par 1 lorsque la valeur de cette composante est supérieure au seuil. A titre d'exemple, si le seuil est égal à 0, on remplace par 0 5 chaque composante inférieure ou égale à 0 et par 1 chaque composante supérieure à 0. Ainsi, si les composantes du vecteur biométrique de référence initial sont codées chacune sur quatre octets, soit 32 bits, et que l'on binarise chacune de ses composantes, le vecteur 10 biométrique de référence quantifié résultant de la binarisation du vecteur biométrique de référence initial est 32 fois plus petite que celle du vecteur biométrique de référence initial. En variante, le seuil peut être différent pour chaque composante. De préférence alors, le 15 seuil correspond à une valeur moyenne de chaque composante. Ces valeurs moyennes ont été calculées, au moment de la conception de l'algorithme de quantification, à partir d'une pluralité de vecteurs biométriques de référence extraits de visages d'une base 20 de données de visages. A l'issue de la quantification, le vecteur biométrique de référence quantifié a une taille inférieure à 200 octets environ et ici, plus particulièrement, une taille inférieure à 100 octets 25 voire inférieure à 50 octets. D'autres modes de quantification sont possibles. Par exemple, on pourrait diviser l'intervalle des valeurs possibles de de chaque valeur du vecteur biométrique de référence initial en quatre sous intervalles et remplacer 30 cette valeur réelle (initialement codée sur 32 bits) par une valeur quantifiée égale à 0, 1, 2 ou 3 selon le sous-intervalle auquel la valeur réelle appartient. La valeur quantifiée est codée sur seulement deux bits. De préférence, le vecteur biométrique de référence 35 quantifié a une taille de 32 octets. Le code-barres à 7 deux dimensions (couramment appelé « QR code » et symbolisé en Q sur la figure) est formé de manière classique sauf en ce que les informations à y faire figurer sont le vecteur biométrique de référence 5 quantifié et une signature (la signature a ici une taille de 16 octets). La signature est une valeur chiffrée correspondant ici au nom du passager et aux informations du vol (notamment l'identifiant du vol). De préférence, on effectuera, préalablement à la formation du code- 10 barres, un hachage du vecteur biométrique de référence quantifié et de la signature. Le code-barres est ensuite renvoyé par le serveur informatique 2 à l'application. On notera que, après la capture, tout ou partie des opérations permettant la constitution du code-barres à 15 deux dimensions peut être indifféremment réalisée au sein du téléphone mobile 1 ou du serveur informatique 2, et notamment : - l'extraction des caractéristiques biométriques peut être réalisée par l'application au sein du téléphone 20 mobile 1 ou par le serveur informatique 2 après transmission de l'image capturée ; - de même pour la formation du code-barres. A l'aéroport, le passager est censé lancer l'exécution de l'application de manière à permettre 25 l'affichage de la carte virtuelle d'embarquement. L'application est également agencée pour présenter, sur demande du passager, le code-barres mais aussi d'autres informations concernant le vol comme notamment l'heure de départ. L'application est en outre, de préférence, 30 agencée pour se connecter au serveur informatique 2 de la compagnie aérienne ou à un serveur informatique 4 dédié de l'aéroport auquel le serveur informatique 2 est connecté et auquel le serveur informatique 2 a communiqué les informations relatives au passager. Ceci permet 35 d'afficher sur le téléphone mobile 1, par voie de 8 notification ou d'alerte, les informations relatives à l'enregistrement, la porte d'embarquement, les retards éventuels... Le serveur informatique 4 de l'aéroport est relié à 5 une borne 5 de contrôle d'accès à la zone d'embarquement. La borne 5 comprend un processeur et une mémoire pour exécuter un procédé de commande, ainsi qu'un lecteur 6 de code-barres à deux dimensions et au moins une caméra 7 agencée pour capturer des images du visage des passagers 10 se présentant devant la borne 5. La borne 5 est agencé pour commander l'ouverture d'un sas d'accès sous certaines conditions. Pour accéder à la zone d'embarquement, le passager commande l'application pour que le code-barres soit 15 affiché sur l'écran 9 de son téléphone mobile 1 qu'il présente face au lecteur 6. La borne 5 détecte le code-barres et commande la caméra 7 pour capturer une image du visage du passager. Le programme de commande de la borne 5 exécute 20 ensuite les étapes de : - extraire de cette image des caractéristiques biométriques sous la forme d'un vecteur biométrique candidat ; - lire le code-barres et en extraire le vecteur 25 biométrique de référence quantifié et la signature ; - calculer un score de similarité du vecteur biométrique candidat avec le vecteur biométrique de référence quantifié et déchiffrer la signature ; - valider ou refuser la reconnaissance en fonction du 30 score de similarité, de l'exactitude du nom du passager et de l'existence d'un vol à venir correspondant à l'identifiant du vol ; - ouvrir le sas d'accès si la reconnaissance est validée et émettre une alerte si la reconnaissance 35 est refusée. 9 Le calcul du score de similarité est une distance entre les deux vecteurs. Plus précisément, le calcul du score de similarité comprend une comparaison de la distance à un seuil défini en fonction d'un taux souhaité 5 de fausse acceptation et d'un taux souhaité de faux rejet. Selon une première approche, le vecteur biométrique candidat est binarisé avant le calcul du score de similarité. Le score de similarité est ici une distance 10 de Hamming dont le calcul est connu en lui-même. Le calcul de la distance de Hamming est très rapide. Toutefois, la binarisation du vecteur biométrique candidat dégrade la précision de la reconnaissance. Selon une deuxième approche, le vecteur biométrique 15 candidat, qui ne contient que des valeurs réelles, reste inchangé (sans quantification), ce qui permet de conserver une bonne précision de la reconnaissance. Dans une première version, la valeur de chaque composante du vecteur biométrique de référence quantifié 20 qui est égale à 0 est remplacée par -1 pour obtenir un vecteur biométrique de référence quantifié transformé. On calcule alors la distance cosinus séparant le vecteur biométrique de référence quantifié transformé et le vecteur biométrique candidat. 25 Le score de similarité est alors une distance cosinus dont le calcul est classique. Dans une deuxième version, on calcule, lors de la conception de l'algorithme de reconnaissance, la valeur moyenne p, et l'écart-type G, de chaque composante de 30 vecteurs biométriques extraits d'un échantillon d'images d'une banque de données de visages. Ensuite, pour chaque composante du vecteur biométrique de référence quantifié : 10 - si la valeur de la composante i est 0, alors la valeur de la composante est remplacée par x,= p1- ci ; - si la valeur de la composante i est 1, alors la 5 valeur de la composante est remplacée par x,= p,+ G,. Le score de similarité est alors une distance cosinus calculée de manière classique. Bien entendu, l'invention n'est pas limitée au mode de réalisation décrit mais englobe toute variante entrant 10 dans le champ de l'invention telle que définie par les revendications. En particulier, le vecteur biométrique de référence peut être mémorisé sous forme graphique (comme dans le code-barres à deux dimensions) mais aussi sous forme 15 électronique par exemple dans une mémoire d'un circuit intégré de type RFID contenu dans un document tel qu'un passeport, dans une mémoire d'un circuit intégré de carte à circuit intégré, dans une mémoire d'ordinateur_ Bien que dans le mode de mise en euvre décrit, ce 20 soit le vecteur biométrique de référence qui soit fourni par le réseau de neurones, ce peut être le vecteur biométrique candidat. Les deux vecteurs peuvent être obtenus au moyen d'un réseau de neurones et/ou peuvent être quantifiés. 25 L'extraction peut être réalisée dans le téléphone mobile. On évite ainsi que des données biométriques transitent par un ordinateur distant. Selon le type ou le nombre de réseaux de neurones utilisés, la taille du vecteur biométrique peut être 30 différente de celle indiquée. Par exemple avec deux ou trois réseaux de neurones, le vecteur biométrique peut avoir une taille de 1024 ou 1536 octets. Un exemple de réseau de neurones et de méthode d'apprentissage utilisable est celui décrit dans le document 35 « DeepVisage : Making face recognition simple yet with 11 powerful generalization skills », Abul Hasnat et al., The IEEE International Conference on Computer Vision (ICCV), 2017, pp. 1682-1691. Le code-barres à deux dimensions peut être mémorisé 5 dans la mémoire d'un dispositif électronique telle qu'un téléphone ou une tablette électronique multimédia, ou imprimé sur un document tel qu'une carte d'embarquement « papier ». Il est possible d'associer au vecteur biométrique de 10 référence mêlé par hachage à l'identifiant du vol également une information de signature qui comprendra par exemple une valeur d'intégrité calculée sur les bits du vecteur biométrique de référence obtenu après hachage. D'autres informations peuvent être mêlées au vecteur 15 biométrique de référence comme par exemple une date, le nom du passager ou toute autre suite de caractère alphanumériques. L'invention est applicable à d'autres biométries que la biométrie de visage et par exemple les empreintes 20 digitales, les iris... Au lieu d'être réalisé depuis un téléphone mobile, l'enrôlement peut être réalisé depuis une borne d'enregistrement pourvue d'un capteur biométrique et située par exemple à l'aéroport. REVENDICATIONS1. Procédé de reconnaissance biométrique, comprenant les étapes de : - capturer une image d'une partie du corps d'un candidat à la reconnaissance ; - extraire de cette image des caractéristiques biométriques sous la forme d'un vecteur biométrique candidat ; - calculer un score de similarité du vecteur biométrique candidat avec un vecteur biométrique de référence mémorisé ; - valider ou refuser la reconnaissance en fonction du score de similarité ; le vecteur biométrique de référence ayant été obtenu lors d'une phase préalable d'enrôlement en : - capturant une image d'une partie du corps d'un candidat à l'enrôlement ; - extrayant de cette image des caractéristiques biométriques sous la forme d'un vecteur biométrique de référence ; caractérisé en ce que l'extraction est réalisée au moyen d'au moins un réseau de neurones pour au moins l'un des vecteurs biométriques. 2. Procédé selon la revendication 1, dans lequel le réseau de neurones est paramétré pour fournir un vecteur biométrique ayant une taille au plus égale à 512 octets environ. 3. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'extraction est effectuée par un réseau de neurones entraîné par apprentissage profond. 4. Procédé selon la revendication précédente, dans lequel le réseau de neurones est un réseau à convolution. 5. Procédé selon l'une quelconque des revendications précédentes, dans lequel le vecteur biométrique obtenu 13 par le réseau de neurones subit une opération de quantification avant sa mémorisation. 6. Procédé selon l'une quelconque des revendications précédentes, dans lequel la quantification est une 5 binarisation. 7. Procédé selon la revendication 5 ou la revendication 6, dans lequel la quantification est réalisée pour fournir un vecteur biométrique ayant une taille inférieure à 200 octets. 10 8. Procédé selon la revendication 7, dans lequel la quantification est réalisée pour fournir un vecteur biométrique ayant une taille inférieure à 100 octets. 9. Procédé selon la revendication 8, dans lequel la quantification est réalisée pour fournir un vecteur 15 biométrique ayant une taille inférieure à 50 octets. 10. Procédé selon l'une quelconque des revendications 5 à 9, dans lequel le vecteur biométrique quantifié est mémorisé sous la forme d'un code-barres à deux dimensions. 20 11. Procédé selon la revendication 10, dans lequel le vecteur biométrique quantifié est associé à une signature avant d'être transformé en code-barres à deux dimensions. 12. Procédé selon l'une quelconque des 25 revendications précédentes, dans lequel le calcul du score de similarité est une distance entre les deux vecteurs biométriques. 13. Procédé selon la revendication 12, dans lequel le calcul du score de similarité comprend une comparaison 30 de la distance à un seuil défini en fonction d'un taux souhaité de fausse acceptation et d'un taux souhaité de faux rejet. 14. Procédé selon la revendication 12, dans lequel la distance est une distance cosinus. 14 15. Procédé selon la revendication 12, dans lequel la distance est une distance de Hamming. 16. Support personnel de données à des fins de reconnaissance biométrique, le support personnel 5 comprenant un élément de mémorisation d'un vecteur biométrique de référence ayant une taille inférieure à 200 octets environ.