Method of comparing two fingerprints

The method projects minutiae coordinates into higher dimensions, using graph neural networks to encode and compare fingerprints without images, addressing interoperability and efficiency issues in fingerprint identification.

JP2025130067APending Publication Date: 2025-09-05アイデミアパブリックセキュリティフランス
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025029455
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-26
Filing Date
2025-02-26
Publication Date
2025-09-05

AI Technical Summary

Technical Problem

Existing fingerprint identification methods require fingerprint images, which are not always available in databases, leading to interoperability issues and inefficiencies, especially with older databases containing only minutiae, and methods based on minutiae graphs struggle with identifying a single fingerprint from a set of candidates.

Method used

A method that projects minutiae coordinates into a higher-dimensional space using pre-trained models, applies graph neural networks to infer and encode these coordinates, and aggregates them into a scalar match score, enabling comparison of fingerprints without images and improving database interoperability.

Benefits of technology

The method allows for efficient fingerprint comparison across databases with varying minutiae counts, reducing computational time and statistical noise, and enhancing accuracy by using transformer neural networks on minutiae coordinates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025130067000001_ABST
    Figure 2025130067000001_ABST
Patent Text Reader

Abstract

To provide a method and system for comparing two fingerprints on the basis of lists of their feature points.SOLUTION: In the method, a first source matrix MS1 of coordinates of respective feature points in a first list L1 of feature points of a first fingerprint and a second source matrix MS2 of coordinates of respective feature points in a second list L2 of feature points of a second fingerprint are received as input data, and scores relating to matching between two lists L1 and L2 of the feature points are supplied as output data.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a method and system for comparing two fingerprints based on their minutiae lists. [Background technology]

[0002] Fingerprint identification, also known as "fingerprint" and / or "palmprint", is a method of identifying individuals based on the use of fingerprints. This method is used in particular by forensic anthropometric services or civil identification systems, for example in administrative procedures, when crossing borders or accessing secure locations.

[0003] A fingerprint is a pattern formed by the impressions left on a surface by the dermatoglyphs of the fingers and / or palms of the hand. Dermatoglyphs are surface grooves formed on the palms, soles, and fingertips by skin ridges, arranged in lines or whorls. Dermatoglyphs are unique to each individual, and the pattern they form constitutes an anthropometric "identification card" for that individual by which they can be identified.

[0004] Unlike authentication, which compares a fingerprint acquired for an individual with a single or very limited number of reference fingerprints (1:1), identifying an individual based on a fingerprint requires comparing this fingerprint with a large number of other fingerprints previously acquired from multiple individuals (1:N) and typically stored in a database. Because fingerprints are patterns with complex characteristics, and the number of comparisons required during identification can be very large, the identification task can take even longer, despite the computational resources of currently available data processing devices. To reduce the time required to perform this task, it is commonly known to classify fingerprints into different classes based on specific morphological features of the dermatoglyph. By way of example, these morphological features can be, in particular, the general shape of the dermatoglyph (orientation of loops, arcs, whorls, etc.) according to the categories of Henry Faulds, Francis Galton, and Edward Henry, the overall contour of the ridge, "miniature points" consisting of singular points along the ridge (termination points of ridges, bifurcations, etc.), the shape of ridges, pits, or even scars.

[0005] Among these morphological features, minutiae are of particular interest because, due to their uniqueness, comparison of minutiae between fingerprints contributes to the probative value of any identification attempt. For example, according to Balthazar's rule, 17 or 18 common minutiae are sufficient to prove a match between two fingerprints, or according to Locard's rule, fingerprint authentication is achieved if the two fingerprints show no differences 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 does not have a normative or restrictive character. There are other combinations of categories, and thus minutiae are generally taken to mean any singularity and / or any discontinuity that exists along a dermatoglyph ridge.

[0007] Minutiae are generally represented in the form of coordinates in three-dimensional space and stored in a database, as described in particular in (Non-Patent Document 1). The first two dimensions correspond to the abscissa and ordinate, respectively, of the minutiae in the fingerprint's reference system. The third dimension corresponds to the azimuth angle of the minutiae relative to the horizontal axis of this same reference system. Thus, unlike fingerprints stored in the form of an image, computerized storage of minutiae in this form requires less memory space. Furthermore, this allows for better database interoperability and reduces computation times during identification or authentication tasks.

[0008] All of these advantages contribute to minutiae being adopted as the first choice feature when processing fingerprints for the purpose of generating biometric databases, in that the databases are often the only data available. In other words, in these databases, images of fingerprints are not stored, but only the geometric coordinates of the points that make up the minutiae.

[0009] Methods and systems for identifying fingerprints can be manual, semi-automatic or fully automatic. As the size of databases and the computing power of data processing devices are constantly increasing, Automated Fingerprint Identification Systems (AFIS) based on the use of minutiae are becoming more and more used. Automated Fingerprint Identification Systems allow the owner to quickly and efficiently analyze a list of candidate fingerprints that are likely to correspond to the fingerprint to be identified.

