Fingerprint biometric key generation method based on scale invariance and deep neural network

By combining scale-invariant feature conversion and deep neural network, high-intensity fingerprint biological keys are extracted, which solves the problems of poor processing of small and medium-sized small sample data and high misunderstanding rates in the existing technology, and achieves high accuracy and high security fingerprint biokey generation.

WO2024260221A1PCT designated stage expired Publication Date: 2024-12-26HANGZHOU DIANZI UNIV

Patent Information

Application Number
PCT/CN2024/095728
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-19
Filing Date
2024-05-28
Publication Date
2024-12-26

AI Technical Summary

Technical Problem

The existing fingerprint biokey generation technology has insufficient stability and strength, especially the poor processing of small sample data, and the problem of high misidentification rate.

Method used

Using a method based on scale-invariant feature conversion and deep neural network recoding, high-intensity fingerprint biological keys are extracted through the combination of fingerprint image signal processing and deep neural network features, including scale space extreme value detection and key point descriptor extraction , blind alignment, image amplification and deep neural network training, generate stable keys with a length of more than 1024 bits.

Benefits of technology

It significantly improves the accuracy of fingerprint biokey generation, reduces the misidentification rate, does not need to record biometric template information, improves the security and flexibility of fingerprint biometrics, and supports high-security key generation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024095728_26122024_PF_FP_ABST
    Figure CN2024095728_26122024_PF_FP_ABST
Patent Text Reader

Abstract

A fingerprint biometric key generation method based on scale invariance and a deep neural network. The object is small sample data, and fingerprint image signal processing knowledge is combined with deep neural network feature stability; fingerprint features are further stabilized at feature values by means of layer-by-layer processing of a deep neural network; and finally, a normal fingerprint image high-intensity key sequence is generated by means of a fingerprint key fuzzy extractor. A high-intensity stable fingerprint biometric key can be directly extracted from a human fingerprint small sample by means of processing such as scale invariant feature conversion and deep neural network re-encoding, and fingerprint image signal processing knowledge is combined with deep neural network feature stability to better support generation of a small sample fingerprint biometric key, thereby significantly reducing the false recognition rate during fingerprint biometric key generation.
Need to check novelty before this filing date? Find Prior Art

Description

Fingerprint biometric key generation method based on scale-invariant and deep neural network Technical Field

[0001] The present invention belongs to the field of information security technology and relates to a fingerprint biometric key generation method based on scale invariance and deep neural network. Background Art

[0002] Fingerprint recognition is one of many biometric technologies. Biometrics refers to the use of inherent physiological or behavioral characteristics of the human body to authenticate an individual. Due to its convenience and security, biometrics holds broad application prospects in identity authentication and network security. Available biometric technologies include fingerprints, faces, voiceprints, and irises, with fingerprints being the most widely used. Because fingerprint biometrics, once formed, remain with a person throughout their life and are difficult to alter once compromised, the security of user fingerprint information is of great concern in the fingerprint authentication field. Existing methods for protecting fingerprint information primarily include fingerprint template protection (encryption, deformation, blurring, etc.) and biometric keys.

[0003] Biometric key technology allows users to directly derive a stable biometric key sequence from biometrics for encryption, eliminating the need to memorize lengthy keys, increasing key strength, and enabling convenient encryption operations. Because biometric key generation occurs locally, there's no need to store biometric templates for comparison, either locally or on the server. This effectively protects users' biometric privacy.

[0004] The existing fingerprint biometric key generation technologies mainly include:

[0005] (1) A method for generating a human fingerprint biometric key (CN201410074388.X): The fingerprint feature sequence is projected into a high-dimensional space, and the feature digital sequence of the same fingerprint is stabilized within an acceptable fluctuation range in the high-dimensional space. The stabilized fingerprint feature digital sequence is then encoded by segmentation, and the biometric key is extracted from the encoding. This method can have a certain stabilizing effect on the fingerprint feature sequence, and has a certain extraction effect on fingerprints with aligned fingerprint feature sequences, but the extraction effect is not ideal for fingerprints with unaligned feature sequences. In addition, due to the limited number of stable fingerprint feature points (endpoints, forks, etc.), the length of the stable bit sequence that can be extracted by the method is insufficient (generally <256 bits), and the success rate and strength of the fingerprint key generation are not high enough. (2) A fingerprint key generation method based on feature distance and generation interval (CN201811538752.8): The fingerprint feature distance and generation interval mechanism are used to generate the user's fingerprint key, and the double-layer error correction technology and SHA256 function are combined to ensure the accuracy and fault tolerance of the fingerprint key. This method still retains fingerprint features and key information such as fingerprint feature distance, generation interval and the final generated biometric key during the fingerprint key generation process. This information needs to be retained in the local security domain. The security of the entire method depends on the security of the local security domain and is vulnerable to attack. (3) A fingerprint biometric key generation method based on deep neural network encoding (CN201811538752.8): The deep neural network method is used to extract fingerprint features. Compared with the existing classic fingerprint feature point (endpoint, cross point, etc.) extraction method, it can more accurately extract the stable feature components of different samples of the same fingerprint, and stabilize the fingerprint features and feature values ​​through layer-by-layer processing of the deep neural network. The length of the generated fingerprint biometric key can be greater than 256 bits. However, this invention relies solely on deep neural network feature extraction when obtaining fingerprint biometric features. Due to its particularity, fingerprint information is difficult to train with massive data. The feature specificity obtained using the method described in this invention is insufficient, and the key extraction has a high error recognition rate.

