method for estimating the inter-ridge distance relating to a fingerprint

FR3146740B1Active Publication Date: 2025-02-21IDEMIA PUBLIC SECURITY FRANCE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
FR2023002490
Authority / Receiving Office
FR · FR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-03-17
Publication Date
2025-02-21
Estimated Expiration
2043-03-17

Smart Images

  • Figure 00000023_0000
    Figure 00000023_0000
  • Figure 00000024_0000
    Figure 00000024_0000
  • Figure 00000024_0001
    Figure 00000024_0001
Patent Text Reader

Abstract

A method comprising: generating (110) a classification map including, for each block forming part of a plurality of blocks in a proof image and for each class in a plurality of pixel distance classes, an indicative score of the probability of existence in the proof image of a segment passing through the block and whose length in pixels constitutes an inter-ridge distance of a fingerprint included in the class; generating (112) a distance map including, for each block in the plurality of blocks, an estimated local inter-ridge distance in pixels for the block; and estimating (118) an average inter-ridge distance in pixels of the proof fingerprint from the inter-ridge distance map; estimating (118) including a selection, in the inter-ridge distance map, of local inter-ridge distances of interest according to a criterion of proximity to the class of interest.and a calculation of an average between the local inter-ridge distances of interest. Figure for the abstract: Figure 2,
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: method for estimating an inter-ridge distance relating to a fingerprint FIELD OF THE INVENTION

[0001] The present invention relates to the field of processing applied to images showing fingerprints. STATE OF THE ART

[0002] Methods are known for identifying or authenticating an individual using his or her fingerprints, these methods comprising the following steps. Conventionally, a test image showing a test fingerprint of an individual is acquired, and this image is compared with a reference image showing a reference fingerprint, so as to verify a match between the test fingerprint and the reference fingerprint. If such a match is found, then it is considered that the individual has previously been enrolled.

[0003] Some of these methods include estimating an inter-ridge distance relating to the test fingerprint. As a reminder, an inter-ridge distance is a distance that separates two ridges of a fingerprint.

[0004] In these methods, the inter-ridge distance is estimated from the proof image and taking into account the resolution of the proof image (generally expressed in pixels per inch, abbreviated as dpi).

[0005] However, such an inter-peak distance can be estimated inaccurately with these methods, especially when the proof image includes a parasitic signal. For example, in a police investigation context, it is possible to use as a proof image a photograph of a fingerprint left on a support, this photograph being acquired by a generic device, that is to say a device not specifically dedicated to the acquisition of fingerprints. A fingerprint appearing in an image of this type is commonly called a “latent” fingerprint. The support on which the latent print was left may have parasitic patterns likely to compromise the accuracy of the estimation carried out by the aforementioned methods. Statement of the invention

[0006] An object of the invention is to estimate an inter-peak distance in an image showing a fingerprint accurately even in the case where the image includes a parasitic signal.

[0007] This object is achieved by a method of processing a proof image showing a test fingerprint, the method comprising the following computer-implemented steps: generating a classification map from the test image, the classification map comprising, for each block forming part of a plurality of blocks of the test image and for each class of a plurality of pixel distance classes, a score associated with the block and the class, the score associated with the block and the class being indicative of a probability of existence in the test image of a segment passing through the block and the length of which in pixels constitutes an inter-ridge distance of the fingerprint included in the class; generating a local inter-ridge distance map from the classification map, the local inter-ridge distance map comprising, for each block of the plurality of blocks, a local inter-ridge distance in pixels estimated for the block;estimating an average inter-ridge distance in pixels of the test fingerprint from the local inter-ridge distance map and a class of interest forming part of the plurality of pixel distance classes, the estimation comprising a selection, from the local inter-ridge distance map, of local inter-ridge distances of interest according to a proximity criterion with the class of interest, and a calculation of an average between the local inter-ridge distances of interest. ;

[0008] The method may also comprise the following features, taken alone or combined with each other whenever this makes technical sense.

[0009] Preferably, the estimated local inter-ridge distance in pixels for a block is calculated from the following data: a first score indicative of a maximum probability of existence among the scores associated with the block, the first score being associated with a first class forming part of the plurality of distance classes, and a first distance value in pixels included in the first class.

[0010] Preferably, the estimated local inter-ridge distance in pixels for a block is calculated from the following data: a second score associated with a second class, the second class being adjacent to the first class in the plurality of pixel distance classes, and a second pixel distance value included in the second class.

[0011] Preferably, the estimated local inter-ridge distance in pixels for a block is calculated from the following data: a third score associated with a third class, the third class being adjacent to the first class in the plurality of pixel distance classes, and the third class being distinct from the second class, and a third pixel distance value included in the third class.

[0012] Preferably, the estimated local inter-peak distance in pixels for a block is calculated as an average of the first distance value, the second distance value and the third distance value, respectively weighted by the first score, the second score and the third score.