[0010] The automated identification methods implemented by this type of system generally involve two main steps: the first involves the use of one or more screening algorithms that can quickly eliminate candidate fingerprints that share the fewest common features with the fingerprint whose owner is being identified; and the second step involves one or more algorithms, usually slower and more accurate, that compare said fingerprint with the remaining candidate fingerprints to establish a list of best matches.

[0011] Among the automatic identification methods, those based on the implementation of neural networks generally require a preliminary step of encoding the fingerprint, provided in the form of an image, a list of minutiae, or a combination thereof. In this encoding step, relevant identifying features of the fingerprint are extracted, selected, and then transcribed into instructions that are decipherable by a data processing device (e.g., a computer) and suitable for being subjected to calculations and / or combination operations. The encoding step is often an integral part of the identification method.

[0012] (Non-Patent Document 2) describes a method for encoding fingerprints based on their minutiae. In a first step, the method encodes each minutiae of each of a number of candidate fingerprints into a graph representing topological relationships. In a second step, each fingerprint is encoded as a graph representing the correlation structure between nearest neighbor fingerprints based on the graph for each of the fingerprint's minutiae. This encoding is achieved using a graph neural network (GNN) implemented on fingerprints provided in the form of an image, and minutiae are extracted using a pre-encoder. The graph takes the form of a vector.

[0013] The use of the method as a means of identification is limited. In fact, the method is only suitable for identifying a set of fingerprints containing several fingerprints to be identified. Each fingerprint must be pre-encoded as a graph using the same nearest neighbor technique before it can be compared to each candidate fingerprint by a criterion applied to the vector product of the vectors representing the graph. In other words, the method is not suitable for identifying a single and unique fingerprint provided as input data.

[0014] (Non-Patent Document 3) describes a method for encoding fingerprint images in the form of fixed-size vectors. First, feature points in each fingerprint image are extracted and represented in the form of a two-channel heat map. Then, each heat map channel and the corresponding fingerprint image are concatenated together, flattened, and fed as input data to a Vision Transformer neural network (e.g., as described in (Non-Patent Document 4)). Identification of one fingerprint from a set of candidate fingerprints is achieved by comparing the encoded vectors, and the results are combined with fingerprints from an identification method based on a convolutional neural network.

[0015] (Non-Patent Document 5) describes a method for encoding fingerprint images using a convolutional neural network based on the convolutional transformer technique. The method can encode a global representation of the fingerprint, predict a list of minutiae, and encode local representations of the predicted list of minutiae. Identification of one fingerprint from a set of candidate fingerprints is performed in a number of conditional steps. First, the global representations of the fingerprint images are compared. If the global similarity score is higher than a threshold, identification is validated. If the global similarity score is lower than a threshold, a local similarity score is calculated based on a comparison of the local representations based on the minutiae. Then, an average score is set between the global and local similarity scores. [Prior art documents] [Patent documents]

[0016] [Patent Document 1] US Patent Application Publication No. 2012 014569A1 [Patent Document 2] U.S. Patent Application Publication No. 2017-046554A1

Non-licensed literature

[0017]

Non-patent document 1

Non-patent document 2

Non-patent document 3

Non-patent document 4

Non-patented document 5

Non-patent document 6

[0018] A first drawback of methods for identifying fingerprints based on fingerprint images is that they require images of fingerprints to be available in an existing database. However, existing databases may not contain images of these fingerprints for storage reasons or by choice. These methods are particularly unsuitable for older databases where only minutiae are available.

[0019] A second drawback of these image methods is their lack of interoperability. Because the methods are based on images, they may require a specific format and / or specific image quality. However, the format and image quality of fingerprints in existing databases may vary from one database to another. Therefore, to be viable, these methods may require specific adaptations depending on the specific characteristics of each database, further reducing interoperability between these databases.

[0020] One drawback of methods for identifying fingerprints based on fingerprint minutiae encoded in a graph representing the topological relationships of the minutiae is that they cannot overcome the challenge of identifying a single and unique fingerprint from a set of candidate fingerprints. Furthermore, these methods require more or less arbitrary selection from a set of nearest neighbor possibilities in order to build a correlation structure between fingerprints based on the fingerprint minutiae graph. However, since the possibility space is almost infinite, making such a selection necessarily means ignoring certain solutions that may prove to be optimal.

[0021] Therefore, there is a further need for improved methods for identifying fingerprints, and more particularly for comparing fingerprints pairwise based on fingerprint minutiae, in order to not only reduce computational time during identification tasks, but also ensure better interoperability of databases. In particular, there is a need for a method for identifying fingerprints that can operate with any type of database containing a list of minutiae, and / or in systems with limited storage capacity and / or computational resources. [Means for solving the problem]