[0006] Summary of the Invention

[0007] The purpose of this invention is to address the shortcomings of existing fingerprint biometric key generation methods by proposing a fingerprint biometric key generation method based on the fusion of scale-invariant fingerprint signal processing and deep neural network recoding. This method can directly extract high-strength (key length greater than 1024 bits) and stable fingerprint biometric keys from small samples of human fingerprints through scale-invariant feature transformation and deep neural network recoding. By combining knowledge of fingerprint image signal processing with the stability of deep neural network features, this method better supports small-sample fingerprint biometric key generation, significantly improving the accuracy of fingerprint biometric key generation and reducing the false positive rate.

[0008] The present invention specifically comprises the following steps:

[0009] Step 1: Sample the same fingerprint n times to obtain a set of fingerprint grayscale images; scale the above fingerprint grayscale images to a fixed pixel size (generally larger than 256×256 and smaller than 512×512).

[0010] Step 2: Perform equalization, convergence, enhancement, denoising, binarization, and thinning operations on the fingerprint image processed in step 1.

[0011] Step 3: Perform image amplification on the fingerprint image processed in step 2.

[0012] Step 4: Perform blind alignment on the fingerprint image processed in step 3, using two methods: translation and rotation. The resulting fingerprint image is labeled with the fingerprint and stored in training sample set S1. Repeat steps 1-4 for multiple fingerprint samples. When the number of fingerprint categories exceeds the preset threshold C1, training set S1 is constructed. Training set S1 is the labeled supervised learning training set.

[0013] Step 5: Use scale-invariant feature transformation to extract key points and key point descriptors from the fingerprint image after blind alignment in step 4.

[0014] Step 5.1: Detect scale space extreme values:

[0015] First, obtain the scale space;

[0016] Then, a Gaussian pyramid is built. The construction of the Gaussian pyramid is divided into two parts: 1) downsampling the Gaussian blurred image (sampling at every other point); 2) Gaussian blurring the image at different scales; and subtracting the upper and lower adjacent images in each group of the Gaussian pyramid to obtain a Gaussian difference image.

[0017] Finally, each pixel in the Gaussian difference image is compared with its surrounding pixels. When it is greater than or less than all adjacent points, it is an extreme point; the detected extreme point set is used as a candidate set of key points.

[0018] Step 5.2: Accurate positioning of key points:

[0019] The function is estimated using the interpolation fitting method to obtain the specific location of the extreme points, and the precise location of the key points is obtained after deleting unstable and low-contrast points.

[0020] Step 5.3: Remove edge effects:

[0021] The eigenvalues ​​of the Harris matrix are used to eliminate edge responses. When calculating feature points, only the quadratic changes of pixel values ​​in the local area are considered, and edge points are removed by setting a threshold.

[0022] Step 5.4, get the main direction of the key point:

[0023] Calculate the gradient direction and gradient amplitude of the image pixel points, make a direction statistical histogram, and take the direction with the highest amplitude as the main direction of the key point.

[0024] Step 5.5: Describe the key points:

[0025] A 4*4 window is used in the key point scale space to calculate the gradient information in n1 directions, and a 4*4*n1 dimensional vector representation is obtained, which is the descriptor of the key point.

[0026] Step 6: The descriptors of the key points obtained in step 5 are used to filter the stable key points, and the feature images are generated using the filtered stable key points. Specifically:

[0027] Step 6.1, obtain the serial number set of stable key points. Record the descriptors of the key points of n fingerprint images, denoted as R1 = {α ji =(x i ,y i ,θ i )|i=1,2,3…N,j=1,2,3,…,n}, where x i ,y i Represents the horizontal and vertical coordinates of the key points, θ i Indicates the direction information of the key point, N represents the number of key points extracted from each fingerprint image, and j represents the jth fingerprint image. Taking the first fingerprint image as the reference image, for each key point α in the reference image 1i , find the closest key point in the other n-1 fingerprint images, specifically calculate each key point α 1i All key points α in other n-1 fingerprint images ji The difference between them is denoted as Δx i and Δy i , Δθ i , are the differences in horizontal and vertical coordinates and angles of the key points corresponding to the i-th key point in the other n-1 fingerprint images. i and Δy i , Δθ i If both are less than a threshold Δγ, the index i of this coordinate value in the reference image is recorded and stored in a list. The number of occurrences of each index in this list is counted to obtain a dictionary with index as the key and number of occurrences as the value. Finally, based on this dictionary, the top K indexes with the highest number of occurrences are selected as the index set of stable keypoints.

[0028] Step 6.2: For the obtained K stable key point numbers, find the coordinates of the corresponding stable key points in R1 which records the key point information (i.e., the (x i ,y i )), then take these coordinates as the reference, extract the key points at these positions for n fingerprint images (that is, the positions of the key points extracted from each fingerprint image are the same), use step 5 to obtain the descriptors of the key points of each fingerprint image, splice the K descriptors of each fingerprint image into a K×128-dimensional matrix, and then output it as the feature image X0,…,X n .

[0029] After performing steps 5 and 6 on the fingerprint images of the training set S1 in batches according to the fingerprint category, the feature image set X is obtained, where X=(X0, X1, X2, ..., X i ,…,X n ), X i is a single output feature image, n is the number of output feature images, that is, the number of images in the training set S1, and all images are the same size. (Generally, n≤5, K=12, Δγ=5 pixels).