[0013] Preferably, the method further comprises steps of: generating a preliminary classification map from the test image, the preliminary classification map comprising, for each block of a set of blocks covering the entire test image and for each class of the plurality of classes of distances in pixels, a preliminary score associated with the block and the class, the preliminary score associated with the block and the class being indicative of a probability of existence in the test image of a segment passing through the block and the length of which in pixels constitutes an inter-peak distance of the fingerprint included in the class; from the test image, generating a binary mask estimating, for each block of the set of blocks, whether or not the block shows a fingerprint;applying the binary mask to the preliminary classification map so as to generate the classification map, the plurality of blocks being restricted to each block that the binary mask estimates to show a fingerprint.;

[0014] Preferably, the generation of the preliminary classification map is implemented by a first neural network, and the generation of the binary mask is implemented by a second neural network operating in parallel with the first neural network.

[0015] Preferably, the application of the binary mask to the preliminary classification map comprises a Hadamard product between the preliminary classification map and the binary mask.

[0016] Preferably, the method further comprises an extraction of characteristics from the test image by a neural network without a normalization layer, the classification map being derived from the extracted characteristics.

[0017] Preferably, the local inter-peak distances of interest selected according to the criterion of proximity to the class of interest are local inter-peak distances included in an interval having limits determined from a distance value included in the reference class, the interval forming a neighborhood around the distance value.

[0018] Preferably, the method comprises steps of: calculating a histogram from the classification map, the histogram comprising, for each class forming part of the plurality of classes of distances in pixels, an aggregated score obtained by aggregating the scores associated with the class; and detecting at least one local maximum of the histogram, the class of interest being associated with a local maximum detected in the histogram.

[0019] Preferably, a plurality of local maxima are detected in the histogram, each local maximum being associated with a class of interest forming part of the plurality of classes of distances in pixels, and the estimation step is implemented for each class of interest, so as to produce a plurality of average inter-peak distances in pixels.

[0020] Preferably, the method further comprises steps of: obtaining a reference inter-ridge distance in pixels relating to a reference fingerprint shown in a reference image; resizing the proof image into a resized proof image such that the average inter-ridge distance in pixels corresponds to the reference inter-ridge distance; controlling a comparison between the resized proof image and the reference image, so as to verify a correspondence between the proof fingerprint and the reference fingerprint.

[0021] Preferably, the plurality of local maxima comprises a main local maximum and a secondary local maximum less than the main local maximum; the plurality of average inter-peak distances in pixels comprises a main distance calculated from the main local maximum and a secondary distance calculated from the secondary local maximum, and the method further comprising: a first implementation of the steps of resizing and controlling comparison from the main distance, and after the first implementation, a second implementation of the steps of resizing and controlling comparison from the secondary distance instead of the main distance, preferably provided that the first implementation resulted in a result indicating the challenge fingerprint and the reference fingerprint not matching.

[0022] Preferably, each block is a pixel of the image.

[0023] Preferably, the plurality of distance classes complies with the following rule: the higher the median value of a class in the plurality of distance classes, the larger the class size.

[0024] Also provided is a computer program product comprising program code instructions for executing the steps of the foregoing method when this program is executed by a computer.

[0025] Further provided is a computer-readable memory storing computer-executable instructions for performing the steps of the foregoing method. DESCRIPTION OF THE FIGURES

[0026] Other characteristics, aims and advantages of the invention will emerge from the following description, which is purely illustrative and non-limiting, and which must be read in conjunction with the appended drawings in which:

[0027] [Fig.l] schematically illustrates an image processing device according to one embodiment.

[0028] [Fig.2] is a flowchart of steps of an image processing method according to one embodiment.

[0029] [Fig. 3] comprises two images: on the left, an image showing a latent fingerprint, and on the right, a visual representation of a local interridge distance map produced by applying the method of [Fig. 2] to the left image.

[0030] [Fig.4] is a portion of an image annotated to show an interpeak distance.

[0031] [Fig.5] includes two images: on the left, another image showing a latent fingerprint, and on the right, a histogram from the left image.

[0032] [Fig.6a] shows a series of results obtained by applying to images a method using a neural network comprising normalization layers.

[0033] [Fig.6b] shows a series of results obtained by applying to images a method using a neural network without a normalization layer.

[0034] Throughout the figures, similar elements bear identical references. DETAILED DESCRIPTION OF THE INVENTION

[0035] With reference to [Fig.l], an image processing device 1 comprises a processor 10, a communication interface 12 and a memory 14.

[0036] The processor 10 is configured to implement certain steps of an image processing method which will be described later. The processor 10 can have any structure. The processor comprises one or more cores, each core being configured to execute the code instructions of a program so as to implement the aforementioned steps. It will be seen later that this program uses neural networks.

