FR 3060813 A1 20180622 FR 1601785 A 20161215 1 Procédé de détermination de l'appartenance d'une donnée à une base de données et produit programme d'ordinateur et support d'informations associés La présente invention concerne un procédé de détermination de l'appartenance d'une donnée à une base de données. La présente invention se rapporte aussi à un produit programme d'ordinateur et un support d'informations associés. Dans le domaine identitaire, il est souhaitable d'éviter la délivrance de deux cartes d'identité pour la même personne. Pour la vérification, il convient ainsi de pouvoir répondre à la question suivante : étant données deux images d'empreintes digitales, proviennent-elles du même doigt ? Pour cela, il est connu une technique reposant sur une base de données contenant des empreintes digitales. La technique consiste à extraire des minuties de l'image des empreintes digitales et à effectuer des comparaisons par le biais des minuties extraites. Toutefois, une telle technique présente une vitesse d'exécution trop lente. Il existe donc un besoin pour un procédé de détermination de l'appartenance d'une donnée à une base de données qui soit de mise en oeuvre plus rapide. A cet effet, il est proposé un procédé de détermination de l'appartenance d'une donnée, dite donnée à comparer, à une base de données, le procédé comportant une phase d'apprentissage supervisé, la phase d'apprentissage comportant au moins l'étape de fourniture d'un critère de performance souhaité, l'optimisation de trois réseaux de neurones à partir d'une base d'apprentissage, pour obtenir trois réseaux de neurones appris, l'optimisation étant effectuée sous au moins deux contraintes, une première contrainte de respect du critère de performance et une deuxième contrainte selon laquelle le premier réseau de neurones et le deuxième réseau de neurones sont identiques, la base d'apprentissage comportant des paires de données d'apprentissage à comparer, le premier réseau de neurones extrayant d'une première donnée d'une paire de la base d'apprentissage un premier vecteur de caractéristiques, les caractéristiques du premier vecteur étant relatives à la première donnée, le deuxième réseau de neurones extrayant d'une deuxième donnée d'apprentissage de la même paire un deuxième vecteur de caractéristiques, les caractéristiques du deuxième vecteur étant relatives à la deuxième donnée, le troisième réseau de neurones effectuant un ensemble d'opérations transformant le couple premier vecteur et deuxième vecteur en une valeur binaire représentative de l'identité entre les deux données d'apprentissage. Le procédé comprend une phase de préparation de la base de données comportant au moins l'étape d'application du premier réseau de neurones appris sur chaque donnée de la base de 3060813 2 données pour obtenir des vecteurs de caractéristiques de base, et une phase d'exploitation comportant au moins l'étape de utilisation du premier réseau de neurones sur la donnée à comparer, pour obtenir un vecteur de caractéristiques à comparer, pour chaque vecteurs de caractéristiques de base, obtention d'une valeur binaire 5 représentative de l'identité entre la donnée à comparer et une donnée de la base de données par application du troisième réseau de neurones au vecteur de caractéristiques de base et au vecteur de caractéristiques à comparer, et sélection des données de la base de données pour lesquelles la valeur binaire obtenue correspond à une identité entre la donnée à comparer et les données de la base de données. 10 Suivant des modes de réalisation particuliers, le procédé de détermination comprend une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toute combinaison techniquement possible : - le critère de performance souhaité consiste à imposer une précision minimale pour le nombre de paires correctement identifiées et une vitesse minimale 15 d'exécution des opérations pour le troisième réseau de neurones. - le troisième réseau de neurones respecte au moins une propriété choisie dans le groupe de propriétés constitué de une première propriété selon laquelle le troisième réseau de neurones est un réseau dont les neurones sont entièrement connectés, et une deuxième propriété selon laquelle la première opération du 20 troisième réseau de neurones est la concaténation des deux vecteurs de caractéristiques. - le premier réseau de neurones et le deuxième réseau de neurones respectent au moins une propriété choisie dans le groupe de propriétés constitué de une première propriété selon laquelle le premier réseau de neurones et le deuxième 25 réseau de neurones sont des réseaux de neurones comportant au moins une couche de neurones convolutionnels, une deuxième propriété selon laquelle le premier réseau de neurones et le deuxième réseau de neurones sont des réseaux de neurones comportant au moins une couche de neurones entièrement connectés, et une troisième propriété selon laquelle le premier réseau de 30 neurones et le deuxième réseau de neurones sont des réseaux de neurones comportant au moins une couche de neurones destinée à effectuer une mise en commun. - la phase d'apprentissage comporte une étape de choix du nombre de caractéristiques de chaque vecteur, l'étape d'apprentissage étant mise en oeuvre 35 avec le nombre choisi. 3060813 3 - les données sont au moins l'un des éléments du groupe constitué d'images, de données biométriques, et d'empreintes digitales. - le critère de performance souhaité consiste à imposer une première précision minimale pour le nombre de paires correctement identifiées, la mise en oeuvre de 5 l'étape sélection de données conduisant à l'obtention d'une pluralité de données candidates, la phase d'exploitation comportant la mise en oeuvre d'un procédé de détermination de l'identité entre les données candidates et la donnée, le procédé de détermination de l'identité correspondant à une deuxième précision minimale pour le nombre de paires correctement identifiées, la deuxième précision minimale 10 étant strictement supérieure à la première précision minimale. - la phase d'apprentissage comporte une étape de création de la base d'apprentissage par extraction de paires de la base de données, les paires extraites étant telles qu'une portion comprise entre 45% et 55% des paires de la base d'apprentissage sont des paires identiques. 15 Il est aussi proposé un produit programme d'ordinateur comportant un support lisible d'informations, sur lequel est mémorisé un programme d'ordinateur comprenant des instructions de programme, le programme d'ordinateur étant chargeable sur une unité de traitement de données et adapté pour entraîner la mise en oeuvre d'un procédé tel que décrit précédemment lorsque le programme d'ordinateur est mis en oeuvre sur l'unité de 20 traitement des données. Il est également proposé un support lisible d'informations comportant des instructions de programme formant un programme d'ordinateur, le programme d'ordinateur étant chargeable sur une unité de traitement de données et adapté pour entraîner la mise en oeuvre d'un procédé tel que décrit précédemment lorsque le 25 programme d'ordinateur est mis en oeuvre sur l'unité de traitement des données. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit des modes de réalisation de l'invention, donnée à titre d'exemple uniquement et en référence aux dessins qui sont : figure 1, une vue schématique d'un exemple de système permettant la mise 30 en oeuvre d'un procédé de détermination de l'appartenance d'une donnée à une base de données, et figure 2, une représentation en schéma-bloc d'une partie d'un exemple de mise en oeuvre d'un procédé de détermination de l'appartenance d'une donnée à une base de données. 35 Un système 10 et un produit programme d'ordinateur 12 sont représentés à la figure 1. L'interaction du produit programme d'ordinateur 12 avec le système 10 permet 3060813 4 de mettre en oeuvre un procédé de détermination de l'appartenance d'une donnée à une base de données. Le système 10 est un ordinateur. Plus généralement, le système 10 est un calculateur électronique propre à 5 manipuler et/ou transformer des données représentées comme des quantités électroniques ou physiques dans des registres du système 10 et/ou des mémoires en d'autres données similaires correspondant à des données physiques dans des mémoires, des registres ou d'autres types de dispositifs d'affichage, de transmission ou de mémorisation. 10 Le système 10 comporte un processeur 14 comprenant une unité de traitement de données 16, des mémoires 18 et un lecteur 20 de support d'informations. Le système 10 comprend également un clavier 22 et une unité d'affichage 24. Le produit programme d'ordinateur 12 comporte un support lisible d'informations 20. 15 Un support lisible d'informations 20 est un support lisible par le système 10, usuellement par l'unité de traitement de données 14. Le support lisible d'informations 20 est un médium adapté à mémoriser des instructions électroniques et capables d'être couplé à un bus d'un système informatique. A titre d'exemple, le support lisible d'informations 20 est une disquette ou disque 20 souple (de la dénomination anglaise de « floppy disk »), un disque optique, un CD-ROM, un disque magnéto-optique, une mémoire ROM, une mémoire RAM, une mémoire EPROM, une mémoire EEPROM, une carte magnétique ou une carte optique. Sur le support lisible d'informations 20 est mémorisé un programme d'ordinateur comprenant des instructions de programme. 25 Le programme d'ordinateur est chargeable sur l'unité de traitement de données 14 et est adapté pour entraîner la mise en oeuvre d'un procédé de détermination de l'appartenance d'une donnée à une base de données lorsque le programme d'ordinateur est mis en oeuvre sur l'unité de traitement des données 14. Le fonctionnement du système 10 en interaction avec le produit programme 30 d'ordinateur 12 est maintenant décrit en référence à la figure 2 qui illustre schématique une partie d'un exemple de mise en oeuvre d'un procédé de détermination de l'appartenance d'une donnée à une base de données. La détermination de l'appartenance d'une donnée à une base de données est utilisée pour de nombreuses applications. 35 Par exemple, cela permet d'identifier une panne d'un système par identification de photos, grâce à une base de donnée avec des photos du système correspondant à une 3060813 5 pluralité de panne ou si une carte d'identité a déjà été délivrée pour une empreinte digitale donnée. Dans de tels contextes, les données sont des images, des données biométriques ou des empreintes digitales. 5 Dans l'exemple représenté sur la figure 2, les données sont des empreintes digitales. Par ailleurs, le nombre de données dans la base de données est supérieur ou égal à 1 millions de données, préférentiellement supérieure à 10 millions de données. Le procédé de détermination comporte trois phases : une phase d'apprentissage, une phase 10 de préparation et une phase d'exploitation. La phase d'apprentissage comporte une étape de fourniture, une étape d'optimisation et une étape de création. Lors de l'étape de fourniture, il est fourni un critère de performance souhaité. Par exemple, un opérateur rentre via le clavier 22 un critère de performance à 15 respecter : type erreur REVENDICATIONS1.- Procédé de détermination de l'appartenance d'une donnée, dite donnée à comparer, à une base de données, le procédé comportant : - une phase d'apprentissage supervisé, la phase d'apprentissage comportant au moins l'étape de : - fourniture d'un critère de performance souhaité, - l'optimisation de trois réseaux de neurones (R1, R2 R3) à partir d'une base d'apprentissage, pour obtenir trois réseaux de neurones (R1, R2, R3) appris, l'optimisation étant effectuée sous au moins deux contraintes, une première contrainte de respect du critère de performance et une deuxième contrainte selon laquelle le premier réseau de neurones (R1) et le deuxième réseau de neurones (R2) sont identiques, la base d'apprentissage comportant des paires de données d'apprentissage à comparer, le premier réseau de neurones (R1) extrayant d'une première donnée d'une paire de la base d'apprentissage un premier vecteur (V1) de caractéristiques, les caractéristiques du premier vecteur (V1) étant relatives à la première donnée, le deuxième réseau de neurones (R2) extrayant d'une deuxième donnée d'apprentissage de la même paire un deuxième vecteur (V2) de caractéristiques, les caractéristiques du deuxième vecteur (V2) étant relatives à la deuxième donnée, le troisième réseau de neurones (R3) effectuant un ensemble d'opérations transformant le couple premier vecteur (V1) et deuxième vecteur (V2) en une valeur binaire (VB) représentative de l'identité entre les deux données d'apprentissage, - une phase de préparation de la base de données comportant au moins l'étape de: - application du premier réseau de neurones (R1) appris sur chaque donnée de la base de données pour obtenir des vecteurs de caractéristiques de base, et - une phase d'exploitation comportant au moins l'étape de : - utilisation du premier réseau de neurones (R1) sur la donnée à comparer, pour obtenir un vecteur de caractéristiques à comparer, - pour chaque vecteurs de caractéristiques de base, obtention d'une valeur binaire représentative de l'identité entre la donnée à comparer et une donnée de la base de données par application du troisième réseau de 3060813 12 neurones (R3) au vecteur de caractéristiques de base et au vecteur de caractéristiques à comparer, et - sélection des données de la base de données pour lesquelles la valeur binaire obtenue correspond à une identité entre la donnée à comparer et les données de la base de données. 2.- Procédé selon la revendication 1, dans lequel le critère de performance souhaité consiste à imposer une précision minimale pour le nombre de paires correctement identifiées et une vitesse minimale d'exécution des opérations pour le 10 troisième réseau de neurones (R3). 3.- Procédé selon la revendication 1 ou 2, dans lequel le troisième réseau de neurones (R3) respecte au moins une propriété choisie dans le groupe de propriétés constitué de : 15 - une première propriété selon laquelle le troisième réseau de neurones (R3) est un réseau dont les neurones sont entièrement connectés, et - une deuxième propriété selon laquelle la première opération du troisième réseau de neurones (R3) est la concaténation des deux vecteurs de caractéristiques. 20 4.- Procédé selon l'une quelconque des revendications 1 à 3, dans lequel le premier réseau de neurones (R1) et le deuxième réseau de neurones (R2) respectent au moins une propriété choisie dans le groupe de propriétés constitué de: - une première propriété selon laquelle le premier réseau de neurones (R1) et le deuxième réseau de neurones (R2) sont des réseaux de neurones comportant au 25 moins une couche de neurones convolutionnels, - une deuxième propriété selon laquelle le premier réseau de neurones (R1) et le deuxième réseau de neurones (R2) sont des réseaux de neurones comportant au moins une couche de neurones entièrement connectés, et - une troisième propriété selon laquelle le premier réseau de neurones (R1) et le 30 deuxième réseau de neurones (R2) sont des réseaux de neurones comportant au moins une couche de neurones destinée à effectuer une mise en commun. 5.- Procédé selon l'une quelconque des revendications 1 à 4, dans lequel la phase d'apprentissage comporte une étape de choix du nombre de caractéristiques de chaque 35 vecteur (V1, V2), l'étape d'optimisation étant mise en oeuvre avec le nombre choisi. 3060813 13 6.- Procédé selon l'une quelconque des revendications 1 à 5, dans lequel les données sont au moins l'un des éléments du groupe constitué : - d'images, - de données biométriques, et - d'empreintes digitales. 7.- Procédé selon l'une quelconque des revendications 1 à 6, dans lequel le critère de performance souhaité consiste à imposer une première précision minimale pour le nombre de paires correctement identifiées, la mise en oeuvre de l'étape sélection de 10 données conduisant à l'obtention d'une pluralité de données candidates, la phase d'exploitation comportant la mise en oeuvre d'un procédé de détermination de l'identité entre les données candidates et la donnée, le procédé de détermination de l'identité correspondant à une deuxième précision minimale pour le nombre de paires correctement identifiées, la deuxième précision minimale étant strictement supérieure à la première 15 précision minimale. 8.- Procédé selon l'une quelconque des revendications 1 à 7, dans lequel la phase d'apprentissage comporte une étape de création de la base d'apprentissage par extraction de paires de la base de données, les paires extraites étant telles qu'une portion 20 comprise entre 45% et 55% des paires de la base d'apprentissage sont des paires identiques. 9.- Produit programme d'ordinateur (12) comportant un support lisible d'informations (20), sur lequel est mémorisé un programme d'ordinateur comprenant des 25 instructions de programme, le programme d'ordinateur étant chargeable sur une unité de traitement de données (16) et adapté pour entraîner la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 8 lorsque le programme d'ordinateur est mis en oeuvre sur l'unité de traitement des données (16). 30 10.- Support lisible d'informations (20) comportant des instructions de programme formant un programme d'ordinateur, le programme d'ordinateur étant chargeable sur une unité de traitement de données (16) et adapté pour entraîner la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 8 lorsque le programme d'ordinateur est mis en oeuvre sur l'unité de traitement des données (16).