[0030] Step 7. Construct a fingerprint key deep neural network and train it using the training set S1. The fingerprint key deep neural network includes a fingerprint feature image stabilizer M1 and a fingerprint biometric key stabilizer M2 connected in series; the training set S1 is a labeled supervised learning training set.

[0031] Step 7.1: Construct a fingerprint feature image stabilizer M1, whose input is the fingerprint image pixel set P composed of the feature atlas X obtained in step 6. The fingerprint feature stabilizer selects a fingerprint image pixel set P' with more stable values ​​from the fingerprint image pixel set P.

[0032] Step 7.2: Construct a fingerprint biometric key stabilizer M2, whose input is the feature image output by the fingerprint stable feature extractor M1, and the output is the fingerprint biometric feature sequence S2.

[0033] To achieve robustness, we use a Unet network model with an encoder-decoder structure as the basis, and incorporate a sigmoid activation function into the final decoding layer to generate a binary output sequence, thereby constructing the fingerprint biometric sequence S2. The Unet model and the sigmoid activation function are both commonly used deep neural network models and activation functions in the field.

[0034] Step 8. Use the fuzzy extractor to construct the fingerprint biometric key extractor M3, and extract the stable fingerprint key sequence from the output result S2 of step 7, which is the final fingerprint biometric key.

[0035] The fingerprint biometric key extractor M3 uses a fuzzy extractor commonly used in the field to extract the fingerprint biometric key. The Shamir threshold secret sharing method can also be used for fuzzy key extraction.

[0036] The present invention combines fingerprint image signal processing knowledge with deep neural network feature stabilization for small sample data, achieving a series of operations such as scale-space representation of fingerprint images, stable feature extraction, and feature sequence stabilization. This allows for more accurate extraction of stable feature components from different samples of the same fingerprint. Through layer-by-layer processing within the deep neural network, fingerprint features and eigenvalues ​​are further stabilized. Finally, a fingerprint key fuzzy extractor is used to generate a high-strength key sequence from a normal fingerprint image. The generated fingerprint biometric key can be greater than 1024 bits in length. This invention eliminates the need to record biometric template information, reducing the risk of privacy leakage. Users can also generate highly secure keys without extensive memorization. As shown in Figure 6, this key can be seamlessly integrated with common symmetric and asymmetric encryption algorithms such as AES and RSA, promoting data encryption protection. It provides a new authentication model and encryption technology for existing human fingerprint-based identity authentication and ubiquitous encryption technologies, expanding the application scope of fingerprints in the information security field and improving the security and flexibility of fingerprint biometric usage. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 is a block diagram of fingerprint biometric key generation based on the fusion of scale-invariant feature transformation and deep neural network encoding;

[0038] FIG2 is a diagram showing the result of extracting the key point information of an image and its descriptor using scale-invariant feature transformation in this embodiment;

[0039] Gaussian pyramid model of the image in Figure 3;

[0040] Figure 4 From Gaussian pyramid to Gaussian difference pyramid model;

[0041] Figure 5. Structure diagram of the Unet network + sigmoid activation function structure;

[0042] Figure 6 Schematic diagram of fingerprint biometric key application. DETAILED DESCRIPTION

[0043] The present invention will be further described below with reference to the accompanying drawings.

[0044] As shown in Figure 1, a fingerprint biometric key generation method based on scale invariance and deep neural network recoding specifically includes the following steps:

[0045] Step 1: Collect samples of the same fingerprint n times (n≤5) to obtain a fingerprint grayscale image, and scale the grayscale image to a fixed pixel size (generally larger than 256×256 and smaller than 512×512).

[0046] Step 2: Perform equalization, convergence, enhancement, denoising, binarization, and thinning on the fingerprint image processed in step 1. The equalization, convergence, enhancement, denoising, binarization, and thinning methods are all common methods in the art.

[0047] Step 3: Perform image amplification on the fingerprint image processed in step 2.

[0048] First, the fingerprint image is geometrically transformed, including rotation, translation, and scaling. Next, pixel-level operations are performed on the image, including brightness, contrast, and noise. Both the geometric transformations and pixel-level operations used are commonly used algorithms in this field.

[0049] Step 4: Perform blind alignment on the fingerprint image processed in step 3. There are two types of blind alignment: translation and rotation.

[0050] The steps for the fingerprint blind alignment-translation operation are as follows: First, use the CNN deep network model Q1 to find the fingerprint center point in each fingerprint image processed in step 2. Second, determine the translation target position of the fingerprint center point in the fingerprint image processed in step 3, generally using the average value of the fingerprint center points of all images. Then, the fingerprint image processed in step 3 is translated as a whole so that the fingerprint center point coincides with the translation target position, completing the blind alignment-translation operation.

[0051] Deep network model Q1 uses an established deep network model for image classification, such as the ResNet model. The training process involves creating a dataset and training model Q1. The dataset consists of labeled images of the fingerprint center region and non-fingerprint center region images. The training dataset is fed into the CNN deep network model Q1 for training, enabling the model to accurately identify fingerprint center regions and non-fingerprint center regions, while maintaining a user-defined accuracy threshold. Model Q1 uses a sliding window method to identify fingerprint center regions and Poincare's formula to determine singular points. If a region contains a singular point, it is considered the fingerprint center region; otherwise, the fingerprint image is considered to be unidentified and discarded. Finally, after the fingerprint center region is found, the fingerprint image processed in step 3 is translated as a whole to complete the fingerprint blind alignment-translation operation.