[0037] The communication interface 12 is adapted to allow the image processing device 1 to receive images to be processed and to communicate with a server 2. The communication interface 12 is of any type. It is for example wired (Ethernet) or of the wireless radio type using any communication protocol (Wi-Fi, Bluetooth, etc.).

[0038] The memory 14 is adapted to store data manipulated or produced by the processor 10. The memory 14 is of any type. Conventionally, the memory 14 comprises a volatile memory for storing data temporarily, and a non-volatile memory for storing data persistently, that is to say in a manner which retains the data when the non-volatile memory is powered down.

[0039] The memory 14 is in particular adapted to store an image received by the processing device 1, and intended to be processed by the processor.

[0040] The image processing device 1 may also comprise an image sensor 16 showing fingerprints. The sensor may optionally comprise a transparent surface serving as a support for a finger, so as to stabilize the finger and thus clearly show a fingerprint of the finger in an image provided by the sensor.

[0041] Server 2 stores a database comprising reference images showing reference fingerprints relating to previously enrolled reference individuals. Distance classes in pixels

[0042] As will be seen below, the processing device 1, and more particularly the processor 10, is configured to implement processing based on a plurality of N predefined classes of pixel distances.

[0043] Each of the N classes includes a set of distance values ​​in pixels which is specific to it, this set of values ​​being defined in advance.

[0044] As indicated above, distances are expressed in pixels, and not in a unit of length (such as inches or meters) or in a unit dependent on a unit of length (as is the case with a resolution, generally expressed in pixels / inch, abbreviated as dpi). In this text, it is assumed that a distance in pixels can be a decimal value, and is therefore not necessarily an integer value.

[0045] Each class has a size that characterizes the amount of pixel distance values ​​included in the class. Furthermore, each class has a median pixel distance value.

[0046] Within the plurality of N classes, the classes are ordered according to their respective median values. Thus, the plurality of N classes includes two extremal classes, and possibly N-2 intermediate classes if N>2. Each intermediate class has two classes adjacent to it within the plurality of N classes. In contrast, each extremal class has only one class adjacent to it.

[0047] By convention, classes are assigned respective indices ranging from 1 to N, in order of median value. Thus, an intermediate class with index i is adjacent to classes with indices i-1 and i+1.

[0048] Preferably, the classes are contiguous, in the sense that for any i ranging from 1 to N-1 the upper bound of the class of index i is equal to the lower bound of the class of index i+1. In this way, the respective intervals of the classes placed end to end cover a continuous interval, without strong redundancy (except for the bounds in the case where the intervals are closed).

[0049] Preferably, the plurality of N classes respects the following rule: the higher the median value of a class, the larger the class size. In other words, for any i ranging from 1 to N1, the class with index i+1 has a size greater than the size of the class with index i. We will see below that this characteristic is advantageous.

[0050] In a non-limiting embodiment, each pixel distance class is an interval of pixel distance values. This interval includes a bound in lower bound (minimum distance value in pixels) and an upper bound (maximum distance value in pixels). In this embodiment, the size of a class is the length of the interval (from the lower bound to the upper bound). Furthermore, the median value of the class is, in this embodiment, the central value of the interval, i.e. a value equidistant from the lower bound and the upper bound.

[0051] For example, a plurality of classes respecting all the principles defined above is detailed in the following table (we have N=5): Class index Values ​​included in the class (expressed in pixels) Class size (expressed in pixels) 1 [10,11] 1 2 [H, 12.1] 11.1 3 [12.1, 13.31] 1.21 4 [13.31, 14.64] 1.33 5 [14.64, 16.11] 1.47

[0052] This plurality of 5 classes covers an overall interval ranging from 10 to 16.11 pixels. This interval makes sense, because it covers a range of inter-peak distance in pixels measurable in a bank of fingerprint images having varied resolutions (approximately 500 dpi to approximately 1000 dpi). Image processing method

[0053] With reference to the flowchart of [Fig.2], a method implemented by the device 1 comprises the following steps.

[0054] In a step 102, the processing device 1 receives a proof image showing a proof fingerprint of an individual. Here, the qualifier “proof” is intended to establish a distinction between the received image and the reference images stored by the server.

[0055] There are two types of fingerprints: fingerprints shown in images acquired by a dedicated image sensor (they are called "tenprints" in English), and so-called "latent" fingerprints, already discussed in the introduction.

[0056] The proof image may have been acquired by the image sensor (if present) or by another image sensor, in which case the proof fingerprint is of type tenprint. Alternatively, the proof image may be received via the communication interface, and be latent.

[0057] The proof image comprises a plurality of pixels forming a two-dimensional grid. Each pixel has a specific position in this grid, as well as light information. The color information is of any type: at a component (gray level), three-component (red, green, blue for example), etc.

[0058] All or part of the pixels of the proof image show the proof fingerprint.