[0022] According to a first aspect of the present invention, there is provided a computer-implemented method for comparing two fingerprints based on their lists of minutiae, the method taking as input a first source matrix MS1 of coordinates of minutiae in a first list L1 of "n" minutiae of a first fingerprint in an O-dimensional space E, and a second source matrix MS2 of coordinates of minutiae in a second list L2 of "m" minutiae of a second fingerprint in an O-dimensional space E, and providing as output a score for a match between the two lists L1, L2 of minutiae; (a) projecting each of two source matrices MS1, MS2 into a P-dimensional space G, where the number of dimensions P of the space G is greater than the number of dimensions O of the space E of coordinates of each feature point, and the projection is performed using a projection model Proj, which is pre-trained to form projection matrices MP1, MP2 of dimensions (n, p) and (m, p) from the source matrices MS1, MS2, respectively; (b) inferring two inference matrices MF1, MF2 of dimensions (n+1, p) and (m+1, p) by applying a pre-trained graph neural network to the projection matrices MP1, MP2, respectively; (c) concatenating each of the inference matrices MF1 and MF2 with vectors V1, V2 of coordinates of dummy feature points to form reinforced inference matrices MFE1, MFE2 of dimensions (n+1, p) and (m+1, p), respectively; (d) concatenating the two reinforcement inference matrices MFE1, MFE2 into an intermediate matrix MI of dimension (n+m+2, p); (e) encoding the intermediate matrix MI into an encoding matrix ME of dimension (n+m+2, p) by applying a second pre-trained graph neural network; (f) aggregating the values ​​of the intermediate matrix into a vector VE of fixed size (1, p) using a pre-trained aggregation model; (g) using a transformation model to transform the fixed size vector V E into a scalar number S, the scalar number being a score for a match between the two lists L1, L2 of feature points; A computer-implemented method is provided, comprising:

[0023] Advantageous embodiments are described below.

[0024] According to a second aspect of the present invention there is provided a data processing device comprising means for carrying out the method according to any one of the embodiments of the first aspect of the present invention.

[0025] According to a third aspect of the present invention there is provided a computer program comprising instructions which, when the program is run by a computer, cause the computer to perform a method according to any one of the embodiments of the first aspect of the present invention.

[0026] According to a fourth aspect of the present invention, there is provided a storage medium containing instructions which, when executed by a computer, cause the computer to perform a method according to any one of the embodiments of the first aspect of the present invention.

[0027] According to a fifth aspect of the present invention, there is provided a system for comparing two fingerprints based on their minutiae lists.

[0028] advantage A first advantage of the present invention is that fingerprint identification or authentication does not require an image of the fingerprint. Thus, the first advantage can be used with any fingerprint database that contains a list of minutiae. In particular, the first advantage can be used with older databases that do not contain images of fingerprints and more recent databases that contain images from which minutiae can be extracted.

[0029] A second advantage of the present invention is the possibility to compare pairs of fingerprints that differ in the number of minutiae available for each fingerprint. As a result, the method can be performed simultaneously on different databases containing different numbers of minutiae and / or different sizes of minutiae lists within the same database. This improves database interoperability in terms of database usage, including between older databases that do not contain images of fingerprints and more recent databases that contain images from which minutiae can be extracted.

[0030] A third advantage of the present invention is that it is not affected by the number and order of feature points in the list of feature points provided as input data, reducing statistical noise and making the results of the classification task more accurate. [Brief explanation of the drawings]

[0031] [Figure 1] FIG. 2 is a graphical representation of an example list of fingerprint minutiae for a finger. [Figure 2] 1 is a flowchart of a method according to a first aspect of the present invention; [Figure 3] FIG. 1 is a schematic diagram of a list of feature points in the form of a source matrix. [Figure 4]FIG. 3 is a diagram of a data processing device according to a second embodiment of the present invention; [Figure 5] FIG. 1 is a graphical illustration of false rejection rate (FRR) as a function of false acceptance rate (FAR) when comparing lists of encoded minutiae according to an exemplary embodiment of the present invention; DETAILED DESCRIPTION OF THE INVENTION

[0032] Referring to Figure 1, a finger fingerprint 1001 is the pattern formed by the impressions left on a surface by the finger's dermatoglyphics. The figure shows the curvatures of the papillae or epidermal fold grooves 1001a and ridges 1001b present at the tip of the finger. These curvatures typically form lines, loops, and whorls.

[0033] Minutiae 1002 are singularities and / or discontinuities that occur along ridges. In Figure 1, minutiae are represented by circles 1003 with line segments 1004. In the left part of Figure 1, minutiae are superimposed on an image of a fingerprint 1001. In the right part, minutiae are grouped in the form of a cloud without an image of the fingerprint.

[0034] The feature points can be, for example, forks (e.g., right or left forks), lakes and bridges or termini (e.g., right or left termini), islands and hooks, etc. Furthermore, the feature points can be combinations of these various types.

[0035] According to (Non-Patent Document 1), it is common to use a three (1, 3) dimensional tuple or vector to refer to each minutia 1002 via its coordinates in three-dimensional space. The first two dimensions of this tuple are the abscissa and ordinate of the singular point representing minutia 1002 in the Cartesian reference system X, Y of the fingerprint 1001, and the third dimension is the azimuth angle of the ridge at the minutia relative to the horizontal abscissa X. In Figure 1, the abscissa and ordinate of each minutia are represented by a circle 1003, and the azimuth angle is represented by a line segment 1004 associated with this circle.

