Brevet FR3098960A1 — publié le 20210122

Description Titre de l'invention : Procédé d'extraction d'un vecteur caracté- ristique à partir d'une image d'entrée représentative d'un iris au moyen d'un réseau de neurones entrainable de bout-en-bout [0001] DOMAINE TECHNIQUE GENERAL [0002] La présente invention concerne le domaine de la biométrie, et propose en particulier un procédé d'extraction d'un vecteur caractéristique à partir d'une image d'entrée représentative d'un iris au moyen d'un réseau de neurones entrainable de bout-en-bout, ainsi qu'un procédé d'apprentissage du réseau de neurones. [0003] ETAT DE L'ART [0004] L'authentification/identification biométrique consiste à reconnaitre un individu sur la base de traits biométriques de cet individu tels que les empreintes digitales (reconnaissance digitale), l'iris ou le visage (reconnaissance faciale). [0005] Les approches biométriques classiques utilisent les informations caractéristiques du trait biométrique extraites à partir de la biométrie acquise, appelées « features », et l'apprentissage/classification est réalisé sur la base de la comparaison de ces caractéristiques. [0006] Ces caractéristiques sont représentées sous la forme de vecteurs caractéristiques, « feature vectors », calculés à partir d'une image entrée, on dit qu'ils sont « extraits » de l'image. Cette extraction de vecteur caractéristiques, « feature vector extraction » est une tâche commune dans le domaine de l'apprentissage automatique, en particulier pour la vision par ordinateur. En effet, les vecteurs caractéristiques permettent de comparer les images desquelles ils ont été extraits. Pour cela une mesure de similarité ou de distance peut être calculée entre deux vecteurs caractéristiques. [0007] Plus particulièrement, dans le cas de l'authentification/identification biométrique les vecteurs caractéristiques peuvent être utilisés pour estimer si deux images représentatives d'un trait biométrique identifient le même individu. [0008] Il est proposé dans le document Zhao, Z. and Kumar, A., "Towards More Accurate Iris Recognition Usine Deeply Learned Spatially CorrespondMg Features," 2017 IEEE International Conference on Computer Vision (ICCV), Venice, 2017, pp. 3829-3838.doi: 10.1109/ICCV.2017.411 un réseau de neurone pour l'authentification biométrique par reconnaissance d'iris. Cependant une telle méthode suppose que les iris donnés en entrée du réseau de neurones de reconnaissance d'iris soient préalablement normalisés et segmentés selon des approches traditionnelles. Ces étapes de pré-traitements sont particulièrement fastidieuses, en particulier la segmentation, car l'absence de bases de données assez massives pour permettre l'entrainement d'un 2 réseau de neurones dédié à la segmentation impose de passer par des méthodes d'annotation manuelle des imaees d'iris données en entrée du réseau de neurones de reconnaissance d'iris. PRESENTATION DE L'INVENTION [0009] Selon un premier aspect, la présente invention concerne un procédé d'extraction d'un vecteur caractéristique à partir d'une image d'entrée représentative d'un iris au moyen d'un réseau de neurones caractérisé en ce qu'il est entrainable de bout-en-bout et comprend la mise en oeuvre par des moyens de traitement de données d'un client d'étapes de : [0010] a. Segmentation de l'image d'entrée représentative de l'iris au moyen d'un premier sous-réseau afin d'obtenir une carte de segmentation de l'iris, und carte de segmentation de la pupille et und carte d'attention ; b. Extraction par un deuxième sous-réseau du réseau de neurones d'un vecteur de caractéristique à partir de l'image normalisée représentative de l'iris segmenté par une opération de normalisation caractérisée en ce qu'elle est dérivable. [0011] Selon d'autres caractéristiques avantageuses et non limitatives : [0012] - l'opération de normalisation comprend en outre la mise en oeuvre d'étapes de : [0013] Multiplication de l'image d'entrée représentative de l'iris par la carte d'attention déterminée lors de l'étape de segmentation, ladite carte d'attention permettant de masquer l'information non relative à l'iris dans l'image d'entrée représentative de l'iris ; Estimation du centroïde de l'iris à partir de la carte de segmentation de la pupille déterminée lors de l'étape de segmentation ; Estimation du rayon de l'iris, respectivement de la pupille, à partir de la carte de segmentation de l'iris, respectivement de la pupille, déterminée lors de l'étape de segmentation ; Application d'une transformation polaire afin de représenter l'iris sous la forme d'un rectangle de dimension fixée ; [0014] Ces étapes étant caractérisées en cc qu'elles sont dérivables mathématiquement. [0015] - l'estimation du centroïde de l'iris comprend le calcul d'une moyenne pondérée des valeurs des pixels de la carte de segmentation de la pupille afin d'obtenir les coordonnées du centre de l'iris. l'estimation du rayon de l'iris, respectivement de la pupille, à partir d'une carte de segmentation de l'iris, respectivement de la pupille, comprend le calcul de l'aire de l'iris, respectivement de la pupille. le rayon de l'iris, respectivement de la pupille, varie selon l'angle et est 3 mesuré sur la carte de segmentation de l'iris, respectivement de la pupille, pour une pluralité d'angles. le premier sous-réseau est un réseau de type auto-encodeur adapté pour la segmentation sémantique. le procédé comprend une étape (a.0) préalable d'apprentissage, par des moyens de traitement de données (11) d'un serveur (1), à partir d'une hase d'image d'apprentissage comprenant des iris associés à des identité, des paramètres desdits premier et deuxième sous-réseaux selon une fonction objective du réseau de neurones. l'étape préalable d'apprentissage comprend le calcul de la fonction objective du réseau de neurones, ledit calcul de la fonction objective du réseau de neurones étant réalisé pour un lot d'images représentatives d'un iris de la base d'apprentissage comprenant au moins deux premières images représentatives d'un iris associées à une même identité ainsi qu'au moins deux deuxièmes images représentatives d'un iris associées à une même identité, ladite identité étant différente de l'identité associée aux deux premières images représentative d'un iris, et comprenant en outre la mise en oeuvre, pour chaque image représentative d'un iris du lot, ladite image représentative d'un iris étant appelée ancre, d'étapes de : [0016] - Sélection d'un premier ensemble d'images représentatives d'un iris comprenant toutes les images représentatives d'un iris du lot associées à la même identité que celle de l'ancre ; Sélection d'un deuxième ensemble d'images comprenant toutes les images représentatives d'un iris du lot associées à des identités différente de celle de l'ancre ; Extraction de vecteurs caractéristiques à partir de chaque image des deux ensembles d'images ainsi qu'à partir de l'ancre ; Calcul d'une distance maximale entre le vecteur caractéristique extrait à partir de l'ancre et un vecteur caractéristique extrait à partir d'une image représentative d'un iris du premier ensemble ; Calcul d'une distance minimale entre le vecteur caractéristique extrait à partir de l'ancre et un vecteur caractéristique extrait à partir d'une image représentative d'un iris du deuxième ensemble ; [0017] La fonction objective du réseau de neurones étant dépendante de la valeur du maximum, sur l'ensemble des ancres possibles, de la différence entre la distance maximale calculée pour cette ancre et la distance minimale calculée pour cette ancre. [0018] l'étape préalable d'apprentissage comprend la mise en oeuvre d'étapes de : [0019] i. Calcul d'une première fonction objective du réseau de neurones pour un lot d'images représentatives d'un iris de la hase d'apprentissage ; ii. Modification des paramètres du premier sous-réseau selon la première fonction objective du réseau de neurones ; iii. Calcul d'une deuxième fonction objective du réseau de neurones pour un lot d'images représentatives d'un iris de la hase d'apprentissage ; iv. Modification des paramètres du deuxième sous-réseau selon la deuxième fonction objective du réseau de neurones ; y. Répétition des étapes i. à iv. pour un nombre prédéterminé d'itérations. [0020] - l'étape préalable d'apprentissage comprend le calcul de la fonction objective du réseau de neurones, ledit calcul de la fonction objective du réseau de neurones étant réalisé pour un lot d'images représentatives d'un iris de la hase d'apprentissage comprenant au moins deux premières images représentatives d'un iris associées à une même identité ainsi qu'au moins deux deuxièmes images représentatives d'un iris associées à une même identité, ladite identité étant différente de l'identité associée aux deux premières images représentative d'un iris, et comprenant en outre la mise en oeuvre, pour chaque image représentative d'un iris du lot, ladite image représentative d'un iris étant appelée ancre, d'étapes de : Sélection d'un premier ensemble d'images représentatives d'un iris comprenant toutes les images représentatives d'un iris du lot associées à la même identité que celle de l'ancre ; Sélection d'un deuxième ensemble d'images comprenant toutes les images représentatives d'un iris du lot associées à des identités différente de celle de l'ancre ; Extraction de vecteurs caractéristiques à partir de chaque image des deux ensembles d'images ainsi qu'à partir de l'ancre ; Calcul d'une distance maximale entre le vecteur caractéristique extrait à partir de l'ancre et un vecteur caractéristique extrait à partir d'une image représentative d'un iris du premier ensemble ; Calcul d'une distance minimale entre le vecteur caractéristique extrait à partir de l'ancre et un vecteur caractéristique extrait à partir d'une image représentative d'un iris du deuxième ensemble ; La fonction objective du réseau de neurones étant dépendante de la valeur de la somme, sur l'ensemble des ancres possibles, de la différence entre la distance maximale calculée pour cette ancre et la distance minimale calculée pour cette ancre. les première et deuxième fonctions objectives du réseau de neurones peuvent être calculées selon les méthodes présentées (selon la distance minimal ou selon la somme). [0021] Selon un deuxième et troisième aspect, l'invention propose un produit programme d'ordinateur comprenant des instructions de code pour l'exécution d'un procédé selon le premier aspect d'extraction d'un vecteur caractéristique à partir d'une image d'entrée représentative d'un iris au moyen d'un réseau de neurones entrainable de bout-en-bout ; et un moyen de stockage lisible par un équipement informatique sur lequel un produit programme d'ordinateur comprenant des instructions de code pour l'exécution d'un procédé selon le premier aspect d'extraction d'un vecteur caractéristique à partir d'une image d'entrée représentative d'un iris au moyen d'un réseau de neurones entrainable de bout-en-bout. PRESENTATION DES FIGURES [0022] D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description qui va suivre d'un mode de réalisation préférentiel. Cette description sera donnée en référence aux dessins annexés dans lesquels : [0023[ [fig.1] la figure 1 est un schéma d'une architecture pour la mise en oeuvre du procédé selon l'invention ; [0024] W8.21 la figure 2 représente les étapes d'un mode de réalisation préféré du procédé selon l'invention ; [0025[ [fig.31 la figure 3 illustre le bloc de segmentation dans un mode de réalisation préféré du procédé selon l'invention ; [0026[ [fig.4] la figure 4 illustre le bloc de normalisation dans un mode de réalisation préféré du procédé selon l'invention ; [0027] [fig.51 la figure 5 illustre le bloc encodeur dans un mode de réalisation préféré du procédé selon l'invention ; [0028[ [fig.61 la figure 6 illustre l'apprentissage du réseau de neurones dans un mode de réa- lisation préféré du procédé selon l'invention ; DESCRIPTION DETAILLEE 100291 Architecture 100301 Selon deux aspects complémentaires de l'invention, sont proposés : 100311 Procédé d'extraction d'un vecteur caractéristique à partir d'une image d'entrée représentative d'un iris au moyen d'un réseau de neurones entrainable de bout-en-bout ; Un procédé d'apprentissage de bout-en-bout de paramètres du réseau de neurones. 100321 Les présents procédés sont mis en oeuvre au sein d'une architecture telle que re- présentée par la figure I, grâce à un serveur I et un client 2. Le serveur I est l'équipement d'apprentissage (mettant en oeuvre le procédé d'apprentissage) et le client 6 2 est un équipement d'extraction de vecteur caractéristique (mettant en oeuvre le procédé d'extraction d'un vecteur caractéristique), par exemple un terminal d'un utilisateur. Il est tout à fait possible que les deux équipements 1, 2 soient confondus. [0033] Dans tous les cas, chaque équipement 1, 2 est typiquement un équipement in- formatique distant relié à un réseau étendu 10 tel que le réseau interna pour l'échange des données. Chacun comprend des moyens de traitement de données 11, 21 de type processeur, et des moyens de stockage de données 12, 22 telle qu'une mémoire informatique, par exemple un disque. [0034] Le serveur 1 stocke une hase de données d'apprentissage, i.e. un ensemble de données représentatives d'un trait hiométrique associées a des identités (par opposition aux données dites d'entrée dont on cherche justement à authentifier l'identité). [0035] En effet, les données d'entrée ou d'apprentissage sont de type image, et sont repré- sentatives d'un trait hiométrique, en particulier un iris. De façon classique, une telle hase de données d'apprentissage comprend plusieurs données représentatives d'un même trait hiométrique, i.e. représentant la même identité, par exemple plusieurs occurrences d'un même iris, mais acquises de manière légèrement différente. [0036] Principe [0037] L'idée du présent procédé est d'utiliser un réseau de neurones pour extraire des vecteurs caractéristiques depuis une image représentative d'un iris sans nécessiter d'étape de prétraitement ou de normalisation de l'image d'entrée. A cette fin, des opérations de segmentations et de normalisation sont directement intégrées dans le réseau de neurones d'extraction de vecteurs caractéristiques sous la forme de couches du réseau de neurones. Cette approche permet de profiter de l'amélioration importante de performance lorsque les images d'iris sont préalablement segmentées sans nécessiter de base de données d'images représentatives d'iris segmentées manuellement afin d'entrainer un réseau de neurones pour la segmentation sémantique. [0038] Le réseau de neurones est divisé en trois bloc tel que représenté sur la figure 2 : [0039] Bloc 1 : le bloc de segmentation, il prend en entrée une image représentative d'un iris et retourne en sortie trois masque de segmentation (un pour la pupille, un pour l'iris et une carte d'attention ou l'information non utile est masquée), les coordonnées du centre de l'iris, le rayon de la pupille ; Bloc 2 : le bloc de normalisation, il utilise les sorties du bloc de segmentation afin de normaliser l'image représentative d'un iris; Bloc 3 : le bloc encodeur, il prend en entrée un iris normalisé et retourne en sortie un vecteur caractéristique. [0040] Le bloc de segmentation constitue un premier sous-réseau du réseau de neurones, et le bloc de normalisation ainsi que le bloc encodeur constituent un deuxième réseau de neurones. En effet le bloc de normalisation ne constitue pas un sous-réseau du réseau 7 de neurones à part entière dans le sens où il ne comprend pas de paramètres entrainahles et peut donc être traité comme faisant partie du deuxième sous-réseau. [0041] Ensuite, pour authentifier un individu il suffit de mesurer la distance entre deux vecteurs (par exemple la distance euclidienne), l'un des deux vecteurs étant extrait de l'image représentative d'iris que l'on cherche à authentifier, le second vecteur étant extrait d'une image représentative d'un iris de référence. [0042] Bloc (le segmentation [0043] La première partie du réseau de neurones est un réseau de neurone pour la seg- mentation sémantique, de préférence un réseau de neurones convolutif de type auto-encodeur tel que décrit dans la figure 3. Dans l'exemple donnée les différentes couches du réseau de neurones de la partie encodeur sont composées d'une alternance de couches de convolution et de couches de sous-échantillonnage (« pooling layer »). La partie décodeur comporte les couches suivantes répétées autant de fois que le couple couche de convolution, couche de sous-échantillonnage : une concaténation de la sortie des couches de la partie encodeur de même dimension avec la sortie de la couche précédant la couche de concaténation, suivie d'une couche de convolution et d'une couche de sur-échantillonnage (« unpooling layer »). [0044] En plus de la segmentation de l'iris, le bloc de segmentation dispose de sorties addi- tionnelles : [0045] Une carte de segmentation de la pupille, dénotée : [0046] [Math.1] RO! [0047] Une carte de segmentation ou l'iris est segmentée, dénotée : [0048] [Math.2] ROI; [0049] Une carte d'attention permettant de masquer l'information non pertinente (les paupières, les cils, les réflexions etc.), dénotée : [0050] [Math.3] [0051] Un couple de coordonnées (x, y) permettant de localiser le centre de la pupille grâce à une couche dite « couche centroïde » définie de la manière suivante : [0052] [Math.4] E ;R01 p(xi, yi) y. X = L E ROI (xi, yi y- [0053] et : [0054] 8 [Math.5] L L y.Rar(xi, Y= E ROI (xi, yi) si [0055] Le rayon de la pupille, dénoté : [0056] [Math.6] rP [0057] Le rayon de l'iris, dénoté : [0058] [Math.7] ri [0059] Les deux rayons, de la pupille et de l'iris, sont obtenus grâce à une couche dite « couche aire » définie de la manière suivante : 100601 IMath.81 .4\11 E ROI (ri 1/0 rfp 7r [0061] Les couches ccntroïde et aire sont particulièrement avantageuses pour l'entrainement du réseau de neurones car elles ont la particularité d'être des fonctions dérivables cc qui permet la propagation du gradient lors de l'entrainement du réseau par une méthode de descente de gradient. [0062] Bloc de normalisation [0063] La normalisation est une étape cruciale dans le traitement d'images représentatives d'iris, elle consiste à faire passer l'iris d'un motif annulaire de dimensions variables à un motif rectangulaire de dimensions fixes en appliquant une transformation en coordonnées polaire. Cette transformation a de nombreux avantages, elle permet de compenser les contractions/dilatations de la pupille, de s'assurer que toutes les images d'his présentées au bloc encodeur ont bien les mêmes dimensions, ainsi que de contrebalancer les défauts de forme pouvant être dû à une variation de l'orientation du dispositif de capture d'image par rapport à l'iris. [0064] Le bloc de normalisation n'est pas un « réseau de neurones » dans le sens où il ne comporte pas de paramètres entrainables. Cependant, il est constitué de couches de calcul entièrement dérivables afin de permettre la propagation du gradient depuis la sortie du réseau de neurone jusqu'au bloc de segmentation. Cela permet d'optimiser les paramètres du bloc de segmentation ainsi que les paramètres du bloc encodeur uniquement à partir d'une fonction objective (« loss ») calculée sur la sortie du bloc encodeur. [0065] Le bloc de normalisation tel qu'illustré dans la figure 4 réalise une transformation de l'image d'entrée en une image normalisée grâce à une grille d'échantillonnage 9 dénotée : [0066] [Math.9] GL(0, r) [0067] Avec : [0068] [Math.10] [0069] l'angle et, [0070] [Math.11] r [0071] le rayon [0072] L'image normalisée est un rectangle de dimensions : [0073] [Math.12] WxH [0074] dans lequel : [0075] [Math.13] 147 [0076] correspond aux angles [0077] [Math.14] [0078] , avec par exemple [0079] [Math.15] 11.7 = 256 [0080] [0081] [Math.16] H [0082] correspond aux rayons [0083] [Math.17] [0084] , avec par exemple [0085] [Math.18] H = 64 [0086] [0087] Afin de ne conserver que l'information pertinente, l'image représentative de l'iris est préalablement multipliée par la carte d'attention générée par le bloc de segmentation. [0088] L'image normalisée est ensuite calculée selon la formule suivante : [0089] [Math.19] GL(O, r) = ' s «IO, r) = ei(0 , lm' n (0 el) + x ) ( y (0. r) (1(0, Ocos (O eqk [0090] Avec : [0091] IMath.201 r) =rp(0.) reo (O. r)( (0) - r (0)) [0092] [0093] IMath.211 = 20, B e [0, - [0094] , et [0095] [Math.22] r40( 0, r) = Hr, r E [0, H- 11 [0096] Dans cette formule les rayons de l'iris et de la pupille sont des fonctions de l'angle, cela permet de corriger les défauts d'orientation de l'iris ou toute déformation de celui-ci. Dans ce cas les rayons de l'iris et de la pupille sont définis comme : [0097] [Math.23] ru,. 0 (0 ) = E rpotegoi (0)) [0098] Où, [0099] I Math.241 Pot () [0100] est la transformation polaire. [0101] 11 est aussi possible d'utiliser : [0102] IMath.251 r P ( 0) = r [0103] Et, [0104] IMath.261 rd()) = [0105] Pour obtenir une version simplifiée de l'image d'iris normalisée. [0106] Bloc encodeur [0107] Lc dernier bloc du réseau est le bloc encodeur qui à partir d'un iris normalisé forme un vecteur de caractéristique. Ce dernier bloc est constitué d'un ensemble de couches de convolution et de sous-échantillonnage. Il peut être constitué de blocs denses (« dense block »), présentés dans la figure 5, tel que décrit dans le document Huang, G., Liu, Z, Van Der Mante», L, & Weinberger, K. Q. (2017). Densely connected convolutional networks. In Proceedings of the IEEE conference on computer vision 11 and pattern recognition (pp. 4700-4708). Cette architecture permet notamment de construire des réseaux de neurones très profonds sans pour autant souffrir du problème de la disparition du gradient (« Vanishing gradient problem ») grâce à la présence de connexions résiduelles (« residual connections »). [0108] TI est ainsi possible de combiner plusieurs blocs denses (par exemple 3) avec des couches de convolution et une opération de concaténation pour extraire un vecteur caractéristique de l'image d'iris normalisée tel qu'illustré dans la figure 6. [0109] TI est aussi possible d'utiliser l'encodeur d'un réseau de neurones auto-encodeur pour réaliser la tâche d'extraction de vecteur caractéristique. [0110] Méthode d'apprentissage du réseau de neurones [0111] La fonction objective utilisée pour l'entrainement du réseau décrit précédemment est basé sur la « triplet lors », elle est calculée pour un triplet de vecteurs caractéristiques. Parmi le triplet, on définit un premier vecteur caractéristique appelé ancre [0112] [Math .27] ci [0113] , un vecteur caractéristique [0114] [Math.28] [0115] obtenu à partir d'un iris ayant la même identité que l'ancre et un vecteur caracté- ristique [0116] [Math.29] n [0117] obtenu à partir d'un iris n'ayant pas la même identité que l'ancre. [0118] Pour un triplet, la fonction objective est défini comme suit : [0119] [Math.30] Loss = max ( a, p) - d (a, n) y) [0120] Où [0121] [Math.31] Y [0122] est la marge, [0123] [Math.32] d [0124] est une mesure de distance (distance euclidienne par exemple). [0125] L'objectif est de maximiser la marge entre la distance dite « positive » [0126] [Math.33] d ( a, p ) [0127] entre l'ancre et le vecteur caractéristique obtenu à partir d'un iris ayant la même identité que l'ancre et la distance dite « négative » 12 [0128] [Math.34] d (a, n) [0129] entre l'ancre et le vecteur caractéristique obtenu à partir d'un iris n'ayant pas la même identité que l'ancre. [0130] Cette fonction objective est modifiée afin d'estimer la performance du réseau de neurones sur tout un lot de donnée (afin de pouvoir appliquer un algorithme du gradient stochastique, par exemple SGD Moment, AdaGrad, Adam, RMSProp etc.). On définit le lot (« hatch ») [0131] [Math.35] h [0132] de taille [0133] [Math.36] B = PK [0134] avec [0135] [Math.37] K [0136] le nombre d'image représentative d'iris associées à une même identité et [0137] [Math.38] P [0138] le nombre d'identités différentes. Les triplets possibles sont au nombre de [0139] [Math.39] PMI( - 1)(PK - K) [0140] [0141] On note [0142] [Math.40] M(a) [0143] , l'ensemble de taille [0144] [Math.41] K [0145] correspondant aux éléments du lot ayant la même identité que l'ancre. Dans le document Hermans, A., Beyer, L., & Leibe, B. (2017). In clamse of the triplet lors for person re-identification. arXiv preprint arXiv:1703.07737 est décrite la stratégie de minage dur (« hard mining ») où sont considèré seulement les [0146] [Math.42] B PK [0147] triplets, le maximum des distances positives et le minimum des distances négatives : [0148] 13 [Math.43] d(a, min d(a, Loss =E y max n e b. n 1D(a) a a e b p c ID(a [0149] Dans une version alternative il est défini une nouvelle stratégie pour le calcul de la fonction objective appelée minage extrême (« very hard mining »). Au lieu de considérer la moyenne sur l'ensemble des ancres, cette stratégie considère le maximum ce qui correspond au triplet le pire de l'ensemble. [0150] [Math.44] Loss = max r y + max ( p) - min d(a, n)1 aeb L p e ID(a) n e h, n ID(a) [0151] Ces deux stratégies peuvent être utilisée en alternance tel que décrit dans la figure 7, en fixant les paramètres de l'un des blocs entrainable (bloc de segmentation ou bloc encodeur) et en optimisant les paramètres du second, puis en fixant le second et en optimisant les paramètres du premier. Cette méthode d'apprentissage permet ainsi d'entrainer le réseau de segmentation sans nécessiter l'utilisation d'une base de données d'image représentatives d'iris segmentée l'apprentissage du réseau de neurones est donc qualifié de « bout-en-bout » car il n'est pas nécessaire d'entrainer séparément les différentes parties du réseau de neurones. Il est à noter que cette méthode d'apprentissage est rendue possible par le fait que le bloc de normalisation est uniquement constitué d'opération dérivables. [0152] Produit programme d'ordinateur [0153] Selon un deuxième et un troisième aspects, l'invention concerne un produit programme d'ordinateur comprenant des instructions de code pour l'exécution (en particulier sur les moyens de traitement de données 11, 21 du serveur 1 et/ou du client 2) d'un procédé d'extraction d'un vecteur caractéristique à partir d'une image d'entrée représentative d'un iris au moyen d'un réseau de neurones caractérisé en ce qu'il est entrainable de bout-en-bout, ainsi que des moyens de stockage lisibles par un équipement informatique (une mémoire 12, 22 du serveur 1 et/ou du client 2) sur lequel on trouve ce produit programme d'ordinateur. 14 [Revendication I] REVENDICATIONSProcédé d'extraction d'un vecteur caractéristique à partir d'une image d'entrée représentative d'un iris au moyen d'un réseau de neurones caractérisé en cc qu'il est cntrainable de bout-en-bout et comprend la mise en oeuvre par des moyens dc traitement de données d'un client d'étapes de : a. Segmentation dc l'image d'entrée représentative de l'iris au moyen d'un premier sous-réseau du réseau de neurones afin d'obtenir une carte de segmentation dc l'iris, une carte dc segmentation dc la pupille et une carte d'attention ; b. Extraction par un deuxième sous-réseau du réseau de neurones d'un vecteur de caractéristique à partir de l'image normalisée représentative de l'iris segmenté par une opération de normalisation caractérisée en ce qu'elle est dérivable. [Revendication 2] Procédé selon la revendication 1, dans lequel l'opération de normalisation comprend en outre la mise en oeuvre d'étapes de : Multiplication de l'image d'entrée représentative de par la carte d'attention déterminée lors de l'étape de segmentation, ladite carte d'attention permettant de masquer l'information non relative à l'iris dans l'image d'entrée représentative dc l'iris ; Estimation du centroïde de l'iris à partir de la carte dc segmentation de la pupille déterminée lors dc l'étape de segmentation ; Estimation du rayon de l'iris, respectivement de la pupille, à partir de la carte de segmentation de l'iris, respectivement de la pupille, déterminée lors de l'étape de segmentation ; Application d'une transformation polaire afin de représenter l'iris sous la forme d'un rectangle de dimension fixée ; [Revendication 3] Ces étapes étant caractérisées en ce qu'elles sont dérivables mathématiquement. Procédé selon la revendication 2, dans lequel l'estimation du centroïde de l'iris comprend le calcul d'une moyenne pondérée des valeurs des pixels de la carte de segmentation de la pupille afin d'obtenir les co- 15 ordonnées du centre de l'iris. [Revendication 4] Procédé selon l'une des revendications 2 à 3, dans lequel l'estimation du rayon de l'iris, respectivement de la pupille, à partir d'une carte de segmentation de l'iris, respectivement de la pupille, comprend le calcul de l'aire de l'iris, respectivement de la pupille. [Revendication 5] Procédé selon l'une des revendications 2 à 3, dans lequel le rayon de l'iris, respectivement de la pupille, varie selon l'angle et est mesuré sur la carte de segmentation de l'iris, respectivement de la pupille, pour une pluralité d'angles. [Revendication 6] Procédé selon l'une des revendications 1 à 5, dans lequel le premier sous-réseau est un réseau de type auto-encodeur adapté pour la segmentation sémantique. [Revendication 7] Procédé selon l'une des revendications 1 à 6, comprenant une étape (a.0) préalable d'apprentissage, par des moyens de traitement de données (11) d'un serveur (1), à partir d'une hase d'image d'apprentissage comprenant des iris associés à des identité, des paramètres desdits premier et deuxième sous-réseaux selon une fonction objective du réseau de neurones. [Revendication 8] Procédé selon la revendication 7, dans lequel l'étape préalable d'apprentissage comprend le calcul de la fonction objective du réseau de neurones, ledit calcul de la fonction objective du réseau de neurones étant réalisé pour un lot d'images représentatives d'un iris de la base d'apprentissage comprenant au moins deux premières images représentatives d'un iris associées à une même identité ainsi qu'au moins deux deuxièmes images représentatives d'un iris associées à une même identité, ladite identité étant différente de l'identité associée aux deux premières images représentative d'un iris, et comprenant en outre la mise en oeuvre, pour chaque image représentative d'un iris du lot, ladite image représentative d'un iris étant appelée ancre, d'étapes de : Sélection d'un premier ensemble d'images représentatives d'un iris comprenant toutes les images représentatives d'un iris du lot associées à la même identité que celle de l'ancre Sélection d'un deuxième ensemble d'images comprenant toutes les images représentatives d'un iris du lot associées à des identités différente de celle de l'ancre ; Extraction de vecteurs caractéristiques à partir de chaque image des deux ensembles d'images ainsi qu'à partir de 16 1' ancre ; Calcul d'une distance maximale entre le vecteur caractéristique extrait à partir de l'ancre et un vecteur caractéristique extrait à partir d'une image représentative d'un iris du premier ensemble ; Calcul d'une distance minimale entre le vecteur caractéristique extrait à partir de l'ancre et un vecteur caractéristique extrait à partir d'une image représentative d'un iris du deuxième ensemble ; [Revendication 9] La fonction objective du réseau de neurones étant dépendante de la valeur du maximum, sur l'ensemble des ancres possibles, de la différence entre la distance maximale calculée pour cette ancre et la distance minimale calculée pour cette ancre. Procédé selon la revendication 7, dans lequel l'étape préalable d'apprentissage comprend la mise en oeuvre d'étapes de : i. Calcul d'une première fonction objective du réseau de neurones pour un lot d'images représentatives d'un iris de la base d'apprentissage ; ii. Modification des paramètres du premier sous-réseau selon la première fonction objective du réseau de neurones ; iii. Calcul d'une deuxième fonction objective du réseau de neurones pour un lot d'images représentatives d'un iris de la base d'apprentissage ; iv. Modification des paramètres du deuxième sous-réseau selon la deuxième fonction objective du réseau de neurones ; v. Répétition des étapes i. à iv. pour un nombre prédéterminé d'itérations. [Revendication 10] Procédé selon la revendication 7, dans lequel l'étape préalable d'apprentissage comprend le calcul de la fonction objective du réseau de neurones, ledit calcul de la fonction objective du réseau de neurones étant réalisé pour un lot d'images représentatives d'un iris de la base d'apprentissage comprenant au moins deux premières images représentatives d'un iris associées à une même identité ainsi qu'au moins deux deuxièmes images représentatives d'un iris associées à une même 17 [Revendication 11] [Revendication 12] [Revendication 13] identité, ladite identité étant différente de l'identité associée aux deux premières images représentative d'un iris, et comprenant en outre la mise en oeuvre, pour chaque image représentative d'un iris du lot, ladite image représentative d'un iris étant appelée ancre, d'étapes de : Sélection d'un premier ensemble d'images représentatives d'un iris comprenant toutes les images représentatives d'un iris du lot associées à la même identité que celle de l'ancre ; Sélection d'un deuxième ensemble d'images comprenant toutes les images représentatives d'un iris du lot associées à des identités différente de celle de l'ancre ; Extraction de vecteurs caractéristiques à partir de chaque image des deux ensembles d' images ainsi qu'à partir de l'ancre ; Calcul d'une distance maximale entre le vecteur caractéristique extrait à partir de l'ancre et un vecteur caractéristique extrait à partir d'une image représentative d'un iris du premier ensemble ; Calcul d'une distance minimale entre le vecteur caractéristique extrait à partir de l'ancre et un vecteur caractéristique extrait à partir d'une image représentative d'un iris du deuxième ensemble ; La fonction objective du réseau de neurones étant dépendante de la valeur de la somme, sur l'ensemble des ancres possibles, de la différence entre la distance maximale calculée pour cette ancre et la distance minimale calculée pour cette ancre. Procédé selon la revendication 9, dans lequel les première et deuxième fonctions objectives du réseau de neurones sont calculées selon la revendication 8 et/ou selon la revendication 10. Produit programme d'ordinateur comprenant des instructions de code pour l'exécution d'un procédé selon l'une des revendications 1 à 11 d'extraction d'un vecteur caractéristique à partir d'une image d'entrée représentative d'un iris au moyen d'un réseau de neurones entrainable de bout-en-bout, lorsque ledit programme est exécuté sur un ordinateur. Moyen de stockage lisible par un équipement informatique sur lequel est enregistré un produit programme d'ordinateur comprenant des instructions de code pour l'exécution d'un procédé selon l'une des reven- 18 dications 1 à 11 d'extraction d'un vecteur caractéristique à partir d'une image d'entrée représentative d'un iris au moyen d'un réseau de neurones entrainable de hout-en-hout, lorsque ledit programme est exécuté sur un ordinateur.