[0059] [Fig. 3] shows on the left an example of a test image showing a latent fingerprint capable of being processed by the device 1. It can be seen that the latent fingerprint does not cover the entire image, and is even only partially visible.

[0060] As a reminder, a fingerprint is a pattern drawn by ridges formed on an individual's finger. As already mentioned in the introduction, two adjacent ridges are separated by an inter-ridge distance. The inter-ridge distances are different from one fingerprint to another. [Fig.4] shows an inter-ridge distance appearing in a zoomed portion of the image. As can be seen in this figure, an inter-ridge distance extends over a certain number of pixels.

[0061] The resolution of the proof image is not known by the processing device 1.

[0062] Returning to [Fig.2], the processor 10 implements the following steps from the proof image.

[0063] In a step 104, the processor extracts features from the test image using an extraction neural network. The extracted features are generally referred to in the literature as “feature maps”.

[0064] Conventionally, a neural network comprises a succession of layers. Each layer comprises neurons taking their inputs from neurons in the previous layer. Layers having various functions are known. In particular, in a known manner, a normalization layer has the function of normalizing data that it takes as input, so as to limit dispersion in the output data of the neural network.

[0065] The extraction neural network may be convolutional, in which case at least one of the layers of the neural network is a convolutional layer.

[0066] The extraction neural network has the particularity of being devoid of a normalization layer. We will see later that this absence of a normalization layer constitutes an advantage, contrary to what one might think at first glance.

[0067] In a step 106, the processor 10 generates a preliminary classification map from the test image. More specifically, the preliminary classification map is generated by the processor 10 using a classification neural network taking as input the features extracted by the extraction neural network, the classification neural network having been previously trained.

[0068] The classification neural network provides a classification function on the N classes of inter-ridge distances in pixels discussed previously, and the classification map- classification reflects the result of this classification.

[0069] The preliminary classification map comprises, for each block of a set of blocks covering the entire test image and for each class forming part of the plurality N of classes, a preliminary score associated with the block and the class.

[0070] In the present text, a “block” of an image constitutes a region of the image in one piece and comprising one or more pixels of the image. In a preferred embodiment, each block considered is in reality a pixel of the proof image. In this case, the set of blocks covering the entire image is the set of pixels of the proof image, so that the number of preliminary scores is equal to N multiplied by the number of pixels of the proof image.

[0071] The preliminary score P, associated with a block and with the index class i, is indicative of a probability of existence, in the test image, of a segment passing through the block and the length of which constitutes an inter-ridge distance of the fingerprint included in the index class i.

[0072] In one embodiment, the preliminary score Pj associated with a block and the index class i is directly the probability of existence as defined above. The preliminary score P then has a value between 0 and 1. In this case, the higher the value of the preliminary score, the higher the probability of existence. However, it is understood that the preliminary score Pj may be indicative of such a probability of existence, without being presented directly in the form of this probability. Indeed, the preliminary score may be data from which such a probability of existence can be deduced.

[0073] Ultimately, we can consider that the operation carried out by the classification neural network is to partition the test image into blocks, and to assign to each block a discrete distribution of N scores P y, ..., P^ respectively associated with the index classes ranging from 1 to N. These scores Pj indicate which are the inter-peak distance values ​​most probably shown by the corresponding block.

[0074] In the vast majority of images showing a fingerprint, the fingerprint does not cover the entire image, but is only visible in a part of the image (this is notably the case of the image shown on the left of [Fig. 3]). Thus, the proof fingerprint may only be visible in certain blocks of the proof image, which are conventionally called "blocks of interest", while the other blocks of the proof image do not provide any relevant information on the proof fingerprint. Ultimately, the set of starting blocks, covering the entire image, comprises a plurality of blocks of interest, this plurality of blocks of interest forming a subset of the set of starting blocks.

[0075] To take this aspect into account, the processor 10 generates in a step 108 a binary mask estimating, for each block of the set of blocks, whether the block is a block of interest (i.e., a block showing a fingerprint) or not (i.e., a block not showing a fingerprint).

[0076] The binary mask is generated by a semantic segmentation neural network taking as input the features extracted by the extraction neural network, the semantic segmentation neural network having been previously trained. The semantic segmentation neural network operates in parallel with the classification neural network.