[0036] Referring to FIG. 2, according to a first aspect of the present invention, there is provided a computer-implemented method 2000 for comparing two fingerprints based on their lists of minutiae, the method taking as input a first source matrix MS1 of coordinates of each minutiae in a first list L1 of “n” minutiae in an O-dimensional space E of a first fingerprint and a second source matrix MS2 of coordinates of each minutiae in a second list L2 of “m” minutiae in an O-dimensional space E of a second fingerprint 1001, and providing as output a score for a match between the two lists L1, L2 of minutiae; (a) Step 2001: projecting each of two source matrices MS1 and MS2 into a P-dimensional space G, where the number of dimensions P of the space G is greater than the number of dimensions O of the space E of coordinates of each feature point, and the projection is performed using a projection model Proj, which is pre-trained to form projection matrices MP1 and MP2 of dimensions (n, p) and (m, p) from the source matrices MS1 and MS2, respectively; (b) step 2002 of inferring two inference matrices MF1, MF2 of dimensions (n, p) and (m, p) respectively by applying a pre-trained graph neural network to the projection matrices MP1, MP2; (c) step 2003 of concatenating each of the inference matrices MF1 and MF2 with vectors V1, V2 of coordinates of dummy feature points to form reinforced inference matrices MFE1, MFE2 of dimensions (n+1, p) and (m+1, p) respectively; (d) a step 2004 of concatenating the two reinforcement inference matrices MFE1, MFE2 into an intermediate matrix MI of dimension (n+m+2, p); (e) a step 2005 of encoding the intermediate matrix MI into an encoding matrix ME of dimension (n+m+2, p) by applying a second pre-trained graph neural network; (f) Step 2006 of aggregating the values ​​of the intermediate matrix into a vector VE of fixed size (1, p) using a pre-trained aggregation model; (g) Step 2007: Using a transformation model, transform the fixed size vector VE into a scalar number S, which is a score for a match between the two lists L1, L2 of feature points. A computer-implemented method 2000 is provided, comprising:

[0037] In the context of the present invention, "graph neural network" (GNN) shall mean a graph neural network as defined in the fields of statistics or machine learning, in particular a neural network based on the use of feature vectors (embeddings) that encode the properties of each node (node ​​embedding) and each edge (edge ​​embedding) as information representable in the form of a graph.

[0038] In the context of the present invention, "coordinates of each feature point" shall mean coordinates in any reference system or format that can characterize at least the position and orientation of each feature point in the O-dimensional space E. This interpretation includes both the reference system or format described in (Non-Patent Document 1) and any other system or format with equivalent functionality that may differ.

[0039] According to one preferred embodiment, the space E is three-dimensional (O=3), and the coordinates of a minutia correspond to the values ​​of the abscissa of the minutia, the ordinate of the minutia, and the orientation angle of the minutia in the fingerprint reference frame (X, Y), respectively. The coordinate m of a minutia can be expressed in the form of a tuple or vector of dimension (1, 3) in the three-dimensional space (O=3). These coordinates include the abscissa and ordinate of the minutia in the fingerprint Cartesian reference frame X, Y, and the orientation angle of the ridge at the minutia relative to the horizontal axis.

[0040] For example, based on the standard format described in (Non-Patent Document 1), and referring to Fig. 3, a list L1 of "n" feature points and a list L2 of "m" feature points can be represented in the form of a source matrix MS1 of dimension (n, 3) and a source matrix MS2 of dimension (m, 3), respectively, by concatenating a vector of dimension (1, 3), where the columns represent the abscissa "x", ordinate "y", and azimuth angle "α" of the feature point. In Fig. 3, in the case of "n" feature points, the values ​​of the abscissa, ordinate, and angle of each feature point are vertically concatenated to form n rows of the source matrix MS1.

[0041] The array of values ​​can be transposed in an equivalent way, with the abscissa, ordinate and angle values ​​of each feature point concatenated horizontally to form n columns of the source matrix. For simplicity, the remainder of this specification will simply describe the arrangement of the abscissa, ordinate and angle values ​​of each feature point in columns to form n rows of the source matrix. A simple transpose operation can change from one array to the other.

[0042] In step (a), each of the two source matrices MS1 and MS2 is subjected to a projection 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 space E of coordinates of each feature point. This projection is performed using a projection model Proj that has been pre-trained to form projection matrices MP1 and MP2 of dimensions (n, p) and (m, p), respectively. Information about the feature point coordinates can be enriched with new dimensions that later serve as support for the information inferred in steps (b) and (d) of the inference performed by the graph neural network. The nature of the inferred information is determined during the training of the projection model and the training of the graph neural network. For example, this additional information can be specific topological relationships or correlation structures between feature points after training.

