Method for extracting a fingerprint signature and device for implementing said method
By transforming latent fingerprints into the frequency domain and using a convolutional neural network to determine ridge frequencies, the method addresses the quality issues of latent fingerprints, improving identification performance by extracting reliable signatures.
Patent Information
- Application Number
- JP2021205583
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-12-21
- Filing Date
- 2021-12-17
- Publication Date
- 2026-01-07
- Estimated Expiration
- 2041-12-17
AI Technical Summary
Latent fingerprints, obtained through chemical and physical development techniques, are of significantly poorer quality than those captured by specialized electronic devices, making it difficult for automatic matching systems to detect fingerprint structures, and their background is often obscured by colors and textures.
A method involving transforming the source image into the frequency domain and using a convolutional neural network to determine ridge frequencies, followed by normalization and extraction of fingerprint signatures, enhances the quality of latent fingerprints for identification.
The method improves the performance of fingerprint identification systems by enabling the extraction of reliable signatures from poor-quality images, even those of latent fingerprints, by determining multiple ridge frequencies and enhancing image quality.
Smart Images

Figure 0007795344000001 
Figure 0007795344000002 
Figure 0007795344000003
Abstract
Description
[Technical Field]
[0001] Technical Field At least one embodiment relates to a method for extracting a signature of a fingerprint represented by a source image. [Background technology]
[0002] prior art Fingerprints have been used for centuries to identify people. Specifically, fingerprints are typically used to identify people at crime scenes. These "latent fingerprints" or "latents" refer to prints left unknowingly. Generally, latent prints are partial prints recovered from the surface of an object found at a crime scene that was touched or grasped by a person's fingers. Fingerprint recognition can link a latent print to a suspect whose fingerprint has previously been entered into a fingerprint database, or can establish a connection between latent prints obtained from various crime scenes. Summary of the Invention [Problem to be solved by the invention]
[0003] Unlike fingerprints captured by specialized electronic devices such as contact sensors, which guarantee consistent image quality, latent fingerprints are typically obtained using a variety of chemical and physical development techniques to improve their visibility. While these development techniques improve fingerprint characteristics, latent fingerprints are generally of significantly poorer quality than those obtained by specialized electronic devices. Specifically, the information obtained may be partial. Furthermore, the background of a latent fingerprint may be obscured by a combination of colors and textures.
[0004] However, the performance of fingerprint identification systems is highly dependent on the quality of the fingerprint images collected, which creates problems for latent fingerprints, whose image quality is generally poor, because the algorithms of automatic matching systems have difficulty detecting the structures (minutiae, ridges, etc.) of such latent fingerprints.
[0005] It would be desirable to overcome these various shortcomings of the prior art, and in particular to propose a method for extracting efficient fingerprint signatures when these fingerprint images are latent fingerprints. [Means for solving the problem]
[0006] Disclosure of the Invention According to one embodiment, a method is described for extracting a signature of a fingerprint shown in a source image. The method for extracting the signature comprises: - transforming said source image into the frequency domain; - determining n ridge frequencies of the source image by applying a convolutional neural network to the transformed image, where n is an integer greater than or equal to 1; - normalizing the source image in response to determining each of the n ridge frequencies; extracting n signatures of said fingerprint from said n normalized images; Includes:
[0007] The described method advantageously allows for the extraction of fingerprint signatures even when the source image is of poor quality, because the use of a convolutional neural network, where applicable, allows for the determination of multiple ridge frequencies, thereby increasing the probability of determining the correct ridge frequency. Applying the neural network to the transformed image improves the performance of the method.
[0008] In certain embodiments, transforming the source image into the frequency domain comprises applying a Fourier transform.
[0009] In certain embodiments, determining n ridge frequencies of the source image by applying a convolutional neural network to the transformed image comprises: - for each ridge frequency of a set of N ridge frequencies, determining a probability that the source image has that ridge frequency as its ridge frequency, where N is an integer greater than or equal to n; selecting the n ridge frequencies associated with the n highest probabilities; Includes:
[0010] In a particular embodiment, the convolutional neural network is of the U-Net type.
[0011] In certain embodiments, extracting n signatures of the fingerprint from the n normalized images comprises extracting characteristics of minutiae belonging to the fingerprint.
[0012] In certain embodiments, the characteristics of the feature point include the position and / or orientation of the feature point.
[0013] In certain embodiments, the method further includes comparing the n extracted signatures with at least one extracted signature of a reference fingerprint associated with the individual, and identifying the fact that the fingerprint shown in the source image belongs to the individual if at least one of the n extracted signatures is similar to the at least one extracted signature of the reference fingerprint.
[0014] In a particular embodiment, the parameters of the convolutional neural network are trained from a database of reference fingerprints with known ridge frequencies.
[0015] A device for extracting a signature of a fingerprint shown in a source image is described, the device comprising: - means for transforming said source image into the frequency domain; - means for determining n ridge frequencies of the source image by applying a convolutional neural network to the transformed image, where n is an integer greater than or equal to 1; - means for normalizing said source image in response to determining each of said n ridge frequencies; - means for extracting n signatures of said fingerprint from said n normalized images; Includes:
[0016] A computer program product is described, which comprises instructions for performing, by a processor, a method for extracting a signature according to one of the preceding embodiments, when said program is executed by said processor.
[0017] A storage medium is described, which stores instructions for, when executed by a processor, performing, by the processor, a method for extracting a signature according to one of the preceding embodiments.
[0018] BRIEF DESCRIPTION OF THE DRAWINGS The above-mentioned and other features of the invention will become more clearly apparent from the following description of exemplary embodiments, the description being made in conjunction with the accompanying drawings, in which: [Brief explanation of the drawings]
[0019] [Figure 1] 1 illustrates the architecture of a system capable of implementing a method for extracting a fingerprint signature according to certain embodiments. [Figure 2] 1 illustrates a schematic diagram of a method for extracting a signature of a fingerprint (e.g., a latent fingerprint) according to certain embodiments. [Figure 3] 1 illustrates a convolutional neural network architecture, according to certain embodiments. [Figure 4] 1 shows various types of fingerprint minutiae. [Figure 5] 1 illustrates a schematic diagram of an example hardware architecture of a signature extraction device 100, according to certain embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0020] Detailed disclosure of embodiments To identify a person at a crime scene, it may be necessary to compare images of latent fingerprints with images of reference fingerprints stored in a database. For this purpose, characteristics are extracted from each fingerprint image to generate a signature for said fingerprint. A signature is also called a "template" in the literature. A pairwise comparison is then made between the signature associated with the latent fingerprint to be identified and all the signatures of the reference fingerprints. For each reference fingerprint, a score is obtained and compared with a threshold. If the score exceeds a predefined threshold, the latent fingerprint is identified as belonging to the individual associated with the reference fingerprint in the database. Otherwise, the latent fingerprint and the reference fingerprint do not match, and the latent fingerprint is therefore not authenticated; that is, it is a trace left by, for example, one of the usual occupants of the location in question.
[0021] Because images of latent fingerprints are of mediocre quality, it is known to preprocess these images before a signature is extracted in order to improve their quality. Some of the typical transformations used include color management, contrast adjustment, edge enhancement, background removal and noise filtering, as well as image normalization. Normalization of a latent fingerprint image consists of scaling the latent fingerprint to make it comparable to any other reference fingerprint stored in a database. Normalization is performed using ridge frequency, which is easy to estimate for good-quality fingerprints captured by dedicated electronic devices, but is not as easy for images of latent fingerprints. To this end, a signature extraction method using a specific estimation of ridge frequency is described with reference to FIG. 2. The embodiments described below apply to both latent fingerprint images and fingerprint images captured by dedicated electronic devices.
[0022] FIG. 1 shows the architecture of a system capable of implementing a method for extracting fingerprint signatures, which will be described below with reference to FIG. 2. The system 1 includes a client 10 connected to a server 12 via the Internet. The server 12 includes, for example, a database storing signatures of reference fingerprints. In a variant, the database is external to the server 12. For example, the database associates with each signature of a reference fingerprint at least one image of a correct fingerprint and the identity of the individual to whom the fingerprint belongs. Each signature refers to one or more fingerprints, which themselves refer to an individual. The server 12 stores in its memory a neural network that has been trained as described with reference to FIG. 3. The training of the neural network is performed, for example, by the server 12. In a variant, the trained neural network is transmitted to the client device 10 and stored in its memory. The client device 10 implements the method for extracting fingerprint signatures, as will be described with reference to FIG. 2.
[0023] In an alternative embodiment, devices 10 and 12 are integrated into a single item of equipment.
[0024] 2 illustrates a method for extracting a signature of a fingerprint (e.g., a latent fingerprint) according to a particular embodiment. Extracting a signature of a fingerprint is also known by the term "encoding."
[0025] In step S100, the source image of the fingerprint is transformed into the frequency domain, for example by a Fourier transform. The Fourier transform is, for example, a fast Fourier transform (FFT). Other transforms can be used, provided that they transform the image from the spatial domain into the frequency domain. Therefore, in an alternative embodiment, a wavelet transform is used.
[0026] In step S102, the transformed images are introduced into a trained (i.e., its weights are known) neural network of the CNN type (acronym for "Convolutional Neural Network"), such as the neural network described with reference to Figure 3. The parameters of the neural network have been learned, for example, on a fingerprint database in which the output data of the neural network (in this case, ridge frequencies) are known. The neural network will have been trained using images of fingerprints transformed using the same transformation as used in step S100.
[0027] Applying the trained CNN neural network to the transformed image gives, for a set of N ridge frequencies fi (N is a strictly positive integer and i is an index that identifies the ridge frequencies), the probability pi that the fingerprint image has a ridge frequency equal to frequency fi (e.g., the probability that the frequency corresponds to a period of 5 pixels, 6 pixels, ..., 21 pixels, ..., 40 pixels), for example, N=36.
[0028] In a particular embodiment, a U-Net type network, called a "fully convolutional network," is applied. The U-Net network consists of a contraction section and a dilation section, giving it a U-shaped architecture. The contraction section is a typical convolutional network consisting of repeated applications of convolutions, each followed by a rectified linear unit (ReLU) and max-pooling operation. During contraction, spatial information is reduced and feature information is increased. The dilation section uses the high-resolution functionality obtained from the contraction section to combine geographic and spatial feature information through a series of convolutions and concatenations in ascending order.
[0029] In step S104, the fingerprint image is normalized using each of the n ridge frequencies associated with the n highest probabilities, where n is a strictly positive integer less than or equal to N. Thus, n normalized images Ii, i∈[1;n] are obtained (i.e., one normalized image per ridge frequency).
[0030] A period Pi, equal to the inverse of the ridge frequency, corresponds to each of the n ridge frequencies associated with the n highest probabilities. This step S104 therefore makes it possible to standardize all images so that the period between ridges is the same, which is called the reference period Pref, e.g., Pref=10 pixels.
[0031] Thus, the source image is normalized so that its ridge period after modification is equal to the reference period Pref. If W and H are the width and height of the source image in pixels, respectively, then for each of the n periods Pi, the normalized image Ii has dimensions W * Pref / Pi and H * The source image is normalized by resampling it to be equal to Pref / Pi. For example, if three ridge frequencies and therefore three different periods are obtained by a neural network equal to P1=5, P2=10, and P3=15 pixels, three normalized images are obtained from the source image. The first normalized image, I1, is the image whose normalized image dimensions are 2. * W and 2 * The second normalized image I2 is obtained by resampling the source image so that its period P2 is equal to Pref, taking into account the period P1. The third normalized image I3 is obtained as the source image itself, since the normalized image dimensions are 10 / 15. * W and 10 / 15 *is obtained by resampling the source image to be equal to H, taking into account the period P3. Image resampling is a well-known method in the field of image processing. Image resampling generally involves pixel interpolation using interpolation filters (e.g., cubic interpolation, quadratic interpolation, nearest neighbor interpolation, bilinear interpolation, etc.). The described embodiments are not limited to only these resampling methods. Any resampling method that allows for increasing or decreasing the dimensions of an image can be used.
[0032] In certain embodiments, n=1 (i.e., only one frequency associated with the highest probability) is considered. In this case, a single normalized image I1 is obtained. However, because neural networks are imperfect at predicting ridge frequencies, if the probability vector emerging from the network does not exhibit a highly marked peak, n major peaks (n≧2) corresponding to the n frequencies associated with the n highest probabilities are considered (e.g., three frequencies associated with the highest probabilities (i.e., n=3)) to ensure that the correct frequency is actually extracted.
[0033] In step S106, a fingerprint signature is extracted from each of the n normalized images. More precisely, characteristics are extracted from the fingerprint to generate a signature. This signature encodes useful information about the fingerprint for subsequent identification. Thus, n signatures Si (i∈[1;n]) are obtained (in this case, one per standard image Ii). In a specific embodiment, the extracted characteristics are the locations of specific points (called minutiae) shown in FIG. 4, which correspond to bifurcations (a), line terminations (b), islands (c), or lakes (d). More generally, minutiae are points located where the continuity of a ridge line changes. There are other types of minutiae not shown in FIG. 4. Thus, a fingerprint signature consists of a certain number of minutiae, each representing a set of parameters (e.g., coordinates, orientation, etc.). For example, correctly positioned 15-20 minutiae can identify a fingerprint among millions of examples. In alternative embodiments, other information (such as the general pattern of the fingerprint) or more complex information (such as the shape of the ridges) is used in addition to minutiae to derive the fingerprint signature.
[0034] Signature extraction typically involves filtering the image to extract most of the useful information (e.g., increasing contrast, reducing noise) and skeletonizing the filtered image to obtain a black-and-white image from which feature points are extracted. Of the extracted feature points, only the most reliable ones (e.g., about 15) are retained.
[0035] These n signatures can advantageously be used to determine whether the fingerprint in question belongs to a person whose fingerprint is stored in a database. For this purpose, a pairwise comparison is made between the n signatures Si associated with the fingerprint in question and M extracted signatures of fingerprints in the database, where M is a positive integer. If at least one of said n extracted signatures Si is similar to an extracted signature of a reference fingerprint stored in the database, the fingerprint in question is identified as belonging to the individual associated in the database with this reference fingerprint.
[0036] Since a fingerprint signature is traditionally a point cloud defining minutiae, a comparison between two signatures is essentially a comparison between two point clouds. The comparison score is a mark that estimates at what points these two point clouds overlap. If the two point clouds overlap, the score is high; otherwise, the score is low. If the score is high, the signatures are similar, from which it can be concluded that the fingerprints belong to the same individual. Any method for comparing fingerprint signatures can be used for this purpose.
[0037] Thus, in certain embodiments, n×M pairwise comparisons are performed. For each comparison, a score is calculated. The maximum score obtained is retained. If this maximum score is higher than a predefined threshold, then the signatures used for its calculation are similar. Thus, the fingerprint in question is identified as belonging to the individual associated with the reference fingerprint in the database, whose signature was used to calculate this maximum score. Otherwise, the fingerprint in question does not match any of the reference fingerprints in the database and is therefore not authenticated.
[0038] 3 illustrates a convolutional neural network architecture according to certain embodiments. The convolutional neural network architecture is formed by a stack of processing layers, - At least one convolutional layer CONV1 and CONV2 - At least one correction layer ReLU - At least one pooling layer POOL that allows compressing information by reducing the size of intermediate images (often by subsampling) - at least one so-called "fully connected" linearly coupled layer FC Includes:
[0039] A convolutional layer contains one or many successive convolutions with a convolution kernel. At the output of each convolution of input data with a convolution kernel, a set of features is obtained that represent the input data. The resulting features are not predefined, but are learned by the neural network during a training phase. During the training phase, the convolution kernels evolve to "learn" to extract relevant features for a given problem.
[0040] The correction layer performs a so-called activation mathematical function on the data obtained at the output of each convolution. For example, the ReLU (Rectified Linear Unit) correction, defined by f(x) = max(0,x), is used. This function, also known as a "non-saturating activation function," increases the nonlinear properties of the decision function and the entire network without affecting the received field of the convolution layer. Other functions (e.g., the hyperbolic tangent function) can also be applied.
[0041] A pooling layer is an intermediate layer between two convolutions. The purpose of each pooling stage is to reduce the size of the input data while preserving the important characteristics of these inputs. Pooling stages allow to reduce the number of calculations in a convolutional neural network. Specifically, the most commonly used pooling types are max and mean, which consider the maximum and average values of the surface, respectively.
[0042] The linear combination layer always constitutes the final stage of a neural network, whether convolutional or not. This stage receives a vector as input (called the input vector) and generates a new vector as output (called the output vector). For this purpose, the linear combination layer applies a linear combination to the components of the input vector. The linear combination stage makes it possible to classify the input data of the neural network according to a number N of predefined classes. In this case, each class corresponds to a ridge frequency value. An output vector of size N is therefore returned. Each component of the output vector is associated with a ridge frequency and represents the probability that the fingerprint image at the input of the neural network has said ridge frequency.
[0043] The most common form of convolutional neural network architecture is a small number of Conv-ReLU layers followed by a pooling layer, repeating this scheme until the input is reduced to a space of sufficiently small size.
[0044] Each component of the input vector may contribute to the output vector in a different way. To achieve this, when the linear combination is applied, a different weight is applied to each component according to the importance desired to be given to the characteristic represented by this component. The linear combination in the linear combination stage is typically followed by a layer that converts the output vector into a probability distribution. The convolutional neural network learns the values of the weights in the linear combination stage in the same way that it learns to change the convolution kernel. The weights in the linear combination stage and the characteristics of the convolution kernel are said to constitute the parameters of the convolutional neural network.
[0045] The parameters of the neural network used in step S102 are obtained by training from fingerprint images transformed into the frequency domain by the same transformation used in step S100 and from known ridge frequencies. Thus, knowing the input images and expected output of the neural network, it is possible to determine (i.e., train) the parameters of the neural network. This training is done in the conventional manner by using a cost function: determining the neural network parameters that allow obtaining the required output (i.e., the known ridge frequencies) while minimizing the cost function. Thus, during training, the neural network receives as input fingerprint images transformed into the frequency domain and obtains as output a ridge frequency probability vector, whose components correspond to the fingerprint ridge frequencies and are all 0. Thus, training consists of providing as many fingerprint images as possible of all possible ridge frequencies so that the network is as robust as possible.
[0046] It is common to check that a neural network has been trained correctly. To do this, fingerprint images (called verification images) are used that did not serve the purpose for training the neural network, but whose ridge frequencies are known. It is therefore checked whether the neural network supplies the correct ridge frequencies for these verification images. Generally, if the error rate is too high, the neural network is trained again.
[0047] 5 illustrates, in schematic form, an example of the hardware architecture of a signature extraction device 100, according to a particular embodiment. In one embodiment, the signature extraction device is included in the client device 10.
[0048] According to the example hardware architecture shown in FIG. 5, the signature extraction device 100 includes a processor or CPU (Central Processing Unit) 1001, a random access memory RAM 1002, a read-only memory ROM 1003, a storage unit 1004 such as a hard disk or a storage media reader (e.g., an SD (Secure Digital) card reader), connected by a communication bus 1000, and at least one communication interface 1005 to enable the signature extraction device 100 to send or receive information.
[0049] The processor 1001 can execute instructions loaded into the RAM 1002 from the ROM 1003, from an external memory (not shown), from a storage medium (such as an SD card), or from a communication network. When the signature extraction device 100 starts up, the processor 1001 can read instructions from the RAM 1002 and execute those instructions. These instructions form a computer program that causes the processor 1001 to implement all or part of the method described in relation to Figure 2. In general, the signature extraction device 100 includes electronic circuitry configured to implement all or part of the method described in relation to Figure 2.
[0050] The methods described in relation to Figures 2 and 3 may be implemented in software form by executing a set of instructions by a programmable machine, such as a DSP (Digital Signal Processor) or a microcontroller, or in hardware form by a machine or dedicated component, such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). [Explanation of symbols]
[0051] 1 System 10 client devices 12 Servers 100 Signature Extraction Device 1000 Communication Bus 1001 processor 1002 Random Access Memory 1003 Read-Only Memory 1004 Storage Unit 1005 Communication Interface
Claims
1. 1. A computer-implemented method for identifying a latent fingerprint signature shown in a source image, comprising: Transforming the source image into the frequency domain (S100); applying a trained convolutional neural network to the transformed image, wherein the neural network determines as an output, for each ridge frequency in a set of N ridge frequencies, the probability that the source image has that ridge frequency as its ridge frequency, where N is a positive integer; selecting the n ridge frequencies associated with the n highest probabilities, where n≧2 and is less than or equal to N; normalizing (S104) the source image in response to determining each of the n ridge frequencies to generate n normalized images having a common ridge period; extracting (S106) n signatures of the latent fingerprint from the n normalized images, the n signatures being characteristics of minutiae; calculating n comparison scores between each of the n signatures and a signature of a reference fingerprint; identifying the latent fingerprint as belonging to the individual associated with the reference fingerprint if the maximum score of the n comparison scores is greater than a predefined threshold; A method comprising:
2. The method of claim 1 , wherein transforming (S100) the source image into the frequency domain comprises applying a Fourier transform.
3. 3. The method according to claim 1, wherein the convolutional neural network is of the U-Net type.
4. The method of any one of claims 1 to 3, wherein the characteristics of the feature points include the position and / or orientation of the feature points.
5. 5. The method of claim 1, wherein the parameters of the convolutional neural network are trained from a database of reference fingerprints for which the ridge frequencies are known.
6. 1. A device for identifying a signature of a latent fingerprint shown in a source image, comprising: means for transforming the source image into the frequency domain; means for applying a trained convolutional neural network to the transformed image, wherein the neural network determines as an output, for each ridge frequency in a set of N ridge frequencies, the probability that the source image has that ridge frequency as its ridge frequency, where N is a positive integer; means for selecting n ridge frequencies associated with the n highest probabilities, where n≧2 and is less than or equal to N; means for normalizing the source image in response to determining each of the n ridge frequencies to generate n normalized images having a common ridge period; means for extracting n signatures of the latent fingerprint from the n normalized images, the n signatures being characteristics of minutiae; means for calculating n comparison scores between each of the n signatures and a signature of a reference fingerprint; means for identifying the latent fingerprint as belonging to the individual associated with the reference fingerprint if the maximum score of the n comparison scores is above a predefined threshold; Including, the device.
7. A computer program comprising instructions for causing a processor to carry out the method according to any one of claims 1 to 5 when the program is executed by the processor.
8. A storage medium storing instructions for causing a processor to perform the method of any one of claims 1 to 5 when the instructions are executed by the processor.
Citation Information
Patent Citations
Forgery-deciding imaging device and individual identification device
JP2007122237A
System and method for scaling biometric images
US10198612B1
Multi-Resolutional Texture Analysis Fingerprint Liveness Systems and Methods
US20080253625A1