A biometric feature extraction method and apparatus
By fragmenting and deploying the biometric extraction model, and leveraging the joint feature extraction by each node in a multi-party secure computing system, the problem of biometric vector leakage is solved, thereby improving data security and model security.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA UNIONPAY
- Filing Date
- 2022-08-16
- Publication Date
- 2026-06-09
AI Technical Summary
In biometric identification scenarios, biometric vectors are calculated by a single device and stored in a single environment, which poses a risk of leakage and affects data security.
By fragmenting the biometric extraction model, multiple feature extraction model fragments are obtained and deployed on different nodes. Each node in the multi-party secure computing system jointly extracts features from the biometric information fragments, avoiding the need for a single device to compute and store biometric vectors.
It improves the security of biometric extraction, ensures that model parameters are not leaked, and each node only obtains a portion of the biometric vector, thus enhancing data security. It also provides a general computing scheme applicable to any type of feature extraction model and scenario.
Smart Images

Figure CN115439903B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of artificial intelligence technology, and in particular to a method and apparatus for extracting biometric features. Background Technology
[0002] In biometric identification scenarios (such as facial recognition), the terminal acquires registered biometric information, extracts features from this information to obtain biometric vectors, and then stores these biometric vectors along with their corresponding registered identity information in a database. During identification and comparison, the terminal collects the biometric data to be identified and extracts the corresponding biometric vectors. These biometric vectors are then compared with the stored biometric vectors to obtain the registered identity information corresponding to the matching biometric vectors.
[0003] However, in the above scheme, the biometric vector is calculated by a single device and stored in a single environment, which poses a risk of biometric vector leakage, thereby affecting data security. Summary of the Invention
[0004] This application provides a biometric extraction method and apparatus to avoid leakage of biometric vectors and improve data security.
[0005] On one hand, embodiments of this application provide a biometric extraction method applied to each node in a multi-party secure computation system, the method comprising:
[0006] The terminal device receives biological information fragments, wherein the biological information fragments are obtained by the terminal device after fragmenting the acquired target biological information.
[0007] By jointly extracting features from the biological information fragments using a first feature extraction model fragment deployed locally and a second feature extraction model fragment deployed in at least one other node, corresponding biological feature vector fragments are obtained. The first feature extraction model fragment and at least one second feature extraction model fragment are obtained by fragmenting the biological feature extraction model.
[0008] Optionally, the first feature extraction model segment includes a first convolutional module, a first activation module, a first pooling module, and a first fully connected module;
[0009] The step of jointly extracting features from the biological information slices using a first feature extraction model slice deployed locally and a second feature extraction model slice deployed in at least one other node to obtain corresponding biological feature vector slices includes:
[0010] The first convolutional feature slice corresponding to the biological information slice is obtained through the first convolutional module;
[0011] By combining the first activation module and the first pooling module, as well as the second activation module and the second pooling module in at least one second feature extraction model slice, the first convolutional feature slice is activated and pooled to obtain the first pooling result; and the first pooling result is fragmented to obtain multiple pooled feature slices.
[0012] The first fully connected module processes the first pooled feature slice to obtain the biometric feature vector slice, wherein the first pooled feature slice is determined based on the undistributed pooled feature slices among the plurality of pooled feature slices and the pooled feature slices distributed by other nodes.
[0013] Optionally, the first feature extraction model segmentation further includes a first interaction module;
[0014] After fragmenting the first pooling result to obtain multiple pooling feature fragments, the process further includes:
[0015] Through the first interaction module, at least one pooled feature fragment among the plurality of pooled feature fragments is distributed to at least one other node.
[0016] Optionally, the first feature extraction model segmentation further includes a first random mask module;
[0017] The first activation module and the first pooling module, along with the second activation module and the second pooling module in at least one second feature extraction model slice, are combined to perform activation and pooling processing on the first convolutional feature slice to obtain the first pooling processing result, including:
[0018] Using the first random mask module, based on the second convolutional feature slice with at least one second activation module input, a mask recovery operation is performed on the first convolutional feature slice to obtain the first convolutional feature recovery result;
[0019] The first activation module activates the first convolutional feature recovery result to obtain a first activation result, and then fragments the first activation result to obtain multiple activation feature slices.
[0020] Through the first random mask module, based on the second activation feature fragment input from at least one second pooling module, a mask recovery operation is performed on the first activation feature fragment to obtain the first activation feature recovery result. The first activation feature fragment is determined based on the undistributed activation feature fragments among the plurality of activation feature fragments and the activation feature fragments distributed by other nodes.
[0021] The first pooling module performs pooling processing on the recovery result of the first activation feature to obtain the first pooling processing result.
[0022] Optionally, the first feature extraction model segmentation further includes a first interaction module;
[0023] After fragmenting the first activation processing result to obtain multiple activation feature fragments, the process further includes:
[0024] Through the first interaction module, at least one activation feature fragment among the plurality of activation feature fragments is distributed to at least one other node.
[0025] Optionally, the step of performing a mask recovery operation on the first convolutional feature slice based on the second convolutional feature slice input from at least one second activation module through the first random mask module to obtain the first convolutional feature recovery result includes:
[0026] The first interaction module obtains partial feature values from each second convolutional feature slice.
[0027] The first random masking module performs a masking recovery operation on the first convolutional feature slice based on the obtained partial feature values to obtain the first convolutional feature recovery result. The first convolutional feature recovery result is complementary to the second convolutional feature recovery result obtained by the at least one second feature extraction model slice.
[0028] Optionally, the step of performing a mask recovery operation on the first activation feature slice among the plurality of activation feature slices based on the second activation feature slice input from at least one second pooling module through the first random mask module to obtain the first activation feature recovery result includes:
[0029] The first interaction module obtains partial feature values from each second activated feature slice.
[0030] The first random masking module performs a masking recovery operation on the first active feature slice based on the obtained partial feature values to obtain the first active feature recovery result, wherein the first active feature recovery result is complementary to the second active feature recovery result obtained by the at least one second feature extraction model slice.
[0031] Optionally, the second feature extraction model segmentation includes a second convolutional module;
[0032] The step of obtaining the first convolutional feature slice corresponding to the biological information slice through the first convolutional module includes:
[0033] The biological information slices are convolved together using fragmented convolutional kernels in the first convolutional module and at least one fragmented convolutional kernel in the second convolutional module to obtain the first convolutional feature slices.
[0034] Optionally, the second feature extraction model segmentation includes a second convolutional module;
[0035] The step of obtaining the first convolutional feature slice corresponding to the biological information slice through the first convolutional module includes:
[0036] The biological information slices are convolved using the plaintext convolution kernel in the first convolution module to obtain the first convolution feature slices, wherein the plaintext convolution kernel in the first convolution module is the same as the plaintext convolution kernel in the second convolution module.
[0037] On one hand, embodiments of this application provide a biometric extraction device, applied to each node in a multi-party secure computing system, including:
[0038] A receiving unit is used to receive biological information fragments sent by a terminal device, wherein the biological information fragments are obtained by the terminal device after fragmenting the acquired target biological information.
[0039] The processing unit is configured to jointly extract features from the biological information slices by using a first feature extraction model slice deployed locally and a second feature extraction model slice deployed in at least one other node, to obtain corresponding biological feature vector slices. The first feature extraction model slice and at least one second feature extraction model slice are obtained by fragmenting the biological feature extraction model.
[0040] Optionally, the first feature extraction model segment includes a first convolutional module, a first activation module, a first pooling module, and a first fully connected module;
[0041] The processing unit is specifically used for:
[0042] The first convolutional feature slice corresponding to the biological information slice is obtained through the first convolutional module;
[0043] By combining the first activation module and the first pooling module, as well as the second activation module and the second pooling module in at least one second feature extraction model slice, the first convolutional feature slice is activated and pooled to obtain the first pooling result; and the first pooling result is fragmented to obtain multiple pooled feature slices.
[0044] The first fully connected module processes the first pooled feature slice to obtain the biometric feature vector slice, wherein the first pooled feature slice is determined based on the undistributed pooled feature slices among the plurality of pooled feature slices and the pooled feature slices distributed by other nodes.
[0045] Optionally, it also includes a sending unit, and the first feature extraction model segment further includes a first interaction module;
[0046] The sending unit is specifically used for:
[0047] After fragmenting the first pooling result to obtain multiple pooling feature fragments, the first interaction module distributes at least one of the multiple pooling feature fragments to the at least one other node.
[0048] Optionally, the first feature extraction model segmentation further includes a first random mask module;
[0049] The processing unit is specifically used for:
[0050] Using the first random mask module, based on the second convolutional feature slice with at least one second activation module input, a mask recovery operation is performed on the first convolutional feature slice to obtain the first convolutional feature recovery result;
[0051] The first activation module activates the first convolutional feature recovery result to obtain a first activation result, and then fragments the first activation result to obtain multiple activation feature slices.
[0052] Through the first random mask module, based on the second activation feature fragment input from at least one second pooling module, a mask recovery operation is performed on the first activation feature fragment to obtain the first activation feature recovery result. The first activation feature fragment is determined based on the undistributed activation feature fragments among the plurality of activation feature fragments and the activation feature fragments distributed by other nodes.
[0053] The first pooling module performs pooling processing on the recovery result of the first activation feature to obtain the first pooling processing result.
[0054] Optionally, it also includes a sending unit, and the first feature extraction model segment further includes a first interaction module;
[0055] The sending unit is specifically used for:
[0056] After fragmenting the first activation processing result to obtain multiple activation feature fragments, the first interaction module distributes at least one of the multiple activation feature fragments to the at least one other node.
[0057] Optionally, the processing unit is specifically used for:
[0058] The first interaction module obtains partial feature values from each second convolutional feature slice.
[0059] The first random masking module performs a masking recovery operation on the first convolutional feature slice based on the obtained partial feature values to obtain the first convolutional feature recovery result. The first convolutional feature recovery result is complementary to the second convolutional feature recovery result obtained by the at least one second feature extraction model slice.
[0060] Optionally, the processing unit is specifically used for:
[0061] The first interaction module obtains partial feature values from each second activated feature slice.
[0062] The first random masking module performs a masking recovery operation on the first active feature slice based on the obtained partial feature values to obtain the first active feature recovery result, wherein the first active feature recovery result is complementary to the second active feature recovery result obtained by the at least one second feature extraction model slice.
[0063] Optionally, the second feature extraction model segmentation includes a second convolutional module;
[0064] The processing unit is specifically used for:
[0065] The biological information slices are convolved together using fragmented convolutional kernels in the first convolutional module and at least one fragmented convolutional kernel in the second convolutional module to obtain the first convolutional feature slices.
[0066] Optionally, the second feature extraction model segmentation includes a second convolutional module;
[0067] The processing unit is specifically used for:
[0068] The biological information slices are convolved using the plaintext convolution kernel in the first convolution module to obtain the first convolution feature slices, wherein the plaintext convolution kernel in the first convolution module is the same as the plaintext convolution kernel in the second convolution module.
[0069] On one hand, embodiments of this application provide a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the above-described biometric extraction method.
[0070] On one hand, embodiments of this application provide a computer-readable storage medium storing a computer program executable by a computer device, which, when run on the computer device, causes the computer device to perform the steps of the above-described biometric extraction method.
[0071] In this embodiment, the biometric extraction model is fragmented to obtain multiple feature extraction model fragments, which are then deployed on different nodes to ensure that model parameters are not leaked. When extracting features from target biological information, the target biological information is first fragmented to obtain multiple biological information fragments. These fragments are then distributed to different nodes. Each node, based on its locally deployed feature extraction model fragments, collaborates with feature extraction model fragments deployed on other nodes to extract features from the biological information fragments, obtaining biological feature vector fragments. This ensures that each node needs to collaborate with other nodes to perform biometric extraction, and each node only obtains a portion of the biological feature vector. This avoids the problem of the entire biological feature vector being calculated by a single device and stored in a single environment, thereby improving the security of biometric extraction. Furthermore, this embodiment provides a general computing scheme applicable to any type of feature extraction model and scenario, demonstrating strong versatility. Attached Figure Description
[0072] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0073] Figure 1 A schematic diagram of a system architecture provided in an embodiment of this application;
[0074] Figure 2 A schematic flowchart of a biometric feature extraction method provided in an embodiment of this application;
[0075] Figure 3A schematic flowchart of a data preprocessing method provided in an embodiment of this application;
[0076] Figure 4 A flowchart illustrating a model parameter fragmentation processing method provided in an embodiment of this application;
[0077] Figure 5 This application provides a schematic diagram of the structure of a multi-party secure computing system according to an embodiment of the present application.
[0078] Figure 6 A schematic flowchart of a biometric feature extraction method provided in an embodiment of this application;
[0079] Figure 7 A flowchart illustrating a convolution processing method provided in an embodiment of this application;
[0080] Figure 8 A flowchart illustrating another convolution processing method provided in an embodiment of this application;
[0081] Figure 9 A flowchart illustrating an activation process method provided in an embodiment of this application;
[0082] Figure 10 A schematic flowchart of a pooling processing method provided in an embodiment of this application;
[0083] Figure 11 A schematic flowchart of a biometric feature extraction method provided in an embodiment of this application;
[0084] Figure 12 This is a schematic diagram of the structure of a biometric extraction device provided in an embodiment of this application;
[0085] Figure 13 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0086] To make the objectives, technical solutions, and beneficial effects of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
[0087] refer to Figure 1 This is a schematic diagram of a system architecture applicable to an embodiment of this application. The system architecture includes a terminal device 101 and a multi-party secure computing system 102. The multi-party secure computing system 102 includes multiple nodes, including nodes 102-1, 102-2, ..., 102-N, where N is an integer greater than 0.
[0088] Terminal device 101 is pre-installed with target applications that require biometric identification, such as payment applications, instant messaging applications, video applications, and shopping applications. Each terminal device has the function of collecting biometric information, which includes, but is not limited to, facial information, fingerprint information, and iris information. Terminal device 101 can be a smartphone, tablet computer, laptop computer, desktop computer, smart home appliance, smart voice interaction device, smart vehicle device, etc., but is not limited to these.
[0089] At least one of the multiple nodes is the backend server of the target application, while the other nodes are cooperative nodes for biometric extraction and biometric identification. Nodes can be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. Terminal devices and corresponding nodes can be directly or indirectly connected via wired or wireless communication; this application does not impose any limitation on the direct or indirect connection between any two nodes via wired or wireless communication.
[0090] In practical applications, the biometric extraction method in this application embodiment can be applied to payment scenarios, login scenarios, identity verification scenarios, etc.
[0091] It is understood that the specific embodiments of this application involve biometric data such as facial information, fingerprint information, and iris information. When the embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0092] based on Figure 1 The system architecture diagram shown in this application illustrates the flowchart of a biometric extraction method. Figure 2 As shown, the process of this method is executed by a computer device, which can be... Figure 1 The node shown includes the following steps:
[0093] Step S201: Receive biometric information fragments sent by the terminal device.
[0094] Specifically, biometric fragmentation is the process by which a terminal device fragments the acquired target biometric information. Target biometric information includes, but is not limited to, facial images, fingerprint images, and iris images; each target biometric fragment corresponds to a biometric identifier, which can be a name, unique number, or, for example, a user ID. Correspondingly, each biometric fragment obtained after fragmenting the target biometric information also corresponds to this biometric identifier.
[0095] In some embodiments, after collecting raw biological information, the terminal device preprocesses the raw biological information to obtain target biological information. Specifically, after normalizing the raw biological information, it transforms the raw biological information into a three-dimensional matrix to obtain the target biological information.
[0096] Taking the original biometric information as the original facial image as an example, such as Figure 3 As shown, after the terminal device acquires the original face image, it first normalizes the pixel values of the original face image to floating-point numbers between 0 and 1. Then, the size of the original face image is adjusted to (224, 224). Finally, the original face image is converted into a three-dimensional matrix to obtain the target biometric information.
[0097] Define a random three-dimensional matrix with the same size as the target biological information as biological information slice 1. Subtract biological information slice A from the three-dimensional matrix corresponding to the target biological information to obtain biological information slice 2. Both biological information slice 1 and biological information slice 2 are three-dimensional matrices.
[0098] It should be noted that the embodiments of this application are not limited to dividing the target biological information into two biological information fragments. The target biological information can also be divided into other numbers of biological information fragments (3, 4, etc.). This application does not make any specific limitation in this regard.
[0099] Step S202: By using the first feature extraction model segment deployed locally and the second feature extraction model segment deployed in at least one other node, feature extraction is performed on the biological information segment to obtain the corresponding biological feature vector segment.
[0100] Specifically, the first feature extraction model fragment and at least one second feature extraction model fragment are obtained by fragmenting the biometric feature extraction model. The biometric feature extraction model can be pre-trained by any node in the multi-party secure computing system, or it can be pre-trained by a terminal device or other devices.
[0101] The training process of the biometric feature extraction model is as follows:
[0102] Sample preparation stage: First, a set of original face images for model training is collected. The pixel values of each original face image are normalized to floating-point numbers between 0 and 1. This operation is beneficial for model training convergence. Then, data augmentation is performed on the original face image set, such as random horizontal flipping and shearing transformation. This operation is beneficial for improving the generalization ability of the trained model. Finally, the size of each original face image is adjusted to (224, 224) to obtain the sample image set.
[0103] Model Training Phase: The biometric extraction model is iteratively trained using stochastic gradient descent with mini-batch sample images. The learning rate is 0.1, momentum is 0.9, and the loss function is a multi-class cross-loss function. In each iteration, a mini-batch of sample images is selected from the image set, shuffled, and then input into the biometric extraction model. The model processes the mini-batch images to obtain feature extraction results. Based on the feature extraction results and the loss function, the loss value for this iteration is determined. The loss value is used to adjust the parameters of the model before proceeding to the next iteration. Training ends when the loss value meets a preset convergence condition or the number of iterations reaches a preset threshold. The trained biometric extraction model corresponds to a model file, saved in "xxx.h5" format, containing the entire model structure and the weight parameters for each layer.
[0104] In practical applications, fragmenting the biometric extraction model essentially refers to fragmenting the model parameters, which can be represented by multi-dimensional matrices. The process involves fragmenting the model parameters to obtain multiple parameter fragment files, each of which is then distributed to a node. Each node saves its parameter fragment files and deploys the corresponding feature extraction model fragments based on them. After obtaining the biometric fragments, the node's model parameter loader reads the locally saved fragment files and loads the model parameter fragments from those files into the model runner. The model runner, through local computation and interaction with other nodes, collaboratively extracts features from the biometric fragments to obtain the corresponding biometric feature vector fragments.
[0105] For example, such as Figure 4As shown, the device used for model training includes a model training module and a fragmentation module. After training the biometric extraction model, the model training module obtains model parameters x, which are represented by a multidimensional matrix. The fragmentation module then fragments the model parameters x. get and Where A represents the arithmetic fragment type, which is a real value; i represents the index number of the fragment; This indicates arithmetic-type fragmentation of the model parameter x; This indicates the first model parameter partitioning. This indicates the parameter partitioning of the second model. x is a multidimensional matrix of the same size (shape). and Adding them together yields the model parameters x. During the fragmentation process, It is generated using random numbers, and then the model parameter x is subtracted. get
[0106] To ensure that the model parameter slices are within the range of data type values, modulo calculation is usually performed on the model parameter slices, specifically satisfying the following formula (1):
[0107]
[0108] in, It represents the range of real numbers that are 2 to the power of l.
[0109] After obtaining the first and second model parameter fragments, the first model parameter fragment is sent to node 1, which stores it in a MySQL database. The second model parameter fragment is then sent to node 2, which stores it in a MySQL database.
[0110] In this embodiment, the biometric extraction model is fragmented to obtain multiple feature extraction model fragments, which are then deployed on different nodes to ensure that model parameters are not leaked. When extracting features from target biological information, the target biological information is first fragmented to obtain multiple biological information fragments. These fragments are then distributed to different nodes. Each node, based on its locally deployed feature extraction model fragments, collaborates with feature extraction model fragments deployed on other nodes to extract features from the biological information fragments, obtaining biological feature vector fragments. This ensures that each node needs to collaborate with other nodes to perform biometric extraction, and each node only obtains a portion of the biological feature vector. This avoids the problem of the entire biological feature vector being calculated by a single device and stored in a single environment, thereby improving the security of biometric extraction. Furthermore, this embodiment provides a general computing scheme applicable to any type of feature extraction model and scenario, demonstrating strong versatility.
[0111] In some embodiments, the first feature extraction model segment includes a first convolutional module, a first activation module, a first pooling module, and a first fully connected module. Secondly, a first interaction module can be added to each module in the first feature extraction model segment, or the first interaction module can be added only to modules that need to interact with other nodes, or a general first interaction module can be added to the first feature extraction model segment. Furthermore, a first random mask module can be added to each module that uses masking techniques for feature extraction, or a general first random mask module can be added to the first feature extraction model segment; this application does not specifically limit the scope of these applications.
[0112] Accordingly, the second feature extraction model segment includes a second convolutional module, a second activation module, a second pooling module, and a second fully connected module. Secondly, a second interaction module can be added to each module in the second feature extraction model segment, or it can be added only to modules that need to interact with other nodes, or a general second interaction module can be added to the second feature extraction model segment. Furthermore, a second random mask module can be added to each module that uses masking techniques for feature extraction, or a general second random mask module can be added to the second feature extraction model segment; this application does not specifically limit this approach.
[0113] For example, such as Figure 5 As shown, the multi-party secure computation system includes node 1 and node 2. Node 1 includes a first feature extraction model segment, which includes a first convolution module, a first activation module, a first pooling module, and a first fully connected module. Each module includes a first interaction module. The first activation module and the first pooling module also include a first random mask module.
[0114] Node 2 includes a second feature extraction model segment, which includes a second convolution module, a second activation module, a second pooling module, and a second fully connected module. Each module includes a second interaction module, and the second activation module and the second pooling module also include a second random mask module.
[0115] In some embodiments, the process of jointly extracting features from bioinformatics shards using a first feature extraction model shard deployed locally and a second feature extraction model shard deployed in at least one other node is as follows: Figure 6 As shown, it includes the following steps:
[0116] Step S601: Obtain the first convolutional feature slice corresponding to the biological information slice through the first convolution module.
[0117] In some embodiments, after fragmenting the biometric feature extraction model, the plaintext convolutional kernels in the model are divided into multiple fragmented convolutional kernels, each located in a convolutional module. Therefore, during feature extraction, the biometric information slices are jointly convolved using the fragmented convolutional kernels in the first convolutional module and at least one fragmented convolutional kernel in a second convolutional module to obtain the first convolutional feature slice.
[0118] Specifically, the first convolutional module and the second convolutional module interact through the first interaction module and the second interaction module to achieve joint convolutional processing and obtain the first convolutional feature slices.
[0119] For example, such as Figure 7 As shown, after fragmenting the biometric feature extraction model, the plaintext convolutional kernels in the biometric feature extraction model are divided into fragmented convolutional kernel 1 and fragmented convolutional kernel 2. Fragmented convolutional kernel 1 is located in the first convolutional module, and fragmented convolutional kernel 2 is located in the second convolutional module.
[0120] The biological information slice 1 is input into the first convolution module. The first convolution module interacts with the second convolution module, and the fragmented convolution kernel 1 and fragmented convolution kernel 2 are combined to perform convolution processing on the biological information slice 1 to obtain the first convolution feature slice.
[0121] The bioinformation slice 2 is input into the second convolution module. The second convolution module interacts with the first convolution module and performs convolution processing on the bioinformation slice 2 by combining the fragmented convolution kernel 1 and the fragmented convolution kernel 2 to obtain the second convolution feature slice.
[0122] In some embodiments, both the first convolutional module and the second convolutional module contain plaintext convolutional kernels from the biometric feature extraction model; that is, the plaintext convolutional kernels in the first convolutional module are the same as those in the second convolutional module. Then, the biometric information slices are convolved using the plaintext convolutional kernel in the first convolutional module to obtain the first convolutional feature slice.
[0123] For example, such as Figure 8 As shown, both the first and second convolutional modules contain plaintext convolutional kernels from the biometric feature extraction model. Biometric information slice 1 is input into the first convolutional module, which performs convolution processing on it using a plaintext convolutional kernel to obtain the first convolutional feature slice. Biometric information slice 2 is input into the second convolutional module, which performs convolution processing on it using a plaintext convolutional kernel to obtain the second convolutional feature slice.
[0124] Step S602: Combine the first activation module and the first pooling module, as well as the second activation module and the second pooling module in at least one second feature extraction model slice, to perform activation and pooling processing on the first convolutional feature slice to obtain the first pooling processing result.
[0125] Specifically, the first convolutional feature slices are subjected to non-linear activation processing using activation functions, such as the Sigmoid function, TanH function, and ReLU function. Pooling processing includes average pooling and max pooling.
[0126] In some embodiments, a mask recovery operation is performed on the first convolutional feature slice based on the second convolutional feature slice input to at least one second activation module by a first random mask module to obtain the first convolutional feature recovery result.
[0127] Specifically, the second convolutional feature slice is the output of the second convolutional module. A first interaction module obtains partial feature values from each second convolutional feature slice, where these partial feature values are randomly selected from the second convolutional feature slices. Then, a first random masking module performs a masking recovery operation on the first convolutional feature slices based on the obtained partial feature values to obtain the first convolutional feature recovery result. This first convolutional feature recovery result is complementary to the second convolutional feature recovery results obtained from at least one second feature extraction model slice.
[0128] In specific implementation, the obtained partial feature values are used to perform a mask recovery operation on the feature values at corresponding positions of the first convolutional feature slice to obtain the plaintext feature values (also called recovered feature values) at the corresponding positions. Unrecovered features in the first convolutional feature slice are represented by 0 and treated as masks. Other nodes also perform mask recovery operations to obtain the second convolutional feature recovery results. The positions of the plaintext feature values in the second convolutional feature recovery results are different from those in the first convolutional feature recovery results, and the first convolutional feature recovery results are complementary to at least one second convolutional feature recovery result. That is, the combination of the first convolutional feature recovery result and at least one second convolutional feature recovery result can obtain plaintext convolutional features. The first convolutional feature recovery result is activated by the first activation module to obtain the first activation result, and the first activation result is fragmented to obtain multiple activated feature slices.
[0129] In some embodiments, at least one activation feature fragment of a plurality of activation feature fragments is distributed to at least one other node via a first interaction module. Similarly, the first interaction module receives activation feature fragments distributed by at least one other node, and then determines a first activation feature fragment based on undistributed activation feature fragments and the received activation feature fragments distributed by at least one other node.
[0130] For example, such as Figure 9 As shown, for node 1, the first convolutional module outputs a first convolutional feature slice to the first activation module. The first activation module obtains partial feature values from the second activation module through the first interaction module. The first random masking module performs a masking recovery operation on the first convolutional feature slice based on the obtained partial feature values to obtain the first convolutional feature recovery result. In the 4x4 matrix corresponding to the first convolutional feature recovery result, P... 11 P 13 P 22 P 23 P 31 P 32 P 34 P 43 The eigenvalues are the recovered eigenvalues. P 12 P 14 P 21 P 24 P 33 P 41 P 42 P 44 The eigenvalues of all are 0, and they are considered as a mask, where P 11This represents the first row and first column of the matrix, and so on. The first activation module activates the recovered first convolutional feature to obtain the first activation result. The first activation result is then fragmented to obtain two activation feature slices, namely activation feature slice 1 and activation feature slice 2. Activation feature slice 1 is then distributed to node 2.
[0131] For node 2, the second convolutional module outputs a second convolutional feature slice to the second activation module. The second activation module obtains partial feature values from the first activation module through the second interaction module. The second random masking module performs a masking recovery operation on the second convolutional feature slice based on the obtained partial feature values to obtain the second convolutional feature recovery result. In the 4x4 matrix corresponding to the second convolutional feature recovery result, Q... 11 Q 13 Q 22 Q 23 Q 31 Q 32 Q 34 Q 43 The eigenvalues of Q are all 0, and it is considered a mask. 12 Q 14 Q 21 Q 24 Q 33 Q 41 Q 42 Q 44 The eigenvalues are the recovered eigenvalues, where Q 11 This represents the first row and first column of the matrix, and so on for the others. The results of the first convolution feature recovery and the second convolution feature recovery are strictly complementary.
[0132] The second activation module activates the recovered first convolutional feature result to obtain a second activation result. This second activation result is then fragmented to obtain two activation feature slices, namely activation feature slice 3 and activation feature slice 4. Activation feature slice 4 is then distributed to node 1.
[0133] Node 1 combines the activated feature fragment 1 and the received activated feature fragment 4 to obtain the first activated feature fragment, and inputs the first activated feature fragment into the first pooling module. Node 2 combines the activated feature fragment 3 and the received activated feature fragment 2 to obtain the second activated feature fragment, and inputs the second activated feature fragment into the second pooling module.
[0134] In this embodiment, the plaintext-ciphertext mixing operation is performed based on the mask in the activation module, which ensures that the activation module in each node can only recover part of the feature values, avoiding a single device from obtaining the complete feature vector, thereby improving the security of data during the feature extraction process.
[0135] In some embodiments, a first random masking module performs a mask recovery operation on the first activation feature slice based on the second activation feature slice input to at least one second pooling module to obtain a first activation feature recovery result. Then, the first pooling module performs pooling processing on the first activation feature recovery result to obtain a first pooling processing result.
[0136] Specifically, through the first interaction module, partial feature values in each second activation feature segment are obtained; through the first random mask module, a mask recovery operation is performed on the first activation feature segment based on the obtained partial feature values to obtain the first activation feature recovery result, wherein the first activation feature recovery result is complementary to the second activation feature recovery result obtained by at least one second feature extraction model segment.
[0137] The obtained partial feature values are used to perform a mask recovery operation on the feature values at corresponding positions of the first active feature slice to obtain the plaintext feature values (also called recovered feature values) at the corresponding positions. Unrecovered features in the first active feature slice are represented by 0 and treated as masks. Other nodes also perform mask recovery operations to obtain the second active feature recovery results. The positions of the plaintext feature values in the second active feature recovery results are different from those in the first active feature recovery results, and the first active feature recovery results are complementary to at least one second active feature recovery result. That is, the first active feature recovery result combined with at least one second active feature recovery result can obtain the plaintext state active feature. The first active feature recovery result is pooled through the first pooling module to obtain the first pooling result.
[0138] Step S603: Fragment the first pooling result to obtain multiple pooling feature fragments.
[0139] Through the first interaction module, at least one pooled feature fragment from a plurality of pooled feature fragments is distributed to at least one other node. Similarly, through the first interaction module, the pooled feature fragment distributed by at least one other node is received, and then the first pooled feature fragment is determined based on the undistributed pooled feature fragments and the received pooled feature fragments distributed by at least one other node.
[0140] For example, such as Figure 10 As shown, for node 1, the first pooling module obtains partial feature values from the second pooling module through the first interaction module. The first random masking module then performs a mask recovery operation on the first activation feature piece based on the obtained partial feature values to obtain the first activation feature recovery result. In the 4x4 matrix corresponding to the first activation feature recovery result, P... 11 P 13 P22 P 23 P 31 P 32 P 34 P 43 The eigenvalues are the recovered eigenvalues. P 12 P 14 P 21 P 24 P 33 P 41 P 42 P 44 The eigenvalues are all 0, and are treated as a mask. The first pooling module performs max pooling on the recovery result of the first activated feature to obtain the first pooling result, and then fragments the first pooling result to obtain two pooled feature fragments, namely pooled feature fragment 1 and pooled feature fragment 2. Pooled feature fragment 1 is distributed to node 2.
[0141] For node 2, the second pooling module obtains partial feature values from the first pooling module through the second interaction module. Then, the second random masking module performs a mask recovery operation on the second activation feature slice based on the obtained partial feature values to obtain the second activation feature recovery result. In the 4x4 matrix corresponding to the second activation feature recovery result, Q... 11 Q 13 Q 22 Q 23 Q 31 Q 32 Q 34 Q 43 The eigenvalues of Q are all 0, and it is considered a mask. 12 Q 14 Q 21 Q 24 Q 33 Q 41 Q 42 Q 44 The feature value is the recovered feature value. The second pooling module performs max pooling on the recovered result of the second activation feature to obtain the second pooling result, and then fragments the second pooling result to obtain two pooled feature fragments, namely pooled feature fragment 3 and pooled feature fragment 4. Pooled feature fragment 4 is distributed to node 2.
[0142] Node 1 combines pooled feature fragment 1 and the received pooled feature fragment 4 to obtain a first pooled feature fragment, and inputs the first pooled feature fragment into the first fully connected module. Node 2 combines pooled feature fragment 3 and the received pooled feature fragment 2 to obtain a second pooled feature fragment, and inputs the second pooled feature fragment into the second fully connected module.
[0143] Step S604: The first pooling feature slice is processed by the first fully connected module to obtain the biological feature vector slice.
[0144] Specifically, the first fully connected module performs a vector inner product operation on the first pooling feature slice based on the weight parameters to obtain the biological feature vector slice.
[0145] In this embodiment, the pooling module performs plaintext-ciphertext mixing operations based on a mask, ensuring that the pooling module in each node can only recover partial feature values, thus avoiding a single device obtaining the complete feature vector and improving data security during feature extraction.
[0146] In some embodiments, after obtaining the biofeature vector slice corresponding to the biofeature slice, the biofeature vector slice corresponding to the biofeature slice is saved, and the biofeature vector slice is used for biofeature recognition.
[0147] Specifically, the terminal device collects the biometric information to be identified, then fragments this information to obtain multiple segments. These segments are then sent to multiple nodes. Each node uses the biometric extraction method described above to obtain a corresponding feature vector segment for one of the segments.
[0148] One possible implementation involves each node calculating the similarity between the feature vector fragment to be identified and each stored biometric feature vector fragment, and selecting the biometric feature vector with the highest similarity and its corresponding maximum similarity. One node from multiple nodes aggregates the maximum similarities obtained from all nodes to obtain the target similarity. If the target similarity is greater than a preset threshold, the biometric identification result is determined to be successful; otherwise, the biometric identification result is determined to be unsuccessful. The biometric identification result is then sent to the terminal device.
[0149] Another possible implementation involves assigning a biometric identifier to each feature vector segment to be identified. Each node selects a target feature vector segment from a pool of stored biometric feature vector segments based on this identifier. Then, the segment similarity between the feature vector segment to be identified and the target feature vector segment is calculated. One node aggregates the segment similarities obtained from all nodes to obtain the target similarity. If the target similarity is greater than a preset threshold, the biometric identification result is determined to be successful; otherwise, the biometric identification result is determined to be unsuccessful. The biometric identification result is then sent to the terminal device.
[0150] The aforementioned biometric identification methods can be applied to payment scenarios, login scenarios, verification scenarios, etc.
[0151] In this embodiment, the biometric extraction model is fragmented to obtain multiple feature extraction model slices, which are then deployed on different nodes to ensure that model parameters are not leaked. Feature extraction is performed on the biometric information slices using these multiple feature extraction model slices to obtain biometric feature vector slices. Then, these multiple biometric feature vector slices are combined for biometric identification, avoiding the use of a single device for feature extraction and biometric identification, thereby improving the security of biometric extraction.
[0152] To better explain the embodiments of this application, a biometric extraction method provided by this application is described below in conjunction with a specific implementation scenario. The process of this method can be executed by a terminal device and a multi-party secure computation system, wherein the multi-party secure computation system includes node 1 and node 2, and includes the following steps, as follows: Figure 11 As shown:
[0153] Step S1101: The terminal device acquires the original face image.
[0154] In step S1102, the terminal device converts the original face image into a three-dimensional matrix D.
[0155] Step S1103: Determine if a face exists. If so, proceed to step S1104; otherwise, proceed to step S1104.
[0156] In step S1104, the terminal device performs fragmentation processing on the three-dimensional matrix D to obtain image fragment S_0 and image fragment S_1.
[0157] Among them, image slice S_0 and image slice S_1 are three-dimensional matrices with the same size (shape), and S_0+S_1=D.
[0158] Step S1105: Node 1 loads image slice S_0.
[0159] In step S1106, node 1 uses the locally deployed feature extraction operator and the feature extraction operator deployed in node 2 to extract features from image segment S_0.
[0160] Node 1 and Node 2 perform interactive computation to jointly implement the feature extraction operator deployed locally and the feature extraction operator deployed in Node 2 to extract features from image segment S_0.
[0161] Step S1107, node 1 outputs feature vector fragment FS_0.
[0162] Step S1108: Node 2 loads image slice S_1.
[0163] In step S1109, node 2 uses the locally deployed feature extraction operator and the feature extraction operator deployed in node 1 to extract features from image segment S_1.
[0164] Step S1110: Node 2 outputs feature vector slice FS_1.
[0165] Step S1111: The terminal device reports an error message indicating that there is no facial information.
[0166] In this embodiment, the biometric extraction model is fragmented to obtain multiple feature extraction model fragments, which are then deployed on different nodes to ensure that model parameters are not leaked. When extracting features from target biological information, the target biological information is first fragmented to obtain multiple biological information fragments. These fragments are then distributed to different nodes. Each node, based on its locally deployed feature extraction model fragments, collaborates with feature extraction model fragments deployed on other nodes to extract features from the biological information fragments, obtaining biological feature vector fragments. This ensures that each node needs to collaborate with other nodes to perform biometric extraction, and each node only obtains a portion of the biological feature vector. This avoids the problem of the entire biological feature vector being calculated by a single device and stored in a single environment, thereby improving the security of biometric extraction. Furthermore, this embodiment provides a general computing scheme applicable to any type of feature extraction model and scenario, demonstrating strong versatility.
[0167] Based on the same technical concept, this application provides a schematic diagram of a biometric extraction device, applied to each node of a multi-party secure computing system, such as... Figure 12 As shown, the device 1200 includes:
[0168] The receiving unit 1201 is used to receive biological information fragments sent by the terminal device, wherein the biological information fragments are obtained by the terminal device after fragmenting the acquired target biological information;
[0169] The processing unit 1202 is used to jointly extract features from the biological information slices by using a first feature extraction model slice deployed locally and a second feature extraction model slice deployed in at least one other node, to obtain corresponding biological feature vector slices. The first feature extraction model slice and at least one second feature extraction model slice are obtained by fragmenting the biological feature extraction model.
[0170] Optionally, the first feature extraction model segment includes a first convolutional module, a first activation module, a first pooling module, and a first fully connected module;
[0171] The processing unit 1202 is specifically used for:
[0172] The first convolutional feature slice corresponding to the biological information slice is obtained through the first convolutional module;
[0173] By combining the first activation module and the first pooling module, as well as the second activation module and the second pooling module in at least one second feature extraction model slice, the first convolutional feature slice is activated and pooled to obtain the first pooling result; and the first pooling result is fragmented to obtain multiple pooled feature slices.
[0174] The first fully connected module processes the first pooled feature slice to obtain the biometric feature vector slice, wherein the first pooled feature slice is determined based on the undistributed pooled feature slices among the plurality of pooled feature slices and the pooled feature slices distributed by other nodes.
[0175] Optionally, it also includes a sending unit 1203, and the first feature extraction model segment further includes a first interaction module;
[0176] The transmitting unit 1203 is specifically used for:
[0177] After fragmenting the first pooling result to obtain multiple pooling feature fragments, the first interaction module distributes at least one of the multiple pooling feature fragments to the at least one other node.
[0178] Optionally, the first feature extraction model segmentation further includes a first random mask module;
[0179] The processing unit 1202 is specifically used for:
[0180] Using the first random mask module, based on the second convolutional feature slice with at least one second activation module input, a mask recovery operation is performed on the first convolutional feature slice to obtain the first convolutional feature recovery result;
[0181] The first activation module activates the first convolutional feature recovery result to obtain a first activation result, and then fragments the first activation result to obtain multiple activation feature slices.
[0182] Through the first random mask module, based on the second activation feature fragment input from at least one second pooling module, a mask recovery operation is performed on the first activation feature fragment to obtain the first activation feature recovery result. The first activation feature fragment is determined based on the undistributed activation feature fragments among the plurality of activation feature fragments and the activation feature fragments distributed by other nodes.
[0183] The first pooling module performs pooling processing on the recovery result of the first activation feature to obtain the first pooling processing result.
[0184] Optionally, it also includes a sending unit 1203, and the first feature extraction model segment further includes a first interaction module;
[0185] The transmitting unit 1203 is specifically used for:
[0186] After fragmenting the first activation processing result to obtain multiple activation feature fragments, the first interaction module distributes at least one of the multiple activation feature fragments to the at least one other node.
[0187] Optionally, the processing unit 1202 is specifically used for:
[0188] The first interaction module obtains partial feature values from each second convolutional feature slice.
[0189] The first random masking module performs a masking recovery operation on the first convolutional feature slice based on the obtained partial feature values to obtain the first convolutional feature recovery result. The first convolutional feature recovery result is complementary to the second convolutional feature recovery result obtained by the at least one second feature extraction model slice.
[0190] Optionally, the processing unit 1202 is specifically used for:
[0191] The first interaction module obtains partial feature values from each second activated feature slice.
[0192] The first random masking module performs a masking recovery operation on the first active feature slice based on the obtained partial feature values to obtain the first active feature recovery result, wherein the first active feature recovery result is complementary to the second active feature recovery result obtained by the at least one second feature extraction model slice.
[0193] Optionally, the second feature extraction model segmentation includes a second convolutional module;
[0194] The processing unit 1202 is specifically used for:
[0195] The biological information slices are convolved together using fragmented convolutional kernels in the first convolutional module and at least one fragmented convolutional kernel in the second convolutional module to obtain the first convolutional feature slices.
[0196] Optionally, the second feature extraction model segmentation includes a second convolutional module;
[0197] The processing unit 1202 is specifically used for:
[0198] The biological information slices are convolved using the plaintext convolution kernel in the first convolution module to obtain the first convolution feature slices, wherein the plaintext convolution kernel in the first convolution module is the same as the plaintext convolution kernel in the second convolution module.
[0199] In this embodiment, the biometric extraction model is fragmented to obtain multiple feature extraction model fragments, which are then deployed on different nodes to ensure that model parameters are not leaked. When extracting features from target biological information, the target biological information is first fragmented to obtain multiple biological information fragments. These fragments are then distributed to different nodes. Each node, based on its locally deployed feature extraction model fragments, collaborates with feature extraction model fragments deployed on other nodes to extract features from the biological information fragments, obtaining biological feature vector fragments. This ensures that each node needs to collaborate with other nodes to perform biometric extraction, and each node only obtains a portion of the biological feature vector. This avoids the problem of the entire biological feature vector being calculated by a single device and stored in a single environment, thereby improving the security of biometric extraction. Furthermore, this embodiment provides a general computing scheme applicable to any type of feature extraction model and scenario, demonstrating strong versatility.
[0200] Based on the same technical concept, embodiments of this application provide a computer device, which can be... Figure 1 The nodes shown are as follows: Figure 13 As shown, it includes at least one processor 1301 and a memory 1302 connected to at least one processor. In this embodiment, the specific connection medium between the processor 1301 and the memory 1302 is not limited. Figure 13 Taking the connection between processor 1301 and memory 1302 via a bus as an example, the bus can be divided into address bus, data bus, control bus, etc.
[0201] In this embodiment of the application, the memory 1302 stores instructions that can be executed by at least one processor 1301. By executing the instructions stored in the memory 1302, at least one processor 1301 can perform the steps of the above-described biometric extraction method.
[0202] The processor 1301 is the control center of the computer device, capable of connecting to various parts of the computer device via various interfaces and lines. It extracts biometric features by running or executing instructions stored in the memory 1302 and accessing data stored in the memory 1302. Optionally, the processor 1301 may include one or more processing units. The processor 1301 may integrate an application processor and a modem processor. The application processor primarily handles the operating system, user interface, and applications, while the modem processor primarily handles wireless communication. It is understood that the modem processor may not be integrated into the processor 1301. In some embodiments, the processor 1301 and the memory 1302 may be implemented on the same chip; in other embodiments, they may be implemented on separate chips.
[0203] Processor 1301 can be a general-purpose processor, such as a central processing unit (CPU), digital signal processor, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.
[0204] Memory 1302, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. Memory 1302 may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic storage, magnetic disk, optical disk, etc. Memory 1302 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer device, but is not limited thereto. Memory 1302 in the embodiments of this application may also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.
[0205] Based on the same inventive concept, embodiments of this application provide a computer-readable storage medium storing a computer program executable by a computer device, which, when run on the computer device, causes the computer device to perform the steps of the above-described biometric extraction method.
[0206] Those skilled in the art will understand that embodiments of the present invention can be provided as methods or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0207] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer apparatus or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0208] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer device or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0209] These computer program instructions may also be loaded onto a computer device or other programmable data processing equipment to cause a series of operational steps to be performed on the computer device or other programmable equipment to produce a process implemented by the computer device, thereby providing instructions that execute on the computer device or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0210] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the invention.
[0211] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.
Claims
1. A biometric extraction method, applied to each node in a multi-party secure computation system, characterized in that, include: The terminal device receives biological information fragments, wherein the biological information fragments are obtained by the terminal device after fragmenting the acquired target biological information. The first convolutional feature slice corresponding to the biological information slice is obtained through the first convolutional module; Using the first random masking module, based on the second convolutional feature slice of at least one second activation module, a masking recovery operation is performed on the first convolutional feature slice to obtain the first convolutional feature recovery result; The first activation module activates the first convolutional feature recovery result and then fragments the first activation result to obtain multiple activation feature slices. Through the first random mask module, based on the second activation feature fragment of at least one second pooling module, a mask recovery operation is performed on the first activation feature fragment to obtain the first activation feature recovery result. The first activation feature fragment is determined based on the undistributed activation feature fragments among the plurality of activation feature fragments and the activation feature fragments distributed by other nodes. The first activation feature recovery result is pooled through the first pooling module, and the first pooling result obtained by the pooling process is fragmented to obtain multiple pooled feature slices. The first pooled feature slice is processed by the first fully connected module to obtain a biological feature vector slice; the first pooled feature slice is determined based on the undistributed pooled feature slices among the multiple pooled feature slices and the pooled feature slices distributed by other nodes. The first convolutional module, the first activation module, the first pooling module, the first fully connected module, and the first random mask module are located in the first feature extraction model fragment deployed locally; the second activation module and the second pooling module are located in the second feature extraction model fragment deployed on at least one other node; the first feature extraction model fragment and at least one second feature extraction model fragment are obtained by fragmenting the biometric feature extraction model.
2. The method as described in claim 1, characterized in that, The first feature extraction model segmentation also includes a first interaction module; After fragmenting the first pooling result to obtain multiple pooling feature fragments, the process further includes: Through the first interaction module, at least one pooled feature fragment among the plurality of pooled feature fragments is distributed to at least one other node.
3. The method as described in claim 1, characterized in that, The first feature extraction model segmentation also includes a first interaction module; After fragmenting the first activation processing result to obtain multiple activation feature fragments, the process further includes: Through the first interaction module, at least one activation feature fragment among the plurality of activation feature fragments is distributed to at least one other node.
4. The method as described in claim 3, characterized in that, The step of performing a mask recovery operation on the first convolutional feature slice based on the second convolutional feature slice input from at least one second activation module through the first random mask module to obtain the first convolutional feature recovery result includes: The first interaction module obtains partial feature values from each second convolutional feature slice. The first random masking module performs a masking recovery operation on the first convolutional feature slice based on the obtained partial feature values to obtain the first convolutional feature recovery result. The first convolutional feature recovery result is complementary to the second convolutional feature recovery result obtained by the at least one second feature extraction model slice.
5. The method as described in claim 3, characterized in that, The step of performing a mask recovery operation on the first activation feature slice among the plurality of activation feature slices based on the second activation feature slices input from at least one second pooling module through the first random mask module to obtain the first activation feature recovery result includes: The first interaction module obtains partial feature values from each second activated feature slice. The first random masking module performs a masking recovery operation on the first active feature slice based on the obtained partial feature values to obtain the first active feature recovery result, wherein the first active feature recovery result is complementary to the second active feature recovery result obtained by the at least one second feature extraction model slice.
6. The method according to any one of claims 1 to 5, characterized in that, The second feature extraction model segmentation includes a second convolution module; The step of obtaining the first convolutional feature slice corresponding to the biological information slice through the first convolutional module includes: The biological information slices are convolved together using fragmented convolutional kernels in the first convolutional module and at least one fragmented convolutional kernel in the second convolutional module to obtain the first convolutional feature slices.
7. The method as described in any one of claims 1 to 5, characterized in that, The second feature extraction model segmentation includes a second convolution module; The step of obtaining the first convolutional feature slice corresponding to the biological information slice through the first convolutional module includes: The biological information slices are convolved using the plaintext convolution kernel in the first convolution module to obtain the first convolution feature slices, wherein the plaintext convolution kernel in the first convolution module is the same as the plaintext convolution kernel in the second convolution module.
8. A biometric extraction device, applied to each node in a multi-party secure computing system, characterized in that, include: A receiving unit is used to receive biological information fragments sent by a terminal device, wherein the biological information fragments are obtained by the terminal device after fragmenting the acquired target biological information. The processing unit is used to obtain the first convolutional feature slice corresponding to the biological information slice through the first convolution module; Using the first random masking module, based on the second convolutional feature slice of at least one second activation module, a masking recovery operation is performed on the first convolutional feature slice to obtain the first convolutional feature recovery result; The first activation module activates the first convolutional feature recovery result and then fragments the first activation result to obtain multiple activation feature slices. Through the first random mask module, based on the second activation feature fragment of at least one second pooling module, a mask recovery operation is performed on the first activation feature fragment to obtain the first activation feature recovery result. The first activation feature fragment is determined based on the undistributed activation feature fragments among the plurality of activation feature fragments and the activation feature fragments distributed by other nodes. The first activation feature recovery result is pooled through the first pooling module, and the first pooling result obtained by the pooling process is fragmented to obtain multiple pooled feature slices. The first pooled feature slice is processed by the first fully connected module to obtain a biological feature vector slice; the first pooled feature slice is determined based on the undistributed pooled feature slices among the multiple pooled feature slices and the pooled feature slices distributed by other nodes. The first convolutional module, the first activation module, the first pooling module, the first fully connected module, and the first random mask module are located in the first feature extraction model fragment deployed locally; the second activation module and the second pooling module are located in the second feature extraction model fragment deployed on at least one other node; the first feature extraction model fragment and at least one second feature extraction model fragment are obtained by fragmenting the biometric feature extraction model.
9. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, It stores a computer program executable by a computer device, which, when run on the computer device, causes the computer device to perform the steps of any one of claims 1 to 7.