[0052] The fingerprint blind alignment and rotation operation involves the following steps: First, the fingerprint image after the blind alignment and translation operation is subjected to image texture enhancement using Gabor wavelet processing. Second, the CNN deep network model Q2 is used to determine whether there is any angular deviation in the fingerprint center area of ​​the enhanced fingerprint image. If there is angular deviation, the entire fingerprint image is rotated by an angle of ω3° and the above steps are repeated until the CNN deep network model Q2 determines that there is no angular deviation in the fingerprint center area.

[0053] The CNN deep network model Q2 uses an existing ResNet model, taking fingerprint images after blind alignment and translation or blind alignment and rotation as input and outputting the angular deviation of the fingerprint center area as output. The process of training the CNN deep network model Q2 includes creating a rotation training dataset and training the model. The rotation training dataset is divided into two categories: one is a set of images with fingerprint center angle deviations within the range of (-ω2°, +ω2°), which are considered to have no center angle deviation; the other is a set of images with fingerprint center angle deviations between (-ω1°, -ω2°) and (+ω2°, +ω1°), which are considered to have center angle deviation. After the dataset is created, it is brought into the CNN deep network model Q2 for training, enabling the model to accurately identify whether there is angular deviation in the fingerprint center area. At the same time, the model's recognition accuracy must reach a user-defined threshold θ2 (e.g., 95%). Finally, when the fingerprint image after the blind alignment-translation operation is input into the model Q2 to determine whether there is an angular deviation in the fingerprint center point area, if so, the fingerprint image is rotated as a whole by an angle of ω3°, and the above steps are repeated until the model determines that there is no angular deviation in the fingerprint center point area, thereby completing the fingerprint blind alignment-rotation operation.

[0054] The fingerprint image finally obtained after steps 1-4 is labeled with the fingerprint and stored in the training sample set S1; take n (n≤5) samples of multiple fingerprints and repeat steps 1-4. When the number of fingerprint categories is greater than the preset threshold C1, the training set S1 is constructed; the training set S1 is a labeled supervised learning training set.

[0055] Step 5: As shown in FIG2 , the fingerprint image that has been blindly aligned in step 4 is subjected to scale-invariant feature transformation to extract key points and key point descriptors.

[0056] The specific steps are:

[0057] Step 5.1: Detect scale space extreme values;

[0058] First, calculate the scale space:

[0059] The scale space L(x,y,σ) of an image is defined as the convolution of a Gaussian function G(x,y,σ) of varying scale and the original image I(x,y).

[0060] L(x,y,σ)=G(x,y,σ)*I(x,y),

[0061] Here, m and n represent the dimensions of the Gaussian mask, (x, y) represents the position of the image pixel, and σ is the scale factor. Smaller values ​​indicate less smoothing of the image, and therefore smaller scales. Large scales correspond to the general features of the image, while small scales correspond to the details of the image.

[0062] When implementing scale space, a Gaussian pyramid is generally used. The construction of the Gaussian pyramid is divided into two parts: 1) downsampling the image (sampling at alternate points, a common method in the field); 2) Gaussian blurring the image at different scales (Gaussian blurring is generally implemented using a convolution kernel, a common method in the field);

[0063] As shown in Figure 3, an image pyramid model is a pyramid-like model formed by continuously downsampling the original image to obtain a series of images of varying sizes, arranged from large to small and from bottom to top. Image pyramid processing is a common method in the field. Each image in each layer of the image pyramid is Gaussian blurred using different parameters, resulting in multiple Gaussian blurred images in each layer. These multiple images in each layer are collectively referred to as a group. Each layer of the pyramid has only one group of images, and the number of groups equals the number of layers. Each group contains multiple images (also called layers).

[0064] In actual calculations, as shown in Figure 4, the upper and lower images in each group of the Gaussian pyramid are subtracted to obtain a Difference of Gaussians (DOG) image. DOG calculations simply require the subtraction of adjacent Gaussian-smoothed images, i.e., D(x,y,σ) = (G(x,y,kσ) – G(x,y,σ)) * I(x,y) = L(x,y,kσ) – L(x,y,σ), where k is a constant representing the multiple of the two adjacent scale spaces.

[0065] The feature points are composed of local extreme points in the DOG space. In order to find the extreme points of the DOG function, each pixel is compared with all its neighboring points to see whether it is larger or smaller than its neighboring points in the image domain and scale domain.

[0066] The middle detection point is compared with its 8 adjacent points at the same scale and 9×2 points corresponding to the upper and lower adjacent scales, a total of 26 points, to ensure that the extreme points are detected in both scale space and 2D image space. The set of detected extreme points is used as a candidate set of key points.

[0067] Step 5.2: Accurately locate key points;

[0068] The extreme points detected in step 5.1 are the extreme points of discrete space, which are not necessarily the extreme points in the true sense in continuous space. In the continuous case, the extreme points may fall on (x, y, σ) T , assuming it deviates from (x,y,σ) T The coordinates are (x0,y0,σ0) T Using the interpolation fitting method, the specific location of the extreme point is obtained, specifically at the detected extreme point (x, y, σ) T At , make a three-variable second-order Taylor expansion and apply the general algorithm in this field to convert it into a vector form:

[0069] Where X = (x, y, σ) T , D(x) is differentiated with respect to x to obtain:

[0070] Setting the derivative to zero gives:

[0071] The formula Substitution In the equation, we get:

[0072] Iterative solution In this embodiment, the number of iterations is 5 to obtain the precise position of the final candidate point. As the final candidate point, Substitute into the formula to obtain If its absolute value is lower than the set threshold (the threshold is set to 0.03 in this embodiment), the candidate point will be deleted. Points that are easily disturbed by noise and become unstable and points with low contrast can be removed to obtain the precise position of the key point.

[0073] Step 5.3, remove edge effects;

[0074] The key points obtained in step 5.2 will have many edge points. The edge points are unstable to some noises, so consider removing these edge points. The characteristics of the edge points are: there is a larger principal curvature in the direction across the edge (the extreme value of the normal curvature, the normal curvature is the quantity that describes the degree of curvature of the surface in a certain direction, and is a common concept in the field of image processing), and the principal curvature in the direction tangent to the edge is smaller, so there will be a larger difference between the two principal curvatures. In this step, it is necessary to remove edge points with a large difference between the two principal curvatures. Since the difference between the two principal curvatures is proportional to the eigenvalue of the Hessian matrix at the key point (differential geometry conclusion), the difference between the two principal curvatures is converted into the ratio of the eigenvalues ​​of the Hessian matrix. Hessian matrix D xx Indicates that the image of a certain scale in the DOG pyramid is differentiated twice in the x direction.

[0075] Assume that the eigenvalues ​​of matrix H are α (larger) and β (smaller), and the following formula is obtained: Tr(H)=D xx +D yy =α+β; Det(H)=D xx D yy -(D xy ) 2 =αβ;

[0076] Tr(H) represents the sum of the diagonal elements of the matrix H, and Det(H) is the determinant of the matrix H.

[0077] Let α=rβ, r is the ratio of the eigenvalues ​​of the Hessian matrix, we have

[0078] So in order to remove the edge response points, we need to let (r+1) 2 / r ratio is less than the set threshold R1, so only If the value is less than the set threshold, the key point is retained, otherwise it is eliminated. In this embodiment, R1 is set to 12.1.

[0079] Step 5.4, obtain the main direction of the key points;

[0080] One or more directions are assigned to each keypoint position based on the local gradient direction of the image. All subsequent operations on the image data are transformed relative to the direction, scale and position of the keypoint, making the descriptor rotation invariant.

[0081] For the key points detected in step 5.1, the gradient and directional distribution characteristics of the pixels in the 3σ (σ is the scale of the key point) neighborhood window of the Gaussian pyramid image are collected. The magnitude and angle of the gradient are calculated as follows:

[0082] Gradient amplitude

[0083] Gradient Argument

[0084] L is the scale space value of the key point. In actual operation, the gradient amplitude m(x, y) is generally added according to the Gaussian distribution of σ=1.5σ. According to the 3σ principle of scale sampling, the neighborhood window radius can be 3×1.5σ.

[0085] After completing the gradient calculation of the key points, the gradient and amplitude corresponding to the pixels in the statistical area are calculated using the histogram: the gradient direction angle is the horizontal axis scale, with 10 degrees as a unit, and the horizontal axis has 36 scales; the vertical axis is the accumulated value of the corresponding gradient amplitude.

[0086] The peak of the direction histogram represents the direction of the neighborhood gradient at the feature point, and the maximum value in the histogram is taken as the main direction of the key point.

[0087] At this point, the detected key points containing position, scale and direction are regarded as scale-invariant feature points of the image.

[0088] Step 5.5: Feature description of key points;

[0089] Through the above steps, for each key point, three pieces of information are obtained: position, scale, and direction. A descriptor is created for each key point using a set of vectors. This descriptor includes not only the key point, but also the pixels around the key point that contribute to it. In practice, the descriptor uses the gradient information of 8 directions calculated in a 4*4 window in the key point scale space, representing a total of 4*4*8=128-dimensional vectors. The representation steps are as follows:

[0090] First, the image region required for descriptor calculation is performed;

[0091] The feature descriptor is related to the scale of the feature point. Therefore, the gradient should be calculated on the Gaussian image corresponding to the feature point. The neighborhood centered on the key point is divided into d×d (d=4) sub-regions. The size of each sub-region is 3σ pixels, where σ is the image scale space where the key point is located. Taking into account the rotation factor (to facilitate the next step of rotating the coordinate axis to the direction of the key point), the required image region radius is generally calculated. Calculation results are rounded off.

[0092] Then, rotate the coordinate axis to the direction of the key point;

[0093] The coordinate axes are rotated to the orientation of the key points to ensure rotation invariance.

[0094] The new coordinates of the pixels in the neighborhood after rotation are:

[0095] Then, the descriptors of the key points are calculated;

[0096] Calculating the keypoint descriptor still requires the use of a statistical gradient histogram. Specifically, the gradients (magnitude and argument) of pixels within d×d (d=4) subintervals are calculated. The gradient magnitudes are first Gaussian-weighted and then linearly interpolated. (When a pixel falls within a subinterval, the gradient magnitude is generally not directly added to the directional histogram of the subinterval. Instead, certain weights are set and, through weighted calculation, the gradient magnitude is contributed to the histograms of the four subintervals closest to the pixel magnitude.) The 360° image is then divided into 45° intervals, forming a total of 8 intervals. The vertical axis represents the cumulative pixel magnitudes within the corresponding argument intervals, creating a statistical histogram. Each subinterval thus contains information from 8 histograms, resulting in a 4×4×8 feature vector for each keypoint, totaling 128 dimensions. This 128-dimensional vector is then normalized, and the normalized 128-dimensional vector is the keypoint descriptor. The gradient, amplitude and weight are calculated using common methods in this field.

