Brevet FR3083894A1 — 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 5 pour 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 : - lors d'une phase d'enrôlement, les étapes de : - capturer une image d'une partie du corps d'un individu ; - extraire de cette image des 15 caractéristiques biométriques sous la forme d'un vecteur biométrique de référence ; - lors d'une phase de reconnaissance, les étapes de : - capturer une image d'une partie du corps 20 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 25 biométrique candidat avec le vecteur biométrique de référence, l'un des deux vecteurs biométriques étant quantifié ; - valider ou refuser la reconnaissance en fonction du score de similarité. 30 D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui suit d'un mode de mise en oeuvre particulier non limitatif de l'invention. Brève description des dessins 3 Il sera fait référence à la figure unique annexée représentant schématiquement en perspective un dispositif pour la mise en oeuvre de l'invention. Exposé détaillé de l'invention 5 L'invention est ici décrite en application au contrôle d'accès à un avion dans un aéroport. L'accès à l'avion suppose de disposer d'une carte d'embarquement sur laquelle figurent au moins : - des éléments d'identification de l'avion 10 et du vol ; - les nom et prénoms du passager. La carte d'embarquement est traditionnellement délivrée par une borne automatique à partir d'un numéro de réservation ou tout autre information 15 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 vecteur biométrique de référence est associé à un document personnel et plus particulièrement ici, à la 20 carte d'embarquement. Ceci est parfaitement réalisable avec une carte d'embarquement « papier » mais, dans la mise en oeuvre ici décrite, la carte d'embarquement est dématérialisée. A cette fin, et en référence à la figure, le 25 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 carte d'embarquement. Cette application est téléchargée depuis un serveur informatique 2 appartenant à la 30 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 le réseau Internet, auquel le téléphone mobile 1 peut se connecter. 4 Le téléphone mobile 1 est de type classique et comprend un processeur, une mémoire contenant des programmes (dont certains sont appelés couramment applications), et au moins un capteur d'image 8. 5 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 passager doit s'identifier sur le serveur informatique 2, sélectionner le vol souhaité, puis payer. Le programme 10 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. Lorsque l'application téléchargée est exécutée, elle commande la réalisation d'une connexion du téléphone 15 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, - si l'authentification est réussie, 20 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 25 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 dit initial ; - quantifier le vecteur biométrique de 30 référence 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 30 biométrique ») qui 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 35 vecteur biométrique de référence quantifié, et remplacer 6 la valeur de chaque composante 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 5 remplace par 0 chaque composante inférieure ou égale à 0 et par 1 chaque composante supérieure à D. 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 35 référence quantifié a une taille de 32 octets. Le code- 7 barres à 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 20 sein du téléphone 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 25 l'exécution de l'application de manière à permettre 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 30 départ. L'application est en outre, de préférence, 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é 35 les informations relatives au passager. Ceci permet 8 d'afficher sur le téléphone mobile 1, par voie de notification ou d'alerte, les informations relatives à l'enregistrement, la porte d'embarquement, les retards éventuels... 5 Le serveur informatique 4 de l'aéroport est relié à 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 10 une caméra 7 agencée pour capturer des images du visage des passagers 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 15 passager commande l'application pour que le code-barres soit 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. 20 Le programme de commande de la borne 5 exécute ensuite les étapes de : - extraire de cette image des caractéristiques biométriques sous la forme d'un vecteur biométrique candidat ; 25 - lire le code-barres et en extraire le vecteur 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 30 référence quantifié et déchiffrer la signature ; - valider ou refuser la reconnaissance en fonction du score de similarité, de l'exactitude du nom du passager et de l'existence d'un vol à venir correspondant à l'identifiant du vol ; 9 - ouvrir le sas d'accès si la reconnaissance est validée et émettre une alerte si la reconnaissance est refusée. Le calcul du score de similarité est une distance 5 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é de fausse acceptation et d'un taux souhaité de faux rejet. 10 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 de Hamming dont le calcul est connu en lui-même. Le calcul de la distance de Hamming est très 15 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 candidat, qui ne contient que des valeurs réelles, reste inchangé (sans quantification), ce qui 20 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é qui est égale à 0 est remplacée par -1 pour obtenir un vecteur biométrique de référence quantifié 25 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. Le score de similarité est alors une distance cosinus dont le calcul est classique. 30 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 vecteurs biométriques extraits d'un échantillon d'images d'une banque de données de visages. Ensuite, pour chaque 10 composante du vecteur biométrique de référence quantifié : - si la valeur de la composante i est 0, alors la valeur de la composante est remplacée par 5 xi= p,- G] ; - si la valeur de la composante i est 1, alors la valeur de la composante est remplacée par xi= Pi+ 0, Le score de similarité est alors une distance 10 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 dans le champ de l'invention telle que définie par les revendications. 15 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 électronique par exemple dans une mémoire d'un circuit intégré de type RFID contenu dans un document tel 20 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 soit le vecteur biométrique de référence qui soit fourni par le réseau de neurones, ce peut être le vecteur 25 biométrique candidat. 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 30 utilisés, la taille du vecteur biométrique peut être 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 35 utilisable est celui décrit dans le document 11 « DeepVisage : Making face recognition simple yet with powerful generalization skills », Abul Hasnat et al., The IEEE International Conference on Computer Vision (ICCV), 2017, pp. 1682-1691. 5 Le code-barres à deux dimensions peut être mémorisé 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 ». 10 Il est possible d'associer au vecteur biométrique de 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. 15 D'autres informations peuvent être mêlées au vecteur 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 20 que la biométrie de visage et par exemple les empreintes 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 25 située par exemple à l'aéroport. REVENDICATIONS1. Procédé de reconnaissance biométrique, comprenant : lors d'une phase d'enrôlement, les étapes de : capturer une image d'une partie du corps d'un individu ; - extraire de cette image des caractéristiques biométriques sous la forme d'un vecteur biométrique de référence ; - lors d'une phase de reconnaissance, 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 le vecteur biométrique de référence, l'un des deux vecteurs biométriques étant quantifié ; - valider ou refuser la reconnaissance en fonction du score de similarité. 2. Procédé selon la revendication 1, dans lequel 25 le vecteur biométrique quantifié est le vecteur biométrique de référence. 3. Procédé selon la revendication 2, comprenant l'étape, suivant l'extraction du vecteur biométrique de référence, de quantifier le vecteur biométrique de 30 référence. 4. Procédé selon l'une quelconque des revendications précédentes, dans lequel le calcul du score de similarité est une distance entre les deux vecteurs. 13 5. Procédé selon la revendication 4, dans lequel le calcul du score de similarité comprend une comparaison de la distance à un seuil défini en fonction d'un taux souhaité de fausse acceptation et d'un taux souhaité de 5 faux rejet. 6. Procédé selon la revendication 4, dans lequel la distance est une distance cosinus. 7. Procédé selon l'une quelconque des revendications précédentes, dans lequel la quantification 10 appliquée Sur le vecteur biométrique est une binarisation. 8. Procédé selon la revendication 7, comprenant, avant le calcul du score, l'étape de remplacer par -1 la valeur de chaque composante du vecteur biométrique 15 quantifié qui est égale à 0 pour obtenir un vecteur biométrique de référence quantifié transformé. 9. Procédé selon la revendication 7, comprenant, avant le calcul du score, l'étape de remplacer la valeur de chaque composante du vecteur biométrique de référence 20 quantifié : - par x,= p,- G, si la valeur de la composante i est 0 ; - par x,= p,+ G, si la valeur de la composante i est 1 ; p, et (7, étant la valeur moyenne et l'écart- type de chaque composante de vecteurs biométriques extraits d'un échantillon d'images de visages. 10. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'extraction est 30 effectué par un réseau de neurones entraîné par apprentissage profond. 11. Procédé selon la revendication précédente, dans lequel le réseau de neurones est un réseau à convolution. 14 12. Procédé selon la revendication 10 ou la revendication 11, dans lequel le réseau de neurones est paramétré pour fournir un vecteur de référence ayant une taille au plus égale à 512 octets environ. 5 13. Procédé selon la revendication 11, dans lequel la quantification est réalisée pour fournir un vecteur biométrique ayant une taille inférieure à 200 octets. 14. Procédé selon la revendication 13, dans 10 lequel la quantification est réalisée pour fournir un vecteur biométrique ayant une taille inférieure à 100 octets. 15. Procédé selon la revendication 14, dans lequel la quantification est réalisée pour fournir un 15 vecteur biométrique ayant une taille inférieure à 50 octets.