[0077] For example, the binary mask assigns the value 1 to each block of interest (considered to show a fingerprint), and the value 0 to the other blocks (considered not to show a fingerprint.

[0078] To assign a value 0 or 1, the semantic segmentation neural network can implement the following sub-steps.

[0079] In a first sub-step, the segmentation neural network generates a segmentation map from the features previously extracted from the test image. The segmentation map includes, for each block, a probability that the block shows a fingerprint. This probability has a value between 0 and 1.

[0080] In a second sub-step, the segmentation neural network determines a threshold to be applied to the segmentation map. Preferably, the threshold is equal to the maximum probability of the segmentation map multiplied by a predefined coefficient strictly less than 1, for example 0.65.

[0081] In a third sub-step, the segmentation neural network thresholds the segmentation map using the determined threshold, so as to produce the binary mask. During this sub-step, any probability lower than the threshold is set to zero, while any probability higher than the threshold is set to 1.

[0082] In a step 110, the processor applies the binary mask to the preliminary classification map so as to generate a masked classification map.

[0083] For example, the application of the binary mask to the preliminary classification map comprises a Hadamard product between the preliminary classification map and the binary mask (this product being represented in [Fig.2] by the sign X).

[0084] The masked classification map comprises, for each block of interest and for each class of the plurality N of classes, a score associated with the block of interest and with the class. The score associated with a block and a class is indicative of a probability of existence in the reference image of a segment passing through the block and whose length constitutes an inter-ridge distance of the fingerprint included in the class.

[0085] We see that the hidden classification map has a content similar to that of the classification map generated by the classification neural network used in upstream.

[0086] Each score of the masked classification map, which is associated with a block of interest and a given class, comes from the preliminary score associated with this block of interest and this class.

[0087] Preferably, each score in the masked classification map, which is associated with a given block of interest and class, is precisely the preliminary score associated with that block of interest and class. In other words, a preliminary score that is associated with a block of interest is also found as a score in the masked classification map, without changing its value.

[0088] However, the hidden classification map is restricted to blocks of interest.

[0089] This restriction can be achieved in several ways.

[0090] The restriction can be made so that the masked classification map includes N scores P\, ..., P^ only for the blocks of interest, i.e. the blocks which have been designated by the binary mask as showing a fingerprint. In this case, the number of scores contained in the masked classification map is less than the number of preliminary scores contained in the preliminary classification map. In this case only the scores relating to blocks of interest of the proof image are kept (only the block or blocks showing a fingerprint according to the binary mask), and the scores relating to the other blocks of the set of blocks covering the entire image are eliminated.

[0091] Alternatively, the restriction to blocks of interest is achieved by forcing the value of any score relating to a block that is not a block of interest to a value indicating that the score is not relevant, for example by forcing this value to zero. In the remainder of the method, the processor can thus recognize an irrelevant score, and thus ignore it.

[0092] Whatever the nature of the restriction carried out, the application of the binary mask can be considered as a filtering of the preliminary classification map allowing the processor to subsequently carry out processing limited to the relevant scores. This makes it possible to reduce the hardware resources necessary for the subsequent implementation of the subsequent steps of the method. In addition, this restriction makes it possible to improve the accuracy of the estimation provided by the method due to the exclusion of areas which are not of interest.

[0093] In a step 112, the processor 10 generates a map of local inter-ridge distances from the masked classification map.

[0094] The local inter-ridge distance map comprises, for each block of interest, a local inter-ridge distance in pixels estimated for the block of interest. Here, the term "local" is used to illustrate the fact that a local inter-ridge distance is information associated with a block constituting only a portion of the proof image, and not more global information.

[0095] An estimated local inter-ridge distance in pixels for a block is calculated from selective data from the masked classification map and the plurality of N classes.

[0096] These selective data include a score P^ indicative of a maximum probability of existence among the N scores P\, ..., P^ associated with the block considered. Thus, in the case where the score indicative of a maximum probability of existence is a score Pk of maximum value, the index k of the first score is:

[0097] _ argmax ( p. )

[0098] The selective data further includes a value Ck included in the index class k associated with the score P^. For example, the value Ck is the median value of the index class k.

[0099] Taking into account the data Pk and Ck makes it possible to obtain a relevant local inter-ridge distance. Indeed, the masked classification map indicates that if there exists in the test image a segment passing through the block considered and whose length constitutes an inter-ridge distance, then the most probable hypothesis is that this length is included in the index class k. This is reflected in the score P^ indicative of a maximum probability of existence. Taking this class into account allows a more precise distance estimation.

[0100] If k>l, then the selective data for calculating the local inter-ridge distance associated with a block preferably comprises: the score P^a associated with the index class k-1 (which is therefore a class adjacent to the index class k in the plurality of N classes), a distance value CkA included in the index class k-1, such as the medial value of the index class k-1.

[0101] If k <N, alors les données sélectives pour calculer la distance inter-crêtes locale associée à un bloc comprennent de préférence : the score Pm associated with the index class k+1 (which is therefore a class adjacent to the index class k in the plurality of classes), a distance value CÆ+i included in the index class k+1, such as the medial value of the index class k+1.

[0102] Thus, account is preferably taken of the class(es) adjacent to the most relevant class of index k, and of not taking other classes into account. This has the advantage of further refining the estimation of the local inter-ridge distance.

[0103] If the <k<N, alors la distance inter-crêtes locale associée au bloc considéré peut être calculée de la manière suivante :

[0104]

[0105] The local inter-peak distance is thus an average of the distances Ck_^ Ck and Ck_} respectively weighted by the corresponding scores P^, Pk and Pk+i- With such a calculation, an interpolation is carried out making it possible to obtain at the output values ​​forming part of a continuous and non-discrete space, which also contributes to refining the estimate carried out.