[0097] Normalizing the descriptor vector elements using a common normalization method in this field;

[0098] Nonlinear lighting and camera saturation variations can cause excessively large gradients in some directions, while having minimal impact on other directions. Therefore, after vector normalization, a threshold (0.2 in this example) is set to truncate large gradients. Then, a further normalization process is performed to improve feature discrimination.

[0099] Step 6: Based on the key points obtained in step 5, filter out stable key points and generate feature images. Specifically:

[0100] Step 6.1: Record the key point information of n fingerprint images, which is recorded as:

[0101] R1={α ji =(x i ,y i ,θ i )|i=1,2,3…N,j=1,2,3,…,n}, where x i ,y i Represents the horizontal and vertical coordinates of the key points, θ i Indicates the direction information of the key point, N represents the number of key points extracted from each fingerprint image, and j represents the jth fingerprint image. Taking the first fingerprint image as the reference image, for each key point α in the reference image 1i , find the closest key point in the other n-1 fingerprint images, specifically calculate each key point α 1i All key points α in other n-1 fingerprint images ji The difference between them is denoted as Δx i and Δyi , Δθ i , are the differences in horizontal and vertical coordinates and angles of the key points corresponding to the i-th key point in the other n-1 fingerprint images. i and Δy i , Δθ i If both are less than a threshold Δγ, the index i of this coordinate value in the reference image is recorded and stored in a list. The number of occurrences of each index in this list is counted to obtain a dictionary with index as the key and number of occurrences as the value. Finally, based on this dictionary, the top K indexes with the highest number of occurrences are selected as the index set of stable keypoints.

[0102] Step 6.2: For the obtained K stable key point numbers, find the coordinates of the corresponding stable key points in R1 which records the key point information (i.e., the (x i ,y i )), then take these coordinates as the reference, extract the key points at these positions for n fingerprint images (that is, the positions of the key points extracted from each fingerprint image are the same), use step 5 to obtain the descriptors of the key points of each fingerprint image, splice the K descriptors of each fingerprint image into a K×128-dimensional matrix, and then output it as the feature image X0,…,X n After performing steps 5 and 6 on the fingerprint images of the training set S1 in batches according to the fingerprint category, the feature image set X is obtained, where X=(X0, X1, X2,…, X i ,…,X n ), X i is a single output feature image, n is the number of output feature images, that is, the number of images in S1, and all images have the same size. In this embodiment, n≤5, K=12, and Δγ=5.

[0103] Step 7: Construct a fingerprint key deep neural network and train it using the training set S1.

[0104] The fingerprint key deep neural network includes a fingerprint feature image stabilizer M1 and a fingerprint biometric key stabilizer M2 connected in series; the training set S1 is a labeled supervised learning training set.

[0105] Step 7.1: Construct a fingerprint feature image stabilizer M1 based on matrix learning, whose input is the fingerprint image pixel point set P composed of the feature atlas X obtained in step 6.

[0106] The feature image set X is obtained by step 6, where X=(X0,X1,X2,…,X i ,…,X n ), X i is a single output feature image, n is the number of output feature maps, all images have the same size; pixel point set

[0107] p i,j Represents a single pixel at the jth position in the i-th feature map. Each feature map has m1 pixels, for a total of n×m1 pixels. Then the fingerprint feature image stabilizer selects a pixel set P' with more stable values ​​from the pixel set P, and organizes the pixel set P' into a new feature image.

[0108] The fingerprint feature image stabilizer selects a pixel point set P' with more stable values ​​from the pixel point set P, specifically:

[0109] 1) According to the formula: in is the mean of all pixels in column j in pixel set P, P i,j Represents the pixel value of the feature map Xi at position j, and Δ1 and Δ2 are both set thresholds.

[0110] Get feature map X i The pixel value p at position j i,j The absolute error R(p i,j ); if R(p i,j )<Δ1, then the pixel position (i, j) is stored in the queue; if R(p i,j )≥Δ1, then continue to determine whether the pixel position (i, j) already exists in the queue; if it exists in the queue, execute step 2); if it does not exist in the queue, then add the pixel position (i, j) to the queue and calculate the variance δ of all pixel values ​​in the queue; if δ≥Δ2, then delete the pixel position (i, j) from the queue and execute step 2); if δ<Δ2, then retain the pixel position (i, j) and execute step 2);

[0111] 2) Continue traversing i and j, select a new pixel position, and return to step 1); the iteration ends when i = n, j = m1, and the pixel points corresponding to all pixel positions stored in the queue are combined into a pixel point set P'.

[0112] 7.2 Construct a fingerprint biometric key stabilizer M2, whose input is the feature image output by the fingerprint feature image stabilizer M1, and whose output is the fingerprint biometric sequence S2. To stabilize the numerical sequence, as shown in Figure 5, a Unet network model with an encoding-decoding structure is used as the basis, and a sigmoid activation function is added to the last decoding layer to generate a binary output sequence, thereby constructing the fingerprint biometric sequence S2. The Unet model and the sigmoid activation function are both commonly used deep neural network models and activation functions in the field.