[0043] According to some embodiments, the projection model Proj is a projection matrix MP into a space G having an arbitrary number of dimensions P, preferably a space G having an arbitrary dimension P that is at least 32 times the dimension O of the space E of the coordinates of each feature point. Proceeding from the previous example of two source matrices MS1 and MS2 having dimensions (n, 3) and (m, 3), respectively, the projection model Proj can be a projection matrix of dimensions (3, 128) that can project the source matrices into a space G having a dimension P that is at least 32 times the dimension O=3 of the space E of the coordinates of the feature points 1002. The projection matrix MP obtained by applying the projection matrix to the source matrix via simple matrix calculation has dimensions (n, 128). It should be emphasized that for this example and more generally, the dimension of the projection matrix does not depend on the number of feature points in the source matrix.

[0044] In step (b), the two projection matrices MP1 and MP2 are provided as input data to a first pre-trained graph neural network to infer inference matrices MF1 and MF2, respectively. The graph neural network and the training method for the graph neural network may be of any suitable type. The training method may be, in particular, unsupervised learning, supervised learning, or self-supervised learning, or a combination thereof. In particular, the training method may be "discriminative" supervised learning, in which the graph neural network is trained to self-identify or classify each list of feature points in the training set. In other words, each list of feature points in the training set is considered to be a unique identity or class during training. The inference step (b) may be performed sequentially or simultaneously on each projection matrix MP1 and MP2.

[0045] In step (c), each of the two inference matrices MF1 and MF2 is concatenated to vectors V1 and V2 of the coordinates of the dummy feature point MF of dimension (1, p). Continuing from the previous example, by concatenating the inference matrix MF1 to the vector V1 of the coordinates of the dummy feature point of dimension (1, 128), an enhanced inference matrix MFE1 of dimension (n+1, 128) can be obtained, and by concatenating the inference matrix MF2 to the vector V2 of the coordinates of the dummy feature point of dimension (1, 128), an enhanced inference matrix MFE2 of dimension (m+1, 128) can be obtained.

[0046] The vectors V1, V2 of the coordinates of the dummy feature points function as classification tokens, as is often used in graph neural networks (especially transformer graph neural networks). In this regard, see the articles by (Non-Patent Document 4) and (Non-Patent Document 6).

[0047] In step (d), the two reinforcement inference matrices MFE1, MFE2 are concatenated into a single intermediate matrix MI of dimension (n+m+2, p). Proceeding from the previous example, for two reinforcement inference matrices of dimensions (n+1, 128) and (m+1, 128) respectively, the concatenation is performed vertically to obtain an intermediate matrix of dimension (n+m+2, 128).

[0048] In step (e), the intermediate matrix M i is encoded. The intermediate matrix M i is supplied as input data to a second graph neural network that has been pre-trained to calculate the encoding matrix M e. The second graph neural network and the training method for the second graph neural network may be of any suitable type. The training method may be, in particular, unsupervised learning, supervised learning, or self-supervised learning, or a combination thereof. In particular, the training method may be supervised learning, which trains the graph neural network by minimizing a binary cross-entropy function in which a list of minutiae from two matching fingerprints forms a first class denoted by "1" and a list of minutiae from different fingerprints forms a second class denoted by "0".

[0049] In step (f), the pre-trained aggregation model is used to aggregate the values ​​of the intermediate matrix MI into a fixed-size encoded vector VE. Illustratively, proceeding from the example of an intermediate matrix of dimensions (n+1, 128) above, this aggregation is to reduce said matrix to one row to form a fixed-size vector of dimensions (1, 128).

[0050] According to some embodiments, the aggregate model is the arithmetic mean of the values ​​of the intermediate matrix M i for each dimension P of the space G. By way of illustration, and referring to Figure 4, proceeding from the previous example of an intermediate matrix M i of dimension (n+m+2, 128), each column corresponds to one of the P dimensions of the space G. Then, the arithmetic mean of the column values ​​is taken for each of the 128 columns.

[0051] In step (g), the fixed-size encoding vector VE of dimension (1, p) is converted into a scalar number (of dimension (1, 1)) using a transformation model. The transformation model may be of any suitable type. One example of a transformation model may be a projection matrix from dimension (p, 1) to dimension (1, 1), where the result of the projection is a scalar.

[0052] According to some preferred embodiments, the transformation model includes a sigmoid probability function that transforms the scalar into a second scalar between 0 and 1. The second scalar is expressed as a probability level and represents a score for a match between the two lists L1, L2 of feature points. A score close to 1 corresponds to a high similarity between the two lists L1, L2, and a score close to 0 corresponds to a high dissimilarity between the two lists L1, L2.

[0053] According to some preferred embodiments, the first and second graph neural networks are Transformer neural networks. Implementing this type of neuron on fingerprint images is known from the prior art. In the context of the present invention, it has surprisingly been found that this type of network achieves similar or even better performance in terms of context ordering and encoding when implemented on minutiae coordinates rather than on minutiae images. Consequently, contrary to expectations, the minutiae coordinates, which constitute less a priori information about topological relationships than fingerprint images, are sufficient to benefit from the performance of Transformer networks, while simultaneously reducing the complexity, the amount of data processed, and the computational load.

