Fingerprint vein recognition method based on improved auto-encoding network
By improving the combination of autoencoder networks and real-valued error-correcting codes, the overfitting problem caused by insufficient training data in finger vein recognition is solved, thereby improving recognition accuracy and security and achieving efficient template protection.
Patent Information
- Application Number
- CN202311454774.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-03
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2043-11-03
AI Technical Summary
In existing finger vein recognition technologies, deep learning networks are prone to overfitting when training data is insufficient, which limits the recognition accuracy. Furthermore, existing template protection methods may introduce errors when processing real-valued features, affecting recognition accuracy and security.
An improved autoencoding network is employed, which reduces the number of convolutional layers and designs error-correcting codes suitable for real-valued features. Combined with data augmentation and real-valued error-correcting code protection templates, the recognition accuracy and security are enhanced.
It improves the accuracy and sensitivity of finger vein recognition, reduces training error, and enhances the robustness of the algorithm and the security of the recognition system.
Smart Images

Figure CN117315731B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the field of biometric recognition, and particularly relates to a finger vein recognition method based on an improved auto-encoding network. BACKGROUND
[0002] Finger vein recognition technology is a new biometric recognition technology, which has attracted extensive attention from the academic and industrial circles due to its advantages such as living body recognition, non-contact, and being less susceptible to external factors. In a finger vein recognition system, the recognition process generally includes four steps: image acquisition, preprocessing, feature extraction, and image comparison and matching. Among them, the task of feature extraction is to extract key information related to the recognition task from the original finger vein image, so that the subsequent recognition algorithm can better distinguish the differences between different individuals. Feature extraction techniques can generally be divided into two categories: feature extraction based on traditional methods and feature extraction based on deep learning. Traditional methods include Gabor filter, repeated line tracking, local binary pattern (LBP), principal component analysis (PCA), linear discriminant analysis (LDA), etc. In recent years, researchers have begun to combine deep learning technologies such as DCNN (Dynamic Convolution Neural Network), VGG (Visual Geometry Group Network), AGCNN (Attention-based Graph Convolution Network) with finger vein recognition technology. Deep learning technology can represent deep features of images using its nonlinear mapping characteristics, so it has achieved better results than traditional methods. However, research has also found that due to problems such as finger displacement, rotation, and poor image quality in finger images, some neural networks cannot accurately determine and extract features, resulting in limited accuracy.
[0003] With the application of finger vein recognition technology, the security of the recognition system has attracted more and more attention, and the template protection technology has gradually become a research hotspot. In the biometric recognition system, the template is the biometric feature data formed after the algorithm processing, which is the only basis for the system to verify the identity of the user. Once the template is leaked, the system will lose the ability of recognition and protection. Therefore, protecting the security of the template has become one of the key research contents. The existing template protection technologies can be generally divided into two categories: feature transformation-based method and feature encryption-based method. The feature transformation-based template protection needs to process the biometric features through a certain transformation function to convert them into an irreversible or difficult-to-recover form, and then store them in the database as templates. Once the template is leaked, a new template can be generated by modifying the parameters of the transformation function. The representative of this method is the biometric hash method, random projection, etc. The defect is that a large amount of training data may be required, and the calculation cost is very high. The feature encryption-based method refers to storing the encrypted finger vein feature data as a template, making it difficult for attackers to recover the original biometric features. This method has fuzzy commitment (FC), fuzzy vault (FV), etc., which can provide a high level of security guarantee, but introduces additional complexity and overhead, and the cost of system implementation and management is not small. In recent years, researchers have introduced deep learning methods such as convolutional neural network (CNN) and residual neural network (ResNet) to encrypt biometric features, and this kind of feature encryption method based on deep learning has achieved certain results and can reduce certain additional storage overhead. In the finger vein recognition technology, automatic coding network and other networks are usually used to process biometric feature data. However, the original automatic coding network has a deep network layer, and when the training data is less, overfitting may occur, resulting in large training error. In addition, these methods usually use binary error correction coding such as BCH code (Bose-Chaudhuri-Hocquenghem Codes), LDPC code (Low-Density Parity-Check) and polar code (Polar Code) when processing biometric features, that is, binary features are used as an intermediate step, and binary error correction code is finally used to generate a protected template. However, the features extracted from the finger vein feature data are usually real-valued features, and mapping to binary error correction code may introduce errors, resulting in loss of some details and affecting the recognition accuracy. SUMMARY
[0004] To solve the above technical problems, the application provides a finger vein identification method based on an improved automatic coding network, which can learn structure and features from unmarked data unsupervisedly based on the improved automatic coding network, and improve the identification accuracy; real value error correcting code (ECC) suitable for real value features is used to protect the template, which can improve the security while avoiding the loss of detail information, and thus improve the sensitivity and accuracy of the identification system.
[0005] The finger vein identification method based on the improved automatic coding network comprises the following steps:
[0006] Step 1, the user registration stage, specifically comprising:
[0007] Step 1-1, batch collection of finger vein pictures and pixel normalization processing, after data enhancement of the pictures, all the pictures are saved as a data set;
[0008] Step 1-2, constructing an automatic coding network and training to obtain a trained automatic coding network;
[0009] Step 1-3, inputting the finger vein pictures, obtaining the finger vein features, and using real value error correcting code for feature encryption to generate corresponding encrypted templates and store them in the system database, and the user registration is completed;
[0010] Step 2, the verification matching stage, specifically comprising:
[0011] Step 2-1, after pixel normalization processing of the request finger vein pictures, inputting the trained automatic coding network in the user registration stage to obtain the input request finger vein features t';
[0012] Step 2-2, the request finger vein features and the registered finger vein features are verified and matched by using a verification algorithm, if all are not matched, the verification fails, and the output is rejected; if the matching is successful, the comparison is stopped, and the output is accepted.
[0013] Further, in step 1-1, each finger vein picture is normalized to scale the pixel value of the picture to the range of [0, 1], and the normalization calculation method is shown in formula (1):
[0014] x'=(x-min(x)) / (max(x)-min(x)) (1)
[0015] Wherein, x' is the normalized pixel, x is the original pixel, min function represents the minimum value in the data, and max function represents the maximum value in the data.
[0016] Further, in step 1-1, data augmentation is performed on the pictures in the data set, and one or more of the following transformations are randomly applied to each picture, and the adjusted finger vein picture is put into the data set;
[0017] (1) Rotation transformation: randomly rotate the picture in the range of [0°, 7°];
[0018] (2) Horizontal position transformation: randomly translate the picture in the horizontal direction in the range of [0, 0.025×picture length];
[0019] (3) Vertical position transformation: randomly translate the picture in the vertical direction in the range of [0, 0.025×picture height];
[0020] (4) Scaling transformation: randomly scale the picture in the length or width direction, and the scaling parameter is in the interval [0.95, 1.05].
[0021] Further, an improved auto-encoding network is constructed, including an encoder, an embedding layer, a decoder, and a loss function;
[0022] The encoder includes four convolutional layers, respectively having 16, 32, 64, and 128 filters, and using a 3×3 convolution kernel in each layer; after each convolution operation, there is a BN normalization module and a ReLU activation function;
[0023] The embedding layer includes a fully connected layer and a Dropout module, and the features output by the encoder are sent to the decoder after dimensionality reduction by the embedding layer;
[0024] The decoder includes four reverse convolutional layers, respectively including 128, 64, 32, and 16 filters, and using a 3×3 convolution kernel in each layer; in the first three reverse convolutional layers, after each reverse convolution operation, there is a BN normalization module and a ReLU activation function; in the fourth reverse convolutional layer, after the reverse convolution operation, there is a Sigmoid activation function to limit the pixel value to between 0 and 1, restore the dimension and features of the finger vein picture, and obtain the reconstructed input image;
[0025] The total loss L of the loss function is composed of the encoder-decoder loss L total , the embedding layer loss L AE , and the reconstruction loss L embeding , L AE is calculated for the encoder input image features and the reconstructed image features of the decoder, L embeding is calculated in the embedding layer, and the calculations are shown in equations (2), (3), and (4) respectively:
[0026] L total = (1-α) LAE +αL embeding (2)
[0027]
[0028]
[0029] Among them, I, Represent the input image features and the reconstructed image features, respectively; α is a learnable hyperparameter in the interval [0,1]; L AE Original image features I and reconstructed image features The difference between them is represented by the mean squared error (MSE), which is denoted by ||||² in the formula; L embeding It is the loss of the embedding layer, where Γ α ,Γ p ,Γ n These are the features of the anchor image, the positive class image, and the negative class image, respectively.
[0030] Furthermore, in steps 1-3, the finger vein images of registered users are pixel normalized and input into the trained network to obtain features, which are the feature set M. For each finger vein feature t in the feature set M, a real-valued error correction code c is assigned to the finger vein using a protection algorithm, a corresponding encryption template k is generated, and stored in the system database.
[0031] Furthermore, a real-valued error-correcting code c is assigned to the finger vein using a protection algorithm, and a corresponding encryption template k is generated, specifically as follows:
[0032] (1) Call the uniform distribution algorithm to assign a real-valued error correction code c to the input finger vein feature;
[0033] (2) Generate the rotation matrix P, P = t -1 ·c; Then, apply the SHA-256 hash function to encrypt c to obtain the encrypted real-valued error correction code r, i.e., r = H(c), where H is the hash function;
[0034] (3) Combine r and P into a template (r, P), denoted as k, and output it.
[0035] Furthermore, assuming each finger vein feature has a length of n, for a given random positive integer α, a real-valued error-correcting code c = (c1,...,c...) is generated using a uniform distribution algorithm. i ,...,c n ), 1≤i≤n; c is composed of 0, and The resulting unit vector is of length n and has exactly α non-zero terms; specifically:
[0036] (1) Initialize c = (c1,...,cn ), c1,...,c n All are set to 0;
[0037] (2) Generate α random numbers in the range [1, n] and put them into set J;
[0038] (3) For all elements j in J, set c j Randomly set to or
[0039] (4) Output c = (c1,...,c n ).
[0040] Furthermore, a verification algorithm is used to verify and match the requested finger vein features and the registered finger vein features. The input of the verification algorithm is the feature to be detected t' and the protected template k = (r, P), and the output is acceptance or rejection. Specifically:
[0041] (1) Extract r and P from the protected template k = (r, P);
[0042] (2) Call the decoding algorithm to obtain the corresponding real-valued error correction code c'; and obtain the encrypted r' = H(c') through the SHA-256 hash function;
[0043] (3) If r' = r is true, output "accept"; otherwise, output "reject".
[0044] Furthermore, the decoding algorithm is invoked to calculate and return the corresponding real-valued error correction code c' for the input requested finger vein feature t' and rotation matrix P; specifically:
[0045] (1) Multiply t' by the rotation matrix P to obtain a vector, denoted as u, u = (u1,...,u n );
[0046] (2) From u=(u1,...,u n Select the α elements with the largest absolute values from the set J, record the index values of these elements, and put them into the set J;
[0047] (3) Create a vector c' = (c1,...,c...) of length n. n If j∈J, set Otherwise, c j =0;
[0048] (4) Output c' = (c1,...,c n ).
[0049] The beneficial effects of this invention are as follows: This method uses an improved autoencoder network. Compared with the original autoencoder network, the improved autoencoder network of this invention reduces training errors and improves recognition accuracy by reducing convolutional layers and improving the loss function. This invention also introduces real-valued error-correcting codes with good error correction capabilities and fault tolerance, which can reduce the influence of intra-class differences in finger vein features, improve recognition accuracy, and enhance the robustness of the algorithm. Attached Figure Description
[0050] Figure 1 This is a user registration flowchart;
[0051] Figure 2 This is a flowchart for verifying and matching.
[0052] Figure 3 This is an autoencoding network architecture diagram in an embodiment of the present invention. Detailed Implementation
[0053] To make the content of this invention easier to understand, the invention will be further described in detail below with reference to specific embodiments and accompanying drawings.
[0054] The finger vein recognition method based on an improved autoencoder network described in this invention includes two parts: user registration and verification matching, as detailed below:
[0055] a. User registration section, such as Figure 1 As shown;
[0056] Step 1: Data acquisition and preprocessing;
[0057] First, collect finger vein images in batches and store them in the dataset;
[0058] Then, each finger vein image is normalized to scale the pixel values to the range of [0,1] to reduce the impact of illumination changes. This process also facilitates subsequent model training because the model can use a uniform learning rate to accelerate training and converge more smoothly. The normalization calculation method is shown in Equation (1):
[0059] x′=(x-min(x)) / (max(x)-min(x)) (1)
[0060] Where x′ is the normalized pixel, x is the original pixel, the min function means to take the minimum value in the data, and the max function means to take the maximum value in the data;
[0061] Finally, data augmentation operations are performed on the images in the dataset to expand its size. Specifically, one or more of the following transformations are randomly selected for each image, and the adjusted finger vein images are then added to the dataset:
[0062] (1) Rotation Transformation: Rotates the image randomly within the range of [0°, 7°];
[0063] (2) Horizontal position transformation: randomly translates the image horizontally within the range of [0, 0.025 × image length];
[0064] (3) Vertical position transformation: Makes the image randomly translate vertically within the range of [0, 0.025 × image height];
[0065] (4) Scaling transformation: Randomly enlarge or reduce the image in the length or width direction, with scaling parameters in the range of [0.95, 1.05].
[0066] Step 2: Construct an improved autoencoder network, such as Figure 3 As shown, it includes an encoder, an embedding layer, a decoder, and a loss function. The original autoencoder network contains multiple convolutional layers, but insufficient training data can lead to overfitting. This invention reduces it to four layers to decrease network complexity and overfitting risk, thereby improving recognition accuracy.
[0067] (1) Encoder
[0068] The encoder is used to reduce the size of finger vein features from the input image to the embedding layer, such as Figure 2 As shown, the training process uses four convolutional layers with 16, 32, 64, and 128 filters respectively, and each layer uses a 3×3 convolutional kernel. After each convolution operation, there is a Batch Normalization (BN) module and a ReLU (Rectified Linear Unit) activation function. BN normalization helps to speed up convergence and avoids the problems of gradient vanishing and imbalanced data distribution. Using ReLU as the activation function reduces the computational cost of the backpropagation algorithm and can alleviate overfitting.
[0069] (2) Embedding layer
[0070] The embedding layer is used to reduce the feature dimension of the encoder output to a specified length. It contains a fully connected layer and a Dropout module. The features reduced in dimensionality by the embedding layer are then fed to the decoder.
[0071] (3) Decoder
[0072] The decoder, used to reconstruct the dimensions and features of the finger vein image, consists of four inverse convolutional layers, each containing 128, 64, 32, and 16 filters respectively, with a 3×3 convolutional kernel in each layer. In the first three inverse convolutional layers, after each inverse convolution operation, there is a Batch Normalization (BN) module and a ReLU (Rectified Linear Unit) activation function. In the fourth inverse convolutional layer, after the inverse convolution operation, a Sigmoid activation function is applied, which restricts pixel values to between 0 and 1. At this point, the reconstruction of the input image is complete.
[0073] (4) Loss Function
[0074] To train the proposed network, this invention designs a multinomial loss function; in this loss function, I, ..., ... are used respectively. This represents the input image features and the reconstructed image features. The total loss of this multinomial loss function is L. total Loss L from encoder-decoder AE and embedding layer loss L embeding The composition and calculation are shown in equations (2), (3), and (4), respectively; where α is a learnable hyperparameter on the interval [0,1], and L... AE Original image features I and reconstructed image features The difference between them is represented by the mean squared error (MSE), which is denoted by ||||² in the formula. embeding It is the loss of the embedding layer, where Γ α ,Γ p ,Γ n These are the features of the anchor image (reference image), positive class image, and negative class image, respectively. The anchor image is an image from the same class of finger vein images, used as the benchmark for comparison. Positive class images are other finger vein images belonging to the same class as the anchor image. Negative class images are other finger vein images belonging to a different class than the anchor image. embeding It can minimize the distance between the anchor image and the positive class image, and maximize the distance between the anchor image and the negative class image.
[0075] L total =(1-α)L AE +αL embeding (2)
[0076]
[0077]
[0078] Step 3: Train the network model;
[0079] To train the network, Adam was used as the optimizer. The learning rate was set to 10. -3 The model is trained using images from the dataset to obtain the network model with the best recognition performance, and its model parameters are saved.
[0080] Step 4: Input the registered user's image, obtain the finger vein features, and use real-valued error correction codes to encrypt the features, generate the corresponding encryption template, and store it in the system database;
[0081] The finger vein images of registered users are pixel-normalized and input into a trained network to obtain features. Real-valued error correction codes are then used to protect these features output by the network. This set of features is denoted as M.
[0082] The implementation and application of real-valued error-correcting codes include the Uniform Distribution Algorithm (USampleAlgorithm), the Protect Algorithm, the Decode Algorithm, and the Verify Algorithm. During the user registration phase, for each finger vein feature t in the feature set M, the Protect Algorithm calls the Uniform Distribution Algorithm to assign a real-valued error-correcting code c, then generates the corresponding encryption template k and stores it in the system database. The specific steps of the Uniform Distribution Algorithm and the Protect Algorithm are as follows.
[0083] (1) Uniform distribution algorithm
[0084] The function of the uniform distribution algorithm is to generate a real-valued error-correcting code c = (c1,...,c...) for a given random positive integer α, assuming that the length of each finger vein feature is n. i ,...,c n ), 1≤i≤n. c is composed of 0, and The resulting unit vector has length n and exactly α non-zero terms; the steps are as follows:
[0085] 1) Initialize c = (c1,...,c n ), c1,...,c n All are set to 0;
[0086] 2) Generate α random numbers in the range [1, n] and place them into set J;
[0087] 3) For all elements j in J, set c j Randomly set to or
[0088] 4) Output c = (c1,...,c n ).
[0089] (2) Protection Algorithm
[0090] The protection algorithm assigns and encrypts real-valued error correction codes to the finger vein features. These codes are generated using a uniform distribution algorithm. The input to the protection algorithm is the finger vein feature t, and the output is the protected template k. The steps are as follows:
[0091] 1) Call the uniform distribution algorithm to assign a real-valued error correction code c to the input finger vein feature;
[0092] 2) Generate the rotation matrix P, P = t -1 ·c; Then, apply the SHA-256 hash function to encrypt c to obtain the encrypted real-valued error correction code r, i.e., r = H(c), where H is the hash function;
[0093] 3) Combine r and P into a template (r, P), denoted as k, and output it;
[0094] A protection algorithm is executed for each finger vein feature in M, and the generated template is stored in the system database.
[0095] b. Validate the matching part, such as Figure 2 As shown;
[0096] Step 1: Enter the requested finger vein image;
[0097] When a user performs verification, the finger vein image is first normalized to pixels, and then input into the network trained during the user registration phase to obtain the input request finger vein feature t'.
[0098] Step 2: Feature decoding and matching.
[0099] The requested finger vein feature t' is processed. The verification algorithm calls the decoding algorithm to obtain the corresponding real-valued error correction code c', and uses the SHA-256 hash function to encrypt the real-valued error correction code c' to obtain the encrypted template r'. r' is compared with the registered feature encrypted template k in the system database to determine whether they match. If they do not match at all, the comparison fails and outputs 0; if they match successfully, the comparison stops and outputs 1. The specific steps of the decoding and verification algorithms are as follows.
[0100] (1) Decoding Algorithm
[0101] The decoding algorithm functions to calculate and return the corresponding real-valued error-correcting code c' for the input requested finger vein feature t' and rotation matrix P; the steps are as follows:
[0102] 1) Multiply t' by the rotation matrix P to obtain a vector, denoted as u, u = (u1,...,u...). n );
[0103] 2) From u=(u1,...,un Select the α elements with the largest absolute values from the set J, record the index values of these elements, and put them into the set J;
[0104] 3) Create a vector c' = (c1,...,c...) of length n. n If j∈J, set Otherwise, c j =0;
[0105] 4) Output c' = (c1,...,c n ).
[0106] (2) Verification Algorithm
[0107] The verification algorithm verifies and matches the requested finger vein feature with the registered finger vein feature. The algorithm's input is the feature to be detected, t', and the protected template, k = (r, P), and the output is either accept or reject. The steps are as follows:
[0108] 1) Extract r and P from the protected template k = (r, P);
[0109] 2) Call the decoding algorithm to obtain c'; then, use the SHA-256 hash function to obtain the encrypted r' = H(c');
[0110] 3) If r' = r is true, output "Accept"; otherwise, output "Reject".
[0111] Experimental results
[0112] This invention uses an autoencoder network for feature extraction and combines it with real-valued error-correcting codes for template protection. A comparative experiment was conducted on the publicly available UTFVP (The University of Twente FingerVein Pattern) dataset (Ton BT, Veldhuis RN JA high quality finger vascular pattern dataset collected using a custom-designed capturing device [A]. Proceedings of International Conference on Biometrics [C], 2013, 1-5.). This dataset contains 1440 finger vein images with a resolution of 672×380 from 60 subjects. The following three performance metrics were used:
[0113] (1) FAR (False Accept Rate): The probability of mistaking a finger vein that should not be matched as a matched finger vein;
[0114] (2) FRR (False Reject Rate): The probability of mistaking a finger vein that should have matched successfully as a finger vein that cannot be matched;
[0115] (3) EER (Equal Error Rate): The value when FAR and FRR are equal; the smaller the equal error rate, the higher the accuracy of the algorithm.
[0116] The comparison algorithms are as follows.
[0117] (1)WLD, Wide Line Detector. (Huang B, Dai Y, Li R, et al. Finger-veinauthentication based on wide line detector and pattern normalization [A]. Proceedings of International Conference on Pattern Recognition [C], 2010, 1269-1272.)
[0118] (2)MC,Maximum Curvature.(MiuraN,NagasakaA,Miyatake T.Extraction offinger-vein patterns using maximum curvature points in image profiles[J].IEICE Transactions on Information and Systems,2007,90(8):1185-1194.)
[0119] (3)RLT, Repeated Line Tracking.(MiuraN,NagasakaA,Miyatake T.Featureextraction offinger-vein patterns based on repeated line tracking and its application to personal identification[J].Machine Vision andApplications,2004,15(4):194-203.)
[0120] The results are shown in Table 1. As can be seen from Table 1, the FAR, FRR, and EER of this invention on the UTFVP dataset are 0.23%, 0.1%, and 0.16%, respectively, which are superior to other methods.
[0121] Table 1
[0122] Method FAR (%) FRR (%) EER (%) WLD 2.64 2.9 2.78 MC 2.17 2.0 2.09 RLT 4.04 3.80 3.94 The method 0.23 0.1 0.16
[0123] In summary, the method proposed in this invention can improve the accuracy of the final result through an improved autoencoder network and real-valued error-correcting codes, and provides template protection. This method is truly effective.
[0124] The above description is merely a preferred embodiment of the present invention and is not intended to further limit the present invention. All equivalent changes made based on the description and drawings of the present invention are within the protection scope of the present invention.
Claims
1. A finger vein recognition method based on an improved autoencoder network, characterized in that, Includes the following steps: Step 1, User Registration Phase, specifically includes: Step 1-1: Collect finger vein images in batches and perform pixel normalization processing. After data augmentation of the images, save all images as a dataset. Steps 1-2: Construct an autoencoder network and train it to obtain a trained autoencoder network; Steps 1-3: Input a finger vein image, obtain finger vein features, encrypt the features using real-valued error correction codes, generate a corresponding encryption template, and store it in the system database. User registration is now complete. Step 2, the matching verification stage, specifically includes: Step 2-1: After normalizing the pixel size of the requested finger vein image, input it into the autoencoder network trained during the user registration phase to obtain the input requested finger vein feature t'. Step 2-2: Verify and match the requested finger vein feature and the registered finger vein feature using a verification algorithm. If there is no match, the process fails and the output is "Reject"; if there is a successful match, the comparison stops and the output is "Accept". This involves constructing an improved autoencoder network, including an encoder, embedding layer, decoder, and loss function; The encoder includes four convolutional layers with 16, 32, 64, and 128 filters respectively, and uses a 3×3 convolutional kernel in each layer; after each convolution operation, there is a BN normalization module and a ReLU activation function; The embedding layer includes a fully connected layer and a Dropout module. The features output by the encoder are reduced in dimensionality by the embedding layer and then sent to the decoder. The decoder includes four inverse convolutional layers, each containing 128, 64, 32, and 16 filters respectively, and uses a 3×3 convolutional kernel in each layer. In the first three inverse convolutional layers, after each inverse convolution operation, there is a BN normalization module and a ReLU activation function. In the fourth inverse convolutional layer, after the inverse convolution operation, there is a Sigmoid activation function, which restricts the pixel values to between 0 and 1, restoring the dimensions and features of the finger vein image to obtain the reconstructed input image. The total loss L of the loss function total Loss L from encoder-decoder AE and embedding layer loss L embeding Composition, L AE L is calculated based on the features of the encoder input image and the features of the decoder reconstructed image. embeding The calculations are performed at the embedding layer, as shown in equations (2), (3), and (4) respectively: L total = (1-a)L AE +αL embeding (2) Among them, I, Represent the input image features and the reconstructed image features, respectively; α is a learnable hyperparameter in the interval [0,1]; L AE Original image features I and reconstructed image features The difference between them is represented by the mean squared error (MSE), which is denoted by ||||² in the formula; L embeding It is the loss of the embedding layer, where Γ α ,Γ p ,Γ n These are the features of the anchor image, the positive class image, and the negative class image, respectively.
2. The finger vein recognition method based on an improved autoencoder network according to claim 1, characterized in that, In step 1-1, each finger vein image is normalized by scaling the pixel values of the image to the range of [0,1]. The normalization calculation method is shown in equation (1): x′=(x-min(x)) / (max(x)-min(x)) (1) Where x′ is the normalized pixel, x is the original pixel, the min function represents the minimum value in the data, and the max function represents the maximum value in the data.
3. The finger vein recognition method based on an improved autoencoder network according to claim 1, characterized in that, In step 1-1, data augmentation is performed on the images in the dataset. One or more of the following transformations are randomly selected for each image, and the adjusted finger vein images are then added to the dataset. (1) Rotation Transformation: Rotates the image randomly within the range of [0°, 7°]; (2) Horizontal position transformation: randomly translates the image horizontally within the range of [0, 0.025 × image length]; (3) Vertical position transformation: Makes the image randomly translate vertically within the range of [0, 0.025 × image height]; (4) Scaling transformation: Randomly enlarge or reduce the image in the length or width direction, with scaling parameters in the range of [0.95, 1.05].
4. The finger vein recognition method based on an improved autoencoder network according to claim 1, characterized in that, In steps 1-3, the finger vein images of registered users are pixel normalized and input into the trained network to obtain features, which are the feature set M. For each finger vein feature t in the feature set M, a real-valued error correction code c is assigned to the finger vein using a protection algorithm, a corresponding encryption template k is generated, and stored in the system database.
5. The finger vein recognition method based on an improved autoencoder network according to claim 4, characterized in that, The protection algorithm is used to assign a real-valued error-correcting code c to the finger vein, and a corresponding encryption template k is generated, specifically as follows: (1) Call the uniform distribution algorithm to assign a real-valued error correction code c to the input finger vein feature; (2) Generate the rotation matrix P, P = t -1 ·c; Then, apply the SHA-256 hash function to encrypt c to obtain the encrypted real-valued error correction code r, i.e., r = H(c), where H is the hash function; (3) Combine r and P into a template (r, P), denoted as k, and output it.
6. The finger vein recognition method based on an improved autoencoder network according to claim 4, characterized in that, Assuming each finger vein feature has a length of n, for a given random positive integer α, a real-valued error-correcting code c = (c1,...,c...) is generated using a uniform distribution algorithm. i ,...,c n ), 1≤i≤n; c is composed of 0, and The resulting unit vector is of length n and has exactly α non-zero terms; specifically: (1) Initialize c = (c1,...,c n ), c1,...,c n All are set to 0; (2) Generate α random numbers in the range [1, n] and put them into set J; (3) For all elements j in J, set c j Randomly set to or (4) Output c = (c1,...,c n ).
7. The finger vein recognition method based on an improved autoencoder network according to claim 6, characterized in that, A verification algorithm is used to verify and match the requested finger vein features and the registered finger vein features. The input of the verification algorithm is the feature to be detected t' and the protected template k = (r, P), and the output is acceptance or rejection. Specifically: (1) Extract r and P from the protected template k = (r, P); (2) Call the decoding algorithm to obtain the codeword c' of the corresponding real-valued error correction code; obtain the encrypted codeword by the SHA-256 hash function, denoted by r', r' = H(c'); (3) If r' = r is true, output "accept"; otherwise, output "reject".
8. The finger vein recognition method based on an improved autoencoder network according to claim 7, characterized in that, The decoding algorithm is invoked to calculate and return the corresponding real-valued error correction code c' based on the input requested finger vein feature t' and rotation matrix P; specifically: (1) Multiply t' by the rotation matrix P to obtain a vector, denoted as u, u = (u1,...,u n ); (2) From u=(u1,...,u n Select the α elements with the largest absolute values from the set J, record the index values of these elements, and put them into the set J; (3) Create a vector c' = (c1,...,c...) of length n. n If j∈J, set Otherwise, c j =0; (4) Output c' = (c1,...,c n ).
Citation Information
Patent Citations
Method and system for finger vein anti-counterfeiting discriminating based on autoencoder
CN107832718A
Two-dimensional code based on vein characteristics
CN109993257A