A financial transaction system based on blockchain and big data
By introducing dual biometric authentication of fingerprint and finger vein into the financial transaction system, combined with big data clustering and abnormal detection technology, the problem of low biometric authentication in the existing system is solved, higher authentication accuracy and security is achieved, and user privacy is guaranteed.
Patent Information
- Application Number
- CN202411077479.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-07
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2044-08-07
AI Technical Summary
The existing financial transaction systems have low security problems in biometric authentication, the accuracy and security of single biometric authentication are limited, and there is a risk of privacy leakage in the clear text storage of user biological samples.
The financial transaction system based on blockchain and big data is adopted, combining dual biometric authentication of fingerprint and finger vein, and through big data clustering and abnormal detection technology, the security of biometric authentication is improved.
Through dual biometric authentication and big data analysis, the accuracy and reliability of user identity authentication are significantly improved, the risk of illegal users' misappropriation of accounts is reduced, and the security of biometric data is guaranteed through the decentralization and immutability of blockchain.
Smart Images

Figure CN118898517B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of financial transactions, and in particular to a financial transaction system based on blockchain and big data. Background Art
[0002] With the rapid development of financial technology, more and more financial activities are conducted through online channels, and financial applications such as online banking and mobile payment have become popular. However, while enjoying convenient financial services, users' account security issues are becoming increasingly prominent. Traditional account password authentication methods are easy to crack and can no longer meet the current severe network security situation. In order to improve account security, many financial institutions have introduced biometric technologies such as fingerprints, faces, and irises. This type of authentication method based on inherent biometrics is unique and difficult to replicate, and is considered to be the future development direction of identity authentication.
[0003] However, the existing financial transaction system still has many shortcomings in biometric authentication. On the one hand, most systems only use a single biometric feature for identity authentication, and the authentication accuracy and security are limited. Taking fingerprint authentication as an example, fingerprint images are easily affected by factors such as wounds and dirt, resulting in an increased authentication failure rate. At the same time, malicious programs such as Trojans and viruses may also crack authentication by stealing fingerprint image templates. On the other hand, existing biometric authentication algorithms are mostly based on image matching, lack deep mining of biometric data, and have insufficient feature expression capabilities, making it difficult to cope with complex deception attacks. In addition, the biological samples collected during the user registration phase are usually stored in plain text in the local database. Once the database is hacked, the privacy information of a large number of users will be at risk of leakage.
[0004] In the related art, for example, Chinese patent document CN114742647B provides a financial transaction system based on blockchain and big data, which is characterized by comprising: a user finger information acquisition module, a finger information verification module, and a transfer module. The user finger information acquisition module includes a fingerprint password acquisition module and a finger secondary password acquisition module. The finger information verification module includes a fingerprint password verification module and a finger secondary password verification module. The fingerprint password acquisition module is used to collect the user's fingerprint information. While acquiring the fingerprint information, the present application extracts the user's finger information, that is, not only the user's fingerprint information is acquired, but also other aspects of the user's finger information, and the other aspects of the acquired information are used to assist the user in fingerprint matching. However, this solution mainly relies on fingerprints and finger secondary passwords, wherein noise and errors may be introduced during the acquisition and processing of the finger secondary password, affecting the accuracy of authentication; the feature space of the finger secondary password is relatively small, and similarities between different users are prone to occur, increasing the risk of misidentification. Therefore, the security of this solution needs to be further improved. Summary of the invention
[0005] In response to the problem of low security of biometric authentication in financial transaction systems in the prior art, the present application provides a financial transaction system based on blockchain and big data, dual biometric authentication based on fingerprints and finger veins, as well as big data clustering and anomaly detection, to improve the security of biometric authentication.
[0006] Technical solution, the purpose of this application is achieved through the following technical solution.
[0007] The present specification provides a financial transaction system based on blockchain and big data, including: a user registration module, which collects fingerprint images and finger vein images of users; extracts fingerprint feature vectors of the collected fingerprint images and finger vein images, encrypts the fingerprint feature vectors and uploads them to the blockchain network; a user authentication module, which performs user authentication on the fingerprint image and finger vein image of the user after receiving the user's authentication request; a transaction verification module, which, upon receiving the result of user authentication, uploads the transaction information and the authentication result to the chain, and executes the transfer operation through a smart contract; a risk control module, which performs big data analysis on the biometric images of users stored in the blockchain, clusters the fingerprint images and finger vein images of different users through a clustering algorithm, and trains an anomaly detection model based on the clustering results; and uses the anomaly detection model to detect the collected fingerprint images and finger vein images of users to warn of risks.
[0008] Among them, the finger vein image refers to an image of the distribution pattern of the finger veins collected by a special device. The distribution pattern of the finger veins is unique and stable and can be used for personal identification. Compared with fingerprint recognition, finger vein recognition is more difficult to forge and has higher security. As a biometric feature, the finger vein image can be used for identity authentication and risk control. By comparing the finger vein image provided by the user with the pre-registered finger vein image, the authenticity of the user's identity can be verified. At the same time, by analyzing the finger vein images of a large number of users, abnormal patterns can be found and potential risks can be warned. The fingerprint feature vector refers to a set of values extracted from the fingerprint image, which is used to represent the characteristic information of the fingerprint. The fingerprint feature vector usually includes information such as the direction of the fingerprint's grain, the frequency of the grain, and the location of the singular point, and can uniquely identify a fingerprint. In this financial transaction system, the finger vein image and the fingerprint feature vector are used as the user's biometric features for identity authentication and risk control. By collecting and analyzing these two biometric features, the security of the transaction can be improved, and fraud and abnormal behavior can be prevented. At the same time, the blockchain technology is used to store and verify transaction information to ensure that the transaction cannot be tampered with and is traceable, thereby improving the credibility of the system. Big data analysis technology is used to mine user behavior patterns, identify potential risks, and provide support for risk control.
[0009] Furthermore, the user registration module includes: a fingerprint collection unit, which collects the user's fingerprint image; a finger vein collection unit, which collects the user's finger vein image; a feature extraction unit, which extracts features of the fingerprint image and the finger vein image to obtain fingerprint features and finger vein features; a feature fusion unit, which fuses the extracted fingerprint features and finger vein features to obtain the user's multimodal biometric feature vector as the extracted fingerprint feature vector; and an encryption unit, which encrypts the extracted fingerprint feature vector and uploads it to the blockchain.
[0010] Among them, fingerprint features refer to a set of information extracted from fingerprint images that describes the unique properties of fingerprints. These features can distinguish fingerprints of different individuals and are used for fingerprint identification and matching. Finger vein features refer to information extracted from finger vein images that reflects the distribution pattern of finger vein blood vessels. The distribution pattern of finger vein blood vessels varies from person to person, has high uniqueness and stability, and can be used for personal identification. Finger vein features usually include: Vessel shape: refers to the shape characteristics of the finger vein blood vessels, such as the direction, curvature, and branching of the blood vessels. Vessel width: refers to the width characteristics of the vein blood vessels, reflecting the changes in the thickness of the blood vessels. Vessel density: refers to the density characteristics of the vein blood vessels, indicating the number and distribution of blood vessels per unit area. Vessel texture: refers to the texture characteristics of the vein blood vessels, describing the details and patterns of the blood vessel surface. The extracted finger vein features can be used for finger vein matching and identification. By comparing the similarities between different finger vein features, it is determined whether they come from the same person. Compared with fingerprint identification, finger vein identification is more difficult to forge and has higher security. In the user registration module, the feature extraction unit extracts fingerprint features and finger vein features from the collected fingerprint image and finger vein image respectively. The feature fusion unit fuses these two features to obtain a comprehensive multimodal biometric feature vector, which can provide higher recognition accuracy and security. Finally, the encryption unit encrypts the generated fingerprint feature vector to protect the user's privacy and uploads the encrypted feature vector to the blockchain, using the decentralization and immutability of the blockchain to ensure the integrity and traceability of the biometric data.
[0011] Further, extracting fingerprint features includes: preprocessing the collected fingerprint image; dividing the preprocessed fingerprint image into multiple nxn image blocks; performing a two-dimensional Mailer wavelet transform on each image block, using Haar wavelet basis function, and performing two-layer one-dimensional wavelet decomposition on the image rows and columns respectively to obtain a low-frequency subband coefficient matrix and three high-frequency subband coefficient matrices for each image block; downsampling the two-dimensional Mailer wavelet transform result of each image block, extracting 2x2 coefficients in the low-frequency subband coefficient matrix as the Mailer coefficients of the corresponding image block, and forming a 4-dimensional Mailer coefficient vector; according to the position sequence of the image blocks in the original fingerprint image, connecting the 4-dimensional Mailer coefficient vectors of each image block end to end to obtain a 4nx4n-dimensional fingerprint feature vector; performing PCA principal component analysis on the obtained 4nx4n-dimensional fingerprint feature vector, extracting the eigenvalues corresponding to the first k principal components, and forming a reduced-dimensional fingerprint feature vector; and using the reduced-dimensional fingerprint feature vector as the extracted fingerprint feature.
[0012] Among them, the two-dimensional Mellet wavelet transform is an image processing technology used to extract multi-scale and multi-directional features of an image. It decomposes the image into low-frequency and high-frequency sub-bands to capture the information of the image at different frequencies and directions. Through the two-dimensional Mellet wavelet transform, the features of the image can be analyzed at different scales and directions to capture the local details and texture information of the image. The low-frequency sub-band contains the main energy and contour information of the image, while the high-frequency sub-band contains the details and edge information of the image. The Haar wavelet basis function contains only two coefficients: the low-pass filter coefficient and the high-pass filter coefficient. The Mellet coefficient refers to the low-frequency sub-band coefficient obtained by the two-dimensional Mellet wavelet transform. In fingerprint feature extraction, after performing a two-dimensional Mellet wavelet transform on each image block, a part of the coefficients in the low-frequency sub-band is selected as the Mellet coefficient of the image block. In fingerprint feature extraction, the Mellet coefficients of each image block are connected in the order of the position of the image block to form a high-dimensional fingerprint feature vector for subsequent feature processing and matching. PCA (Principal Component Analysis) is a commonly used data dimensionality reduction and feature extraction method. It maps high-dimensional data to low-dimensional space through linear transformation and extracts the main features of the data. In fingerprint feature extraction, PCA principal component analysis is performed on the high-dimensional fingerprint feature vector, and the eigenvalues corresponding to the first k principal components are selected to obtain the fingerprint feature vector after dimensionality reduction, which not only retains the main features of the fingerprint, but also reduces the dimension of the feature vector, thereby improving the efficiency of subsequent matching.
[0013] Furthermore, the finger vein feature is extracted, including: preprocessing the collected finger vein image; using an improved Frangi filter to enhance the vascular image of the preprocessed finger vein image; binarizing the finger vein image after the vascular image enhancement to extract vascular skeleton pixel points; extracting vascular skeleton lines with a single pixel width through a thinning algorithm based on the vascular skeleton pixels; performing topological structure analysis on the vascular skeleton lines to obtain the pixel coordinate positions of all vascular bifurcation points; taking the vascular bifurcation point as the starting point, performing 8-neighborhood Freeman chain code tracking along the center position of the pixel points of the connected vascular skeleton lines to obtain the Freeman chain code sequence of each bifurcated blood vessel; connecting the Freeman chain code sequences of each blood vessel end to end, and splicing them to obtain the Vessel Code chain code sequence of the finger vein image as the finger vein feature.
[0014] Among them, the Frangi filter is a filter used for blood vessel enhancement and extraction, and is particularly suitable for blood vessel segmentation in medical images. It is based on the eigenvalue analysis of the Hessian matrix, and by calculating the degree of anisotropy of the local structure of the image, it enhances the blood vessel structure and suppresses other tissues. The vascular skeleton refers to the centerline representation of the vascular structure, which describes the topological structure and morphological characteristics of the blood vessel. The vascular skeleton is usually a continuous curve with a single pixel width, which represents the direction and connectivity of the blood vessel. The vascular skeleton provides a compact representation of the vascular structure and can be used for quantitative analysis, topological structure extraction and feature description of the blood vessel. The thinning algorithm is a morphological operation used to reduce the connected area in the binary image to a skeleton with a single pixel width. It obtains the skeleton representation of the object by iteratively deleting the boundary pixels until they can no longer be deleted. The thinning algorithms include: ZS algorithm: a parallel thinning algorithm based on the pixel neighborhood pattern. Hilditch algorithm: a serial thinning algorithm based on pixel connectivity and endpoint judgment. Rosenfeld algorithm: a hybrid thinning algorithm based on pixel neighborhood and connectivity. The thinning algorithm plays an important role in the extraction of vascular skeletons. By gradually reducing the vascular pixels, a vascular skeleton line with a single pixel width is obtained.
[0015] Topological structure analysis refers to the structural analysis of the vascular skeleton to extract the topological features of the blood vessels, such as vascular bifurcation points, endpoints, and connectivity. Topological structure analysis provides a high-level description of the vascular structure, reveals the branching, connectivity, and hierarchical relationship of the blood vessels, and lays the foundation for vascular feature extraction and matching.
[0016] 8-neighborhood Freeman chain code tracking is a coding method for extracting curves or boundaries. It generates a chain code sequence to represent the shape of the curve by recording the directional relationship between the current pixel and its 8-neighborhood pixel points. In finger vein feature extraction, the 8-neighborhood Freeman chain code tracking is performed along the vascular skeleton line with the vascular bifurcation point as the starting point to obtain the chain code sequence of each bifurcated blood vessel, which is used to represent the shape and direction of the blood vessel.
[0017] Vessel Code chain sequence refers to splicing the Freeman chain sequence of each vascular bifurcation segment in the finger vein image to form a complete vascular chain sequence, which is used to represent the characteristics of the finger vein. The steps of generating Vessel Code chain sequence are as follows: for each vascular bifurcation point, extract the Freeman chain sequence of the corresponding vascular bifurcation segment. Connect the Freeman chain sequence of each vascular bifurcation segment end to end in a certain order (such as the spatial position of the vascular bifurcation point) to form a long chain sequence. The spliced chain sequence is normalized, such as unifying the starting direction of the chain code, resampling the chain sequence, etc., to improve the robustness of the feature. The normalized chain sequence is used as the Vessel Code chain sequence of the finger vein image for finger vein feature representation and matching. Vessel Code chain sequence provides a compact representation of the vascular structure of the finger vein. The chain sequence describes the shape, direction and topological relationship of the blood vessel, which can be used for finger vein recognition and matching.
[0018] Furthermore, an improved Frangi filter is used to enhance the vascular image, including: calculating the first-order derivatives of the preprocessed finger vein image in the x direction and the y direction respectively. and And the second-order derivative and According to the obtained first-order derivative and second-order derivative, the Hessian matrix H is constructed, and the eigenvalue decomposition of the Hessian matrix is performed to obtain two eigenvalues λ 1 and λ 2 , where |λ 1 |≤|λ 2 |; Set the ratio of the first-order and second-order derivatives of the blood vessel radial direction R b As a measure of the anisotropy of vascular radial variation, an improved Frangi filter vascular response function is constructed: , where is the Frobenius norm of the Hessian matrix, σ represents the filter scale, and the parameters β and c control the vascular response function to R b and the sensitivity of F; set a scale set {σ i |i=1,2,......,n}, at each scale σi Next, using the Gaussian smoothing function G(σ i ) is convolved with the input finger vein image I to obtain the scale space L(σ i )=G(σ i )×I; in each scale space L(σ i ), the improved Frangi filter vascular response function is used to obtain the vascular response value image VF(σ i );For each scale σ i The vascular response value image VF(σ i ), take the maximum value of the pixel, and obtain the final multi-scale vascular enhancement image VFmax as the finger vein image after vascular image enhancement; where VFmax=max{VF(σ i )|i=1,2,......,n}.
[0019] Among them, the improved Frangi filter is optimized on the basis of the original Frangi filter, which is mainly reflected in the construction of the vascular response function. The improved vascular response function VF(σ i ) introduces the ratio of the first-order and second-order derivatives of the vascular radial direction, R b As anisotropy measure, the Frobenius norm F of the Hessian matrix is also considered. By reasonably setting the parameters β and c, the filter's responsiveness and sensitivity to blood vessels are improved.
[0020] Specifically, R b is the ratio of the absolute values of the first-order derivative and the second-order derivative of the vascular radial direction, that is, where λ 1 |≤|λ 2 |. R b It reflects the degree of change of blood vessels in the radial direction. For the vascular structure, the absolute value of the radial first-order derivative is small, while the absolute value of the radial second-order derivative is large, so R b The value is small. By introducing R b As a measurement factor, it can effectively distinguish vascular and non-vascular areas. b The R value is small and the R b In the vascular response function, the exponential term is used To modulate the response value. b When R_b is small, the exponential term is close to 1 and the vascular response value is high; when R_b is large, the exponential term is close to 0 and the vascular response value is low.
[0021] Specifically, the Frobenius norm F of the Hessian matrix is used: the Frobenius norm F is the square root of the sum of the squares of the eigenvalues of the Hessian matrix, that is F reflects the second-order structural strength of the local area of the image. For the vascular area, a larger F value indicates a higher local curvature; for the non-vascular area, a smaller F value indicates a lower local curvature. In the vascular response function, the exponential term is used To further enhance the vascular response. When the F value is large, the exponential term is close to 1, and the vascular response value is high; when the F value is small, the exponential term is close to 0, and the vascular response value is low.
[0022] Specifically, multi-scale analysis: using multiple scales σ i Gaussian smoothing is performed on the input image to obtain the scale space L(σ i ). In each scale space, the improved Frangi filter vascular response function is applied to obtain the vascular response value image VF(σ i ). By extracting vascular response values at different scales, vascular structures of different sizes can be effectively processed, improving the robustness of vascular enhancement. Finally, by taking the pixel maximum value of the vascular response value image at each scale, a multi-scale fused vascular enhancement image VFmax is obtained, which retains the vascular enhancement information at different scales. The parameter β controls the vascular response function to R b The smaller the β value, the more sensitive the response function is to R b The more sensitive it is, the better it can suppress non-vascular areas; the larger the β value, the greater the response function to R b The sensitivity of F is reduced, and more vascular details can be retained. Parameter c controls the sensitivity of the vascular response function to F. The smaller the c value, the more sensitive the response function is to F, which can better highlight the vascular structure; the larger the c value, the lower the sensitivity of the response function to F, which can reduce the response of the non-vascular area. By reasonably setting parameters β and c, the effect of vascular enhancement and the ability to suppress non-vascular areas can be balanced, and the performance of vascular image enhancement can be improved.
[0023] Furthermore, the user authentication module includes: a receiving unit, which receives the user's authentication request; a fingerprint feature verification unit, which, after receiving the user's authentication request, calculates the similarity between the extracted fingerprint feature and the fingerprint feature module stored on the blockchain, and triggers the finger vein feature verification when the calculated similarity is less than a threshold; the finger vein feature verification unit, which uses a Vessel Code chain code sequence matching method based on a dynamic time warping DTW algorithm to match the extracted finger vein feature with the finger vein feature template stored on the blockchain to obtain an optimal matching distance D dtw ; Authentication result output unit, when the fingerprint feature verification passes and the finger vein feature verification unit outputs the optimal matching distance D dtw Less than or equal to the distance threshold T dtw When the authentication is successful, the final result is output; otherwise, the result of authentication failure is output.
[0024] Among them, the Dynamic Time Warping (DTW) algorithm is an algorithm used to measure the similarity between two time series. In the finger vein feature verification, the Vessel Code chain sequence matching method based on the DTW algorithm is used to solve the following problems: During the finger vein image acquisition process, due to slight changes in the finger placement position, pressure and angle, the extracted Vessel Code chain sequence will have certain differences in length and local shape. There are individual differences in the finger size and shape of different users, which may cause the extracted Vessel Code chain sequence to be not completely consistent in length. The Vessel Code chain sequence is a time series data, and the traditional Euclidean distance measurement method cannot effectively handle the problems of unequal sequence length and local shape changes. The DTW algorithm measures the similarity between sequences by finding the optimal nonlinear alignment between two time series and calculating the minimum cumulative distance between them. In the finger vein feature verification, the Vessel Code chain sequence matching method based on the DTW algorithm has the following advantages: it can effectively handle the problem of unequal length of Vessel Code chain sequences, and realize nonlinear alignment between sequences by finding the optimal alignment path. It can tolerate slight changes in the local shape of the sequence, and through the cumulative distance measurement of the optimal alignment path, it reduces the impact of local shape differences on the matching results. By setting a suitable distance threshold, the finger vein features of different users can be effectively distinguished, and the accuracy and reliability of authentication can be improved. By finding the optimal nonlinear alignment between the two sequences and calculating the minimum cumulative distance, the accurate matching and similarity measurement of the finger vein features are achieved. It can effectively solve the problems of unequal sequence lengths and local shape changes in finger vein feature verification, and improve the performance and robustness of finger vein authentication.
[0025] Preferably, the fingerprint feature similarity calculation module adopts an improved similarity calculation algorithm, including: the fingerprint feature similarity calculation module divides the fingerprint feature vector extracted by the fingerprint feature extraction module and the fingerprint feature template stored on the blockchain in the registration stage into N sub-regions of the same size; the fingerprint feature similarity calculation module calculates the local quality score of each sub-region of the fingerprint feature vector as the weight coefficient of each sub-region; wherein the local quality score is calculated based on the characteristics such as the clarity, continuity and integrity of the fingerprint image in the sub-region, and the higher the quality score, the better the fingerprint image quality in the sub-region; the fingerprint feature similarity calculation module calculates the weighted Euclidean distance for each corresponding sub-region of the fingerprint feature vector and the fingerprint feature template; wherein the calculation formula of the weighted Euclidean distance is: Among them, d i represents the weighted Euclidean distance of the ith sub-region, w irepresents the weight coefficient of the ith sub-region, i.e., the local quality score, f i and t i Respectively represent the eigenvalue vectors of the fingerprint feature vector and the fingerprint feature template in the i-th sub-region; the fingerprint feature similarity calculation module sums the weighted Euclidean distances of each sub-region to obtain the total similarity score S between the fingerprint feature vector and the fingerprint feature template:
[0026] S=Σd i ,i=1,2,......,N, where the smaller the value of S is, the higher the similarity between the fingerprint feature vector and the fingerprint feature template is; the fingerprint feature similarity calculation module sends the total similarity score S to the fingerprint authentication result determination module for comparison with the preset threshold to obtain the result of fingerprint feature verification; compared with the traditional Euclidean distance, the improved similarity calculation algorithm adopted in this application introduces the local quality score of the fingerprint feature as a weight, assigns a larger weight to the sub-region with better quality and a smaller weight to the sub-region with poorer quality, which can effectively reduce the impact of fingerprint image quality differences on similarity calculation and improve the accuracy of fingerprint authentication.
[0027] Furthermore, a Vessel Code chain code sequence matching method based on a dynamic time warping DTW algorithm is adopted, including: taking the Vessel Code chain code sequence of the extracted user's finger vein image as the reference sequence CK, and taking the Vessel Code chain code sequence of the finger vein feature module stored on the blockchain as the sequence to be matched DP; constructing a cumulative distance matrix between the reference sequence and the sequence to be matched; searching the cumulative distance matrix using a dynamic programming algorithm to obtain the optimal matching path between the reference sequence and the sequence to be matched; calculating the cumulative distance sum on the optimal matching path as the optimal matching distance D between the reference sequence and the sequence to be matched dtw , D dtw As the similarity between the extracted finger vein feature and the finger vein feature template stored on the blockchain.
[0028] Among them, the cumulative distance matrix is a matrix used to store the distance measure between two sequences in the DTW algorithm. Assume that the reference sequence is CK, with a length of n; the sequence to be matched is DP, with a length of m. Then the cumulative distance matrix is an n×m matrix, denoted as D. Each element D(i,j) in the matrix D represents the cumulative distance between the first i elements of the reference sequence CK and the first j elements of the sequence to be matched DP. The cumulative distance is obtained by calculating the local distance measure (such as Euclidean distance) and accumulating them. The calculation process of the cumulative distance matrix is as follows: Initialize the first row and the first column of the matrix D, that is, D(1,1)=d(CK[1],DP[1]), where d(●,●) represents the distance measure function between two elements. For other elements of the matrix D, they are calculated by dynamic programming:
[0029] D(i,j)=w(i,j)×d(i,j)+min{D(i-1,j-1),D(i-1,j),D(i,j-1)}. Repeat until the entire cumulative distance matrix D is filled. The last element D(n,m) of the cumulative distance matrix represents the minimum cumulative distance between the reference sequence CK and the sequence to be matched DP, that is, the DTW distance.
[0030] The optimal matching path is a path from the upper left corner (1,1) to the lower right corner (n,m) found in the cumulative distance matrix, so that the sum of the matrix elements passed on the path is minimized. This path represents the optimal nonlinear alignment between the reference sequence CK and the sequence to be matched DP. The optimal matching path needs to meet the following conditions: Starting point: The path starts at the upper left corner (1,1) of the cumulative distance matrix. Ending point: The path ends at the lower right corner (n,m) of the cumulative distance matrix. Continuity: Each step in the path can only move to the right, downward, or to the lower right, that is, from the current position (i,j) can only move to (i+1,j), (i,j+1) or (i+1,j+1). Monotonicity: The steps in the path must be arranged in chronological order and cannot go backwards.
[0031] Further, calculate the optimal matching distance D dtw , including: according to the reference sequence CK and the sequence to be matched DP, setting the number of rows and columns of the cumulative distance matrix, and initializing the first row element D(0,j) and the first column element D(i,0) of the matrix; obtaining the distance metric d(i,j) between the i-th code element of the reference sequence CK and the j-th code element of the sequence to be matched DP, and calculating the element D(i,j) of the cumulative distance matrix according to the following formula:
[0032] D(i,j)=w(i,j)×d(i,j)+min{D(i-1,j-1),D(i-1,j),D(i,j-1)}, where w(i,j) represents the time weight coefficient, which is used to adjust the weight of code element matching at different time points; D(i-1,j-1) represents the element value at position (i-1,j-1) in the cumulative distance matrix, that is, the cumulative distance when the i-1th code element of the reference sequence CK is matched to the j-1th code element of the sequence to be matched DP; D(i-1,j) represents the element value at position (i-1,j) in the cumulative distance matrix, that is, the cumulative distance when the i-1th code element of the reference sequence CK is matched to the j-1th code element of the sequence to be matched DP; D(i,j-1) represents the element value at position (i,j-1) in the cumulative distance matrix, that is, the cumulative distance when the i-1th code element of the reference sequence CK is matched to the j-1th code element of the sequence to be matched DP. The cumulative distance at the j-1th code element of the sequence to be matched DP; in the process of calculating the element D(i,j) of each cumulative distance matrix, the position index of the corresponding element D(i,j) in the matrix is obtained, and a predecessor element index matrix for searching the matching path is constructed according to the position index; starting from the lower right corner element D(M,N) of the cumulative distance matrix, according to the position information recorded in the predecessor element index matrix, a reverse search is performed to the upper left corner element D(1,1) of the cumulative distance matrix to obtain the optimal matching path P between the reference sequence and the sequence to be matched; wherein the optimal matching path P is a sequence composed of multiple matching code element pairs (i,j); according to the distance metric d(i,j) of each matching code element pair (i,j) on the optimal matching path P, the cumulative distance sum of the optimal matching path P is calculated as the optimal matching distance D between the reference sequence CK and the sequence to be matched DP dtw .
[0033] Among them, in the traditional DTW algorithm, the calculation formula of the element D(i,j) of the cumulative distance matrix is: D(i,j)=d(i,j)+min{D(i-1,j-1),D(i-1,j),D(i,j-1)}, where d(i,j) represents the distance measure between the i-th code element of the reference sequence CK and the j-th code element of the sequence to be matched DP. In this application, the time weight coefficient w(i,j) is introduced: D(i,j)=w(i,j)×d(i,j)+min{D(i-1,j-1),D(i-1,j),D(i,j-1)}, and the time weight coefficient w(i,j) is used to adjust the weight of code element matching at different time points. By introducing the time weight coefficient, the following optimization can be achieved: for code element pairs that are closer in time, a larger weight is assigned, indicating that they are more important in the matching process. For code element pairs that are farther apart in time, a smaller weight is assigned, indicating that they are relatively less important in the matching process. By setting the time weight coefficient reasonably, the time dependency and local shape change of the time series can be better considered, and the matching accuracy can be improved. After the time weight coefficient is introduced, the element D(i,j) of the cumulative distance matrix not only considers the distance metric between code elements, but also considers the distance in time, making the matching result more reasonable and accurate.
[0034] In the traditional DTW algorithm, the optimal matching path P is obtained by reverse searching the cumulative distance matrix, but the matching path information is not explicitly recorded. In this application, a predecessor element index matrix is introduced to record the information of the optimal matching path: in the process of calculating the element D(i, j) of the cumulative distance matrix, the position index of the corresponding element D(i, j) in the matrix is obtained at the same time. The predecessor element index matrix is constructed according to the position index to record the position of the previous element of each element on the optimal matching path. By introducing the predecessor element index matrix, the following optimization can be achieved: when searching the optimal matching path in reverse, each matching codeword pair on the optimal matching path is quickly found directly according to the position information recorded in the predecessor element index matrix. Repeated calculation and search are avoided, and the search efficiency of the optimal matching path is improved. By recording the information of the matching path, the matching results can be easily analyzed and visualized. The optimal matching path P consists of multiple matching codeword pairs (i, j), which represent the optimal alignment between the reference sequence CK and the sequence to be matched DP. Through the improved method, the optimal matching path can be obtained more efficiently and accurately.
[0035] Preferably, when calculating the optimal matching distance D dtw When , a path length penalty term is introduced to penalize the optimal matching path that is too long. The updated optimal matching distance calculation formula is:
[0036] D dtw=∑d(i,j),(i,j)∈P smooth +α×Length(P smooth ), where Length(P smooth ) represents the optimal matching path P after smoothing smooth The length of , α represents the path length penalty coefficient; by introducing the path length penalty term, the overly long matching path is suppressed, and a more compact and concise matching path is given priority to improve the robustness of the matching.
[0037] Furthermore, the risk control module includes: a data acquisition unit, which acquires the encrypted fingerprint features and finger vein features from the blockchain network and decrypts them; a clustering analysis unit, which uses an improved K-means clustering algorithm to perform cluster analysis on the decrypted fingerprint features and finger vein features respectively, divides the fingerprint images and finger vein images of different users into different clustering clusters according to the cosine similarity measurement, and obtains fingerprint image clustering results and finger vein image clustering results; an anomaly detection unit, which trains an isolation forest anomaly detection model based on the fingerprint image clustering results and the finger vein image clustering results, using normal fingerprint feature samples and corresponding abnormal fingerprint feature negative samples, as well as normal finger vein feature samples and corresponding abnormal finger vein feature negative samples; uses the trained isolation forest anomaly detection model to detect fingerprint images and finger vein images, extract feature vectors, and calculate the cosine distance between the feature vector and the corresponding cluster center. If the cosine distance exceeds the abnormal threshold, the corresponding data point is judged to be abnormal, and a risk warning signal is output; a warning output unit sends the risk warning signal to the transaction verification module.
[0038] Among them, in the anomaly detection task, positive samples usually represent normal, legal or risk-free data points. In the anomaly detection of fingerprint features and finger vein features: normal fingerprint feature samples refer to fingerprint images from legal users, which have normal fingerprint feature distribution and patterns. Normal finger vein feature samples refer to finger vein images from legal users, which have normal finger vein feature distribution and patterns. Positive samples are used to train the anomaly detection model, so that the model can learn and capture the characteristics and distribution of normal data, so that it can distinguish normal data from abnormal data in the detection stage. Negative samples refer to data samples that do not match the expected characteristics or behavior patterns. In the anomaly detection task, negative samples usually represent abnormal, illegal or risky data points. Abnormal fingerprint feature negative samples refer to fingerprint images from illegal users or forged fingerprints, which have abnormal fingerprint feature distribution and patterns. Abnormal finger vein feature negative samples refer to finger vein images from illegal users or forged finger veins, which have abnormal finger vein feature distribution and patterns. Negative samples are used to train the anomaly detection model, so that the model can learn the characteristics and distribution of abnormal data, so that it can accurately identify abnormal data in the detection stage.
[0039] Furthermore, an improved K-means clustering algorithm is used to perform cluster analysis on the decrypted fingerprint features and finger vein features respectively, including: setting different clustering number K values, performing K-means clustering on the decrypted fingerprint features and finger vein features respectively, and obtaining fingerprint image clustering results and finger vein image clustering results under different K values; for the fingerprint image clustering results and finger vein image clustering results under each K value, calculating the average cosine similarity between the data points in each cluster and the cluster center as the internal compactness measure of the cluster; calculating the average cosine similarity between each cluster center and other cluster centers as the external separability measure of the cluster; calculating the silhouette coefficients of the fingerprint image clustering results and finger vein image clustering results under different K values according to the internal compactness measure of the cluster and the external separability measure of the cluster; by comparing the silhouette coefficients under different K values, selecting the K value corresponding to the maximum silhouette coefficient as the optimal clustering number; taking the fingerprint image clustering results and finger vein image clustering results corresponding to the optimal clustering number as the final clustering analysis results.
[0040] Among them, in the cluster analysis of fingerprint images and finger vein images, the internal compactness measure is realized by calculating the average cosine similarity between the data points in each cluster and the cluster center: for each cluster, the cosine similarity between each data point in the cluster and the cluster center is calculated. The cosine similarities of all data points and the cluster center are averaged to obtain the internal compactness measure of the cluster. The larger the value of the internal compactness measure, the higher the similarity between the data points in the cluster and the better the internal compactness of the cluster. Ideally, the data points in the same cluster should have a high similarity, and the cluster center can well represent the characteristics of the cluster.
[0041] External separability measure is another indicator for evaluating the performance of clustering algorithms, which is used to measure the difference or degree of separation between different clusters. In the cluster analysis of fingerprint images and finger vein images, the external separability measure is implemented by calculating the average cosine similarity between each cluster center and other cluster centers: for each cluster center, calculate the cosine similarity between it and other cluster centers. The cosine similarities between all cluster centers are averaged to obtain the external separability measure of the cluster. The smaller the external separability measure value, the greater the difference between different clusters and the better the external separation of the clusters. Ideally, different clusters should have a lower similarity and the distance between cluster centers should be larger to ensure the effectiveness of the clustering results.
[0042] The silhouette coefficient is a comprehensive indicator for evaluating the performance of clustering algorithms, combining internal compactness measures and external separation measures. For each data point, the silhouette coefficient is calculated as follows: Among them, a represents the average distance between the data point and other data points in the same cluster, and b represents the average distance between the data point and the data points in the nearest other clusters. The value range of the silhouette coefficient is [-1, 1]: when the silhouette coefficient is close to 1, it means that the data point is very similar to other data points in the same cluster, but is quite different from data points in other clusters, and the clustering effect is good. When the silhouette coefficient is close to 0, it means that the data point is on the cluster boundary and it is unclear which cluster it should belong to. When the silhouette coefficient is close to -1, it means that the data point may be assigned to the wrong cluster, and the clustering effect is poor. In cluster analysis, by calculating the average silhouette coefficient of the clustering results under different K values, the clustering quality corresponding to different cluster numbers can be evaluated. Selecting the K value with the largest average silhouette coefficient as the optimal cluster number can obtain better clustering performance, that is, the compactness within the cluster is high and the separation between clusters is large.
[0043] Beneficial effects: Compared with the prior art, the advantages of this application are:
[0044] By introducing dual biometric authentication of fingerprint and finger vein, and using new algorithms such as Mailer wavelet transform to extract fingerprint features and Freeman chain code tracking to extract finger vein features, the accuracy and reliability of user identity authentication have been greatly improved, which can effectively prevent illegal users from stealing accounts.
[0045] In the transaction verification stage, the system cascades the finger vein features and fingerprint features, introduces the DTW dynamic time warping algorithm for sequence matching, and greatly improves the authentication accuracy.
[0046] An improved K-means clustering algorithm is used to perform cluster analysis on a large amount of user biometric information stored in the blockchain. By calculating the internal compactness and external separation metrics of the clusters and introducing the silhouette coefficient to determine the optimal number of clusters, accurate and stable user clustering results can be obtained.
[0047] Based on the user biometric clustering results, the isolation forest algorithm is used to build an anomaly detection model. The cosine distance measurement is used to determine whether the newly collected user biometrics are abnormal, thereby achieving real-time early warning of abnormal account usage behavior and greatly improving the monitoring and response capabilities of risk events.
[0048] Combining user biometric authentication with the transfer function automatically triggered by smart contracts can automate the transaction process while ensuring transaction security, effectively improving transaction efficiency and optimizing user experience.
[0049] Blockchain technology is used to encrypt and store user biometric information. With the help of blockchain's decentralized and tamper-proof characteristics, the confidentiality and integrity of authentication information are guaranteed, preventing authentication information from being illegally intercepted and tampered with during transmission and storage. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Figure 1 is an exemplary module diagram of a financial transaction system based on blockchain and big data according to some embodiments of this specification;
[0051] Figure 2 is a schematic diagram of a user registration module according to some embodiments of this specification;
[0052] Figure 3 is an exemplary flow chart of obtaining fingerprint feature vectors according to some embodiments of this specification;
[0053] Figure 4 is an exemplary flow chart of obtaining finger vein features according to some embodiments of this specification;
[0054] Figure 5 is a schematic diagram of a user authentication module according to some embodiments of this specification;
[0055] Figure 6 It is a schematic diagram of a risk control module according to some embodiments of this specification. DETAILED DESCRIPTION
[0056] The method and system provided in the embodiments of this specification are described in detail below with reference to the accompanying drawings.
[0057] Figure 1 This is an exemplary module diagram of a financial transaction system based on blockchain and big data as shown in some embodiments of this specification, including: a user registration module, which collects fingerprint images and finger vein images of users; extracts fingerprint feature vectors of the collected fingerprint images and finger vein images, encrypts the fingerprint feature vectors and uploads them to the blockchain network; a user authentication module, which performs user authentication on the user's fingerprint image and finger vein image after receiving the user's authentication request; a transaction verification module, which, when receiving the result of user authentication, uploads the transaction information and the authentication result to the chain, and executes the transfer operation through a smart contract; a risk control module, which performs big data analysis on the user's biometric images stored in the blockchain, clusters the fingerprint images and finger vein images of different users through a clustering algorithm, and trains an anomaly detection model based on the clustering results; uses the anomaly detection model to detect the collected fingerprint images and finger vein images of users, and warns of risks.
[0058] Figure 2It is a schematic diagram of a user registration module according to some embodiments of this specification, and the user registration module includes: a fingerprint acquisition unit, a finger vein acquisition unit, a feature extraction unit, a feature fusion unit and an encryption unit. In the user registration stage, first, the user submits a fingerprint image and a finger vein image respectively through the fingerprint acquisition module and the finger vein acquisition module on the client device. Among them, the fingerprint acquisition module can use a capacitive, optical or ultrasonic fingerprint sensor, such as the TouchID fingerprint recognition system of an Apple mobile phone. The finger vein acquisition module can use near-infrared imaging technology to collect the internal venous blood vessel pattern of the finger by utilizing the absorption characteristics of hemoglobin to near-infrared light, such as Fujitsu's PalmSecure vein recognition device.
[0059] Figure 3 This is an exemplary flow chart for obtaining fingerprint feature vectors according to some embodiments of this specification. Then, the fingerprint feature extraction unit performs a series of preprocessing operations on the collected fingerprint image, including grayscale, histogram equalization, directional map calculation, image segmentation, etc., in order to remove noise interference in the fingerprint image and find the region of interest (ROI) of the fingerprint. After preprocessing, the unit uses the Mailer wavelet transform to extract the multi-scale texture features of the fingerprint image. Specifically, the first layer of low-frequency and high-frequency wavelet coefficients are first extracted from the ROI, and then the low-frequency coefficients are recursively decomposed to the third layer to obtain a set of wavelet coefficient vectors. The wavelet coefficients reflect the changing characteristics of the fingerprint texture at different scales and in different directions. Finally, the wavelet coefficients are subjected to PCA principal component analysis to reduce the high-dimensional features to 128 dimensions to obtain the fingerprint feature vector. PCA can remove the linear correlation in the feature data and extract the most discriminating feature components.
[0060] The finger vein feature extraction unit first performs blood vessel enhancement processing on the finger vein image. Specifically, the Jerman filter is used to enhance the responsiveness of the blood vessels through multi-scale log-Gabor filtering, and the mean of the response values at each scale is calculated as the enhancement result. Then, the enhanced image is binarized using the local adaptive threshold segmentation algorithm to extract clear blood vessel skeleton lines. Then, the blood vessel skeleton lines are tracked based on the Freeman chain code to obtain the finger vein shape features. The Freeman chain code uses a series of directional codes to describe the shape of the target contour and has translation and scaling invariance. Finally, the Freeman chain code sequence is mean-pooled and down-sampled to 256 dimensions to obtain the finger vein feature chain code.
[0061] After generating the fingerprint feature vector and finger vein feature chain code, the feature fusion unit adopts a cascade fusion strategy to directly concatenate the two features head to tail to form a 384-dimensional multimodal biometric feature vector. Compared with feature concatenation, cascade fusion retains the original expression of each modal feature and is not prone to losing feature discrimination information.
[0062] Finally, the encryption unit uses the RSA asymmetric encryption algorithm to encrypt the multimodal feature vector. First, the blockchain network generates a pair of 1024-bit public and private keys. The public key is sent to the encryption unit, and the private key is kept by the blockchain. The encryption unit encrypts the multimodal features with the public key to obtain the feature ciphertext. In order to improve the efficiency of data transmission and storage, the feature ciphertext can be hashed using the MD5 message digest algorithm, and then the hash value is uploaded to the blockchain. Since RSA is a deterministic encryption algorithm, the hash value of the same plaintext after each encryption is the same, which ensures the consistency of ciphertext matching during the authentication process. In addition, the blockchain network adopts a permission management mechanism, and only authenticated nodes have the authority to access feature data, which further guarantees privacy security.
[0063] Figure 2 According to the user registration module schematic diagram shown in some embodiments of this specification, fingerprint features are extracted. First, the collected fingerprint image is preprocessed. The preprocessing operations include grayscale, histogram equalization, directional map calculation and image segmentation. Grayscale is to convert the color fingerprint image into a grayscale image to reduce the amount of calculation for subsequent processing. Histogram equalization enhances the contrast of the image and highlights the fingerprint lines by stretching the image histogram. The directional map calculation uses the Sobel operator to estimate the fingerprint ridge direction for subsequent image segmentation. Image segmentation uses a Gabor filtering method based on the directional map to extract the region of interest (ROI) of the fingerprint. Then, the preprocessed fingerprint image ROI is divided into multiple nxn non-overlapping image blocks. The selection of the image block size n needs to balance the locality and globality of the feature. If it is too large, the detail information will be lost, and if it is too small, the feature dimension will be too high. Usually n=16 or 32.
[0064] Then, a two-dimensional Mellet wavelet transform is performed on each image block. Mellet wavelet is a separable wavelet, and its two-dimensional wavelet transform can be achieved by cascading one-dimensional wavelet transforms of image rows and columns. Specifically, the Haar wavelet basis function is used to perform two-layer one-dimensional wavelet decomposition on the rows and columns of the image block, respectively, to obtain a low-frequency subband coefficient matrix LL with a scale of 1 / 4, and three high-frequency subband coefficient matrices LH, HL, and HH. The low-frequency subband reflects the general information of the image block, and the high-frequency subband reflects the detailed texture information of the image block in the horizontal, vertical, and diagonal directions.
[0065] The 2D Mellor wavelet transform result of each image block is downsampled, and the 2x2 coefficients in the low-frequency subband LL are extracted as the Mellor wavelet coefficients of the image block to form a 4D Mellor coefficient vector
[0066] F i=[LL(0,0),LL(0,1),LL(1,0),LL(1,1)] The Mailer coefficient reflects the main energy distribution of the image block texture, has translation invariance and rotation invariance, and is robust to elastic deformation of fingerprints. According to the spatial position order of the image blocks in the original fingerprint image ROI, the 4-dimensional Mailer coefficient vectors of each image block are connected end to end to obtain a 4nx4n-dimensional fingerprint feature vector This feature vector covers the texture information of the entire fingerprint area. Finally, PCA principal component analysis is performed on the 4nx4n dimensional fingerprint feature vector F. By eigendecomposing the covariance matrix of F, the eigenvectors corresponding to the first k largest eigenvalues are extracted as the k-dimensional fingerprint feature vector f after dimensionality reduction. Among them, k can be determined according to the cumulative contribution rate of the eigenvalues, such as taking the k value when the cumulative contribution rate reaches 95%. PCA dimensionality reduction not only compresses the feature storage space, but also removes the linear correlation components in the original features, and extracts the feature components with the greatest discrimination.
[0067] Figure 4 This is an exemplary flow chart for obtaining finger vein features according to some embodiments of this specification. The finger vein features are extracted, and the blood vessels of the finger vein image are enhanced using an improved Frangi filter. The collected finger vein image is preprocessed, including grayscale, histogram equalization, median filtering and other operations, in order to reduce image noise, enhance image contrast, and prepare for subsequent blood vessel enhancement. For the preprocessed finger vein image, the first-order derivatives in the x and y directions are calculated respectively. and And the second-order derivative and The first-order derivative reflects the rate of change of the image grayscale in the x and y directions, and the second-order derivative reflects the rate of change of the grayscale change rate, which can be used to describe the edge and direction of blood vessels. Derivative calculation can be achieved through finite differences or convolution.
[0068] For each pixel point of the finger vein image, the Hessian matrix is constructed according to its first-order and second-order derivatives, and the eigenvalues representing the radial variation characteristics of the blood vessels are obtained by performing eigenvalue decomposition on the Hessian matrix. The specific implementation is as follows: on the preprocessed finger vein image, for each pixel point (x, y), the first-order derivative in its neighborhood is extracted. and And the second-order derivative and Construct the Hessian matrix H: Among them, the second-order derivative can be solved by difference, for example:
[0069]
[0070] Where h is the pixel spacing, and I(x, y) is the grayscale value at the pixel point (x, y).
[0071] Perform eigenvalue decomposition on the constructed Hessian matrix H(x, y). Since H is a 2x2 real symmetric matrix, its eigenvalues are real numbers and the eigenvectors are mutually orthogonal. Use the Jacobi method to solve the eigenvalue equation:
[0072] det(H-λE)=0, where E is the 2x2 unit matrix and λ is the eigenvalue. Expanding the above formula, we get: Solving the quadratic equation, we get two eigenvalues λ 1 and λ 2 , satisfying λ 1 |≤|λ 2 |. Eigenvalue λ 1 and λ 2 It reflects the distribution characteristics of the grayscale change rate in the local neighborhood of the pixel along two orthogonal directions. On the cross section of the blood vessel, λ 1 Corresponding to the direction with the smallest grayscale change rate, its absolute value is close to 0; 2 The direction corresponding to the maximum grayscale change rate has an absolute value much larger than λ 1 , which reflects the contrast between the blood vessel wall and the background. According to the eigenvalue λ 1 and λ 2 , the ratio of the first-order derivative to the second-order derivative of the grayscale in the radial direction of the blood vessel (i.e., the λ1 direction) can be calculated: R b It reflects the anisotropy of grayscale changes in the radial direction of the blood vessel. The smaller its value is, the stronger the anisotropy of grayscale changes in the cross section of the blood vessel is, and the more likely it is a tubular structure. b When it approaches 0, it means that the location is likely to be located in the center of the blood vessel; b When it is close to 1, it means that the grayscale changes are relatively uniform and it is unlikely to be a blood vessel. Set the ratio of the radial first-order derivative to the second-order derivative of the blood vessel It is used as a measure of the anisotropy of vascular radial variation. b The closer it is to 0, the stronger the anisotropy of the radial change of the blood vessel is, and the more likely it is a vascular structure.
[0073] Construct the improved Frangi filter vascular response function:
[0074] in, is the Frobenius norm of the Hessian matrix, reflecting the intensity of grayscale change in the central area of the blood vessel; σ represents the scale of the filter, controlling the sensitive range of the filter; β and c are control parameters, respectively adjusting the vascular response function to R band the sensitivity of F. Set a filter scale set {σ i |i=1,2,.....,n}, at each scale σ i Next, using the Gaussian smoothing function G(σ i ) is convolved with the preprocessed finger vein image I to obtain the scale space L(σ i )=G(σ i )×I. Among them, the Gaussian function G(σ i ) is used as the scale kernel of the filter to control the smoothness of the image at different scales. i ), the improved Frangi filter vascular response function V constructed in step 5 is used F (σ), calculate the vascular response value at each pixel point, and obtain the vascular response image V at the corresponding scale F (σ i ).
[0075] For each scale σ i The vascular response image V F (σ i ), take the maximum value pixel by pixel, and get the final multi-scale vascular enhanced image V F,max , as the finger vein image after blood vessel enhancement. Among them,
[0076] V F,max =max{V F (σ i )|i=1,2,.....,n}. Through the above steps, the multi-scale vascular enhancement of finger vein image is realized by using the improved Frangi filter. Compared with the traditional Frangi filter, the improved method introduces the vascular radial variation anisotropy factor R b , the vascular structure is enhanced more specifically, the response of the non-vascular background area is suppressed, and the accuracy of vascular extraction is improved. At the same time, a multi-scale filtering strategy is adopted to extract blood vessels at different scales and fuse the response images, which effectively solves the problems of uneven blood vessel thickness and poor connectivity, and obtains a more complete and clear vascular network structure. After vascular image enhancement, threshold segmentation, skeleton extraction and other methods can be further used to finally obtain the binary image and skeleton line features of the finger vein blood vessels for finger vein recognition and identity authentication. The Frangi filter makes full use of the morphological characteristics of the vascular structure and provides a powerful tool for finger vein feature extraction. Compared with traditional filtering enhancement methods, it has better vascular extraction effect and robustness.
[0077] After obtaining the enhanced vascular image, the Vessel Code sequence of the finger vein image is finally obtained as the finger vein feature through further steps such as binarization, skeleton extraction, topological analysis and Freeman chain code encoding. The enhanced vascular image is binarized and the vascular skeleton pixel points are extracted. The adaptive threshold segmentation method is used to automatically determine the binarization threshold according to the local grayscale distribution of the image. The pixels with grayscale values higher than the threshold are set as the foreground (vessels), and the pixels with grayscale values lower than the threshold are set as the background to obtain the binary image of the blood vessels. The vascular skeleton pixels correspond to the foreground pixels in the binary image. According to the vascular skeleton pixels, the vascular skeleton line with a single pixel width is extracted by the thinning algorithm. Commonly used thinning algorithms include the Zhang-Suen algorithm and the Hilditch algorithm. By iteratively deleting the vascular edge pixels until the vascular width is reduced to the single pixel level, the skeleton line located at the center of the blood vessel is obtained. The thinned vascular skeleton line maintains the connectivity and topological structure of the blood vessels.
[0078] The extracted vascular skeleton line is subjected to topological structure analysis. The pixel coordinates of the vascular bifurcation point are obtained by detecting the connectivity of the skeleton pixels. Each pixel point P (x, y) in the vascular skeleton line image is traversed to check the pixel values in its 8-neighborhood. The 8-neighborhood is a 3x3 matrix centered on the pixel point P, which contains 8 pixels around the point P. For each skeleton pixel point P, the number of skeleton pixels n in its 8-neighborhood is counted. The specific method is to determine whether the 8-neighborhood pixel values of the point P are foreground (skeleton line) pixel values. If so, the counter n is increased by 1, indicating that a connected skeleton pixel point is found. If the number of connected skeleton pixels n of the pixel point P is greater than 2, P is marked as a vascular bifurcation point. This is because the vascular bifurcation point is connected to three or more vascular branches. At the non-bifurcation point of the vascular, the number of connected skeleton pixels is 2 (two pixels before and after the vascular extension direction) or 1 (at the end point of the vascular). The pixel coordinates (x, y) of the detected vascular bifurcation point P are recorded and saved in a bifurcation point coordinate list. Repeat until all skeleton pixels are traversed to obtain a complete list of vascular bifurcation point coordinates. De-duplicate and sort the extracted vascular bifurcation point coordinate list. Since there may be some short burrs or breaks in the image, some pseudo bifurcation points are detected, so post-processing is required to remove some redundant bifurcation points that are very close, and sort them according to the x-coordinate or y-coordinate of the bifurcation point to obtain the final vascular bifurcation point pixel coordinate list.
[0079] Taking the detected vascular bifurcation point as the starting point, the Freeman chain code sequence of each bifurcated blood vessel is extracted through the Freeman chain code tracking algorithm, and a vascular bifurcation point P is selected. 0 as the starting point and mark it as visited. Check P 0Find the skeleton pixel points in the 8-neighborhood of P 0 The next unvisited skeleton pixel P connected to 1 If P 0 If there are multiple unvisited skeleton pixels in the 8-neighborhood of 0 The direction of the line is closest to the pixel point in the direction of the Freeman chain code in the previous step. Calculate P 0 To P 1 Freeman chain code direction code D 0 The 8 direction codes of the 8-neighborhood Freeman chain code are: 0 (right), 1 (upper right), 2 (up), 3 (upper left), 4 (left), 5 (lower left), 6 (lower), 7 (lower right). 0 It can be calculated by the following formula:
[0080] Among them, (x 0 ,y 0 ) and (x 1 ,y 1 ) are the coordinates of pixel points P0 and P1 respectively. atan2 is the inverse tangent function, which is used to calculate the vector (x 1 -x 0 ,y 1 -y 0 ) and the positive direction of the x-axis. Divide the angle by pi / 4 and round it up. %8 means performing a modulo 8 operation on the result, i.e. taking the remainder when the result is divided by 8. The modulo 8 operation ensures that the direction value is always in the range of [0,7] and corresponds to 8 discrete directions. This representation is often used in image processing, computer vision and other fields to describe the direction information of pixels or feature points. The angle can be quantified into a Freeman direction code between 0 and 7. 1 Mark it as visited and use it as the new current pixel, repeat until it reaches another vascular bifurcation or vascular endpoint (that is, there is no unvisited skeleton pixel in the 8-neighborhood of the current pixel). During the tracking process, the Freeman direction codes of all passed pixels are recorded to form a Freeman chain code sequence (D 0 ,D 1 ,D 2 ,.....,D N). Repeat for other bifurcation points of blood vessels until all bifurcation points have been visited, and the Freeman chain code sequences of all bifurcated blood vessels are obtained. The extracted Freeman chain code sequence is smoothed and compressed. Since there may be some noise and redundancy in the process of vascular skeleton extraction and chain code tracking, which leads to some meaningless oscillations or repetitions in the chain code sequence, it is necessary to post-process the chain code sequence, remove some short direction changes, merge some continuous same direction codes, and obtain a more concise and stable Freeman chain code representation.
[0081] The extracted bifurcated blood vessel Freeman chain code sequences are spliced in a certain order to form a complete finger vein Freeman chain code sequence as the feature representation of the finger vein. The specific implementation is as follows: All bifurcated blood vessel Freeman chain code sequences are stored in a list, and each element is a Freeman chain code sequence of a blood vessel segment. Determine the splicing order of the Freeman chain code sequence. Common splicing orders are as follows: From top left to bottom right: According to the coordinates of the starting point (i.e., bifurcation point) of each blood vessel segment, the y coordinate is arranged in alphabetical order first and then the x coordinate, and the splicing starts from the blood vessel segment in the upper left corner. From top right to bottom left: Contrary to from top left to bottom right, the y coordinate is arranged in reverse alphabetical order first and then the x coordinate, and the splicing starts from the blood vessel segment in the upper right corner. Clockwise or counterclockwise spiral: Starting from the center of the image, the blood vessel segments from near to far from the center point are spliced in a clockwise or counterclockwise spiral order. According to the length of the blood vessel segment: According to the length of the Freeman chain code sequence of each blood vessel segment, the splicing is done in the order from long to short or from short to long. According to the determined splicing order, the Freeman chain code sequences of all bifurcated blood vessels are connected end to end to form a complete Freeman chain code sequence of the finger vein. In specific implementation, the sorted list of blood vessel segments can be traversed, and the Freeman chain code sequence of each blood vessel segment can be added to a string or array in turn. The complete Freeman chain code sequence obtained by splicing is recorded as Vessel Code as a feature representation of the finger vein image. Vessel Code is a string or array consisting of numbers between 0 and 7, and each number represents the Freeman direction code of the direction of the blood vessel skeleton line. The obtained Vessel Code is post-processed, such as removing the influence of the starting point and the end point, and normalizing the chain code sequence. Since the size and blood vessel length of different finger vein images may be different, the Vessel Code needs to be scaled normalized to make its length consistent. Common normalization methods include linear interpolation and uniform sampling.
[0082] In the user authentication stage, the security and reliability of the authentication system can be improved by combining fingerprint features and finger vein features for multimodal biometrics. The fingerprint feature verification unit performs image enhancement on the received user fingerprint image to improve the image quality. Common image enhancement techniques include histogram equalization, Gabor filtering, Shannon entropy enhancement, etc. The enhanced fingerprint image is binarized and converted into a black and white binary image. An adaptive threshold method (such as the Otsu algorithm) can be used to determine the binarization threshold. The binarized fingerprint image is thinned to extract the skeleton of the fingerprint ridge. Common thinning algorithms include the Hilditch algorithm and the Zhang-Suen algorithm. The thinned fingerprint ridge is denoised and repaired to remove the short edges and burrs that are misdetected, and to ensure the continuity and integrity of the fingerprint ridge. Local detail points are extracted on the thinned fingerprint ridge, including endpoints (endpoints of the fingerprint ridge) and bifurcation points (the bifurcation of the fingerprint ridge). The endpoints and bifurcation points can be detected by analyzing the 8-neighborhood pixel distribution of the thinned fingerprint image. Extract the location coordinates, direction and other attribute information of local minutiae points to construct fingerprint feature vectors. Common fingerprint feature representation methods include Minutiae Cylinder-Code (MCC) and three-dimensional minutiae structure (3Dminutiae). Post-process the extracted fingerprint feature vector, such as feature selection and feature normalization, to improve the discrimination and stability of the feature. According to the received user ID, read the fingerprint feature template stored in the user registration stage from the blockchain. The fingerprint feature template usually includes user ID, fingerprint type (such as right index finger), feature vector and other information, and is stored in JSON, XML and other formats. The distributed storage and encryption mechanism of the blockchain is used to ensure the security and integrity of the fingerprint feature template. Use an appropriate fingerprint feature matching algorithm to calculate the similarity between the extracted fingerprint feature and the fingerprint feature template. Common fingerprint feature matching algorithms include matching algorithms based on local minutiae structure, such as Minutia Cylinder-Code Hough Transform (MCCHT) and three-dimensional minutiae structure matching (3Dminutiaematching). For MCC features, their similarity can be measured by calculating the Cylinder-Code Similarity (CCS) between two MCC features. CCS takes into account the consistency of the position, direction and surrounding ridge structure of local detail points. For 3Dminutiae features, their similarity can be measured by calculating the three-dimensional rigid body transformation parameters and Euclidean distance between two 3Dminutiae features. The calculated similarity is compared with the preset threshold. If the similarity is greater than or equal to the threshold, the fingerprint feature verification is considered to have passed; otherwise, the finger vein feature verification is triggered.If the similarity of the fingerprint feature match is greater than or equal to the preset threshold (such as 0.8), the fingerprint feature verification is considered to be passed and there is no need to perform finger vein feature verification. If the similarity of the fingerprint feature match is less than the preset threshold, the finger vein feature verification unit is triggered for further verification. The result of the fingerprint feature verification (pass / fail) is returned to the authentication result output unit.
[0083] Figure 5 The user authentication module schematic diagram shown in some embodiments of the present specification includes a receiving unit, a fingerprint feature verification unit, a finger vein feature verification unit and an authentication result output unit, wherein the finger vein feature verification unit performs image enhancement on the received user finger vein image to improve the contrast and clarity of the vascular texture. Common image enhancement techniques include histogram equalization, Retinex algorithm, Frangi filtering, etc. The enhanced finger vein image is subjected to vascular skeleton line extraction to obtain the topological structure of the finger vein vascular network. Common vascular skeleton line extraction algorithms include filtering-based methods (such as Gabor filtering, Hessian filtering) and tracking-based methods (such as regional growing, medial axis transformation), etc. The extracted vascular skeleton line is encoded by freeman chain code to obtain the Vessel Code chain code sequence of the finger vein feature. According to the directional relationship between each pixel point on the vascular skeleton line and its adjacent pixel points, different directions are represented by numbers between 0 and 7 to generate a freeman chain code sequence. The Vessel Code chain code sequence is post-processed, such as smoothing and normalization, to reduce the influence of noise and scale changes. According to the received user ID, the finger vein feature template stored in the user registration stage is read from the blockchain. The finger vein feature template usually includes information such as user ID, finger vein image number, Vessel Code chain code sequence, etc., and is stored in JSON, XML and other formats. The distributed storage and encryption mechanism of the blockchain is used to ensure the security and integrity of the finger vein feature template. The Vessel Code chain code sequence of the extracted user's finger vein feature is used as the reference sequence CK, and the Vessel Code chain code sequence of the finger vein feature template is used as the sequence to be matched DP.
[0084] According to the lengths M and N of the reference sequence CK and the sequence to be matched DP, a cumulative distance matrix D with M+1 rows and N+1 columns is constructed. Initialize the first row element D(0,j) and the first column element D(i,0) of the cumulative distance matrix to a large value (such as infinity), indicating that the starting point of the sequence is not allowed to be skipped. Traverse each element D(i,j) of the cumulative distance matrix, where i ranges from 1 to M and j ranges from 1 to N: calculate the distance metric d(i,j) between the i-th code element of the reference sequence CK and the j-th code element of the sequence to be matched DP. The distance metric can use Euclidean distance, Manhattan distance, etc. Calculate the element D(i,j) of the cumulative distance matrix according to the formula D(i,j)=w(i,j)×d(i,j)+min{D(i-1,j-1),D(i-1,j),D(i,j-1)}. Among them, w(i,j) is the time weight coefficient, and different weight values can be assigned according to the position of the code element in the sequence. Record the position index (i, j) of element D(i, j) in the cumulative distance matrix and construct the predecessor element index matrix P.
[0085] After obtaining the cumulative distance matrix and the predecessor element index matrix, the optimal matching path between the reference sequence CK and the sequence to be matched DP can be found and the optimal matching distance can be calculated by the following steps: Initialize the optimal matching path and distance: Create an empty list path to store the element index pairs (i, j) on the optimal matching path. Initialize the optimal matching distance D dtw is 0. Reverse search for the optimal matching path: Starting from the lower right element D(M, N) of the cumulative distance matrix, add its index (M, N) to the end of the path list. According to the predecessor element index matrix P, determine the predecessor element index (i, j) of the current element: If P(i, j) is equal to (i-1, j-1), add the index (i-1, j-1) to the end of the path list and update the current index to (i-1, j-1). If P(i, j) is equal to (i-1, j), add the index (i-1, j) to the end of the path list and update the current index to (i-1, j). If P(i, j) is equal to (i, j-1), add the index (i, j-1) to the end of the path list and update the current index to (i, j-1). Repeat the above steps until you reach the upper left element D(1, 1) of the cumulative distance matrix and add its index (1, 1) to the end of the path list. Reverse the path list to get the best matching path from the upper left corner to the lower right corner.
[0086] Calculate the optimal matching distance: traverse each element index pair (i, j) on the optimal matching path: find the corresponding element value D(i, j) in the cumulative distance matrix D according to the index (i, j). Add D(i, j) to the optimal matching distance D dtwThe sum of the distance metrics of each matching code element pair on the optimal matching path is obtained, that is, the optimal matching distance D dtw . Multi-template matching: Repeat according to the number of finger vein feature templates. For each finger vein feature template, calculate the optimal matching distance between the extracted finger vein feature and the template. Store the optimal matching distances of all templates in a list. Find the minimum value in the list as the final matching distance between the extracted finger vein feature and all templates. Set the optimal matching distance D dtw The distance threshold T dtw For comparison. If D dtw Less than or equal to T dtw , it is considered that the finger vein feature verification has passed; otherwise, it is considered that the finger vein feature verification has failed. The result of the finger vein feature verification (pass / fail) is returned to the authentication result output unit.
[0087] In the transaction verification phase, when the transaction verification module receives the message that the user authentication is passed, the following specific implementation method can be used to store the transaction request information and the authentication result on the chain, and automatically execute the transfer operation through the smart contract: The transaction verification module extracts the user ID, authentication result (pass / fail) and other information from the authentication result message. The current transaction request information (such as transfer amount, recipient account number, etc.) and the authentication result information are packaged into a complete transaction data packet. The structure of the transaction data packet can be in JSON, XML and other formats, including fields such as transaction ID, user ID, authentication result, transaction timestamp, transfer amount, recipient account number, digital signature, etc. The transaction verification module sends the packaged transaction data packet to the nodes in the blockchain network. After receiving the transaction data packet, the blockchain node verifies it and checks the integrity, legality and consistency of the transaction data. The verified transaction data packet is packaged into a new block and broadcast to the entire blockchain network. After receiving the new block, other nodes in the blockchain network verify and confirm it and add the new block to the local blockchain copy. After the transaction data packet is successfully uploaded to the chain, the transaction verification module will receive a confirmation message, including the block height of the transaction data packet, transaction hash and other information. After the transaction data packet is uploaded to the chain, it will trigger the execution of the smart contract pre-deployed on the blockchain.
[0088] A smart contract is a piece of automatically executed code logic that listens to transaction events on the blockchain and automatically performs corresponding operations based on the information in the transaction data package. In the transfer scenario, the smart contract extracts information such as the transfer amount and the recipient's account from the transaction data package and performs the following steps: Check whether the balance of the transferor's account is sufficient. If the balance is insufficient, terminate the transaction and return an error message. Deduct the corresponding amount from the transferor's account according to the transfer amount and transfer it to the recipient's account. Update the account balances of the transferor and the recipient, and write the transfer record to the blockchain. Trigger the event of successful transfer to notify the transaction verification module and other related modules. After the smart contract is executed, the transaction execution result (success / failure) will be returned to the transaction verification module. The transaction verification module updates the local transaction status based on the transaction execution result and notifies the relevant business system of the transaction result. If the transaction is successfully executed, the transaction verification module will mark the transaction as completed and trigger subsequent business processes (such as sending a transaction success notification to the user). If the transaction fails to execute, the transaction verification module will mark the transaction as failed and trigger the exception handling process (such as sending a transaction failure notification to the user, or performing a transaction rollback operation).
[0089] Figure 6 This is a schematic diagram of a risk control module according to some embodiments of this specification. In the risk control stage, the following specific implementation methods can be used to perform abnormal detection and risk warning on fingerprint features and finger vein features: The data acquisition unit obtains encrypted fingerprint features and finger vein feature data from the blockchain network. The acquired encrypted data is decrypted to obtain plaintext fingerprint features and finger vein features. Decryption can be performed using a private key of a symmetric encryption algorithm (such as AES) or an asymmetric encryption algorithm (such as RSA). The decrypted fingerprint features and finger vein features are passed to the cluster analysis unit for cluster analysis.
[0090] The cluster analysis unit uses an improved K-means clustering algorithm to perform cluster analysis on the decrypted fingerprint features and finger vein features, normalizes the decrypted fingerprint features and finger vein features, and scales the feature values to the interval [0, 1]. This helps to eliminate the dimensional differences between different features and improve the clustering effect. To process missing values or outliers, interpolation, deletion, or filling with default values can be used. A set of different K values, such as K = 2, 3, 4, 5, etc., are selected to evaluate the clustering effect under different cluster numbers. The selection of K values can be estimated based on prior knowledge, business requirements, or through methods such as the elbow rule. For each selected K value, the following steps are performed: Randomly select K data points as initial cluster centers. Calculate the cosine similarity between each data point and each cluster center. Assign each data point to the cluster center with the largest cosine similarity to form K clusters. Recalculate the center of each cluster, that is, the mean vector of all data points in the cluster. Repeat the above steps until the cluster center no longer changes significantly or the maximum number of iterations is reached.
[0091] Get the clustering result under the current K value, including the cluster label and cluster center of each data point. For each cluster, calculate the cosine similarity between the data points inside the cluster and the cluster center. Average the cosine similarities within each cluster to get the internal compactness measure of the cluster. The larger the internal compactness measure, the closer the data points inside the cluster are to the cluster center, and the better the internal compactness of the cluster. For each pair of cluster centers, calculate the cosine similarity between them. Average the cosine similarities of all pairs of cluster centers to get the external separability measure of the cluster. The smaller the external separability measure, the better the separation between clusters and the stronger the distinction between different clusters. For each data point, calculate the following two values: a(i) the average cosine similarity between data point i and other data points in the same cluster. b(i) the maximum average cosine similarity between data point i and data points in other clusters. For each data point i, calculate its silhouette coefficient The silhouette coefficients of all data points are averaged to obtain the silhouette coefficient of the current clustering result. The silhouette coefficient range is [-1, 1]. The larger the value, the better the clustering effect, and the compactness within the cluster and the separation between clusters are better. Compare the silhouette coefficients under different K values, and select the K value corresponding to the maximum silhouette coefficient as the optimal number of clusters. The clustering result corresponding to the optimal number of clusters is used as the final clustering analysis result. The optimal clustering results of fingerprint features and finger vein features are output, including the cluster label and cluster center of each data point. The clustering results are passed to the anomaly detection unit for subsequent anomaly detection tasks.
[0092] The anomaly detection unit uses the isolation forest algorithm to detect anomalies on fingerprint features and finger vein features, and collects normal fingerprint feature samples, abnormal fingerprint feature negative samples, normal finger vein feature samples, and abnormal finger vein feature negative samples. The sample data is preprocessed, such as feature extraction and normalization, to convert it into a feature vector representation suitable for the isolation forest algorithm. The isolation forest model is trained for fingerprint features and finger vein features respectively. For each feature, the normal sample and the abnormal negative sample are combined into a training set. The hyperparameters of the isolation forest are set, such as the number of trees, subsampling ratio, maximum tree depth, etc. The isolation forest model is trained with the training set to learn the abnormal pattern of the feature. The fingerprint feature clustering results and finger vein feature clustering results obtained by the cluster analysis unit are used as input. The feature vector of each data point is extracted as the input of the anomaly detection. For each data point, the cosine distance between its feature vector and the corresponding cluster center is calculated. The cosine distance measures the similarity between the data point and the cluster center. The larger the distance, the more the data point deviates from the cluster center and may be an anomaly. The trained isolation forest model is used to detect anomalies on each data point.
[0093] For fingerprint features and finger vein features, the following steps are performed respectively: Input the feature vector of the data point into the isolation forest model. The isolation forest model calculates the anomaly score of the data point. The higher the anomaly score, the more likely the data point is an anomaly. Compare the anomaly score of the data point with the preset anomaly threshold. If the anomaly score exceeds the anomaly threshold, the data point is marked as abnormal and a risk warning signal is output. For the data point marked as abnormal, a corresponding risk warning signal is generated. The risk warning signal includes information such as the identification of the data point, the anomaly type, and the anomaly score. The risk warning signals of the fingerprint feature and the finger vein feature are passed to the warning output unit for further processing.
Claims
1. A financial transaction system based on blockchain and big data, comprising: User registration module, collecting user's fingerprint image and finger vein image; Extract the fingerprint feature vectors of the collected fingerprint images and finger vein images, encrypt the fingerprint feature vectors and upload them to the blockchain network; The user authentication module performs user authentication on the user's fingerprint image and finger vein image after receiving the user's authentication request; The transaction verification module, upon receiving the result of user authentication, uploads the transaction information and authentication result to the chain and executes the transfer operation through the smart contract; The risk control module performs big data analysis on the biometric images of users stored in the blockchain, clusters the fingerprint images and finger vein images of different users through clustering algorithms, and trains an anomaly detection model based on the clustering results; uses the anomaly detection model to detect the collected fingerprint images and finger vein images of users and warn of risks; Wherein, the user authentication module includes a finger vein feature verification unit; The finger vein feature verification unit uses the Vessel Code chain code sequence matching method based on the dynamic time warping DTW algorithm to match the extracted finger vein features with the finger vein feature template stored on the blockchain to obtain the optimal matching distance D dtw ,include: The Vessel Code chain code sequence of the extracted user's finger vein image is used as the reference sequence CK, and the Vessel Code chain code sequence of the finger vein feature module stored on the blockchain is used as the sequence to be matched DP; Construct a cumulative distance matrix between the reference sequence and the sequence to be matched; The dynamic programming algorithm is used to search the cumulative distance matrix to obtain the optimal matching path between the reference sequence and the sequence to be matched; Calculate the cumulative distance and distance on the optimal matching path as the optimal matching distance D between the reference sequence and the sequence to be matched dtw , D dtw As the similarity between the extracted finger vein feature and the finger vein feature template stored on the blockchain; Calculate the optimal matching distance D dtw ,include: According to the reference sequence CK and the sequence to be matched DP, the number of rows and columns of the cumulative distance matrix is set, and the first row element D(0,j) and the first column element D(i,0) of the matrix are initialized; Obtain the distance metric d(i, j) between the i-th code element of the reference sequence CK and the j-th code element of the sequence to be matched DP, and calculate the element D(i, j) of the cumulative distance matrix according to the following formula: D(i,j)=w(i,j)×d(i,j)+min{D(i-1,j-1),D(i-1,j),D(i,j-1)} Among them, w(i,j) represents the time weight coefficient, which is used to adjust the weight of code element matching at different time points; D(i-1,j-1) represents the element value at position (i-1,j-1) in the cumulative distance matrix, that is, the cumulative distance when the i-1th code element of the reference sequence CK is matched to the j-1th code element of the sequence to be matched DP; D(i-1,j) represents the element value at position (i-1,j) in the cumulative distance matrix, that is, the cumulative distance when the i-1th code element of the reference sequence CK is matched to the j-1th code element of the sequence to be matched DP; D(i,j-1) represents the element value at position (i,j-1) in the cumulative distance matrix, that is, the cumulative distance when the i-th code element of the reference sequence CK is matched to the j-1th code element of the sequence to be matched DP; In the process of calculating the element D(i,j) of each cumulative distance matrix, the position index of the corresponding element D(i,j) in the matrix is obtained, and a predecessor element index matrix for searching the matching path is constructed according to the position index; Starting from the lower right corner element D(M,N) of the cumulative distance matrix, according to the position information recorded in the predecessor element index matrix, reverse search to the upper left corner element D(1,1) of the cumulative distance matrix to obtain the optimal matching path P between the reference sequence and the sequence to be matched; wherein the optimal matching path P is a sequence composed of multiple matching code element pairs (i,j); According to the distance metric d(i,j) of each matching symbol pair (i,j) on the optimal matching path P, the cumulative distance sum of the optimal matching path P is calculated as the optimal matching distance D between the reference sequence CK and the sequence to be matched DP dtw .
2. The financial transaction system based on blockchain and big data according to claim 1, characterized in that: User registration module, including: A fingerprint collection unit collects a user's fingerprint image; A finger vein collection unit collects the user's finger vein image; A feature extraction unit extracts features of the fingerprint image and the finger vein image to obtain fingerprint features and finger vein features; A feature fusion unit, which fuses the extracted fingerprint feature and finger vein feature to obtain a multimodal biometric feature vector of the user as the extracted fingerprint feature vector; The encryption unit encrypts the extracted fingerprint feature vector and uploads it to the blockchain.
3. The financial transaction system based on blockchain and big data according to claim 2 is characterized in that: Extract fingerprint features, including: Preprocessing the collected fingerprint image; Divide the preprocessed fingerprint image into a plurality of nxn image blocks; Perform two-dimensional Mellet transform on each image block, use Haar wavelet basis function, and perform two-layer one-dimensional wavelet decomposition on image rows and columns respectively to obtain a low-frequency subband coefficient matrix and three high-frequency subband coefficient matrices for each image block; Downsample the 2D Mailer wavelet transform result of each image block, extract 2x2 coefficients in the low-frequency subband coefficient matrix as the Mailer coefficients of the corresponding image block, and form a 4D Mailer coefficient vector; According to the position order of the image blocks in the original fingerprint image, the 4-dimensional Mellor coefficient vectors of each image block are connected end to end to obtain a 4nx4n-dimensional fingerprint feature vector; Perform PCA principal component analysis on the obtained 4nx4n dimensional fingerprint feature vector, extract the eigenvalues corresponding to the first k principal components, and form the fingerprint feature vector after dimensionality reduction; The fingerprint feature vector after dimension reduction is used as the extracted fingerprint feature.
4. The financial transaction system based on blockchain and big data according to claim 3 is characterized by: Extract finger vein features, including: Preprocessing the collected finger vein images; The preprocessed finger vein image is enhanced by using the improved Frangi filter. Binarization is performed on the finger vein image after vascular image enhancement to extract vascular skeleton pixel points; According to the vascular skeleton pixel points, a vascular skeleton line with a single pixel width is extracted through a thinning algorithm; Perform topological structure analysis on the vascular skeleton to obtain the pixel coordinates of all vascular bifurcation points; Taking the bifurcation point of the blood vessel as the starting point, the center position of the pixel points along the connected blood vessel skeleton line is tracked by 8-neighborhood Freeman chain code to obtain the Freeman chain code sequence of each bifurcated blood vessel; The Freeman chain code sequences of each blood vessel are connected end to end to obtain the Vessel Code chain code sequence of the finger vein image as the finger vein feature.
5. The financial transaction system based on blockchain and big data according to claim 4 is characterized in that: The improved Frangi filter is used to enhance the vascular image, including: Calculate the first-order derivative of the preprocessed finger vein image in the x and y directions respectively and And the second-order derivative and According to the obtained first-order derivative and second-order derivative, the Hessian matrix H is constructed, and the eigenvalue decomposition of the Hessian matrix is performed to obtain two eigenvalues λ1 and λ2, where |λ1|≤|λ2|; Set the ratio of the first-order and second-order derivatives of the blood vessel radial direction R b As a measure of the anisotropy of vascular radial variation, an improved Frangi filter vascular response function is constructed: in, is the Frobenius norm of the Hessian matrix, σ represents the filter scale, and the parameters β and c control the vascular response function to R b and sensitivity of F; Set a scale set {σ i |i=1,2,......,n}, at each scale σ i Next, using the Gaussian smoothing function G(σ i ) is convolved with the input finger vein image I to obtain the scale space L(σ i )=G(σ i )×I; In each scale space L(σ i ), the improved Frangi filter vascular response function is used to obtain the vascular response value image VF(σ i ); For each scale σ i The vascular response value image VF(σ i ), taking the maximum pixel value to obtain the final multi-scale vascular enhancement image VFmax as the finger vein image after vascular image enhancement; Where VFmax=max{VF(σ i )|i=1,2,......,n}.
6. The financial transaction system based on blockchain and big data according to claim 2, characterized in that: User authentication module, including: A receiving unit, receiving a user's authentication request; The fingerprint feature verification unit, after receiving the user authentication request, calculates the similarity between the extracted fingerprint feature and the fingerprint feature module stored on the blockchain. When the calculated similarity is less than the threshold, the finger vein feature verification is triggered; The finger vein feature verification unit uses the Vessel Code chain code sequence matching method based on the dynamic time warping DTW algorithm to match the extracted finger vein features with the finger vein feature template stored on the blockchain to obtain the optimal matching distance D dtw ; The authentication result output unit, when the fingerprint feature verification passes and the finger vein feature verification unit outputs the optimal matching distance D dtw Less than or equal to the distance threshold T dtw When the authentication is successful, the final result is output; otherwise, the result of authentication failure is output.
7. The financial transaction system based on blockchain and big data according to any one of claims 2 to 6, characterized in that: Risk control module, including: A data acquisition unit obtains the encrypted fingerprint features and finger vein features from the blockchain network and decrypts them; The cluster analysis unit uses an improved K-means clustering algorithm to perform cluster analysis on the decrypted fingerprint features and finger vein features respectively, divides the fingerprint images and finger vein images of different users into different clusters according to the cosine similarity measurement, and obtains the fingerprint image clustering results and the finger vein image clustering results; The anomaly detection unit trains an isolation forest anomaly detection model based on the fingerprint image clustering results and the finger vein image clustering results, using normal fingerprint feature samples and corresponding abnormal fingerprint feature negative samples, as well as normal finger vein feature samples and corresponding abnormal finger vein feature negative samples; uses the trained isolation forest anomaly detection model to detect fingerprint images and finger vein images, extract feature vectors, and calculate the cosine distance between the feature vector and the corresponding cluster center. If the cosine distance exceeds the anomaly threshold, the corresponding data point is judged to be abnormal, and a risk warning signal is output; The early warning output unit sends the risk early warning signal to the transaction verification module.
8. The financial transaction system based on blockchain and big data according to claim 7 is characterized in that: The improved K-means clustering algorithm is used to perform cluster analysis on the decrypted fingerprint features and finger vein features, including: Set different clustering number K values, perform K-means clustering on the decrypted fingerprint features and finger vein features, and obtain the fingerprint image clustering results and finger vein image clustering results under different K values; For each fingerprint image clustering result and finger vein image clustering result under each K value, the average cosine similarity between the data points in each cluster and the cluster center is calculated as the internal compactness measure of the cluster; the average cosine similarity between each cluster center and other cluster centers is calculated as the external separability measure of the cluster; According to the internal compactness metric of clusters and the external separation metric of clusters, the silhouette coefficients of fingerprint image clustering results and finger vein image clustering results under different K values are calculated; By comparing the silhouette coefficients under different K values, the K value corresponding to the maximum silhouette coefficient is selected as the optimal number of clusters; The fingerprint image clustering results and finger vein image clustering results corresponding to the optimal clustering number are taken as the final clustering analysis results.
Citation Information
Patent Citations
A financial transaction system based on blockchain and big data
CN114742647B
Block chain multi-currency wallet based on living body biological characteristic authentication and implementation method thereof
CN113034139A
Detection method for biological fingerprint forced pressing
CN114550225A