[0054] According to some advantageous embodiments, the first and second Transformer neural networks include a series of at least nine multi-head self-attention layers alternating with multi-layer recognition neural networks and do not have positional coding. The absence of positional coding makes the method insensitive to permutations of feature points in the list of feature points. In other words, the order in which each feature point tuple is placed in the list of feature points does not affect the result of encoding the list. Multi-head self-attention layers are described in (Non-Patent Document 4). Preferably, the first and second graph neural networks comprise Transformer neural networks with identical layer structures.

[0055] According to some embodiments, the method further comprises, before step (a), a preliminary step of normalizing the coordinates of each feature point, whereby the azimuth angle is replaced by its sine and cosine values. In other words, the azimuth angle value of each feature point in the list of feature points is replaced by the sine and cosine of said azimuth angle or two values ​​corresponding to the cosine and sine of said azimuth angle, respectively. Such a normalization step is particularly advantageous in that it reduces the sensitivity of the graph neural network when there is a change in azimuth angle between 359° and 0° between two or more feature points. This significantly improves the accuracy and reliability during inference of the inference matrix, particularly in relation to encoding the list of feature points.

[0056] If the coordinates of a minutiae are expressed in the form of a tuple or vector, the pre-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 illustration, in the case of the coordinates of a minutiae expressed in the form of a tuple or vector of dimension (1, 3) comprising the abscissa and ordinate of the minutiae in the Cartesian reference system X, Y of the fingerprint and the azimuth angle of the ridge at the minutiae relative to the horizontal axis, at the end of this normalization step this tuple or this vector becomes a tuple or vector of dimension (1, 4). The dimension O of the space E is then equal to 4. Of the four dimensions in the column, the first two correspond to the abscissa and ordinate of the minutiae in the Cartesian reference system X, Y of the fingerprint, and the third and fourth dimensions correspond to the sine or cosine and cosine of the azimuth angle.

[0057] The method according to the first aspect of the invention is computer-implemented. Referring to Figure 4, in a second aspect of the invention there is provided a data processing device 4000 comprising means for performing the method 2000 according to any one of the embodiments of the first aspect of the invention.

[0058] One example of a device may be a device responsible for automatically performing a series of arithmetic or logical operations to perform a task or operation. This device, also referred to as a computer, may include one or more central processing units (CPUs) and / or one or more graphics processing units (GPUs) 4001 designed to perform these operations, as well as at least one control device. In addition, the device may include other electronic components, such as an input / output interface 4002, a non-volatile or volatile storage device 4003, and a communication bus for transferring data between internal components of the device or to external components. One of the input / output devices 4002 may be a user interface for human-machine interaction, such as a graphical user interface for displaying human-understandable information.

[0059] According to a third aspect of the present invention there is provided a computer program I4003 comprising instructions which, when the program is run by a computer, cause the computer to carry out the method 2000 according to any one of the embodiments of the first aspect of the present invention.

[0060] Any type of compiled or interpreted programming language may be used to implement the steps of the method of the invention. The computer program may form part of a software solution, i.e. a collection of executable instructions, code, scripts etc. and / or a database.

[0061] According to a fourth aspect of the present invention, there is provided a computer readable recording medium 4003 comprising instructions which, when executed by a computer, cause the computer to perform the method 2000 according to any one of the embodiments of the first aspect of the present invention.

[0062] Preferably, the computer-readable storage medium 4003 is a non-volatile memory, such as a hard disk or a semiconductor-based reader. The computer-readable storage medium 4003 may be a removable or non-removable storage medium that forms part of the computer.

[0063] Furthermore, the computer-readable storage medium 4003 may be a volatile memory in a removable medium, which can facilitate the deployment of the present invention across multiple production sites.

[0064] The computer-readable recording medium 4003 may form part of a computer used as a server that can download executable instructions that, when executed by the computer, cause the computer to perform a method according to any one of the embodiments described herein.

[0065] The computer program I4003 and the medium 4003 having the computer program I4003 recorded thereon may be implemented in a distributed computing environment (e.g., cloud computing). One or more client computers may connect and execute instructions on a server that provides data to be encoded as input data to the method according to any one of the embodiments of the first aspect of the present invention. Once the data has been processed, the results may be downloaded to the client computer and decoded there, or may be transmitted directly, for example in the form of instructions.

[0066] According to a fifth aspect of the present invention, there is provided a system for comparing two fingerprints based on their minutiae lists, comprising: - a storage medium on which is recorded a database containing coordinates associated with each minutiae in a list of minutiae for each fingerprint of a set including at least one candidate fingerprint; - a data processing device (e.g., a computer) according to any one of the embodiments of the second aspect of the present invention, the data processing device (e.g., a computer) being configured to communicate with a storage medium. A system is provided that includes:

[0067] According to some embodiments, the system further comprises a device for acquiring an image of the fingerprint, the device being configured to extract coordinates of the list of minutiae based on the image of the fingerprint that can be acquired by said device.