[0113] The encoder consists of multiple layers of convolution and downsampling operations, with binary quantization added after each convolution layer to compress feature information, reduce computational complexity, and improve model robustness. The decoder uses upsampling and convolution operations to reconstruct the feature image.

[0114] The calculation process of Sigmoid is as follows:

[0115] Its input and output are both in the interval [0,1]. The positions where its output result is greater than or equal to 0.5 can be converted to 1, and the positions where its output result is less than 0.5 can be converted to 0.

[0116] Step 8: Use a common fuzzy extractor in the field to construct a fingerprint biometric key extractor M3, and extract a stable fingerprint key sequence from the output result of step 7, which is the final fingerprint biometric key.

[0117] Since the sequence vector obtained in step 7 generally still has a certain number of unstable values, a fingerprint key extractor M3 is used to extract a stable fingerprint key sequence.

[0118] You can also use Shamir's threshold secret sharing method to perform fuzzy key extraction. The specific method is:

[0119] Generation phase: Set parameters n1, t1, and bx, where n1 represents the number of subsequences selected from the sequence vector, and bx represents the length of the selected subsequence. The subsequence is a continuous sequence of numbers. t1 represents the threshold. When t1 subsequences are successfully matched, the key can be accurately extracted.

[0120] First, construct a polynomial F(x) so that Output is bound to the polynomial constant term a0, which is considered as the key: F(x) = a t1-1 x t1-1 +…+a2x 2 +a1x 1 +a0mod(p),a0=Output;

[0121] Where p is a prime number and the coefficient a t1-1 ,...,a2,a1 are randomly selected, x∈Z p , Z p is the remainder field modulo p.

[0122] Then, take n1 subsequences Mi, (i = 1, 2, ..., n1) with a length of bx from the sequence vector S2 processed by the fingerprint key stabilizer M2 in the training phase, use the n1 subsequences as the input x of the polynomial, and get the corresponding F(Mi). Record F(Mi), p and loc i (i=1, 2, ..., n1), where loci Indicates the index value of the position of the i-th subsequence Mi in the entire sequence. It is used in the key extraction stage.

[0123] Extraction phase:

[0124] When x=0, F(0)=a0=Output, and the key can be recovered. According to the recorded n1 index values, select n1 blocks of bx bit length subsequence Q i , (Q i ,F(Mi)) and x=0

[0125] If there are t1 (1≤t1≤n1) blocks Q i When it is equal to Mi, we can get Output = a0, which is the fingerprint biometric key.

[0126] Those skilled in the art should recognize that the above embodiments are merely intended to illustrate the present invention and are not intended to limit the present invention. As long as they are within the spirit and scope of the present invention, any changes or modifications to the above embodiments will fall within the scope of protection of the present invention.

Claims