[0106] On the right of [Fig.3] is shown an example of a map of local inter-ridge distances obtained from the test image on the left of [Fig.3]. The black part corresponds to the irrelevant blocks. It can be seen that the blocks of interest cover a specific area of ​​the image. This area includes different gray levels to illustrate the fact that the estimated local inter-ridge distances in this area have different values, with a maximum value equal to 13.

[0107] The processor 10 selects at least one class of interest from the plurality of distance classes using the masked classification map. Each class of interest may be selected by the processor 10 using steps 114, 116 which are as follows.

[0108] In step 114, the processor 10 calculates a histogram from the masked classification map. The histogram comprises, for each of the N pixel distance classes, an aggregated score obtained by aggregating the scores associated with the class, these scores being associated with the different blocks of interest retained in the masked classification map. Thus, if the masked classification map contains NM scores, M being the number of blocks of interest identified by the binary mask, then the aggregated score for the class of index i results from the aggregation of the M scores P, respectively associated with the M blocks of interest. As there are N classes, N aggregated scores are produced during this step 114.

[0109] A particularly inexpensive aggregation in terms of hardware resources consists simply of summing the M scores Pi respectively associated with the M blocks of interest to obtain the aggregated score of the index class i. Other types of aggregation could however be carried out instead of a summation in step 114.

[0110] In step 116, the processor 10 detects at least one score constituting a local maximum of the histogram. Each class of interest is a class associated with a score constituting a detected local maximum.

[0111] It should be noted that the histogram calculated in step 114 may comprise a single local maximum or several local maxima. For example, [Fig.5] shows on the left another example of a proof image comprising parasitic signals (oblique lines), and shows on the right the histogram obtained from this proof image. This histogram comprises two local maxima: a main local maximum of high value (greater than 0.12) associated with a class of interest whose values ​​are slightly less than 20 pixels, and a secondary local maximum of lesser value (between 0.10 and 0.12) associated with another class whose values ​​are slightly greater than 10 pixels.

[0112] For the sake of clarity, we will first assume that a single local maximum is detected in step 116, and consequently that the processor selects only a single class of interest from the plurality of N distance classes in pixels.

[0113] In a step 118, the processor 10 estimates an average inter-ridge distance of the test fingerprint from the local inter-ridge distance map and the selected class of interest. The estimation 118 comprises the following sub-steps.

[0114] It is recalled that the local inter-ridge distance map comprises M local inter-ridge distances in pixels respectively associated with the M blocks of interest previously retained in the masked classification map.

[0115] In a first sub-step of step 118, the processor 10 selects distances of interest from among the M local inter-peak distances in pixels respectively associated with the M blocks of interest, based on a criterion of proximity to the class of interest. A local inter-peak distance whose value is close to the values ​​of the class of interest is here selected. In contrast, a local inter-peak distance whose value is far from the values ​​of the class of interest is not selected.

[0116] Preferably, the distances of interest are the local inter-peak distances in pixels having values ​​included in an interval whose limits are determined from a distance value included in the class of interest.

[0117] For example, the interval is centered on the median value of the class of interest, and has a predefined length. Alternatively, the lower bound is equal to (100 - x)% of the median value of the class of interest, and the upper bound of the interval is equal to (100 + x)% of the median value of the class of interest, with x between 0 and 100, for example 35. Regardless of the method of constructing the interval, the interval represents a neighborhood bounded around a value from the class of interest.

[0118] In another sub-step, the processor calculates an average between the distances of interest selected in the previous sub-step.

[0119] The result of this averaging calculation is the estimated average inter-ridge distance in pixels for the test fingerprint.

[0120] This estimated average inter-peak distance in pixels is obtained without requiring prior knowledge of the resolution of the proof image. Indeed, none of the steps 102, 104, 106, 108, 110, 112, 114, 116, 118 used such a resolution as a parameter; the method worked exclusively on distances expressed in pixels.

[0121] It is possible that the reference images stored by the server have a resolution different from the resolution of the proof image (the latter being unknown). In this event, compare the proof image with the re- references would be likely to lead to missed detections or false positives.

[0122] To overcome this problem, the device 1 obtains in a step 120 a reference inter-ridge distance, expressed in pixels, relating to a reference fingerprint shown in a reference image stored in the database.

[0123] To obtain this average inter-peak distance in step 120, the processing device 1 can send a request to the server 2 via its communication interface 12, and the server 2 returns the reference inter-peak distance in pixels in response to the request.