[0068] The acquisition device may be of any suitable type. Some non-limiting examples of acquisition devices are described in (Patent Document 1), IB KOREA LTD [KR], 01.19.2012 and (Patent Document 2), NEC CORP [JP], 02.16.2017.

[0069] It is common practice to extract the coordinates of a list of minutiae based on an image of a fingerprint. Some non-limiting examples of extraction methods are described in the articles (Non-Patent Document 7) and (Non-Patent Document 8). Acquisition devices from the prior art can easily be adapted to implement these methods, in particular through the addition of a respective or dedicated data processing unit. [Example]

[0070] In one exemplary embodiment, a method for comparing two fingerprints based on their lists of minutiae takes a first source matrix MS1 of coordinates of each minutiae in a first list L1 of "n" minutiae of a first fingerprint in a four-dimensional space E, and a second source matrix MS2 of coordinates of each minutiae in a second list L2 of "m" minutiae of a second fingerprint 1001 in a four-dimensional space E. The method includes: (a) projecting each of two source matrices MS1 and MS2 of dimensions (n, 4) and (m, 4) using a projection matrix of dimension (4, 128) that has been previously optimized (trained) to form projection matrices MP1, MP2 of dimensions (n, 128) and (m, 128), respectively; (b) inferring two inference matrices MF1, MF2 of dimensions (n, 128) and (m, 128), respectively, by applying a pre-trained Transformer Graph Neural Network to the projection matrices MP1, MP2; (c) concatenating each of the inference matrices MF1 and MF2 with vectors V1, V2 of coordinates of dummy feature points of dimension (1, 128) to form reinforced inference matrices MFE1, MFE2 of dimension (n+1, 128) and (m+1, 128), respectively; (d) encoding the intermediate matrix MI into an encoding matrix ME of dimension (n+m+2, 128) by applying a second pre-trained Transformer graph neural network; (e) aggregating the values ​​of the intermediate matrix using an arithmetic mean for each of the 128 dimensions to form a vector VE of fixed size (1, 128); (f) converting the fixed-size vector V E into a scalar number S by using a projection matrix of dimensions (128, 1) and then applying a sigmoid probability function, the scalar number having a value between 0 and 1; Includes:

[0071] The first and second Transformer graph neural networks contain a series of at least nine multi-head self-attention layers alternating with multi-layer recognition neural networks and have no positional coding. This type of structure is described in section 3.1 of the article (Non-Patent Document 4) and illustrated in Figure 1.

[0072] A "discriminative" supervised learning method is used to train the first graph neural network. A pairwise comparison supervised learning method is used to train the second neural network. A gradient descent learning method is used to train the projection matrix. The training set is a set containing minutiae lists for approximately 1.8 million images of fingerprints where there are at least six different images of the same fingerprint. In other words, the training set contains minutiae lists for six images of 300,000 different fingerprints.

[0073] The performance of the method was evaluated by performing a comparison of multiple fingerprints from a database of minutiae lists of multiple fingerprints. The results of the evaluation are shown in Figure 6, which shows the variation of the false rejection rate (FRR) as a function of the false acceptance rate (FAR). For a threshold corresponding to a false acceptance rate (FAR) of 0.01% (10-2), the false rejection rate (FRR) is only 2.5%. Such a rate value makes the method particularly advantageous for use as a second step in an automatic identification method for accurate comparison of fingerprints from a set of candidate fingerprints that have previously been subjected to a first screening step.

[0074] References Patent documents US Patent Application Publication No. 2012 014569A1, IB KOREA LTD [KR], 01.19.2012. U.S. Patent Application Publication No. 2017 046554A1, NEC CORP [JP], 02.16.2017. Non-patent literature F. Galton, Fingerprint Directories. London, MacMillan&Co, 1895. Henry Faulds, Guide to fingerprint Identification, Tokyo, Hanley, 1905. E. Henry, Classification and uses of finger prints, published by his majesty's stationery office, London, 1913. ISO / IEC 19794-2:2005,Information Technology-Biometric Data Interchange Formats-Part2:Finger Minutiae Data,2005. BANSAL,Roli,SEHGAL,Priti,and BEDI,Punam.Minutiae extraction from fingerprint images-a review.arXiv preprint arXiv:1201.1422,2011. MOHSEN,S.M.,FARHAN,S.M.,and HASHEM,M.M.A.Automatic Fingerprint Recognition Using Minutiae Matching Technique for the Large Fingerprint Database.arXiv preprint arXiv:1304.2109,2013. VASWANI,Ashish,SHAZEER,Noam,PARMAR,Niki,et al.Attention is all you need.Advances in neural information processing systems,vol.30,2017. DOSOVITSKIY,Alexey,BEYER,Lucas,KOLESNIKOV,Alexander,et al.An image is worth 16x16 words:Transformers for image recognition at scale.arXiv preprint arXiv:2010.11929,2020. GROSZ,Steven A.,ENGELSMA,Joshua J.,RANJAN,Rajeev,et al.Minutiae-guided fingerprint embeddings via vision transformers.arXiv preprint arXiv:2210.13994,2022. TANDON,Saraansh and NAMBOODIRI,Anoop. Transformer based fingerprint feature extraction.In:2022 26th International Conference on Pattern Recognition(ICPR).IEEE,p.870-876,2022. SU,Yapeng,ZHAO,Tong,and ZHANG,Zicheng.MRA-GNN:Minutiae Relation-Aware Model over Graph Neural Network for Fingerprint Embedding.arXiv preprint arXiv:2307.16416,2023. [Explanation of symbols]

