Method and system for encoding a list of minutiae of a typescript
The method encodes minutiae into a fixed-size vector using a projection and graph neural network, addressing the limitations of existing methods by enabling identification on any database with minutiae lists and enhancing interoperability and accuracy.
Patent Information
- Application Number
- FR2024001839
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-26
- Publication Date
- 2025-08-29
AI Technical Summary
Existing fingerprint encoding methods require fingerprint images, lack interoperability, and are unsuitable for databases lacking images, and graph neural networks for encoding minutiae topological relationships are limited in identifying a single fingerprint.
A method that encodes a list of minutiae into a fixed-size vector using a projection model, graph neural network, and aggregation model, without requiring fingerprint images, ensuring interoperability and accurate identification.
Enables identification on any database with minutiae lists, reduces calculation times, and enhances database interoperability by encoding minutiae into a fixed-size vector insensitive to minutiae order and number, improving identification accuracy.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method and system for encoding a list of minutiae of a dactylogram Technical field
[0001] The invention relates to a method for encoding a list of minutiae of a fingerprint. It also relates to a method and a system for identifying a list of minutiae among the lists of minutiae of a database, the minutiae being encoded according to said encoding method. Technical background
[0002] Dactyloscopy is a method of identifying individuals based on the use of dactylograms which are also known as "fingerprints" and / or "palm prints". This method is used in particular by forensic anthropometry services or by civil identification systems during, for example, administrative procedures, border crossings or access to secure locations.
[0003] Dactylograms are drawings formed by the traces left on the surfaces by dermatoglyphs of the fingers and / or palms. Dermatoglyphs are the superficial furrows formed on the palms, soles and fingertips by dermal ridges and arranged in lines or spirals. They are specific to each individual and the drawings they form constitute an anthropometric "identity card" by which they can be identified.
[0004] Unlike authentication where a fingerprint acquired for an individual is compared to a single or very limited number of reference fingerprints (1:1), the identification of an individual from a fingerprint requires the comparison of this fingerprint with many other fingerprints previously acquired from several individuals (1:N) and generally stored in a database. Because fingerprints are drawings with complex characteristics and the number of comparisons required during an identification can become very high, the identification process can remain lengthy despite the computing resources of currently available data processing devices. In order to reduce the time required to carry out this operation, it is known to classify fingerprints according to different classes based on certain morphological characteristics of dermatoglyphs.As examples, these morphological characteristics can be the general form of the dermatoglyph (orientation of the loops, arches, spirals, etc.) according to the categories of Henry Faulds, Francis Galton and Edward Henry, the overall outline of the ridges, the "minutiae". » made up of singular points along the ridges (termination of a ridge, bifurcation... the shape of the ridges, pores or even scars.
[0005] Among these morphological characteristics, the minutiae are the subject of particular attention because, due to their singularity, the comparison of the minutiae between dactylograms helps to provide probative value to any attempt at identification. For example, according to Balthazar's rule, 17 or 18 common minutiae are sufficient to certify the concordance between two dactylograms, or, according to Locard's rule, fingerprint proof is made when between two dactylograms there is no discordance and 12 common minutiae share.
[0006] It is common to classify minutiae into two categories: bifurcations and terminations. Bifurcations include right or left bifurcations, lakes and bridges. Terminations include right or left terminations, islands and hooks. However, this division into two categories has no normative or limiting character. There are other combinations so that minutia is generally understood to mean any singular point and / or any discontinuity present along the ridges of dermatoglyphs.
[0007] Minutiae are generally represented and stored in databases in the form of coordinates in a three-dimensional space, as described in particular in the ISO / IEC 19794-2:2005 standard, Information Technology—Biometrics Data Interchange Formats—Part 2: Finger Minutiae Data, 2005. The first two dimensions correspond respectively to the abscissa and the ordinate of the minutiae in a dactylogram coordinate system. The third dimension corresponds to the angle of orientation of the minutiae relative to the horizontal axis of this same coordinate system. Thus, unlike dactylograms stored in image form, the computer storage of minutiae in this form requires less memory space. They also allow better interoperability of databases and reduce the calculation time during identification or authentication operations.
[0008] All these advantages contribute to the adoption of minutiae as the characteristics of first choice when processing fingerprints for the purpose of creating biometric identification databases, to the point that they very often constitute the only data available. In other words, in these databases, the images of the fingerprints are not preserved and only the geometric coordinates of the points constituting the minutiae are.
[0009] The methods and systems for identifying fingerprints are either manual, semi-automatic or fully automatic. As the size of databases and the computing power of data processing devices are constantly increasing, automatic fingerprint identification systems (AFIS - "Automated Fingerprint Identification System") based on the exploitation minutiae are increasingly used. They allow a list of candidate fingerprints to be quickly and efficiently analyzed that may correspond to a fingerprint whose owner is to be identified.
[0010] The automatic identification methods implemented by this type of system generally comprise two main stages. In a first stage, one or more screening algorithms are used to quickly eliminate candidate fingerprints sharing the fewest common characteristics with the fingerprint whose owner identification is sought. In a second stage, one or more algorithms, usually slower and more precise, compare said fingerprint with the remaining candidate fingerprints in order to establish a list of the best matches.
[0011] Among the automatic identification methods, those based on the implementation of neural networks generally require a prior step of encoding the fingerprints, whether they are provided in the form of images, lists of minutiae or their combination. During this encoding step, the relevant distinctive characteristics of the fingerprints are extracted, selected and then transcribed into instructions that can be deciphered by a data processing device, such as a computer, and adapted to be the subject of computational and / or combinatorial operations. The encoding step is often an integral part of the identification methods.
[0012] Su et al., MRA-GNN: Minutiae Relation-Aware Model over Graph Neural Network for Fingerprint Embedding. arXiv preprint arXiv:2307.16416, 2023 describes a method for encoding dactylograms based on their minutiae. First, the method encodes each minutia of each dactylogram of a plurality of candidate dactylograms into graphs representing their topological relationships. Second, each dactylogram is encoded into a graph representing the correlation structures between nearest neighbor dactylograms based on the graphs relating to each of their minutiae. This encoding is achieved using a graph neural network (GNN) implemented on fingerprints provided in the form of images from which the minutiae are extracted using a pre-encoder. The graphs are presented in the form of vectors.
[0013] The use of the method as a means of identification is limited. It is in fact only suitable for the identification of a set of fingerprints comprising several fingerprints to be identified. Each of them must first be encoded into a graph using the same first neighbor approach before being able to be compared to each candidate fingerprint via a criterion applied to the vector product of the vectors representing their graph. In other words, the method is not suitable for the identification of a single fingerprint provided as input data.
[0014] Grosz et al., Minutiae-guided fingerprint embeddings via vision transformers. arXiv preprint arXiv:2210.13994, 2022 describes a method for encoding fingerprint images as a fixed-size vector. The minutiae of each fingerprint image are first extracted and represented as a two-channel heat map. Then, the channels of each heat map and the corresponding fingerprint image are concatenated together, flattened, and provided as input to a Vision Transformer neural network such as the one described in VASWANI et al. Attention is ail you need. Advances in neural information processing Systems, vol. 30, 2017.The identification of a fingerprint among a set of candidate fingerprints is carried out via a comparison of the encoded vectors, the result of which is combined with those of identification methods based on convolutional neural networks.
[0015] TANDON et al, Transformer based fingerprint feature extraction, 26th International Conference on Pattern Recognition (ICPR), 2022, describes a method for encoding a fingerprint image using a convolutional neural network based on a Convolutional Transformer approach. The method encodes a general representation of the fingerprint, predicts a list of minutiae, and encodes a local representation of the list of predicted minutiae. Identifying a fingerprint from a set of candidate fingerprints involves several conditional steps. First, the global representations of the fingerprint images are compared. If the global similarity score is greater than a threshold value, the identification is validated. If it is below, a local similarity score is calculated from the comparison of the local representations based on minutiae.An average score is then established between the global similarity score and the local similarity score. Summary of the invention Technical problem
[0016] A first disadvantage of methods for encoding fingerprint images, whether or not they include the encoding of minutiae extracted from said fingerprint images, is that they require that the fingerprint images be available in existing databases. However, either for storage reasons or by choice, existing databases may lack such images. These methods may be particularly unsuitable for older databases in which only the minutiae are available.
[0017] A second disadvantage of fingerprint image encoding methods is their lack of interoperability. Being image-based, they may require a certain format and / or quality of images. However, the format and quality of fingerprint images in existing databases can vary from one database to another. To be able to be implemented, these methods may therefore require specific adaptations according to the specificities of each database, further reducing interoperability between these databases.
[0018] A disadvantage of current methods for encoding minutiae into graphs representing their topological relationships using graph neural networks is their prohibitive inability to identify a single fingerprint from a set of candidate fingerprints. In addition, they require making more or less arbitrary choices from a set of possibilities on the nearest neighbors in order to construct correlation structures between fingerprints from the graphs relating to their minutiae. However, since the space of possibilities is almost infinite, making such choices necessarily implies neglecting certain solutions, some of which may prove to be optimal.
[0019] There is therefore still a need to improve the methods for encoding minutiae in order not only to reduce the calculation times during an identification operation but also to ensure better interoperability of databases. In particular, there is a need for methods for encoding minutiae capable of operating on any type of database comprising lists of minutiae and / or on systems whose storage capacities and / or computing resources are limited. Technical solution
[0020] According to a first aspect of the invention, there is provided a computer-implemented method for encoding a list of minutiae of a dactylogram, said method takes, as input data, the coordinates of each minutia of a list L of n minutiae of a dactylogram in an M-dimensional space E, and provides, as output data, an encoding vector VE of fixed size representative of the list L of n minutiae of said dactylogram, the method comprises the following steps: (a) concatenate the coordinates of each minutia of the list L of n minutiae in the form of a source matrix MS of dimension (n, m); (b) projecting the source matrix MS of dimension (n, m) to a P-dimensional space F, the number of dimensions P of the space F being greater than the number of dimensions M of the space E of the coordinates of each minutia, said projection being carried out using a projection model Proj previously trained to form a projected matrix MP of dimension (n, p); (c) concatenate the projected matrix with a coordinate vector of a dummy minutia V of dimension (1, p) to form an intermediate matrix MI of dimension (n+l, p); (d) infer an inference matrix MF of dimension (n+1, p) by applying, on the intermediate matrix MI, a previously trained graph neural network; (e) aggregating the values of the inference matrix MF into a fixed-size vector VE (1, p) using a previously trained aggregation model, said fixed-size vector being the fixed-size encoding vector VE representative of the list L of minutiae of the fingerprint. Advantageous embodiments are described below.
[0021] According to a second aspect of the invention, there is provided a data processing device comprising means for implementing the method of any one of the embodiments of the first aspect of the invention.
[0022] According to a third aspect of the invention, there is provided a computer program comprising instructions which, when the program is executed by a computer, cause the computer to implement the method according to any one of the embodiments of the first aspect of the invention.
[0023] According to a fourth aspect of the invention, there is provided a storage medium comprising instructions which, when executed by a computer, cause the computer to implement the method according to any one of the embodiments of the first aspect of the invention.
[0024] According to a fifth aspect of the invention, there is provided a method of identifying a fingerprint from a set of fingerprints comprising an encoding step using an encoding method according to the first aspect of the invention.
[0025] According to a sixth aspect of the invention, there is provided a system for identifying a fingerprint from a set of fingerprints for implementing a method according to the fifth aspect of the invention. Benefits
[0026] A first advantage of the invention is that the encoding does not require any fingerprint images. It can therefore be used on any fingerprint database comprising lists of minutiae. In particular, it can be used on old databases which are devoid of fingerprint images as well as on more recent databases comprising images from which minutiae are likely to be extracted.
[0027] A second advantage of the invention is the possibility of encoding lists of minutiae into a vector of fixed size regardless of the size of the list provided as input data. It is thus possible to compare pairs of fingerprints for which the number of minutiae available for each is different. The method can then be implemented simultaneously on different databases comprising different numbers of minutiae and / or on lists of minutiae of different sizes within the same database. Interoperability of databases is enhanced in their operation, including between older databases that do not have fingerprint images and newer databases that include images from which minutiae can be extracted.
[0028] A third advantage of the invention is the insensitivity of the encoding to the number and order of minutiae in lists of minutiae provided as input data. Statistical noise is reduced and the results of subsequent identification operations based on the comparison of the encoding vectors are more accurate. Brief description of the drawings
[0029] [Fig. 1] is a graphical representation of an example of a minutiae list of a digital fingerprint.
[0030] [Fig.2] is a flowchart of the method according to the first aspect of the invention.
[0031] [Fig.3] is a schematic representation of a representation of a list of minutiae in the form of a matrix.
[0032] [Fig.4] is a schematic representation of an example arrangement of values in an intermediate matrix in accordance with the first aspect of the invention.
[0033] [Fig.5] is a representation of a data processing device according to the second aspect of the invention.
[0034] [Fig.6] is a graphical representation of the false negative rate (FRR) as a function of the false positive rate (FAR) when comparing lists of minutiae encoded according to an exemplary embodiment of the invention. Detailed description of the embodiments
[0035] With reference to [Fig.l], a digital dactylogram 1001 is a drawing formed by the traces left on the surfaces by the dermatoglyphs of a finger. This drawing represents the curvatures of the furrows 1001a and ridges 1001b of the papillary or epidermal folds present on the pulp of the finger. They generally form lines, loops and spirals.
[0036] The minutiae 1002 are singular points and / or discontinuities present along the ridges. In [Fig.l], they are represented by circles 1003 provided with a segment 1004. On the left part of the figure, they are superimposed on the image of the dactylogram 1001. On the right part, they are grouped in the form of a cloud without the image of the dactylogram.
[0037] The minutiae may be, for example, bifurcations such as right or left bifurcations, lakes and bridges, or terminations such as terminations rights or lefts, islands and hooks. They can also be combinations of these different types.
[0038] In accordance with ISO / IEC 19794-2:2005, Information Technology—Biometrics Data Interchange Formats—Part 2: Finger Minutiae Data, 2005, it is common practice to reference each minutiae 1002 by its coordinates in a three-dimensional space using a three-dimensional (1,3) tuple or vector. The first two dimensions of this tuple are the abscissa and ordinate of the singular point representing the minutiae 1002 in a Cartesian X, Y coordinate system of the dactylogram 1001 and the third dimension is the orientation angle of the ridge at the minutiae relative to the horizontal X abscissa axis. In [Fig.l], the abscissa and ordinate of each minute are represented by the circle 1003 and the orientation angle by the segment 1004 attached to this circle.
[0039] According to a first aspect of the invention, with reference to [Fig.l] & 2, there is provided a computer-implemented method 2000 for encoding a list of minutiae 1002 of a dactylogram 1001, said method 2000 takes, as input data, the coordinates of each minutiae of a list L of n minutiae 1002 of a dactylogram 1001 in an M-dimensional space E, and provides, as output data, an encoding vector VE of fixed size representative of the list L of n minutiae 1002 of said dactylogram 1001, the method 2000 comprises the following steps: (a) concatenating 2001 the coordinates of each minutiae of the list L of n minutiae 1002 in the form of a source matrix MS of dimension (n, m); (b) projecting 2002 the source matrix MS of dimension (n, m) to a P-dimensional space F, the number of dimensions P of the space F being greater than the number of dimensions M of the space E of the coordinates of each minutia, said projection being carried out using a projection model Proj previously trained to form a projected matrix MP of dimension (n, p); (c) concatenate 2003 the projected matrix with a coordinate vector of a dummy minutia V of dimension (1, p) to form an intermediate matrix MI of dimension (n+l, p); (d) infer 2004 an inference matrix MF of dimension (n+1, p) by applying, on the intermediate matrix MI, a previously trained graph neural network; (e) aggregating 2005 the values of the inference matrix MF into a fixed-size vector VE (1, p) using a previously trained aggregation model, said fixed-size vector being the fixed-size encoding vector VE representative of the list L of minutiae 1002 of the dactylogram 1001.
[0040] In the context of the present invention, the term “graph neural network” (GNN or “Graphical Neural Network”) is understood to mean a neural network in graphs as defined in the field of statistical or automatic learning (“Machine Learning”), in particular neural networks based on the exploitation of characteristic vectors (“embeddings”) to encode the properties of each node (“node embedding”) and each edge (“edge embedding”) of information capable of being represented in the form of a graph.
[0041] In the context of the present invention, "coordinates of each minutiae" means the coordinates of any referencing system or format making it possible at least to characterize the position and orientation of each minutiae in an E-dimensional space with M dimensions. This interpretation covers both the referencing system or format described in the standard ISO / IEC 19794-2:2005, Information Technology — Biometrics Data Interchange Formats — Part 2: Finger Minutiae Data, 2005, and any other system or format with equivalent functions which may differ from it.
[0042] According to a preferred embodiment, the space E is of dimension 3 and the coordinates of each minutia 1002 correspond respectively to the values of its abscissa, its ordinate and its orientation angle in the (X, Y) reference frame of the dactylogram 1001. The coordinates of a minutia 1002 can then be represented in the form of a tuple or a vector of dimension (1, 3) in a three-dimensional space E (M = 3). These coordinates comprising the abscissa and the ordinate of the minutia in a Cartesian reference frame X, Y of the dactylogram 1001, and the orientation angle of the ridge at the level of the minutia with respect to the horizontal axis of the abscissas.
[0043] As an example, from the referencing format described in ISO / IEC 19794-2:2005, Information Technology—Biometrics Data Interchange Formats—Part 2: Finger Minutiae Data, 2005, with reference to [Fig. 3], according to step (a) of the method, a list L of 'n' minutiae 1002 can be represented in the form of a source matrix MS of dimension (n, 3) by concatenating their vectors of dimension (1, 3), the columns representing the abscissa 'x', the ordinate 'y' and the orientation angle 'a' of the minutia. In this step (a), for n minutiae, the values of the abscissa, the ordinate and the angle of each minutiae are concatenated vertically to form the n rows of the source matrix MS.
[0044] Equivalently, the arrangement of values can be transposed: the values of the abscissa, ordinate and angle of each minutia are concatenated horizontally to form the n columns of the source matrix. For reasons of brevity, in the following, reference is made only to the arrangement of the values of the abscissa, ordinate and angle of each minutia in columns to form the n rows of the source matrix. A simple transposition operation makes it possible to move from one arrangement to the other.
[0045] In step (b), the source matrix MS of dimension (n, m) is the subject of a projection Proj towards a space F with P dimensions, the number of dimensions P of the space F being greater than the number of dimensions M of the space E of the coordinates of each minutia. This projection is carried out using a projection model Proj previously trained to form a projected matrix MP of dimension (n, p). It makes it possible to enrich the information relating to the coordinates of the minutiae through new dimensions which will then serve as a support for information inferred during step (d) of inference by the graph neural network. The nature of the inferred information is determined during the training of the projection model and that of the graph neural network of step (d). For example, this additional information may, after training, be certain topological relationships or correlation structures between minutiae.
[0046] According to embodiments, the projection model Proj is a projection matrix MP to a space F whose number P of dimensions is arbitrary, preferably to a space F of arbitrary dimension P of at least 32 times the dimension M of the space E of the coordinates of the minutiae of the list L of minutiae 1002. From the example of a source matrix MS of dimension (n,3) described previously, the projection model Proj can be a projection matrix of dimension (3,128) making it possible to project the source matrix MS to a space of dimension of at least 32 times the dimension M = 3 of the coordinates of the minutiae 1002. The projected matrix MP, obtained by applying the projection matrix to the source matrix via a simple matrix calculation, has a dimension (n,128). Both for this example and more generally, it should be emphasized that the dimension of the projection matrix does not depend on the number of minutiae of the source matrix.
[0047] In step (c), the projected matrix MP obtained in step (b) is concatenated with a coordinate vector of a dummy minutia V of dimension (l,p). From the example of the projected matrix MP of dimension (n,128) described previously, its concatenation with the coordinate vector of a dummy minutia V of dimension (1,128) makes it possible to obtain an intermediate matrix MI of dimension (n+1,128).
[0048] The coordinate vector of a dummy minutia V has the function of a classification token as is commonly used in graph neural networks, particularly in Transformer-type graph neural networks. In this respect, the articles by VASWANI et al. Attention is ail you need. Advances in neural information processing Systems, vol. 30, 2017 and by DOSOVITSKIY et al. An image is worth 16x16 words: Transformers for image recognition at scale. arXiv preprint arXiv:2010.11929, 2020, can be consulted.
[0049] In step (d), the intermediate matrix MI is provided, as input data, to a previously trained graph neural network in order to infer a matrix MF inference. The graph neural network and its training method are of any suitable type. The training method may include unsupervised, supervised, self-supervised learning, or a combination thereof. In particular, it may be supervised learning of the "identity" type in which the graph neural network is trained to classify each list of minutiae in a training set into its own identity or class. In other words, each list of minutiae in the training set is considered a unique identity or class during training.
[0050] According to a preferred embodiment, the graph neural network is a Transformer type neural network. It is known from the state of the art to implement this type of neuron on fingerprint images. In the context of the present invention, it has been found, surprisingly, that this type of network, when implemented, not on an image of the minutiae, but on their coordinates, similar or even superior performances in terms of contextual sequencing and encoding are obtained. It follows that, contrary to what was expected, the coordinates of the minutiae, which constitute information that is a priori less rich than fingerprint images with regard to their topological relationships, are sufficient to benefit from the performances of a Transformer type network while reducing its complexity, the quantity of data to be processed and the computational load.
[0051] According to advantageous embodiments, the Transformer-type neural network comprises a succession of at least 9 layers of the attention mechanism type (“Multi-Head Self-Attention”) alternating with a multi-layer perceptron-type neural network (“Multi-Layer Perceptron”), and is devoid of positional encoding. The absence of positional encoding makes the method insensitive to the permutation of minutiae in the list of minutiae. In other words, the order in which the tuples of each minutiae are arranged in a list of minutiae has no impact on the results of the encoding of said list. The layers of the attention mechanism type (“Multi-Head Self-Attention”) are described in VASWANI, Ashish et al. Attention is ail you need. Advances in neural information Processing Systems, vol. 30, 2017.
[0052] In step (e) the values of the inference matrix MF are aggregated into a fixed-size encoding vector VE using a previously trained aggregation model. By way of illustration, from the example of the intermediate matrix of dimension (n + 1,128) described previously, this aggregation consists of reducing said matrix to a single row to form a fixed-size vector of dimension (1,128).
[0053] According to certain embodiments, the aggregation model is a weighted sum, for each dimension P of the space F, between the values of the inference matrix MF corresponding previously to the coordinates of the vector of the dummy minutia V, the average of the values of the inference matrix MF corresponding previously to the projected matrix MP and the maximum of the values of the inference matrix MF.
[0054] As an illustration, with reference to [Fig.4] and from the previous example of the inference matrix MF of dimension (n+1, 128), each column corresponds to one of the P dimensions of the space F. The rows of the inference matrix MF can be organized into two groups: - (Gl) a line previously corresponding to the coordinate vector of the dummy minutia; - (G2) 'n' lines previously corresponding to the projected matrix MP before its concatenation with the coordinate vector of the dummy minutia MF.
[0055] For each of the 128 columns, the weighted sum is then performed between three terms corresponding respectively to the value of the group (G1), the average of the values of the 'n' rows of the group (G2) and the maximum of the values of n+1 rows of the entire inference matrix MF. The weighting factors are preferably all positive and their sum is equal to unity. Their values are determined by a statistical learning method such as gradient descent, in particular during the training of the projection model and that of the graph neural network of step (d).
[0056] According to certain embodiments, the method further comprises, before step (a), a preliminary step of normalizing the coordinates of each minutia in which the orientation angles are replaced by the values of their sine and their cosine. In other words, the value of the orientation angle of each minutia of the minutia list is replaced by two values corresponding respectively to the sine and the cosine of said angle, or to the cosine and the sine of said angle. Such a normalization step is particularly advantageous in that it makes it possible to reduce the sensitivity of the graph neural network when passing, between two or more minutiae, from an orientation angle of 359° to 0°. In the specific context of encoding a minutia list, the precision and reliability during the inference of the inference matrix are significantly improved.
[0057] In the case where the coordinates of a minutiae are represented in the form of a tuple or a vector, this prior normalization step results in a change in the dimension of said tuple or vector. As an illustrative example, for a list of the coordinates of a minutiae represented in the form of a tuple or a vector of dimension (1, 3) comprising the abscissa and the ordinate of the minutiae in a Cartesian coordinate system X, Y of the dactylogram and the angle of orientation of the crest at the level of the minutiae relative to the horizontal axis of the abscissas, at the end of this normalization step, this tuple or this vector becomes a tuple or a vector of dimension (1,4). Among the four column dimensions, the first two correspond to the abscissa and the ordinate of the minutia in the Cartesian X, Y coordinate system of the dactylogram, and the third and fourth correspond to the sine, resp. cosine, and the cosine, resp. sine, of the orientation angle.
[0058] As a consequence of this change in dimension of the tuples or vectors representing the coordinates of the minutiae, still within the framework of the preceding examples, the dimensions of the source matrix and of the projection matrix in steps (a) and (b) are modified: the dimension of the source matrix is (n, 4) and that of the projection matrix is (4, 128).
[0059] The method according to the first aspect of the invention is implemented by computer. With reference to [Fig. 5], in a second aspect of the invention, there is provided a data processing device 5000 comprising means for implementing a method 2000 according to any one of the embodiments of the first aspect of the invention.
[0060] An example of a device may be a device responsible for automatically executing sequences of arithmetic or logical operations to perform tasks or actions. This device, also called a computer, may comprise one or more central processing units (CPUs) and / or one or more graphics processors (GPUs) 5001 as well as at least one control device adapted to the execution of these operations. It may also comprise other electronic components such as input / output interfaces 5002, non-volatile or volatile storage devices 5003, and communication buses for transferring data between internal components of the device or with external components. One of the input / output devices 5002 may be a user interface for human-machine interaction, for example a graphical user interface for displaying human-understandable information.
[0061] According to a third aspect of the invention, there is provided a computer program 15003 comprising instructions which, when the program is executed by a computer, cause the computer to implement a method 2000 according to any one of the embodiments of the first aspect of the invention.
[0062] Any type of programming language, compiled or interpreted, can be used to implement the steps of the method of the invention. The computer program can be part of a software solution, i.e. a collection of executable instructions, codes, scripts or others and / or databases.
[0063] According to a fourth aspect of the invention, there is provided a computer-readable recording medium 5003 comprising instructions which, when executed by a computer, cause the computer to implement a method 2000 according to any one of the embodiments of the first aspect of the invention.
[0064] The computer-readable storage medium 5003 is preferably a non-volatile memory, for example a hard disk or a solid-state drive. It may be a removable storage medium or a non-removable storage medium forming part of a computer.
[0065] The computer-readable recording medium 5003 may also be volatile memory within a removable medium. This may facilitate deployment of the invention in many production sites.
[0066] The computer-readable recording medium 5003 may be part of a computer used as a server from which executable instructions may be downloaded and, when executed by a computer, cause the computer to execute a method according to one of the embodiments described herein.
[0067] The computer program 15003 and the medium 5003 on which it is recorded may be implemented in a distributed computing environment, for example cloud computing. The instructions may be executed on a server to which one or more client computers may connect and provide encoded data as input data to a method according to any of the embodiments of the first aspect of the invention. Once the data has been processed, the result may be downloaded and decoded to the client computer or sent directly, for example, in the form of instructions.
[0068] According to a fifth aspect of the invention, there is provided a computer-implemented method for identifying a fingerprint from a set of fingerprints comprising at least one candidate fingerprint, said method taking, as input data, the coordinates associated with each minutia of a list of minutiae of a fingerprint to be identified, and providing, as output data, a correspondence score of said fingerprint to be identified with at least one candidate fingerprint, said method comprising the following steps: (a) encoding the coordinates associated with each minutia of a list of minutiae of said dactylogram to be identified into a fixed-size vector using an encoding method according to any one of the embodiments of a method in accordance with the first aspect of the invention; (b) providing a database containing a set of fingerprints comprising at least one candidate fingerprint and in which the coordinates associated with each minutia of a list of minutiae of each of the candidate fingerprints of said set are encoded into a fixed vector using an encoding method according to any one of the embodiments of a method in accordance with the first aspect of the invention; (c) calculating a correspondence score between the vector calculated in step (a) and each of the vectors in the database; (d) select the highest score from the scores calculated in step (c).
[0069] In step (c), the calculation of the matching score between the vector calculated in step (a) and each of the vectors in the database can be implemented in any suitable manner. For example, it can be a scalar product, a vector product or a Euclidean distance.
[0070] According to a sixth aspect of the invention, there is provided a system for identifying a fingerprint with at least one candidate fingerprint, said system comprising: - a storage medium on which is recorded a database containing a set comprising at least one candidate fingerprint and in which the coordinates associated with each minutia of a list of minutiae of each of the candidate fingerprints of said set are encoded into a fixed vector using an encoding method according to any one of the embodiments of a method in accordance with the first aspect of the invention; - a data processing device, for example a computer, comprising means for implementing an identification method according to the fifth aspect of the invention.
[0071] According to certain embodiments, the system further comprises a device for acquiring an image of a fingerprint, the device is configured to extract the coordinates of a list of minutiae from the image of a fingerprint that can be obtained by said acquisition device.
[0072] The acquisition device is of any suitable type. Non-limiting examples of acquisition devices are described in US 2012 014569 Al, IB KOREA LTD [KR], 19.01.2012 and US 2017 046554 Al, NEC CORP [JP], 16.02.2017.
[0073] Extracting the coordinates of a list of minutiae from an image of a fingerprint is a common practice. Non-limiting examples of extraction methods are described in the articles B ANS AL et al., Punam. Minutiae extraction from fingerprint images-a review. arXiv preprint arXiv: 1201.1422, 2011, and MOHSEN et al., Automatic Fingerprint Recognition Using Minutiae Matching Technique for the Large Fingerprint Database. arXiv preprint arXiv: 1304.2109, 2013. State-of-the-art acquisition devices can be easily adapted for implementing these methods, in particular via their own data processing unit or the addition of a dedicated data processing unit. Example
[0074] In an exemplary embodiment, the encoding method takes, as input data, a list of the abscissa, ordinate and orientation angle values of 'n' minutiae of a fingerprint in the reference of said fingerprint. It includes the following steps: (a) normalize, for each minutia, abscissa, ordinate and orientation angle values, whereby the orientation angles are replaced by the values of their sine and cosine; (b) concatenate the normalized coordinate values of each minutia in the form of a source matrix of dimension (n,4); (c) projecting the source matrix using a previously optimized (trained) (4,128) dimension projection matrix to form a projected matrix of dimension (n,128); (d) concatenating the projected matrix with a coordinate vector of a dummy minutia of dimension (1, 128) to form an intermediate matrix of dimension (n + 1, 128); (e) infer an inference matrix of dimension (n+1, 128) by applying a previously trained Transformer type graph neural network (“Transformer”); (f) aggregate the inference matrix values using a weighted sum between the inference matrix values for each dimension representing the dummy minutia coordinate vector V, the average of the inference matrix values for each dimension representing the minutiae of the projected matrix MP, and the maximum of the inference matrix values for each dimension.
[0075] The Transformer type graph neural network comprises a succession of 9 layers of the attention mechanism type (“Multi-Head Self-Attention”) alternating with a multi-layer perceptron type neural network (“Multi-Layer Perceptron”), and is devoid of positional encoding. This type of structure is described in section 3.1 and illustrated in [Fig.l] of the article VASWANI, Ashish et al. Attention is ail you need. Advances in neural information processing Systems, vol. 30, 2017.
[0076] The Transformer-type graph neural network and the projection matrix are respectively previously trained by a supervised learning method of the “identity” type and a gradient descent type learning method on a training set comprising the minutiae lists of approximately 1 million 8 hundred thousand fingerprint images in which there are at least 6 different images of the same fingerprint. In other words, the training set comprises the minutiae lists of six images of three hundred thousand different fingerprints.
[0077] The performance of the method was evaluated by comparing the encoded minutiae lists using an identification method according to the fifth aspect of the invention, a database of minutiae lists being encoded for this purpose. The results of the evaluation are shown in [Fig.6] representing the evolution of the false negative rate (FRR) as a function of the false positive rate (FAR). For a threshold corresponding to 0.01% (10-2) of false positives (FAR), the occurrence rate of false negatives (FRR) is only 6.2%. The method being capable, unlike the methods of the state of the art, of carrying out several million comparisons per second, such a rate value makes it particularly advantageous for use as a first rapid and precise screening step in an automatic identification process. References Patent literature
[0078] US 2012 014569 Al, IB KOREA LTD [KR], 01.19.2012.
[0079] US 2017 046554 Al, NEC CORP [JP], 02 / 16 / 2017. Non-patent literature
[0080] F. Galton, Fingerprint Directories. London, MacMillan & Co, 1895.
[0081] Henry Faulds, Guide to fingerprint Identification, Tokyo, Hanley, 1905.
[0082] E. Henry, Classification and uses of finger prints, published by his majesty’s stationery office, London, 1913.
[0083] ISO / IEC 19794-2:2005, Information Technology—Biométrie Data Interchange Formats—Part 2: Finger Minutiae Data, 2005.
[0084] BANSAL, Roli, SEHGAL, Priti, et BEDI, Punam. Minutiae extraction from fingerprint images-a review. arXiv preprint arXiv: 1201.1422, 2011.
[0085] MOHSEN, S. M„ FARHAN, S. M„ et HASHEM, M. M. A. Automatic Fingerprint Récognition Using Minutiae Matching Technique for the Large Fingerprint Database. arXiv preprint arXiv: 1304.2109, 2013.
[0086] VASWANI, Ashish, SHAZEER, Noam, PARMAR, Niki, et al. Attention is ail you need. Advances in neural information processing Systems, vol. 30, 2017.
[0087] DOSOVITSKIY, Alexey, BEYER, Lucas, KOLESNIKOV, Alexander, et al. An image is worth 16x16 words: Transformers for image récognition at scale. arXiv preprint arXiv:2010.11929, 2020.
[0088] GROSZ, Steven A., ENGELSMA, Joshua J., RANJAN, Rajeev, et al. Minutiae-guided fingerprint embeddings via vision transformers. arXiv preprint arXiv:2210.13994, 2022.
[0089] TANDON, Saraansh et NAMBOODIRI, Anoop. Transformer based fingerprint feature extraction. In : 2022 26th International Conférence on Pattern Récognition (ICPR). IEEE, p. 870-876, 2022.
[0090] SU, Yapeng, ZHAO, Tong, et ZHANG, Zicheng. MRA-GNN: Minutiae Relation-Aware Model over Graph Neural Network for Fingerprint Embedding. arXiv preprint arXiv:2307.16416, 2023.
Claims
Claims
1. A computer-implemented method (2000) for encoding a list of minutiae (1002) of a fingerprint (1001), said method (2000) takes, as input data, the coordinates of each minutiae of a list L of n minutiae (1002) of a fingerprint (1001) in an M-dimensional space E, and provides, as output data, a fixed-size encoding vector VE representative of the list L of n minutiae (1002) of said fingerprint (1001), the method (2000) comprises the following steps: (a) concatenating (2001) the coordinates of each minutiae of the list L of n minutiae (1002) in the form of a source matrix MS of dimension (n, m);(b) projecting (2002) the source matrix MS of dimension (n, m) to a P-dimensional space F, the number of dimensions P of the space F being greater than the number of dimensions M of the space E of the coordinates of each minutia, said projection being carried out using a projection model Proj previously trained to form a projected matrix MP of dimension (n, p); (c) concatenating (2003) the projected matrix with a coordinate vector of a dummy minutia V of dimension (1, p) to form an intermediate matrix MI of dimension (n+1, p); (d) inferring (2004) an inference matrix MF of dimension (n+1, p) by applying, on the intermediate matrix MI, a previously trained graph neural network;(e) aggregating (2005) the values of the inference matrix MF into a fixed-size vector VE (1, p) using a previously trained aggregation model, said fixed-size vector being the fixed-size encoding vector VE representative of the list L of minutiae (1002) of the fingerprint (1001).;
2. The method (2000) of claim 1, wherein the graph neural network is a Transformer type neural network.
3. Method (2000) according to claim 2, such that the Transformer type neural network comprises a succession of at least 9 layers of attention mechanism type alternating with a multi-layer perceptron type neural network, and is devoid of positional encoding.
4. Method (2000) according to any one of claims 1 to 3, such that the aggregation model is a weighted sum, for each dimension P of the space F, between the values of the inference matrix MF corresponding previously to the coordinates of the vector of the dummy minutia V, the average of the values of the inference matrix MF corresponding previously to the projected matrix MP and the maximum of the values of the inference matrix MF.
5. Method (2000) according to any one of claims 1 to 4, such that the space E is of dimension 3 and the coordinates of the minutiae (1002) correspond respectively to the values of its abscissa, its ordinate and its orientation angle in the reference frame (X, Y) of the dactylogram (1001).
6. Method according to any one of claims 1 to 5, such that it further comprises, before step (a), a prior step of normalizing the coordinates of each minutia in which the orientation angles are replaced by the values of their sine and their cosine.
7. Method (2000) according to any one of claims 1 to 6, such that the projection model Proj is a projection matrix MP towards a space F whose number P of dimensions is arbitrary, preferably towards a space F of arbitrary dimension P of at least 32 times the dimension M of the space E (1002).
8. Data processing device (5000) comprising means for implementing the method (2000) according to any one of claims 1 to 7.
9. A computer program (15003) comprising instructions which, when the program is executed by a computer, cause the computer to implement the method (2000) according to any one of claims 1 to 7.
10. A computer-readable storage medium (5003) comprising instructions which, when executed by a computer, cause the computer to implement the method (2000) of any one of claims 1 to 7.
11. A computer-implemented method for identifying a fingerprint from a set of fingerprints comprising at least one candidate fingerprint, said method taking, as input data, the coordinates associated with each minutia of a list of minutiae of a fingerprint to be identified, and providing, in output data, a matching score of said fingerprint to be identified with at least one candidate fingerprint, said method comprising the following steps: (a) encoding the coordinates associated with each minutia of a list of minutiae of said dactylogram to be identified into a fixed-size vector using an encoding method according to any one of claims 1 to 7; (b) providing a database containing a set of fingerprints comprising at least one candidate fingerprint and in which the coordinates associated with each minutia of a list of minutiae of each of the candidate fingerprints of said set are encoded into a fixed vector using an encoding method according to any one of claims 1 to 7; (c) calculating a correspondence score between the vector calculated in step (a) and each of the vectors in the database; (d) select the highest score from the scores calculated in step (c).
12. System for identifying a fingerprint with at least one candidate fingerprint, said system comprising: - a storage medium on which is recorded a database containing a set comprising at least one candidate fingerprint and in which the coordinates associated with each minutia of a list of minutiae of each of the candidate fingerprints of said set are encoded into a fixed vector using an encoding method according to any one of claims 1 to 7; - a data processing device comprising means for implementing the method according to claim 11.
13. The system of claim 12 further comprising a device for acquiring an image of a fingerprint and wherein the device is further configured to extract the coordinates of a list of minutiae from the image of a fingerprint obtainable by said device.
Citation Information
Patent Citations
Method and apparatus for slim type fingerprint recognition device
US20120014569A1
Biometric collection device
US20170046554A1