Method for comparing two handwriting samples
A method for comparing typescripts using minutiae lists through projection and graph neural networks addresses the limitations of image-based and graph-based methods, enabling identification in any database and improving interoperability and accuracy.
Patent Information
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- IDEMIA PUBLIC SECURITY FRANCE
- Filing Date
- 2024-02-26
- Publication Date
- 2026-06-26
AI Technical Summary
Existing methods for identifying typescripts from their images require images to be available in databases, which may not be the case in older databases, and are not interoperable due to varying image formats and qualities, while methods based on minutiae-encoded graphs cannot identify a single typescript from a set of candidates and require arbitrary choices.
A computer-implemented method that compares two typescripts based on their minutiae lists using a projection model, graph neural networks, and aggregation to generate a correspondence score, without requiring images, and is insensitive to the number and order of minutiae.
Enables identification or authentication of typescripts in any database containing minutiae lists, enhances interoperability, and reduces statistical noise for accurate results.
Smart Images

Figure 00000021_0000 
Figure 00000022_0000 
Figure 00000023_0000
Abstract
Description
Title of the invention: Method for comparing two typescripts. Technical field.
[0001] The invention relates to a method and a system for comparing two typescripts from lists of their minutiae. Technical background
[0002] Dactyloscopy is a method of identifying individuals based on the use of dactylograms, also known as "fingerprints" and / or "palm prints." This method is notably used by forensic anthropometry services or by civilian identification systems during, for example, administrative procedures, border crossings, or access to secure locations.
[0003] Fingerprints are patterns formed by the traces left on surfaces by dermatoglyphics of the fingers and / or palms. Dermatoglyphics are the superficial furrows formed on the palms, soles, and fingertips by the dermal ridges and arranged in lines or spirals. They are unique to each individual, and the patterns they form constitute an anthropometric "identity card" by which the individual 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), identifying an individual from a fingerprint requires comparing that 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 for identification can become very high, the identification process can remain lengthy despite the computing power of currently available data processing devices. To reduce the time required for this operation, it is known to classify fingerprints into different classes based on certain morphological characteristics of the dermatoglyphs.Examples of these morphological characteristics include the general shape of the dermatoglyph (orientation of loops, arches, spirals, etc.) according to the categories of Henry Faulds, Francis Galton and Edward Henry, the overall pattern of the ridges, the "minutiae" consisting of singular points along the ridges (termination of a ridge, bifurcation, etc.), the shape of the ridges, the pores, and even scars.
[0005] Among these morphological characteristics, minutiae are of particular interest because, due to their uniqueness, comparing minutiae between handwriting samples 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 handwriting samples, or, according to Locard's rule, dactyloscopic proof is established when two handwriting samples show no discrepancies and share 12 common minutiae.
[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 is neither normative nor restrictive. Other combinations exist, so that a minutiae is generally understood to mean any singular point and / or discontinuity present along the ridges of dermatoglyphs.
[0007] Minutiae are generally represented and stored in databases as coordinates in a three-dimensional space, as described in particular in ISO / IEC 19794-2:2005, Information Technology—Biometric Data Interchange Formats—Part 2: Finger Minutiae Data, 2005. The first two dimensions correspond respectively to the abscissa and ordinate of the minutiae in a coordinate system of the fingerprint. The third dimension corresponds to the orientation angle of the minutiae with respect to the horizontal axis of this same coordinate system. Thus, unlike fingerprints stored as images, storing minutiae in this form requires less memory space. Furthermore, they allow for better interoperability of databases and reduce computation time during identification or authentication operations.
[0008] All these advantages contribute to the adoption of minutiae as the preferred characteristics when processing fingerprints for the purpose of creating biometric identification databases, to the point that they very often constitute the only available data. In other words, in these databases, the images of the fingerprints are not stored, and only the geometric coordinates of the points constituting the minutiae are retained.
[0009] Fingerprint identification methods and systems are either manual, semi-automatic, or fully automatic. Because 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 minutiae analysis are being used more and more frequently. They allow for rapid analysis and effectively a list of candidate typescripts likely to match a typescript whose owner is to be identified.
[0010] The automatic identification processes implemented by this type of system generally comprise two main steps. In the first step, one or more screening algorithms are used to rapidly eliminate candidate fingerprints sharing the fewest common characteristics with the fingerprint whose owner identification is sought. In the second step, 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 automatic identification methods, those based on the implementation of neural networks generally require a preliminary step of encoding the fingerprints, whether they are provided in the form of images, minutiae lists, or a combination thereof. During this encoding step, the relevant distinctive features 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 for 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 fingerprints based on their minutiae. First, the method encodes each minutiae of each fingerprint in a plurality of candidate fingerprints into graphs representing their topological relations. Second, each fingerprint is encoded into a graph representing the correlation structures between nearest neighbor fingerprints from the graphs related to each of their minutiae. This encoding is achieved using a graph neural network (GNN) implemented on the typescripts provided as 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 an identification tool is limited. It is only suitable for identifying a set of typescripts comprising several typescripts to be identified. Each of these must first be graph-encoded using the same first-neighbor approach before it can be compared to each candidate typescript via a criterion applied to the cross product of the vectors representing their graph. In other words, the method is not suitable for identifying a single typescript 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 handwriting images as a fixed-size vector. The minutiae of each handwriting image are first extracted and represented as a two-channel heat map. Then, the channels of each heat map and the corresponding handwriting image are concatenated, flattened, and provided as input data to a Vision Transformer neural network such as that described in Vaswani et al. Attention is all you need. Advances in neural information processing Systems, vol. 30, 2017.The identification of a typescript from a set of candidate typescripts is achieved 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 predicted minutiae. Identifying a fingerprint from a set of candidate fingerprints occurs in several conditional steps. First, the global representations of the fingerprint images are compared. If the global similarity score is above a threshold value, the identification is validated. If it is below this threshold, a local similarity score is calculated from the comparison of the local representations based on the minutiae.An average score is then established between the overall similarity score and the local similarity score. Summary of the invention Technical problem
[0016] A primary drawback of methods for identifying typescripts from their images is that they require the typescript images to be available in existing databases. However, either for storage reasons or by design, existing databases may lack such images. These methods may be particularly unsuitable for older databases in which only minutiae are available.
[0017] A second drawback of these imaging methods is their lack of interoperability. Being image-based, they may require a certain image format and / or quality. However, the format and quality of the images of The typing characteristics of existing databases can vary from one database to another. Therefore, to be implemented, these methods may require specific adaptations depending on the characteristics of each database, further reducing interoperability between these databases.
[0018] A drawback of methods for identifying typescripts from their minutiae encoded as graphs representing their topological relationships is their fundamental inability to identify a single typescript from a set of candidate typescripts. Furthermore, they require making choices, more or less arbitrary, from among a set of nearest-neighbor possibilities in order to construct correlation structures between typescripts from the graphs relating to their minutiae. However, since the space of possibilities is virtually infinite, making such choices necessarily implies neglecting certain solutions, some of which may prove to be optimal.
[0019] There is therefore a continued need to improve methods for identifying typescripts, particularly methods for comparing typescripts pairwise based on their minutiae, in order not only to reduce computation time during an identification operation but also to ensure better interoperability of databases. Specifically, there is a need for typescript identification methods capable of operating on any type of database containing lists of minutiae and / or on systems with limited storage capacity and / or computing resources. Technical solution
[0020] According to a first aspect of the invention, a computer-implemented method is provided for comparing two typescripts based on lists of their minutiae. The method takes as input data a first source matrix MSI of the coordinates of each minutia of a first list L1 of 'n' minutiae of a first typescript in an E-dimensional space of O dimensions and a second source matrix MS2 of the coordinates of each minutia of a second list L2 of 'm' minutiae of a second typescript in an E-dimensional space of O dimensions, and provides as output data a correspondence score between the two lists L1, L2 of minutiae. The method comprises the following steps: (a) project each of the two source matrices MSI, MS2 to a P-dimensional space G, the number of dimensions P of the space G being greater than the number of dimensions O of the coordinate space E of each minutiae, said projection being carried out using a projection model Proj, the projection model Proj being previously trained to form, from the source matrices MSI, MS2, the projected matrices MPI, MP2 of dimension (n, p) and (m,p) respectively; (b) infer two inference matrices MF1, MF2 respectively of dimensions (n+1, p) and (m+1, p), by application, on the projected matrices MPI, MP2, of a previously trained graph neural network; (c) concatenate each of the inference matrices MF1 and MF2 with a vector VI, V2 of coordinates of a dummy minutia to form respectively enriched inference matrices MFE1, MFE2 of dimension (n+1, p) and (m+l,p) respectively; (d) concatenate the two enriched inference matrices MFE1, MFE2 into an intermediate matrix MI of dimension (n+m+2, p); (e) encode the intermediate matrix MI into an encoding matrix ME of dimension (n+m+2,p) by applying a second previously trained graph neural network; (f) aggregate the values of the intermediate matrix into a fixed-size vector VE (1, p) using a pre-trained aggregation model; (g) Convert the fixed-size vector VE into a scalar number S using a conversion model; said scalar number is the correspondence score between the two minutiae lists L1, L2. Advantageous embodiments are described below.
[0021] According to a second aspect of the invention, a data processing device is provided comprising means for implementing the method in any of the embodiments of the first aspect of the invention.
[0022] According to a third aspect of the invention, a computer program is provided comprising instructions which, when the program is executed by a computer, lead 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, a storage medium is provided 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, a system is provided for comparing two typescripts from lists of their minutiae. Benefits
[0025] A first advantage of the invention is that the identification or authentication of a typescript does not require any images of typescripts. It can therefore be used on any typescript database containing lists of minutiae. In particular, it can be used on older databases that lack typescript images as well as on more recent databases containing images from which minutiae can be extracted.
[0026] A second advantage of the invention is the possibility of comparing pairs of handwriting samples where the number of minutiae available for each is different. The method can then be implemented simultaneously on different databases containing different numbers of minutiae and / or on lists of minutiae of different sizes within the same database. Database interoperability is enhanced, including between older databases that lack handwriting images and more recent databases containing images from which minutiae can be extracted.
[0027] A third advantage of the invention is its insensitivity to the number and order of minutiae in lists of minutiae provided as input data. Statistical noise is reduced and the results of the identification operations are more accurate. Brief description of the drawings
[0028] [Fig-1] is a graphical representation of an example of a minutiae list of a digital typewriter.
[0029] [Fig.2] is flowchart of the method according to the first aspect of the invention.
[0030] [Fig.3] is a schematic representation of a representation of a list of minutiae in the form of a source matrix.
[0031] [Fig.4] is a representation of a data processing device according to the second aspect of the invention.
[0032] [Fig.5] 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 example of an embodiment of the invention. Detailed description of the implementation methods
[0033] With reference to [Fig. 1], a digital fingerprint 1001 is a pattern formed by the traces left on surfaces by the dermatoglyphs of a finger. This pattern represents the curvatures of the grooves 1001a and ridges 1001b of the papillary or epidermal folds present on the fingertip. They generally form lines, loops, and spirals.
[0034] The minutiae 1002 are singular points and / or discontinuities present along the ridges. In [Fig. 1], they are represented by circles 1003 with a segment 1004. On the left side of the figure, they are superimposed on the image of the typewriter 1001. On the right side, they are grouped together in the form of a cloud without the image of the typewriter.
[0035] Minutiae can be, for example, bifurcations such as right or left bifurcations, lakes and bridges, or terminations such as terminations Right or left, islands and brackets. They can also be combinations of these different types.
[0036] In accordance with ISO / IEC 19794-2:2005, Information Technology—Biometrics Data Interchange Formats—Part 2: Finger Minutiae Data, 2005, it is common to reference each minutia 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 minutia 1002 in a Cartesian X, Y coordinate system of the fingerprint 1001, and the third dimension is the orientation angle of the ridge at the level of the minutiae with respect to the horizontal X axis of the abscissas. On [Fig.1], the abscissa and ordinate of each minutia are represented by the circle 1003 and the angle of orientation by the segment 1004 attached to this circle.
[0037] According to a first aspect of the invention, with reference to [Fig. 2], a computer-implemented method 2000 is provided for comparing two typewriters based on lists of their minutiae. This method takes as input data a first source matrix MSI of the coordinates of each minutia of a first list L1 of 'n' minutiae of a first typewriter in an E-dimensional space of O dimensions and a second source matrix MS2 of the coordinates of each minutia of a second list L2 of 'm' minutiae of a second typewriter in an E-dimensional space of O dimensions, and provides as output data a correspondence score between the two lists L1, L2 of minutiae. The method 2000 comprises the following steps: (a) projecting each of the two source matrices MSI, MS2 onto a P-dimensional space G, the number of dimensions P of the space G being greater than the number of dimensions O of the space E of the coordinates of each minutiae,said projection being carried out using a projection model Proj, the projection model Proj being previously trained to form, from the source matrices MSI, MS2, the projected matrices MPI, MP2 of dimension (n, p) and (m,p) respectively; , (b) infer 2002 two inference matrices MF1, MF2 respectively of dimensions (n, p) and (m, p), by application, on the projected matrices MPI, MP2, of a previously trained graph neural network; (c) concatenate 2003 each of the inference matrices MF1 and MF2 with a vector VI, V2 of coordinates of a dummy minutia to form respectively enriched inference matrices MFE1, MFE2 of dimension (n+1, p) and (m+l,p) respectively; (d) concatenate 2004 the two enriched inference matrices MFE1, MFE2 into an intermediate matrix MI of dimension (n+m+2, p); (e) encode 2005 the intermediate matrix MI into an encoding matrix ME of dimension (n+m+2,p) by application of a second previously trained graph neural network; (f) aggregate 2006 the values of the intermediate matrix into a fixed-size vector VE (1, p) using a pre-trained aggregation model; (g) convert 2007 the fixed-size vector VE into a scalar number S using a conversion model, said scalar number is the matching score between the two lists L1, L2 of minutiae.
[0038] In the context of the present invention, "Graph Neural Network" (GNN or "Graphical Neural Network") means a graph neural network 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 that can be represented in the form of a graph.
[0039] In the context of the present invention, the term "coordinates of each minutiae" means the coordinates of any referencing system or format that at least allows the position and orientation of each minutiae to be characterized in an E-dimensional to O-dimensional space. This interpretation covers both the referencing system or format described in 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 that may differ from it.
[0040] According to a preferred embodiment, the space E is three-dimensional (O = 3) and the coordinates of the minutiae correspond respectively to the values of its abscissa, ordinate, and orientation angle in the (X, Y) coordinate system of the typewriter. The coordinates m of a minutiae can be represented as a tuple or a vector of dimension (1,3) in a three-dimensional space (O = 3). These coordinates include the abscissa and ordinate of the minutiae in a Cartesian X, Y coordinate system of the typewriter, and the orientation angle of the crest at the level of the minutiae with respect to the horizontal x-axis.
[0041] By way of 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], a list L1, resp. L2, of 'n', resp. 'm', minutiae can be represented in the form of a source matrix MSI, resp. MS2, of dimension (n, 3), resp. (m,3), by concatenation of their vectors of dimension (1,3), the columns representing the abscissa 'x', the ordinate 'y' and the orientation angle 'a' of the minutiae. In [Fig.3], for 'n' minutiae, the values of the abscissa, ordinate and angle of each minutiae are concatenated vertically to form the n rows of the source MSI matrix.
[0042] Equivalently, the arrangement of values can be transposed: the values of the abscissa, ordinate and angle of each minutiae are concatenated horizontally to form the n columns of the source matrix. For the sake of brevity, the following discussion will only refer to the arrangement of the x-coordinate, y-coordinate, and angle values of each minutiae in columns to form the n rows of the source matrix. A simple transposition operation allows us to move from one arrangement to the other.
[0043] In step (a), each of the two source matrices MSI and MS2 is projected Proj onto a P-dimensional space G, where the number of dimensions P of space G is greater than the number of dimensions O of the coordinate space E of each minutiae. This projection is performed using a projection model Proj previously trained to form the projected matrices MPI and MP2 of dimensions (n, p) and (m, p), respectively. This enriches the information relating to the coordinates of the minutiae by adding new dimensions, which will then serve as the basis for information inferred during inference steps (b) and (d) by the graph neural networks. The nature of the inferred information is determined during the training of the projection model and the graph neural networks. For example, this additional information may, after training, consist of certain topological relationships or correlation structures between minutiae..
[0044] According to some embodiments, the projection model Proj is a projection matrix MP onto a space G of arbitrary dimension P, preferably onto a space G of arbitrary dimension P with a dimension at least 32 times the dimension O of the coordinate space E of each minutiae. From the previous example of the two source matrices MSI and MS2 of respective dimensions (n, 3) and (m, 3), the projection model Proj can be a projection matrix of dimension (3, 128) allowing the projection of said source matrices onto a space G of dimension P with a dimension at least 32 times the dimension O = 3 of the coordinate space E of the minutiae 1002. The projected matrix MP, obtained by applying the projection matrix to the source matrix via a simple matrix calculation, has dimension (n, 128).Both in this example and more generally, it should be emphasized that the dimension of the projection matrix does not depend on the number of minutiae in the source matrix.
[0045] In step (b), the two projected matrices MPI and MP2 are provided as input data to a first previously trained graph neural network to infer inference matrices MF1 and MF2, respectively. The graph neural network and its training method can be of any suitable type. The training method can include unsupervised, supervised, self-supervised learning, or a combination thereof. In particular, it can be supervised identity learning, 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. The inference step (b) can be performed successively on each of the projected matrices MPI, MP2, or simultaneously.
[0046] In step (c), each of the two inference matrices MF1 and MF2 is concatenated with a vector VI, V2 of coordinates of a dummy minutia MF of dimension (1, p). From the previous example, the concatenation of the inference matrix MF1 with the vector VI of coordinates of a dummy minutia of dimension (1, 128) yields an enriched inference matrix MFE1 of dimension (n+1, 128), and the concatenation of the inference matrix MF2 with the vector V2 of coordinates of a dummy minutia of dimension (1, 128) yields an enriched inference matrix MFE2 of dimension (m+1, 128).
[0047] The VI, V2 coordinate vectors of artificial minutiae function as classification tokens, as is commonly used in graph neural networks, particularly in Transformer-type graph neural networks. In this regard, the articles by Vaswani et al., Attention is all you need. Advances in neural information processing Systems, vol. 30, 2017, and Dosovitskiy et al., An image is worth 16x16 words: Transformers for image recognition at scale. arXiv preprint arXiv:2010.11929, 2020, can be consulted.
[0048] In step (d), the two enriched inference matrices MFE1, MFE2 are concatenated into a single intermediate matrix MI of dimension (n+m+2,p). From the previous example, for two enriched inference matrices of respective dimensions (n+1, 128) and (m+1, 128), the concatenation is performed vertically to obtain an intermediate matrix of dimension (n+m+2,128).
[0049] In step (e), the intermediate matrix MI is encoded. It is provided as input to a second graph neural network previously trained to compute an encoding matrix ME. The second graph neural network and its training method can be of any suitable type. The training method can, in particular, be unsupervised, supervised, self-supervised learning, or a combination thereof. In particular, it can be supervised learning in which the graph neural network is trained by minimizing a binary cross-entropy function whereby the minutiae lists of two matching typescripts form a first class denoted '1' and the minutiae lists of different typescripts form a second class denoted '0'.
[0050] In step (f), in step (e) the values of the intermediate matrix MI are aggregated into a fixed-size encoding vector VE using a pre-trained aggregation model. By way of illustration, using the example of the matrix intermediate 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).
[0051] According to certain embodiments, the aggregation model is an arithmetic mean, for each dimension P of the space G, of the values of the intermediate matrix MI. By way of illustration, with reference to [Fig. 4] and based on the previous example of the intermediate matrix MI of dimension (n+m+2, 128), each column corresponds to one of the P dimensions of the space G. The arithmetic mean of the column values is then calculated for each of the 128 columns.
[0052] In step (g), the fixed-size (l,p) encoding vector VE is converted into a scalar (of dimension (1,1)) using a conversion model. The conversion model can be of any suitable type. An example of a conversion model could be a projection matrix from dimension (p,l) to dimension (1,1), the result of the projection being a scalar.
[0053] According to some preferred embodiments, the conversion model includes a sigmoid probability function for converting the scalar into a second scalar between 0 and 1. The second scalar represents the correspondence score, expressed as a probability level, between the two lists L1, L2 of minutiae. A score close to 1 corresponds to a high degree of similarity between the two lists L1, L2; a score close to 0 corresponds to a high degree of disparity between the two lists L1, L2.
[0054] According to certain preferred embodiments, the first and second graph neural networks are Transformer neural networks. It is known in the prior art to implement this type of neural network on typescript images. In the context of the present invention, it has been surprisingly observed that when implemented not on an image of the minutiae, but on their coordinates, this type of network achieves similar or even superior performance in terms of contextual sequencing and encoding. It follows that, contrary to expectations, the coordinates of the minutiae, which constitute information a priori less rich than typescript images with regard to their topological relationships, are sufficient to benefit from the performance of a Transformer network while reducing its complexity, the amount of data to be processed, and the computational load.
[0055] According to advantageous embodiments, the first and second Transformer-type neural networks comprise a succession of at least 9 layers of attention mechanism (“Multi-Head Self-Attention”) alternating with a multi-layer perceptron-type neural network (“Multi-Layer Perceptron”), and are devoid of positional encoding. The absence of positional encoding allows for The method is made insensitive to the permutation of minutiae within the minutiae list. In other words, the order in which the tuples of each minutiae are arranged in a minutiae list does not affect the results of encoding that list. Multi-Head Self-Attention (MHA) layers are described in Vaswani, Ashish et al., Attention is all you need. Advances in neural information processing Systems, vol. 30, 2017. Preferably, the first and second graph neural networks have Transformer-type neural networks with an identical layer structure.
[0056] According to certain embodiments, the method further comprises, prior to step (a), a preliminary step of normalizing the coordinates of each minutiae in which the orientation angles are replaced by their sine and cosine values. In other words, the orientation angle value of each minutiae in the minutiae list is replaced by two values corresponding respectively to the sine and cosine of said angle, or to the cosine and sine of said angle. Such a normalization step is particularly advantageous in that it reduces the sensitivity of the graph neural network when transitioning, between two or more minutiae, from an orientation angle of 359° to 0°. In the specific context of encoding a minutiae list, the accuracy and reliability of inference in the inference matrix are significantly improved.
[0057] In the case where the coordinates of a minutiae are represented as a tuple or a vector, this preliminary normalization step results in a change in the dimension of said tuple or vector, and therefore in the dimension O of the space E. By way of illustrative example, for a list of the coordinates of a minutiae represented as a tuple or a vector of dimension (1,3) comprising the abscissa and ordinate of the minutiae in a Cartesian coordinate system X, Y of the typewriter and the orientation angle of the crest at the minutiae with respect to the horizontal axis of the abscissas, after this normalization step, this tuple or vector becomes a tuple or a vector of dimension (1,4). The dimension O of the space E is then equal to four. Among the four dimensions in column, the first two correspond to the abscissa and ordinate of the minutiae in the Cartesian coordinate system X, Y of the typewriter, and the third and fourth correspond to the sine, resp.cosine, and to the cosine, resp. sine, of the orientation angle.
[0058] The method according to the first aspect of the invention is implemented by computer. With reference to [Fig. 4], in a second aspect of the invention, a data processing device 4000 is provided, comprising means for implementing a method 2000 according to any one of the embodiments of the first aspect of the invention.
[0059] An example of a device may be one designed to automatically execute sequences of arithmetic or logical operations to perform tasks or actions. This device, also called a computer, may include one or more central processing units (CPUs) and / or one or more graphics processing units (GPUs) 4001, as well as at least one control device adapted to perform these operations. It may also include other electronic components such as input / output interfaces 4002, non-volatile or volatile storage devices 4003, and communication buses for transferring data between internal components of the device or with external components. One of the input / output devices 4002 may be a user interface for human-machine interaction, for example, a graphical user interface for displaying human-understandable information.
[0060] According to a third aspect of the invention, a computer program 14003 is provided comprising instructions which, when the program is executed by a computer, lead the latter to implement a method 2000 according to any one of the embodiments of the first aspect of the invention.
[0061] Any type of programming language, compiled or interpreted, can be used to implement the steps of the method of the invention. The computer program may be part of a software solution, that is to say, a collection of executable instructions, code, scripts or other elements, and / or databases.
[0062] According to a fourth aspect of the invention, a computer-readable recording medium 4003 is provided 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.
[0063] The computer-readable recording medium 4003 is preferably non-volatile memory, for example a hard disk drive or a solid-state drive. It may be removable storage media or non-removable storage media that is part of a computer.
[0064] The computer-readable recording medium 4003 can also be volatile memory within a removable medium. This can facilitate the deployment of the invention at numerous production sites.
[0065] The computer-readable recording medium 4003 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 in this document.
[0066] The computer program 14003 and the storage medium 4003 on which it is recorded can be implemented in a distributed computing environment, for example Cloud computing. Instructions can be executed on a server to which one or more client computers can connect and provide encoded data as input to a method according to any of the embodiments of the first aspect of the invention. Once the data has been processed, the result can be downloaded and decoded on the client computer or sent directly, for example, in the form of instructions.
[0067] According to a fifth aspect of the invention, a system for comparing two typescripts from lists of their minutiae is provided, said system comprises: - a storage medium on which is recorded a database containing the coordinates associated with each minutiae of a list of minutiae of each of the typescripts of a set comprising at least one candidate typescript; - a data processing device, for example a computer, according to any embodiment of the second aspect of the invention, and configured to communicate with the storage medium.
[0068] According to some embodiments, the system further includes a device for acquiring an image of a typescript, the device configured to extract the coordinates of a list of minutiae from the image of a typescript that can be obtained by said device.
[0069] The acquisition device is of any suitable type. Non-limiting examples of acquisition devices are described in US 2012 014569 A1, IB KOREA LTD [KR], 19.01.2012 and US 2017 046554 A1, NEC CORP [JP], 16.02.2017.
[0070] Extracting the coordinates of a minutiae list from a fingerprint image 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 readily adapted for implementing these methods, in particular through their own data processing unit or the addition of a dedicated data processing unit. Example
[0071] In one embodiment, the method for comparing two typescripts based on their minutiae lists takes a first source matrix MSI of the coordinates of each minutia of a first list L1 of 'n' minutiae of a first typescript in a 4-dimensional space E and a second source matrix MS2 of the coordinates of each minutia of a second list L2 of 'm' minutiae of a second typescript in a 4-dimensional space E. It comprises the following steps: (a) project each of the two source matrices MSI of dimension (n,4) and MS2 of dimension (m,4) using a projection matrix of dimension (4,128) previously optimized (trained) to form the projected matrices MPI, MP2 of dimension (n, 128) and (m,128) respectively; (b) infer two inference matrices MF1, MF2 respectively of dimensions (n, 128) and (m, 128), by application, on the projected matrices MPI, MP2, of a previously trained Transformer type graph neural network; (c) concatenate each of the inference matrices MF1 and MF2 with a vector VI, V2 of coordinates of a dummy minutia of dimension (1,128) to form respectively enriched inference matrices MFE1, MFE2 of dimension (n+1, 128) and (m+1, 128) respectively; (e) encode the intermediate matrix MI into an encoding matrix ME of dimension (n+m+2, 128) by applying a second previously trained Transformer-type graph neural network; (f) aggregate the values of the intermediate matrix by an arithmetic mean, for each of the 128 dimensions to form a fixed-size vector VE (1, 128); (g) convert the fixed-size vector VE into a scalar number S using a one-dimensional (128,1) projection matrix followed by the application of a sigmoid probability function, the scalar number having a value between 0 and 1.
[0072] The first and second Transformer-type graph neural networks comprise a succession of 9 layers of the attention mechanism type (“Multi-Head Self-Attention”) alternating with a multi-layer perceptron neural network (“Multi-Layer Perceptron”), and are devoid of positional encoding. This type of structure is described in Section 3.1 and illustrated in [Fig. 1] of the article VASWANI, Ashish et al. Attention is all you need. Advances in neural information Processing Systems, vol. 30, 2017.
[0073] The first graph neural network is trained using an identity-based supervised learning method. The second neural network is trained using a pairwise comparison supervised learning method. The projection matrix is trained using a gradient descent learning method. The training set consists of minutiae lists of approximately 1,800,000 typescript images, in which there are at least six different images of the same typescript. In other words, the training set comprises minutiae lists of six images from 300,000 different typescripts.
[0074] The performance of the method was evaluated by comparing several typescripts from a database of minutiae lists from a plurality of typescripts. The results of the evaluation are shown in Fig. Figure 6 represents 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⁻²) of false positives (FAR), the false negative rate (FRR) is only 2.5%. Such a rate makes the method particularly advantageous for use as a second step in the accurate comparison of a fingerprint among a set of candidate fingerprints that have previously undergone a first screening step in an automated identification process. References Literature patent
[0075] US 2012 014569 Al, IB KOREA LTD [KR], 01.19.2012.
[0076] US 2017 046554 Al, NEC CORP [JP], 02 / 16 / 2017. Non-patent literature
[0077] F. Galton, Fingerprint Directories. London, MacMillan & Co, 1895.
[0078] Henry Faulds, Guide to fingerprint Identification, Tokyo, Hanley, 1905.
[0079] E. Henry, Classification and uses of finger prints, published by his majesty’s stationery office, London, 1913.
[0080] ISO / IEC 19794-2:2005, Information Technology—Biométrie Data Interchange Formats—Part 2: Finger Minutiae Data, 2005.
[0081] B ANS AL, Roli, SEHGAL, Priti, et BEDI, Punam. Minutiae extraction from fingerprint images-a review. arXiv preprint arXiv: 1201.1422, 2011.
[0082] 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.
[0083] VASWANI, Ashish, SHAZEER, Noam, PARMAR, Niki, et al. Attention is ail you need. Advances in neural information processing Systems, vol. 30, 2017.
[0084] 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.
[0085] GROSZ, Steven A., ENGELSMA, Joshua J., RANJAN, Rajeev, et al. Minutiae-guided fingerprint embeddings via vision transformers. arXiv preprint arXiv:2210.13994, 2022.
[0086] 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.
[0087] 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
1. Demands Method (2000) implemented by computer, for comparing two typescripts from lists of their minutiae, said method takes, as input data, a first source matrix MSI of the coordinates of each minutia of a first list L1 of 'n' minutiae of a first typescript in an E of O dimension space and a second source matrix MS2 of the coordinates of each minutia of a second list L2 of 'm' minutiae of a second typescript in an E of O dimension space, and provides, as output data, a correspondence score between the two lists L1, L2 of minutiae, method 2000 comprises the following steps: (a) project (2001) each of the two source matrices MSI, MS2 into a P-dimensional space G, the number of dimensions P of the space G being greater than the number of dimensions O of the coordinate space E of each minutiae, said projection being carried out using a projection model Proj, the projection model Proj being previously trained to form, from the source matrices MSI, MS2, the projected matrices MPI, MP2 of dimension (n, p) and (m,p) respectively; (b) infer (2002) two inference matrices MF1, MF2 respectively of dimensions (n, p) and (m, p), by application, on the projected matrices MPI, MP2, of a previously trained graph neural network; (c) concatenate (2003) each of the inference matrices MF1 and MF2 with a vector VI, V2 of coordinates of a dummy minutia to form respectively enriched inference matrices MFE1, MFE2 of dimension (n+1, p) and (m+l,p) respectively; (d) concatenate (2004) the two enriched inference matrices MFE1, MFE2 into an intermediate matrix MI of dimension (n+m+2, p); (e) encode (2005) the intermediate matrix MI into an encoding matrix ME of dimension (n+m+2,p) by applying a second previously trained graph neural network; (f) aggregate (2006) the values of the intermediate matrix into a fixed-size vector VE (1, p) using a previously trained aggregation model; (g) convert (2007) the fixed-size vector VE into a scalar number S using a conversion model, said scalar number is the matching score between the two lists L1, L2 of minutiae.
2. Method (2000) according to claim 1, wherein the first and second graph neural networks are Transformer type neural networks.
3. Method (2000) according to claim 2, wherein the first and second Transformer-type neural networks comprise a succession of at least 9 layers of attention mechanism type alternating with a multilayer perceptron-type neural network, and is devoid of positional encoding.
4. Method according to any one of claims 1 to 3, wherein the aggregation model is an arithmetic mean, for each dimension P of the space G, of the values of the intermediate matrix MI.
5. Method (2000) according to any one of claims 1 to 4, wherein the space E is of dimension 3 and the coordinates of the minutiae correspond respectively to the values of its abscissa, its ordinate and its angle of orientation in the (X, Y) frame of the typewriter.
6. Method (2000) according to any one of claims 1 to 5, further comprising, prior to step (a), a preliminary step of normalizing the coordinates of each minutiae in which the orientation angles are replaced by the values of their sine and cosine.
7. Method (2000) according to any one of claims 1 to 6, wherein the projection model Proj is a projection matrix MP to a space G of arbitrary number P of dimensions, preferably to a space G of arbitrary dimension P of at least 32 times the dimensions O of the coordinate space E of each minutia.
8. Method (2000) according to any one of claims 1 to 7, wherein the conversion model includes a sigmoid type probability function.
9. Data processing device (4000) comprising means for implementing the method according to any one of claims 1 to 8.
10. Computer program (14003) comprising instructions which, when the program is executed by a computer, cause the computer to implement the method according to any one of claims 1 to 8.
11. Computer-readable recording medium (4003) comprising instructions which, when executed by a computer, cause the computer to implement the method according to any one of claims 1 to 8.
12. A system for comparing two typescripts from lists of their minutiae, said system comprises: - a storage medium on which is recorded a database containing the coordinates associated with each minutia of a list of minutiae of each of the typescripts of a set comprising at least one candidate typescript; - a data processing device according to claim 9 and configured to communicate with the storage medium.
13. System according to claim 12 further comprising a device for acquiring an image of a typescript and wherein the device is further configured to extract the coordinates of a list of minutiae from the image of a typescript which can be obtained using said acquisition device.