[0075] 1001 Fingerprint 1001a Groove 1001b Ridge 1002 minutiae 1,003 yen 1004 line segments 2000 methods 4000 Data Processing Devices 4001 Graphics Processing Unit 4002 Input / Output Interface 4003 Computer-readable recording medium I4003 Computer Programming L1, L2 lists MF1, MF2 inference matrix MFE1, MFE2 reinforcement inference matrix MI intermediate matrix MP1, MP2 projection matrices MS1, MS2 source matrices

Claims

1. A computer-implemented method (2000) for comparing two fingerprints based on their lists of minutiae, taking as input a first source matrix MS1 of coordinates of each minutiae in a first list L1 of "n" minutiae of a first fingerprint in an O-dimensional space E, and a second source matrix MS2 of coordinates of each minutiae in a second list L2 of "m" minutiae of a second fingerprint in an O-dimensional space E, and providing as output a score for a match between the two lists L1, L2 of minutiae; (a) a step (2001) of projecting each of the two source matrices MS1, MS2 into a P-dimensional space G, where the number of dimensions P of the space G is greater than the number of dimensions O of the space E of the coordinates of each feature point, and the projection is performed using a projection model Proj, which is pre-trained to form projection matrices MP1, MP2 of dimensions (n, p) and (m, p) from the source matrices MS1, MS2, respectively; (b) inferring two inference matrices MF1, MF2 of dimensions (n, p) and (m, p), respectively, by applying a pre-trained graph neural network to the projection matrices MP1, MP2 (2002); (c) concatenating each of said inference matrices MF1 and MF2 with vectors V1, V2 of coordinates of dummy feature points to form reinforced inference matrices MFE1, MFE2 of dimensions (n+1, p) and (m+1, p), respectively (2003); (d) concatenating the two reinforcement inference matrices MFE1, MFE2 into an intermediate matrix MI of dimension (n+m+2, p) (2004); (e) encoding (2005) said intermediate matrix MI into an encoding matrix ME of dimension (n+m+2, p) by applying a second pre-trained graph neural network; (f) aggregating (2006) the values ​​of said intermediate matrix into a vector V of fixed size (1, p) using a pre-trained aggregation model; (g) using a transformation model to transform the fixed-size vector V into a scalar number S, the scalar number being the score for a match between the two lists L1, L2 of feature points; A computer-implemented method (2000) comprising:

2. 2. The method (2000) of claim 1, wherein the first and second graph neural networks are transformer neural networks.

3. 3. The method (2000) of claim 2, wherein the first and second Transformer neural networks include a series of at least nine multi-head self-attention layers alternating with multi-layer recognition neural networks and have no positional coding.

4. The method of claim 1 , wherein the aggregation model is such that, for each dimension P of the space G, it is the arithmetic mean of the values ​​of the intermediate matrix MI.

5. 2. The method (2000) of claim 1, wherein the space E is three-dimensional and the coordinates of the feature points correspond to the values ​​of its abscissa, its ordinate and its azimuth angle in the reference system (X, Y) of the fingerprint, respectively.

6. 2. The method (2000) of claim 1, further comprising, before step (a), a preliminary step of normalizing the coordinates of each feature point such that the azimuth angle is replaced by the values ​​of its sine and its cosine.

7. 2. The method (2000) of claim 1, wherein the projection model Proj is a projection matrix MP into a space G of any number of dimensions P, preferably of any dimension P at least 32 times the dimension O of the space E of the coordinates of each feature point.

8. The method (2000) of claim 1, wherein the transformation model comprises a sigmoid probability function.

9. A data processing device (4000) comprising means for carrying out the method according to any one of claims 1 to 8.

10. A computer program (I4003) comprising instructions that, when said program is executed by a computer, cause said computer to carry out the method according to any one of claims 1 to 8.

11. A computer-readable recording medium (4003) comprising instructions, which when executed by a computer, cause the computer to perform a method according to any one of claims 1 to 8.

12. 1. A system for comparing two fingerprints based on their minutiae lists, comprising: a storage medium on which is recorded a database containing coordinates associated with each minutiae in a list of minutiae for each fingerprint of a set comprising at least one candidate fingerprint; A data processing device according to claim 9, adapted to communicate with said storage medium. A system including:

13. 13. The system of claim 12, further comprising a device for capturing an image of a fingerprint, the device being further configured to extract the coordinates of a list of minutiae based on the image of the fingerprint that can be captured using the capturing device.

Citation Information

Patent Citations

  • IEC19794-2

  • Method and apparatus for slim type fingerprint recognition device

    US20120014569A1

  • Biometric collection device

    US20170046554A1