[0124] For example, the reference inter-peak distance in pixels is calculated in advance, i.e. before sending the request to obtain it, for example when enrolling the reference image with the server 2. Alternatively, the server 2 can estimate this reference inter-peak distance upon receipt of the request, for example by means of steps 104 to 118 applied to a reference image stored by the server 2.

[0125] In a step 122, the processing device 1 resizes the proof image into a resized image, such that the estimated average proof inter-peak distance in pixels corresponds to the reference inter-peak distance in pixels. This resizing is typically a scaling, i.e. without a transformation that does not change the aspect ratio of the proof image.

[0126] The sizing step 122 may thus comprise calculating a scale factor as a ratio of the reference inter-peak distance in pixels to the average inter-peak distance in pixels estimated for the proof image, and applying this scale factor to the proof image to obtain the resized image.

[0127] For example, assume that the estimated average inter-ridge distance for the proof image is 5 pixels, and the obtained reference inter-ridge distance is 10 pixels. In this case, the proof image is resized so that the inter-ridge distance of the proof image increases from 5 pixels to 10 pixels in the resized image, using a resize factor of 2 (10 divided by 5).

[0128] In a step 124, the processor 10 commands a comparison between the resized proof image and the reference image, so as to verify a correspondence between the proof fingerprint and the reference fingerprint.

[0129] The comparison, known from the state of the art, is typically carried out by the server 2. To order this comparison, the processing device 1 can send to the server 2 a comparison request and the resized image. The resized image can for example be sent to the server in encrypted form for greater confidentiality.

[0130] We have seen previously that the processor 10 can in certain cases select no not one but several classes of interest (especially if several local maxima are detected in the histogram at step 116). This can occur in proof images comprising multiple spatial frequencies, and in which the proof fingerprint merges with other periodic signals, as for example in the example of [Fig.5] discussed previously. In this case, step 118 is repeated for each class of interest, so as to produce several average distances in pixels respectively associated with the classes of interest.

[0131] Furthermore, steps 122 and 124 are implemented first on the basis of the average distance in pixels associated with the class of interest for which a local maximum having the highest value among the detected local maxima has been found. If it is found that the resized image and the proof image do not match, then steps 122 and 124 are again implemented on the basis of another average distance. Thus, the different local maxima are successively tested in order of decreasing probability.

[0132] We have seen previously that the N classes have increasing sizes with their median. This is advantageous, because we have more precision for small inter-peak distances, which are more sensitive to small absolute errors (for example, making an error of 1 is more serious for an expected distance of 3 than for an expected distance of 20).

[0133] It was also previously seen that the extraction neural network was preferably devoid of a normalization layer. The inventors discovered that the presence of normalization layers in the extraction neural network leads to biases in the estimation of the average distance in pixels, especially when the proof fingerprint is based on a noisy background. Indeed, textures appearing in the proof image around the proof fingerprint can disrupt the correct operation of the network on the fingerprint areas and result in an incorrect average distance (excessively overestimated or underestimated).

[0134] To confirm this discovery, comparative tests were carried out, consisting of implementing the method with a batch-type normalization layer, adding progressive padding of random noise to highly visible prints (of the tenprint type). [Fig.6a] shows a series of results obtained with the normalization layer, and [Fig.6b] a series of results obtained without a normalization layer for the same print. The images on a white background, and with a gray border where appropriate, are the input test images, and the images on a black background are the corresponding local distance maps obtained. In Figures 6a and 6b, the padding corresponds to the gray border around the white square containing the test fingerprint. It can be seen that the absence of a normalization layer makes it possible to obtain much more robust local distance maps. to the injected noise.

[0135] Furthermore, to measure the added value of the resizing step, the inventors carried out comparative tests consisting of implementing comparisons between the proof image and the reference image (step 124) with and without prior resizing of the proof image. It was then checked to what extent the comparison results were erroneous or not (false positive or missed match). A gain in precision of approximately 14 points was observed when resizing is implemented before comparison. In certain cases, the error goes from 17% to 2.2%, which represents almost 8 times less error.

Claims

Claims

1. A method of processing a test image showing a test fingerprint, the method comprising the following computer-implemented steps: • generating (110) a classification map from the test image, the classification map comprising, for each block forming part of a plurality of blocks of the test image and for each class of a plurality of pixel distance classes, a score associated with the block and the class, the score associated with the block and the class being indicative of a probability of existence in the test image of a segment passing through the block and the length of which in pixels constitutes an inter-ridge distance of the fingerprint included in the class, • generating (112) a map of local inter-ridge distances from the classification map, the map of local inter-ridge distances comprising, for each block of the plurality of blocks,an estimated local inter-ridge distance in pixels for the block, • estimation (118) of an average inter-ridge distance in pixels of the test fingerprint from the local inter-ridge distance map and a class of interest forming part of the plurality of pixel distance classes, the estimation (118) comprising a selection, from the local inter-ridge distance map, of local inter-ridge distances of interest according to a proximity criterion with the class of interest, and a calculation of an average between the local inter-ridge distances of interest.,