1. A fingerprint biometric key generation method based on scale invariance and deep neural network recoding, characterized by: The specific steps include: Step 1: Sample the same fingerprint n times to obtain a set of fingerprint grayscale images; uniformly scale the above fingerprint grayscale images to a fixed pixel size; Step 2: Perform equalization, convergence, enhancement, denoising, binarization, and thinning operations on the fingerprint image processed in step 1; Step 3, performing image amplification operation on the fingerprint image processed in step 2; Step 4: After blind alignment of the fingerprint image processed in step 3, the final fingerprint image is labeled with the fingerprint and stored in the training sample set S1; n samples of multiple fingerprints are taken and steps 1-4 are repeated. When the number of fingerprint categories is greater than the preset threshold C1, the training set S1 is constructed; the training set S1 is a labeled supervised learning training set; Step 5, extracting key points and key point descriptors of the fingerprint image after the blind alignment process in step 4 by using scale-invariant feature transformation; Step 5.1: Detect scale space extreme values: First, obtain the scale space; Then, a Gaussian pyramid is built. The construction of the Gaussian pyramid is divided into two parts: 1) downsampling the image; 2) performing Gaussian blurring of different scales on the image; subtracting the upper and lower layers of the adjacent images in each group of the Gaussian pyramid to obtain a Gaussian difference image; Finally, each pixel in the Gaussian difference image is compared with the pixels around it. When it is greater than or less than all adjacent points, it is an extreme point. The detected extreme point set is used as a candidate set of key points. Step 5.2: Accurate positioning of key points: The function is estimated using the interpolation fitting method to obtain the specific location of the extreme points, and the precise location of the key points is obtained after deleting the unstable and low-contrast points; Step 5.3, remove edge effects: Step 5.4, get the main direction of the key point: Step 5.5: Describe the key points: Use a 4*4 window in the key point scale space to calculate the gradient information in n1 directions, and get a 4*4*n1 dimensional vector representation, which is the descriptor of the key point; Step 6: Use the key points obtained in step 5 as a reference to screen stable key points, and use the screened stable key points to generate a feature image, specifically: Step 6.1, obtain the serial number set of stable key points; record the key point feature description information of n fingerprint images, denoted as R1 = {α ji =(x i ,y i ,θ i )|i=1,2,3…N,j=1,2,3,…,n}, where x i ,y i Represents the horizontal and vertical coordinates of the key points, θ i represents the direction information of the key point, N represents the number of key points extracted from each fingerprint image, j represents the jth fingerprint image; taking the first fingerprint image as the reference image, for each key point α in the reference image 1i , find the closest key point in the other n-1 fingerprint images, specifically calculate each key point α 1i All key points α of other n-1 fingerprint images ji The difference between i and Δy i , Δθ i , are the differences of the horizontal and vertical coordinates and angles of the corresponding key points of the i-th key point in the other n-1 fingerprint images; when Δx i and Δy i , Δθ i When both are less than a certain threshold Δγ, the coordinate value is recorded in the reference image The sequence number i is stored in a list; the number of occurrences of each sequence number in this list is counted to obtain a dictionary with the sequence number as the key and the number of occurrences as the value; finally, according to this dictionary, the first K sequence numbers with the largest number of occurrences are selected as the sequence number set of stable key points; Step 6.2: For the obtained K stable key point numbers, find the coordinates (x i ,y i ), then take these coordinates as the reference, extract the key points at these positions for n fingerprint images, use step 5 to obtain the descriptors of the key points of each fingerprint image, splice the K descriptors of each fingerprint image into a K×128-dimensional matrix, and then output it as a feature image X0,…,X n ; After performing steps 5 and 6 in batches on the fingerprint images of the training set S1 according to the fingerprint category, the feature image set X is obtained, where X = (X0, X1, X2, ..., X i ,…,X n1 ), X i is a single output feature image, n1 is the number of output feature maps, that is, the number of images in the training set S1, and all images have the same size; Step 7, construct a fingerprint deep neural network and use the training set S1 for training; the fingerprint deep neural network includes a fingerprint feature image stabilizer M1 and a fingerprint biometric key stabilizer M2 connected in series; the training set S1 is a supervised learning training set with labels; Step 7.1, construct a fingerprint feature image stabilizer M1, whose input is the fingerprint image pixel point set P composed of the feature atlas X obtained in step 6; the fingerprint stabilization feature stabilizer selects a fingerprint image pixel point set P' with more stable values ​​from the fingerprint image pixel point set P; Step 7.2, construct a fingerprint biometric key stabilizer M2, whose input is the feature image output by the fingerprint stable feature extractor M1, and the output is the fingerprint biometric feature sequence S2; In order to achieve robustness, the Unet network model with an encoding-decoding structure is used as the basis, and the sigmoid activation function is connected to the last decoding layer to generate a binary output sequence, thereby constructing the fingerprint biometric sequence S2; Step 8: Extract a stable fingerprint key sequence from the output result of step 7, which is the final fingerprint biometric key.

2. The fingerprint biometric key generation method based on scale invariance and deep neural network recoding as claimed in claim 1, characterized in that: The step 5.3 uses the eigenvalues ​​of the Harris matrix to eliminate edge responses, only considers the secondary changes of pixel values ​​in the local area when calculating feature points, and removes edge points by setting a threshold.

3. The fingerprint biometric key generation method based on scale invariance and deep neural network recoding as claimed in claim 1, characterized in that: The step 5.4 calculates the gradient direction and gradient amplitude of the image pixel points, makes a direction statistical histogram, and takes the direction with the highest amplitude as the main direction of the key point.

4. The fingerprint biometric key generation method based on scale invariance and deep neural network recoding as claimed in claim 1, characterized in that: The step 8 uses a fuzzy extractor to construct a fingerprint biometric key extractor M3 or uses the Shamir threshold secret sharing method to perform fuzzy extraction on the output sequence of step 7.

5. The fingerprint biometric key generation method based on scale invariance and deep neural network recoding as claimed in claim 1, characterized in that: The image amplification described in step 3 is specifically as follows: first, geometric transformation is performed on the fingerprint image, including rotation, translation, and scaling operations; second, pixel-level operations are performed on the image, including brightness, contrast, and noise transformation.

6. The fingerprint biometric key generation method based on scale invariance and deep neural network recoding as claimed in claim 1, characterized in that: The blind alignment operation described in step 4 is divided into two types: translation and rotation; The steps of the fingerprint blind alignment-translation operation are as follows: first, determine the translation target position of the fingerprint center point in the fingerprint image processed by step 3, so that the position points of all images coincide; second, use the CNN deep network model Q1 to find the fingerprint center point in the fingerprint image processed by step 2; then, translate the fingerprint image processed by step 3 as a whole, so that the fingerprint center point coincides with the translation target position, and complete the blind alignment-translation operation; The fingerprint blind alignment-rotation operation includes the following steps: first, the fingerprint image after the blind alignment-translation operation is subjected to image texture enhancement processing by using Gabor wavelet function processing; second, the CNN deep network model Q2 is used to determine whether there is an angle deviation in the fingerprint center area of ​​the enhanced fingerprint image; if there is an angle deviation, the fingerprint image is rotated as a whole by an angle of ω3° and the above steps are repeated until the CNN deep network model Q2 determines that there is no angle deviation in the fingerprint image center area.

Citation Information

Patent Citations

  • Fingerprint biometric key generation method based on deep neural network coding

    CN113128364A

  • Fingerprint biometric key generation method based on scale invariance and deep neural network

    CN116628664A

  • Biometric recognition and security system

    US11138409B1

Cited By

  • Traditional Chinese medicine specimen collection and informatization processing method based on image machine learning

    CN120388285A

  • An image machine learning-based traditional Chinese medicine specimen collection and informatization processing method

    CN120388285B