2. Method according to the preceding claim, in which the local inter-peak distance in pixels estimated for a block is calculated from: • a first score (Pk) indicative of a maximum probability of existence among the scores associated with the block, the first score being associated with a first class forming part of the plurality of distance classes, • a first distance value in pixels (Ck) included in the first class.

3. Method according to the preceding claim, in which the local inter-peak distance in pixels estimated for a block is calculated from: • a second score (^4-1) associated with a second class, the second class being adjacent to the first class in the plurality of pixel distance classes, • a second pixel distance value (C4.9 included in the second class.

4. Method according to the preceding claim, in which the local inter-peak distance in pixels estimated for a block is calculated from: • a third score (Pk+i) associated with a third class, the third class being adjacent to the first class in the plurality of pixel distance classes, and the third class being distinct from the second class, • a third pixel distance value (Gt+i) included in the third class.

5. Method according to the preceding claim, in which the local inter-peak distance in pixels estimated for a block is calculated as an average of the first distance value, the second distance value and the third distance value, respectively weighted by the first score, the second score and the third score.

6. A method according to any one of the preceding claims, further comprising steps of: • generating (106) a preliminary classification map from the proof image, the preliminary classification map comprising, for each block of a set of blocks covering the entire proof image and for each class of the plurality of classes of distances in pixels, a preliminary score associated with the block and the class, the preliminary score associated with the block and the class being indicative of a probability of existence in the proof image of a segment passing through the block and the length of which in pixels constitutes a distance inter-ridges of the fingerprint included in the class, • from the test image, generation (108) of a binary mask estimating, for each block of the set of blocks, whether or not the block shows a fingerprint, • application (110) of the binary mask to the preliminary classification map so as to generate the classification map, the plurality of blocks being restricted to each block that the binary mask estimates to show a fingerprint.

7. Method according to the preceding claim, wherein the generation of the preliminary classification map is implemented by a first neural network, and the generation of the binary mask is implemented by a second neural network operating in parallel with the first neural network.

8. A method according to any one of claims 6 and 7, wherein the application (110) of the binary mask to the preliminary classification map comprises a Hadamard product between the preliminary classification map and the binary mask.

9. Method according to any one of the preceding claims, further comprising an extraction (104) of characteristics of the test image by a neural network without a normalization layer, the classification map being derived from the extracted characteristics.

10. Method according to any one of the preceding claims, in which the local inter-peak distances of interest selected according to the criterion of proximity to the class of interest are local inter-peak distances included in an interval having limits determined from a distance value included in the reference class, the interval forming a neighborhood around the distance value.

11. Method according to the preceding claim, comprising steps of • calculating (114) a histogram from the classification map, the histogram comprising, for each class forming part of the plurality of classes of distances in pixels, an aggregated score obtained by aggregating the scores associated with the class, • detecting (116) at least one local maximum of the histogram, the class of interest being associated with a local maximum detected in the histogram.

12. Method according to the preceding claim, in which: • a plurality of local maxima are detected (116) in the histogram, each local maximum being associated with a class of interest forming part of the plurality of classes of distances in pixels, • the estimation step (118) is implemented for each class of interest, so as to produce a plurality of average inter-peak distances in pixels.

13. A method according to any preceding claim, further comprising steps of: • obtaining (120) a reference inter-ridge distance in pixels relating to a reference fingerprint shown in a reference image, • resizing (122) the proof image into a resized proof image such that the average inter-ridge distance in pixels corresponds to the reference inter-ridge distance, • command (124) for comparison between the resized test image and the reference image, so as to verify a correspondence between the test fingerprint and the reference fingerprint.

14. A method according to the preceding claim in combination with claim 12, wherein: • The plurality of local maxima includes a main local maximum and a secondary local maximum lower than the main local maximum, • the plurality of average inter-peak distances in pixels comprises: • a main distance calculated from the main local maximum, • a secondary distance calculated from the secondary local maximum, the method further comprising: • a first implementation of the steps of resizing and controlling comparison from the primary distance, and • after the first implementation, a second implementation of the steps of resizing and controlling comparison from the secondary distance instead of the primary distance, preferably provided that the first implementation resulted in a result indicating the challenge fingerprint and the reference fingerprint not matching.

15. A method according to any preceding claim, wherein each block is a pixel of the image.

16. A method according to any preceding claim, wherein the plurality of distance classes comply with the following rule: the higher a class of the plurality of distance classes has a median value, the higher the class size.

17. A computer program product comprising program code instructions for executing the steps of the method according to any one of the preceding claims, when this program is executed by a computer.

18. A computer-readable memory storing computer-executable instructions for performing the steps of the method of any one of claims 1 to 16.