Finger vein image recognition method, device, computing equipment and medium

By sorting and encrypting sub-region images of finger vein images, the problem of leakage risk during finger vein data transmission is solved, and efficient and safe finger vein recognition and transmission is achieved.

CN112926490BActive Publication Date: 2025-03-25INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110288174.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-03-17
Publication Date
2025-03-25
Estimated Expiration
2041-03-17

AI Technical Summary

Technical Problem

In the process of venous identification, venous data is at risk of being leaked during the process of cross-institutional transmission. The prior art causes degradation of recognition accuracy and waste of computing resources by changing image features or encrypting and decrypting.

Method used

By receiving the finger vein image of the client, dividing it into multiple sub-region images, sorting and partial encryption processing, reducing the risk of image recognition, and sending the processed image to the server for verification.

Benefits of technology

It realizes the secure transmission of venous data, reduces the loss of identification accuracy and waste of computing resources, and improves the security and efficiency of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112926490B_ABST
    Figure CN112926490B_ABST
Patent Text Reader

Abstract

The present disclosure provides a finger vein image recognition method, which relates to the technical fields of artificial intelligence, information security, etc. The method includes: receiving a finger vein image from a client, the finger vein image including multiple sub-region images; sorting the multiple sub-region images, and decrypting at least one of the multiple sub-region images to obtain multiple processed sub-region images; stitching the processed multiple sub-region images to obtain a finger vein image to be identified; extracting multiple feature point information for the finger vein from the finger vein image to be identified; based on the multiple feature point information, verifying the finger vein image to obtain a verification result, so as to send the verification result to the client. The present disclosure also provides a finger vein image recognition device, a computing device, a medium, and a program product.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to technical fields such as artificial intelligence and information security, and in particular to a finger vein image recognition method, a finger vein image recognition device, a computing device, a computer-readable storage medium, and a computer program product. Background Art

[0002] As the application of finger vein recognition technology becomes increasingly widespread, during the finger vein recognition process, the finger vein data is at risk of being leaked during the cross-institutional transmission process. Therefore, how to ensure the security of finger vein data has become an urgent problem to be solved. In the process of finger vein recognition, the related technology changes the original features of the finger vein image or encrypts the finger vein image to ensure the security of the finger vein data. However, changing the original features of the finger vein image usually affects the recognition accuracy and may even make finger vein recognition unsuccessful. After encrypting the finger vein image, it needs to be decrypted. The decrypted finger vein data is still at risk of being leaked, and the process of encrypting or decrypting the finger vein image results in a large amount of calculation and wastes computing resources. Summary of the invention

[0003] In view of this, the present disclosure provides an optimized finger vein image recognition method, a finger vein image recognition apparatus, a computing device, a computer-readable storage medium, and a computer program product.

[0004] One aspect of the present disclosure provides a finger vein image recognition method, comprising: receiving a finger vein image from a client, the finger vein image comprising a plurality of sub-region images; sorting the plurality of sub-region images, and decrypting at least one of the plurality of sub-region images to obtain a plurality of processed sub-region images; stitching the processed plurality of sub-region images to obtain a finger vein image to be identified; extracting a plurality of feature point information for the finger vein from the finger vein image to be identified; and verifying the finger vein image based on the plurality of feature point information to obtain a verification result, so as to send the verification result to the client.

[0005] According to an embodiment of the present disclosure, the method further includes, before receiving the finger vein image from the client: performing data communication with the client to obtain key information.

[0006] According to an embodiment of the present disclosure, the above-mentioned key information includes first key information, and the multiple sub-area images are arranged in sequence; the sorting processing of the multiple sub-area images includes: based on the first key information, changing the arrangement order of at least part of the multiple sub-area images.

[0007] According to an embodiment of the present disclosure, the above-mentioned key information includes second key information; the decryption processing of at least one sub-region image among the multiple sub-region images includes: based on the second key information, determining at least one sub-region image to be decrypted from the multiple sub-region images; and decrypting the at least one sub-region image to be decrypted.

[0008] According to an embodiment of the present disclosure, the above-mentioned multiple feature point information includes at least one of the following: vein endpoint information; vein bifurcation point information; relative position information between the vein endpoint and the vein bifurcation point.

[0009] According to an embodiment of the present disclosure, the above-mentioned verification of the finger vein image based on the multiple feature point information to obtain a verification result includes: matching the number and relative position information of the multiple feature points with the number and relative position information of the reference feature points to obtain a matching result, wherein the reference feature points are feature points of a pre-stored reference finger vein image; and obtaining the verification result based on the matching result.

[0010] According to an embodiment of the present disclosure, the above method is executed by a server, the server is installed with a trusted execution environment, and the method is run by the server in the trusted execution environment.

[0011] Another aspect of the present disclosure provides a finger vein image recognition method, including: acquiring a finger vein image; dividing the finger vein image into multiple sub-area images, and arranging the multiple sub-area images in sequence; changing the arrangement order of the multiple sub-area images, and encrypting at least one sub-area image among the multiple sub-area images to obtain multiple processed sub-area images; sending the processed multiple sub-area images to a server; receiving a verification result from the server, wherein the verification result indicates whether the finger vein image has passed the verification.

[0012] According to an embodiment of the present disclosure, the above method further includes, before collecting the finger vein image: performing data communication with the server to obtain key information.

[0013] According to an embodiment of the present disclosure, the above-mentioned key information includes first key information; the changing of the arrangement order of the multiple sub-region images includes: based on the first key information, changing the arrangement order of at least part of the multiple sub-region images.

[0014] According to an embodiment of the present disclosure, the above-mentioned key information includes second key information; the encryption processing of at least one sub-region image among the multiple sub-region images includes: based on the second key information, determining at least one sub-region image to be encrypted from the multiple sub-region images; and encrypting the at least one sub-region image to be encrypted.

[0015] Another aspect of the present disclosure provides a finger vein image recognition device, comprising: a first receiving module, a processing module, a splicing module, an extraction module and a verification module. The first receiving module is used to receive a finger vein image from a client, wherein the finger vein image includes a plurality of sub-region images; the processing module is used to sort the plurality of sub-region images, and to decrypt at least one of the plurality of sub-region images to obtain a plurality of processed sub-region images; the splicing module is used to splice the plurality of processed sub-region images to obtain a finger vein image to be identified; the extraction module is used to extract a plurality of feature point information for the finger vein from the finger vein image to be identified; the verification module is used to verify the finger vein image based on the plurality of feature point information to obtain a verification result, so as to send the verification result to the client.

[0016] Another aspect of the present disclosure provides a finger vein image recognition device, comprising: an acquisition module, a division module, a change module, a sending module and a second receiving module. The acquisition module is used to acquire a finger vein image; the division module is used to divide the finger vein image into a plurality of sub-region images, and the plurality of sub-region images are arranged in sequence; the change module is used to change the arrangement order of the plurality of sub-region images, and encrypt at least one of the plurality of sub-region images to obtain a plurality of processed sub-region images; the sending module is used to send the plurality of processed sub-region images to a server; and the second receiving module is used to receive a verification result from the server, wherein the verification result indicates whether the finger vein image has passed the verification.

[0017] Another aspect of the present disclosure provides a computing device, comprising: one or more processors; a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement: receiving a finger vein image from a client, the finger vein image comprising a plurality of sub-region images; sorting the plurality of sub-region images, and decrypting at least one of the plurality of sub-region images to obtain a plurality of processed sub-region images; stitching the processed plurality of sub-region images to obtain a finger vein image to be identified; extracting a plurality of feature point information for a finger vein from the finger vein image to be identified; and verifying the finger vein image based on the plurality of feature point information to obtain a verification result, so as to send the verification result to the client.

[0018] Another aspect of the present disclosure provides a computing device, comprising: one or more processors; a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement: acquiring a finger vein image; dividing the finger vein image into a plurality of sub-region images, and arranging the plurality of sub-region images in sequence; changing the arrangement order of the plurality of sub-region images, and encrypting at least one of the plurality of sub-region images to obtain a plurality of processed sub-region images; sending the plurality of processed sub-region images to a server; and receiving a verification result from the server, wherein the verification result indicates whether the finger vein image has passed the verification.

[0019] Another aspect of the present disclosure provides a non-volatile readable storage medium storing computer-executable instructions, which when executed are used to implement: receiving a finger vein image from a client, the finger vein image including multiple sub-region images; sorting the multiple sub-region images, and decrypting at least one of the multiple sub-region images to obtain multiple processed sub-region images; stitching the processed multiple sub-region images to obtain a finger vein image to be identified; extracting multiple feature point information for finger veins from the finger vein image to be identified; and verifying the finger vein image based on the multiple feature point information to obtain a verification result, so that the verification result is sent to the client.

[0020] Another aspect of the present disclosure provides a non-volatile readable storage medium storing computer-executable instructions, which, when executed, are used to implement: acquiring a finger vein image; dividing the finger vein image into a plurality of sub-region images, and arranging the plurality of sub-region images in sequence; changing the arrangement order of the plurality of sub-region images, and encrypting at least one of the plurality of sub-region images to obtain a plurality of processed sub-region images; sending the plurality of processed sub-region images to a server; and receiving a verification result from the server, wherein the verification result indicates whether the finger vein image has passed the verification.

[0021] Another aspect of the present disclosure provides a computer program product, including a computer program, which, when executed by a processor, implements: receiving a finger vein image from a client, the finger vein image including a plurality of sub-region images; sorting the plurality of sub-region images, and decrypting at least one of the plurality of sub-region images to obtain a plurality of processed sub-region images; stitching the processed plurality of sub-region images to obtain a finger vein image to be identified; extracting a plurality of feature point information for a finger vein from the finger vein image to be identified; and verifying the finger vein image based on the plurality of feature point information to obtain a verification result, so as to send the verification result to the client.

[0022] Another aspect of the present disclosure provides a computer program product, including a computer program, which, when executed by a processor, implements: collecting a finger vein image; dividing the finger vein image into a plurality of sub-region images, and arranging the plurality of sub-region images in sequence; changing the arrangement order of the plurality of sub-region images, and encrypting at least one of the plurality of sub-region images to obtain a plurality of processed sub-region images; sending the plurality of processed sub-region images to a server; and receiving a verification result from the server, wherein the verification result indicates whether the finger vein image has passed the verification.

[0023] According to the embodiments of the present disclosure, the finger vein image recognition method as described above can at least partially solve the technical problems in the related art that finger vein data has the risk of being leaked, the encryption or decryption process of the finger vein image has a large amount of calculation and wastes computing resources. Therefore, the security of the finger vein data can be achieved and the resource consumption of processing the finger vein data can be reduced. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] For a more complete understanding of the present disclosure and its advantages, reference will now be made to the following description taken in conjunction with the accompanying drawings, in which:

[0025] Figure 1 The system architecture of the finger vein image recognition method and the finger vein image recognition device according to the embodiment of the present disclosure is schematically shown;

[0026] Figure 2 A flowchart of a finger vein image recognition method according to an embodiment of the present disclosure is schematically shown;

[0027] Figure 3 A flowchart of a finger vein image recognition method according to another embodiment of the present disclosure is schematically shown;

[0028] Figure 4 A timing diagram schematically shows data interaction between a client and a server according to an embodiment of the present disclosure;

[0029] Figure 5 A schematic diagram schematically shows image division according to an embodiment of the present disclosure;

[0030] Figure 6 A schematic diagram of out-of-order processing according to an embodiment of the present disclosure is schematically shown;

[0031] Figure 7 A block diagram of a finger vein image recognition device according to an embodiment of the present disclosure is schematically shown;

[0032] Figure 8 A block diagram schematically shows a finger vein image recognition device according to another embodiment of the present disclosure; and

[0033] Fig. 9 A block diagram of a computing device for implementing finger vein image recognition according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0034] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0035] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.

[0036] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification, and should not be interpreted in an idealized or overly rigid manner.

[0037] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).

[0038] Some block diagrams and / or flow charts are shown in the accompanying drawings. It should be understood that some blocks or combinations thereof in the block diagrams and / or flow charts may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable control device, so that these instructions, when executed by the processor, may create a device for implementing the functions / operations described in these block diagrams and / or flow charts.

[0039] Therefore, the technology of the present disclosure can be implemented in the form of hardware and / or software (including firmware, microcode, etc.). In addition, the technology of the present disclosure can take the form of a computer program product on a computer-readable storage medium storing instructions, which can be used by an instruction execution system or in combination with an instruction execution system. In the context of the present disclosure, a computer-readable storage medium can be any medium that can contain, store, transmit, propagate, or transmit instructions. For example, a computer-readable storage medium can include, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, device, or propagation medium. Specific examples of computer-readable storage media include: magnetic storage devices, such as magnetic tapes or hard disks (HDDs); optical storage devices, such as compact disks (CD-ROMs); memories, such as random access memories (RAMs) or flash memory; and / or wired / wireless communication links.

[0040] An embodiment of the present disclosure provides a finger vein image recognition method executed by a server, comprising: receiving a finger vein image from a client, the finger vein image comprising a plurality of sub-region images; sorting the plurality of sub-region images, and decrypting at least one of the plurality of sub-region images to obtain a plurality of processed sub-region images; stitching the processed plurality of sub-region images to obtain a finger vein image to be identified; extracting a plurality of feature point information for the finger vein from the finger vein image to be identified; and verifying the finger vein image based on the plurality of feature point information to obtain a verification result, so as to send the verification result to the client.

[0041] An embodiment of the present disclosure provides a finger vein image recognition method executed by a client, comprising: collecting a finger vein image; dividing the finger vein image into multiple sub-region images, and arranging the multiple sub-region images in sequence; changing the arrangement order of the multiple sub-region images, and encrypting at least one sub-region image among the multiple sub-region images to obtain multiple processed sub-region images; sending the processed multiple sub-region images to a server; receiving a verification result from the server, wherein the verification result indicates whether the finger vein image has passed the verification.

[0042] Figure 1 The system architecture of the finger vein image recognition method and the finger vein image recognition device according to the embodiment of the present disclosure is schematically shown. It should be noted that: Figure 1 What is shown is merely an example of a system architecture to which the embodiments of the present disclosure can be applied, in order to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.

[0043] like Figure 1 As shown, the system architecture 100 according to this embodiment may include a server 110, a client 120, and a network 130. The network 130 is used to provide a medium for a communication link between the client 120 and the server 110. The network 130 may include various connection types, such as wired, wireless communication links, or optical fiber cables.

[0044] The user can use the client 120 to interact with the server 110 through the network 130 to receive or send messages, etc. Various communication client applications can be installed on the client 120, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only as examples).

[0045] The client 120 may be any electronic device having a display screen and supporting web browsing, including but not limited to a smart phone, a tablet computer, a laptop computer, a desktop computer, and the like.

[0046] The server 110 may be a server that provides various services, such as a background management server that provides support for websites browsed by users using the client 120 (for example only). The background management server may analyze and process received data such as user requests, and feed back processing results (such as web pages, information, or data obtained or generated according to user requests) to the terminal device. The server 110 may be a server deployed in the cloud.

[0047] In the embodiment of the present disclosure, the client 120 has, for example, a camera 121, and the client 120 can collect a finger vein image through the camera 121, and then process the collected finger vein image, and send the processed finger vein image to the server 110, so that the server 110 can recognize the finger vein image to obtain a recognition result. Then the server returns the recognition result to the client 120.

[0048] In the embodiment of the present disclosure, a trusted execution environment 111 is installed in the server 110 , for example. The trusted execution environment 111 is also called a TEE (Trusted Execution Environment) environment.

[0049] The trusted execution environment 111 is a separate "area" at the chip level, which provides a more secure place for code execution and data storage. This independent area is difficult to be obtained by other programs from the software or hardware layer, thereby ensuring its confidentiality and non-tamperability.

[0050] Therefore, after the client 120 sends the finger vein image to the server 110, the server stores the finger vein image in the trusted execution environment 111 and performs image recognition and other related processing on the finger vein image in the trusted execution environment 111 to ensure the security of the finger vein image.

[0051] It should be understood that Figure 1 The number of clients, networks and servers in the embodiment is only for illustration. Any number of clients, networks and servers may be provided as required.

[0052] The following combination Figure 1 The system architecture is based on Figure 2 to Figure 6 To describe the finger vein image recognition method of the embodiment of the present disclosure.

[0053] Figure 2 The flowchart of the finger vein image recognition method according to an embodiment of the present disclosure is schematically shown.

[0054] like Figure 2 As shown, the finger vein image recognition method of the embodiment of the present disclosure may include operations S210 to S250. Figure 1 The client is shown to execute.

[0055] In operation S210 , a finger vein image is acquired.

[0056] In the embodiment of the present disclosure, the client, for example, has a camera, and the finger vein image is collected through the camera.

[0057] In operation S220, the finger vein image is divided into a plurality of sub-region images, and the plurality of sub-region images are arranged in sequence.

[0058] According to the embodiment of the present disclosure, after the client divides the finger vein image into multiple sub-region images, the multiple sub-region images have an arrangement order, and the multiple sub-region images can be reassembled according to the arrangement order to obtain the original finger vein image.

[0059] In operation S230, the arrangement order of the plurality of sub-region images is changed, and at least one of the plurality of sub-region images is encrypted to obtain a plurality of processed sub-region images.

[0060] In an embodiment of the present disclosure, the client performs shuffling and encryption processing on multiple sub-region images. Among them, the shuffling process can be performed first and then the encryption process, or the encryption process can be performed and then the shuffling process. The multiple sub-region images after the shuffling process ensure that it is difficult to reassemble the multiple sub-region images to obtain the finger vein image after the multiple sub-region images are leaked, thereby ensuring the security of the finger vein image. In addition, some of the sub-region images in the multiple sub-region images can also be encrypted. For example, when the multiple sub-region images include 16 sub-regions, 4 of the sub-region images can be encrypted respectively to ensure that after the multiple sub-region images are leaked, the original finger vein image cannot be obtained based on the encrypted sub-region images, thereby ensuring the security of the finger vein image.

[0061] In addition, encrypting some sub-region images among multiple sub-region images can not only ensure the security of the finger vein image, but also reduce the amount of calculation for image encryption and subsequent decryption, further improving the image encryption efficiency and subsequent decryption efficiency.

[0062] In operation S240, the processed plurality of sub-region images are transmitted to a server.

[0063] For example, the multiple sub-region images that have been subjected to shuffle processing and encryption processing are sent to the server, so that the server can process the multiple sub-region images and perform image verification on the multiple sub-region images to obtain verification results.

[0064] In operation S250, a verification result is received from the server, where the verification result indicates whether the finger vein image has passed the verification.

[0065] In the embodiment of the present disclosure, after the client collects the finger vein image, in order to ensure the security of the finger vein image, the finger vein image is divided into multiple sub-region images, and then the multiple sub-region images are shuffled and some of the sub-region images are encrypted. Then the processed multiple sub-region images are sent to the server for finger vein recognition verification. It can be seen that the technical solution of the embodiment of the present disclosure can not only ensure the security of the process of the client transmitting the finger vein image to the server, but also reduce the resource consumption of image processing.

[0066] Figure 3 The following schematically shows a flow chart of a finger vein image recognition method according to another embodiment of the present disclosure.

[0067] like Figure 3 As shown, the finger vein image recognition method of the embodiment of the present disclosure may include operations S310 to S350. Figure 1 to execute on the server shown.

[0068] In operation S310, a finger vein image is received from a client, where the finger vein image includes a plurality of sub-region images.

[0069] In an embodiment of the present disclosure, the multiple sub-region images from the client are, for example, subjected to shuffling and encryption processing by the client.

[0070] In operation S320, a sorting process is performed on the plurality of sub-region images, and a decryption process is performed on at least one of the plurality of sub-region images to obtain a plurality of processed sub-region images.

[0071] In the disclosed embodiment, after the server receives the multiple sub-region images, the multiple sub-region images may be sorted and decrypted. The sorting process may be performed first and then the decryption process, or the decryption process may be performed first and then the sorting process. After the multiple sub-region images are sorted and decrypted, the multiple sub-region images obtained may be spliced ​​into the original finger vein image. The decryption process of the multiple sub-region images may be the decryption process of part of the sub-regions, and the part of the sub-region images may be, for example, the sub-region images encrypted by the client.

[0072] In operation S330, the processed multiple sub-region images are stitched to obtain a finger vein image to be identified.

[0073] After the multiple sub-region images are sorted and decrypted, the processed multiple sub-region images can be spliced ​​to obtain an original finger vein image, and the obtained original finger vein image is used as the finger vein image to be identified.

[0074] In operation S340, a plurality of feature point information for finger veins is extracted from the finger vein image to be identified.

[0075] In operation S350, based on the plurality of feature point information, the finger vein image is verified to obtain a verification result, so as to send the verification result to the client.

[0076] In the embodiment of the present disclosure, the plurality of feature point information includes, for example, vein endpoint information, vein bifurcation point information, relative position information between vein endpoints and vein bifurcation points, etc. After the plurality of feature point information is extracted, the plurality of feature point information is processed to verify whether the finger vein image passes the verification, and the verification result is sent to the client.

[0077] In the embodiment of the present disclosure, after receiving the multiple sub-region images that have been shuffled and encrypted from the client, the server sorts the multiple sub-region images and decrypts some of the sub-region images. Then, the processed multiple sub-region images are spliced ​​to obtain the finger vein image to be identified. Next, the finger vein image to be identified is subjected to image recognition and verification to confirm whether the finger vein image has passed the verification. It can be seen that the technical solution of the embodiment of the present disclosure can not only ensure the security of the finger vein image during transmission, but also reduce the resource consumption of finger vein image processing.

[0078] In another embodiment of the present disclosure, the server is installed with a trusted execution environment. After receiving the plurality of sub-region images, the server can store the plurality of sub-region images in the trusted execution environment to ensure the security of the finger vein image. In addition, the server can perform sorting, encryption, splicing, image extraction module, image verification, etc. on the images in the trusted execution environment to ensure the security of the finger vein image during the processing.

[0079] Figure 4 The diagram schematically shows a timing diagram of data interaction between a client and a server according to an embodiment of the present disclosure.

[0080] like Figure 4 As shown, the client performs operations S410A to S470A, and the server performs operations S410B to S490B.

[0081] In operation S410A, before collecting the finger vein image, the client communicates with the server to obtain key information.

[0082] In operation S410B, before receiving the finger vein image from the client, the server performs data communication with the client to obtain key information.

[0083] In an embodiment of the present disclosure, the client and the server perform a handshake in advance so that both parties can negotiate and determine the key information subsequently used for finger vein image processing.

[0084] In operation S420A, a finger vein image is acquired.

[0085] In operation S430A, the finger vein image is divided into a plurality of sub-region images.

[0086] In operation S440A, at least one sub-region image among the plurality of sub-region images is encrypted based on the key information.

[0087] In an embodiment of the present disclosure, the key information includes, for example, first key information and second key information. The first key information represents a sequence rule for performing random processing on multiple sub-region images. The second key information represents at least one sub-region image that needs to be encrypted among the multiple sub-region images. In one example, the first key information includes a digital string, and the second key information includes a digital string, and the digital string of the first key information and the digital string of the second key information can be the same.

[0088] For example, when performing encryption processing, at least one sub-region image to be encrypted is determined from multiple sub-region images based on the second key information, and then the at least one sub-region image to be encrypted is encrypted. For example, each sub-region image to be encrypted is encrypted using a symmetric encryption algorithm. Exemplarily, the symmetric encryption algorithm includes, for example, an SM4 algorithm.

[0089] In operation S450A, the arrangement order of the plurality of sub-region images is changed based on the key information,

[0090] In an embodiment of the present disclosure, the arrangement order of at least some of the sub-region images in the plurality of sub-region images is changed based on the first key information. For example, the first key information includes a digital string, wherein the digital string represents, for example, a transformation rule of the sub-region images.

[0091] In operation S460A, the processed plurality of sub-region images are sent to a server.

[0092] In operation S420B, a finger vein image is received from a client, where the finger vein image includes a plurality of sub-region images.

[0093] In an embodiment of the present disclosure, after receiving the multiple sub-region images, the server stores the received multiple sub-region images in a trusted execution environment to ensure the security of the finger vein image.

[0094] In operation S430B, a sorting process is performed on the plurality of sub-region images based on the key information.

[0095] In an embodiment of the present disclosure, before the multiple sub-region images are shuffled by the client, the order of the multiple sub-region images is, for example, sub-region image A, sub-region image B, and sub-region image C. After the multiple sub-region images are shuffled by the client, the arrangement order becomes, for example, sub-region image B, sub-region image A, and sub-region image C.

[0096] The first key information, for example, indicates that the client has swapped the order of sub-region image A and sub-region image B. Therefore, the arrangement order of the multiple sub-region images received by the server is: sub-region image B, sub-region image A, sub-region image C. Based on the first key information, the server changes the arrangement order of at least some of the multiple sub-region images, for example, changes the arrangement order of sub-region image A and sub-region image B, and obtains the arrangement order of the multiple sub-region images as: sub-region image A, sub-region image B, sub-region image C.

[0097] In operation S440B, at least one sub-region image among the plurality of sub-region images is decrypted based on the key information.

[0098] In the embodiment of the present disclosure, the second key information, for example, indicates that the client has encrypted sub-region image C among sub-region image A, sub-region image B, and sub-region image C. Then, based on the second key information, the server can determine sub-region image C from multiple sub-region images as at least one sub-region image to be decrypted, and then decrypt the at least one sub-region image to be decrypted.

[0099] In operation S450B, the processed multiple sub-region images are stitched to obtain a finger vein image to be identified.

[0100] After the server performs sorting and decryption processing on the multiple sub-region images, the server performs image splicing processing on the multiple sub-region images to obtain a complete image as the finger vein image to be identified.

[0101] In operation S460B, a plurality of feature point information for the finger vein is extracted from the finger vein image to be identified.

[0102] In operation S470B, the number and relative position information of the plurality of feature points are matched with the number and relative position information of the reference feature points to obtain a matching result. The reference feature points are feature points of a pre-stored reference finger vein image.

[0103] In operation S480B, a verification result is obtained based on the matching result, and the verification result indicates whether the finger vein image passes the verification.

[0104] In the embodiments of the present disclosure, feature point information of the finger vein image is extracted by a feature point extraction algorithm Crossing Number (CN), and the feature points include, for example, vein endpoints and vein bifurcation points. The vein endpoint is usually the end point of the vein skeleton segment, but it will also appear when the finger vein is at a certain depth of the skin or when the infrared light does not penetrate deeply enough into the human tissue. A vein bifurcation point appears when a single vein segment splits into two vein segments. A double bifurcation point appears when the two bifurcation points are close to each other.

[0105] In an embodiment of the present disclosure, the similarity between multiple feature points and reference feature points is calculated. For example, the vein endpoints and vein bifurcation points in the finger vein image to be identified are matched with the vein endpoints and vein bifurcation points of the pre-stored reference finger vein image. When matching, the degree of matching between the finger vein image to be identified and the reference finger vein image can be determined by comparing the number of feature points, relative position relationship, etc. When the similarity between the two is greater than a preset threshold, it is considered that the collected finger vein image and the pre-stored finger vein image are the finger veins of the same user, and the verification result indicates that the collected finger vein image has passed the verification.

[0106] In operation S490B, the server sends the verification result to the client.

[0107] In operation S470A, the client receives the verification result from the server.

[0108] Figure 5 A schematic diagram of image division according to an embodiment of the present disclosure is schematically shown.

[0109] like Figure 5 As shown, after the client acquires the finger vein image 500, it divides the finger vein image into a plurality of sub-region images, for example, into 16 sub-region images. The 16 sub-region images are numbered from left to right and from top to bottom, for example, a, b, c, d, e, f, g, 1, 2, 3, 4, 5, 6, 7, 8, 9. The numbering given is only for example, and for example, an irregular way of numbering can be selected, so that after multiple sub-region images are leaked, an illegal user cannot know the order of the sub-region images by their numbers, thereby preventing an illegal user from splicing multiple sub-region images to obtain the original image.

[0110] Figure 6 The figure schematically shows a schematic diagram of out-of-order processing according to an embodiment of the present disclosure.

[0111] like Figure 6 As shown, after the client divides the finger vein image, multiple sub-region images 610 are obtained, and the arrangement order of the multiple sub-region images 610 is, for example, a, b, c, d, e, f, g, 1, 2, 3, 4, 5, 6, 7, 8, 9.

[0112] In the embodiment of the present disclosure, the first key information and the second key information are both represented by a digital string "2685", for example.

[0113] For example, some of the sub-region images among the plurality of sub-region images are encrypted based on the second key information. For example, based on the numbers in the digital string "2685", the 2nd, 6th, 8th, and 5th sub-region images are encrypted. The numbers of the 2nd, 6th, 8th, and 5th sub-region images are "b", "f", "1", and "e", respectively.

[0114] Next, the plurality of sub-region images 610 are subjected to a first shuffle process to obtain a first process result 620. For example, based on "2685", the first bit value "2" is determined as the transformation step length, and the sub-region images at odd positions of the plurality of sub-region images 610 are sequentially transformed with the sub-region images to the right thereof according to the transformation step length "2" from left to right.

[0115] For example, for the sub-region image at odd position 1, determine the sub-region image at position 3 to the right according to the transformation step "2", and exchange the sub-region image "a" at odd position 1 with the sub-region image "c" at position 3. For the sub-region image at odd position 3, determine the sub-region image at position 5 to the right according to the transformation step "2", and exchange the sub-region image "a" at odd position 3 with the sub-region image "e" at position 5. For the sub-region image at odd position 5, determine the sub-region image at position 7 to the right according to the transformation step "2", and exchange the sub-region image "a" at odd position 5 with the sub-region image "g" at position 7. And so on, until all the sub-region images at odd positions are traversed.

[0116] In addition, when the sum of the position digit and the transformation step size of a sub-region image at an odd position exceeds the total number of sub-region images, the sub-region image at the odd position will not be moved. For example, if the sum of the position digit "15" and the transformation step size "2" of the sub-region image at the odd position 15 is 17, which is greater than the total number of sub-region images 16, the sub-region image at the odd position 15 will not be exchanged.

[0117] Next, the first processing result 620 is subjected to a second shuffle process to obtain a second processing result 630. For example, based on "2685", the second digit value "6" is determined as the transformation step length, and the sub-region images at odd positions in the first processing result 620 are transformed with the sub-region images to the right thereof in sequence from left to right according to the transformation step length "6".

[0118] For example, for the sub-region image at odd position 1, determine the sub-region image at position 7 to the right according to the transformation step "6", and swap the sub-region image "c" at odd position 1 with the sub-region image "2" at position 7. Swap the sub-region image "e" at odd position 3 with the sub-region image "4" at position 9. And so on, until all the sub-region images at odd positions are traversed. When the sum of the position digit and the transformation step of a sub-region image at an odd position exceeds the total number of sub-region images, the sub-region image at the odd position is not swapped.

[0119] Next, the second processing result 630 is subjected to a third shuffle process to obtain a third processing result 640. For example, based on "2685", the third digit value "8" is determined as the transformation step length, and the sub-region images at even positions in the second processing result 630 are transformed with the sub-region images to the right thereof in sequence from left to right according to the transformation step length "8".

[0120] For example, for the sub-region image at the even position 2, determine the sub-region image at position 10 to the right according to the transformation step "8", and swap the sub-region image "b" at the even position 2 with the sub-region image "3" at position 10. Swap the sub-region image "d" at the even position 4 with the sub-region image "5" at position 12. And so on, until all the sub-region images at the even positions are traversed. When the sum of the position digit and the transformation step of a sub-region image at an even position exceeds the total number of sub-region images, the sub-region image at the even position will not be swapped.

[0121] Next, the third processing result 640 is subjected to a fourth shuffle process to obtain a fourth processing result 650. For example, based on "2685", the fourth digit value "5" is determined as the change step size, and the sub-region images at even positions in the third processing result 640 are transformed with the sub-region images to the right thereof in sequence from left to right according to the transformation step size "5".

[0122] For example, for the sub-region image at the even position 2, determine the sub-region image at the position 7 to the right according to the transformation step "5", and swap the sub-region image "3" at the even position 2 with the sub-region image "8" at the position 7. Swap the sub-region image "5" at the even position 4 with the sub-region image "a" at the position 9. And so on, until all the sub-region images at the even positions are traversed. When the sum of the position digit and the transformation step of a sub-region image at an even position exceeds the total number of sub-region images, the sub-region image at the even position is not swapped.

[0123] It can be seen that the final processing result is obtained after four random processings are performed on multiple sub-region images based on the digital string "2685". The first two random processings are for sub-region images at odd positions, and the last two random processings are for sub-region images at even positions.

[0124] Then, the client sends the encrypted and randomized sub-region images to the server. The arrangement order of the sub-region images received by the server is consistent with the arrangement order of the sub-region images in the fourth processing result 650.

[0125] Then, the server reorders the received multiple sub-region images. For example, for the fourth processing result 650, the sub-region images at the even positions are determined from right to left, and the determined sub-region images at the even positions are exchanged with the sub-region images at the right of them with a transformation step of "5". For example, for the fourth processing result 650, the sub-region image "e" at the even position 10 is determined from right to left, and the sub-region image "b" at the position 15 is determined to the right according to the transformation step of "5", and the sub-region image "e" at the odd position 10 is exchanged with the sub-region image "b" at the position 15, and the third processing result 640 is obtained by reverse transformation. When the sum of the position digit and the transformation step of the determined sub-region image at the even position exceeds the total number of sub-region images, the sub-region image at the even position is not transformed. For example, when the sum of the determined even-numbered sub-region image position digit "12" and the transformation step "5" is 17 and exceeds the total number of sub-region images 16, the sub-region image at the even position "12" is not exchanged.

[0126] It can be seen that the server reverses the fourth processing result 650 based on the digital string "2685" to obtain the third processing result 640, reverses the third processing result 640 to obtain the second processing result 630, reverses the second processing result 630 to obtain the first processing result 620, and reverses the first processing result 620 to obtain the original multiple sub-region images 610. Then, based on the digital string "2685", some of the sub-region images in the multiple sub-region images 610 are decrypted. For example, the 2nd, 6th, 8th, and 5th sub-region images are decrypted. The numbers of the 2nd, 6th, 8th, and 5th sub-region images are "b", "f", "l", and "e" respectively.

[0127] According to the embodiment of the present disclosure, the partner client uses an image segmentation algorithm to split the complete finger vein image, shuffle it, and partially encrypt it before transmitting it to the cloud server. The cloud server implements sub-region image decryption, image sorting, and image splicing in a trusted execution environment based on key information, as well as completes the extraction and matching calculation of finger vein features. On the one hand, by dividing, shuffling, and partially encrypting the finger vein image by the partner client, the difficulty of generating a fake finger vein image is increased, thereby reducing the risk of leakage of the original finger vein image during network transmission; at the same time, the encryption of some sub-region images reduces the computational overhead of encrypting and decrypting the entire image, and reduces the subsequent running time of the decryption algorithm in the trusted execution environment. On the other hand, the cloud server performs image restoration and feature extraction and comparison calculations through the finger vein recognition service in the trusted execution environment. The trusted execution environment ensures that the complete original finger vein image is not obtained and stored by illegal users, prevents the finger vein image from being illegally accessed or leaked by database attacks, and ensures the privacy and security of the finger vein collection by the partner client.

[0128] Figure 7 The block diagram of the finger vein image recognition device according to an embodiment of the present disclosure is schematically shown.

[0129] like Figure 7 As shown, the finger vein image recognition device 700 may include, for example, a first receiving module 710 , a processing module 720 , a splicing module 730 , an extraction module 740 and a verification module 750 .

[0130] The first receiving module 710 may be used to receive a finger vein image from a client, where the finger vein image includes a plurality of sub-region images. Figure 3 The operation S310 described above will not be described in detail here.

[0131] The processing module 720 may be used to sort the multiple sub-region images and decrypt at least one of the multiple sub-region images to obtain the processed multiple sub-region images. Figure 3 The operation S320 described above will not be described in detail here.

[0132] The stitching module 730 may be used to stitch the processed multiple sub-region images to obtain the finger vein image to be identified. According to the embodiment of the present disclosure, the stitching module 730 may, for example, execute the above reference Figure 3 The operation S330 described above will not be described in detail here.

[0133] The extraction module 740 may be used to extract multiple feature point information for the finger vein from the finger vein image to be identified. According to the embodiment of the present disclosure, the extraction module 740 may, for example, execute the above reference Figure 3 The operation S340 described above will not be described in detail here.

[0134] The verification module 750 can be used to verify the finger vein image based on multiple feature point information to obtain a verification result, so as to send the verification result to the client. According to the embodiment of the present disclosure, the second verification module 750 can, for example, execute the above reference Figure 3 The operation S350 described above will not be described in detail here.

[0135] Figure 8 A block diagram of a finger vein image recognition device according to another embodiment of the present disclosure is schematically shown.

[0136] like Figure 8 As shown, the finger vein image recognition device 800 may include, for example, a collection module 810 , a division module 820 , a modification module 830 , a sending module 840 and a second receiving module 850 .

[0137] The acquisition module 810 may be used to acquire a finger vein image, which includes a plurality of sub-region images. Figure 2 The operation S210 described above will not be described in detail here.

[0138] The division module 820 may be used to divide the finger vein image into a plurality of sub-region images, and the plurality of sub-region images are arranged in sequence. According to an embodiment of the present disclosure, the division module 820 may, for example, execute the above reference Figure 2 The operation S220 described above will not be described in detail here.

[0139] The modification module 830 may be used to modify the arrangement order of the plurality of sub-region images, and to perform encryption processing on at least one of the plurality of sub-region images to obtain the processed plurality of sub-region images. Figure 2 The operation S230 described above will not be described in detail here.

[0140] The sending module 840 may be used to send the processed multiple sub-region images to the server. According to the embodiment of the present disclosure, the sending module 840 may, for example, execute the above reference Figure 2 The operation S240 described above will not be described in detail here.

[0141] The second receiving module 850 may be used to receive a verification result from the server, wherein the verification result indicates whether the finger vein image has passed the verification. Figure 2 The operation S250 described above will not be described in detail here.

[0142] According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits, or at least part of the functions of any one of them can be implemented in one module. According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits can be split into multiple modules for implementation. According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits can be at least partially implemented as hardware circuits, such as field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), systems on chips, systems on substrates, systems on packages, application specific integrated circuits (ASICs), or can be implemented by hardware or firmware in any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of any of them. Alternatively, according to the embodiments of the present invention, one or more of the modules, submodules, units, and subunits can be at least partially implemented as computer program modules, and when the computer program modules are run, the corresponding functions can be performed.

[0143] For example, any multiple of the first receiving module 710, the processing module 720, the splicing module 730, the extraction module 740, and the verification module 750 (or the acquisition module 810, the division module 820, the modification module 830, the sending module 840, and the second receiving module 850) can be combined into one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the first receiving module 710, the processing module 720, the splicing module 730, the extraction module 740 and the verification module 750 (or the acquisition module 810, the division module 820, the change module 830, the sending module 840 and the second receiving module 850) can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application-specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or can be implemented in any one of the three implementation methods of software, hardware and firmware or in an appropriate combination of any of them. Alternatively, at least one of the first receiving module 710, the processing module 720, the splicing module 730, the extraction module 740 and the verification module 750 (or the acquisition module 810, the division module 820, the change module 830, the sending module 840 and the second receiving module 850) can be at least partially implemented as a computer program module, which can perform corresponding functions when the computer program module is executed.

[0144] Fig. 9A block diagram of a computing device for implementing finger vein image recognition according to an embodiment of the present disclosure is schematically shown. Fig. 9 The computing device shown is only an example and should not bring any limitation to the functionality and scope of use of the embodiments of the present disclosure.

[0145] like Fig. 9 As shown, the computing device 900 includes a processor 901 and a computer-readable storage medium 902. The computing device 900 can execute the method according to the embodiment of the present disclosure.

[0146] Specifically, the processor 901 may include, for example, a general-purpose microprocessor, an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 901 may also include an onboard memory for cache purposes. The processor 901 may be a single processing unit or multiple processing units for executing different actions of the method flow according to an embodiment of the present disclosure.

[0147] Computer readable storage medium 902, for example, can be any medium capable of containing, storing, conveying, propagating or transmitting instructions. For example, readable storage media can include, but are not limited to, electrical, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices, devices or propagation media. Specific examples of readable storage media include: magnetic storage devices, such as magnetic tapes or hard disks (HDD); optical storage devices, such as compact disks (CD-ROMs); memory, such as random access memory (RAM) or flash memory; and / or wired / wireless communication links.

[0148] The computer-readable storage medium 902 may include a computer program 903 , which may include codes / computer-executable instructions, which when executed by the processor 901 cause the processor 901 to perform a method according to an embodiment of the present disclosure or any variation thereof.

[0149] The computer program 903 may be configured to have, for example, a computer program code including a computer program module. For example, in an exemplary embodiment, the code in the computer program 903 may include one or more program modules, for example, including 903A, module 903B, ... It should be noted that the division method and number of modules are not fixed, and those skilled in the art may use appropriate program modules or program module combinations according to actual conditions, and when these program module combinations are executed by the processor 901, the processor 901 may execute the method according to the embodiment of the present disclosure or any variation thereof.

[0150] According to an embodiment of the present disclosure, at least one of the first receiving module 710, the processing module 720, the splicing module 730, the extraction module 740, and the verification module 750 (or the acquisition module 810, the division module 820, the modification module 830, the sending module 840, and the second receiving module 850) can be implemented as a reference. Fig. 9 The computer program modules described herein, when executed by the processor 901, can implement the corresponding operations described above.

[0151] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the above method is implemented.

[0152] According to an embodiment of the present disclosure, a computer-readable storage medium may be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium may also be any computer-readable storage medium other than a computer-readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, optical cable, radio frequency signal, etc., or any suitable combination of the above.

[0153] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the above-mentioned module, program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart and the combination of boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0154] It will be appreciated by those skilled in the art that the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations and / or combinations are not explicitly described in the present disclosure. In particular, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways without departing from the spirit and teachings of the present disclosure. All of these combinations and / or combinations fall within the scope of the present disclosure.

[0155] Although the present disclosure has been shown and described with reference to specific exemplary embodiments of the present disclosure, it should be understood by those skilled in the art that various changes in form and details may be made to the present disclosure without departing from the spirit and scope of the present disclosure as defined by the appended claims and their equivalents. Therefore, the scope of the present disclosure should not be limited to the above-mentioned embodiments, but should be determined not only by the appended claims, but also by the equivalents of the appended claims.

Claims

1. A finger vein image recognition method, comprising: Receiving a finger vein image from a client, the finger vein image comprising a plurality of sub-region images, wherein the method further comprises: before receiving the finger vein image from the client, performing data communication with the client to obtain key information, wherein the key information comprises first key information and second key information; sorting the plurality of sub-region images based on the first key information, and decrypting at least two of the plurality of sub-region images based on the second key information to obtain a plurality of processed sub-region images; Performing image stitching on the processed multiple sub-region images to obtain a finger vein image to be identified; Extracting a plurality of feature point information for the finger vein from the finger vein image to be identified; and Based on the plurality of feature point information, verify the finger vein image to obtain a verification result, so as to send the verification result to the client; The first key information includes a first digital string, the second key information includes a second digital string, the first digital string is the same as the second digital string, and the first digital string includes four numbers. The sorting of the plurality of sub-region images based on the first key information includes: Using the fourth number in the first digital string as a transformation step length, transforming the sub-region images at even-numbered positions among the multiple sub-region images to obtain a third transformation result; Using the third number in the first digital string as a transformation step length, transforming the sub-region images at even positions among the multiple sub-region images of the third transformation result to obtain a second transformation result; Using the second number in the first digital string as a transformation step length, transforming the sub-region images at odd positions among the multiple sub-region images of the second transformation result to obtain a first transformation result; and Using the first number in the first digital string as a transformation step, transforming the sub-region images at odd positions among the multiple sub-region images of the first transformation result to obtain an original result; The decrypting process of at least two sub-region images among the plurality of sub-region images based on the second key information includes: decrypting the sub-region images corresponding to the numbers in the second digital string.

2. The method according to claim 1, wherein: The plurality of sub-region images are arranged in sequence; and the sorting process of the plurality of sub-region images based on the first key information further comprises: Based on the first key information, the arrangement order of at least part of the sub-region images among the plurality of sub-region images is changed.

3. The method according to claim 1, wherein: The decrypting process of at least two sub-region images among the plurality of sub-region images based on the second key information further comprises: Based on the second key information, determining at least two sub-region images to be decrypted from the plurality of sub-region images; and Decryption processing is performed on the at least two sub-region images to be decrypted.

4. The method according to claim 1, wherein: The plurality of feature point information includes at least one of the following: venous endpoint information; Venous bifurcation information; and The relative position information between the vein endpoint and the vein bifurcation point.

5. The method according to claim 1, wherein: The verifying the finger vein image based on the plurality of feature point information to obtain a verification result includes: Matching the number and relative position information of the plurality of feature points with the number and relative position information of reference feature points to obtain a matching result, wherein the reference feature points are feature points of a pre-stored reference finger vein image; and Based on the matching result, the verification result is obtained.

6. The method according to any one of claims 1 to 5, wherein: The method is executed by a server, a trusted execution environment is installed on the server, and the method is run by the server in the trusted execution environment.

7. A finger vein image recognition method, comprising: Collect finger vein images; The finger vein image is divided into a plurality of sub-region images, and the plurality of sub-region images are arranged in sequence, wherein the method further comprises: before collecting the finger vein image: performing data communication with a server to obtain key information, wherein the key information comprises first key information and second key information; changing the arrangement order of the plurality of sub-region images based on the first key information, and encrypting at least two of the plurality of sub-region images based on the second key information to obtain a plurality of processed sub-region images; sending the processed multiple sub-region images to a server; and receiving a verification result from a server, wherein the verification result indicates whether the finger vein image has passed the verification; The first key information includes a first digital string, the second key information includes a second digital string, the first digital string is the same as the second digital string, and the first digital string includes four numbers. Wherein, changing the arrangement order of the plurality of sub-region images based on the first key information comprises: Using the first number in the first digital string as a transformation step length, transforming the sub-region images at odd positions among the multiple sub-region images to obtain a first transformation result; Using the second number in the first digital string as a transformation step length, transforming the sub-region images at odd positions among the multiple sub-region images of the first transformation result to obtain a second transformation result; Using the third number in the first digital string as a transformation step length, transforming the sub-region images at even positions among the multiple sub-region images of the second transformation result to obtain a third transformation result; and Using the fourth number in the first digital string as a transformation step length, transforming the sub-region images at even positions among the multiple sub-region images of the third transformation result to obtain a fourth transformation result; The encrypting process of at least two sub-region images among the plurality of sub-region images based on the second key information includes: encrypting the sub-region images corresponding to the numbers in the second digital string.

8. The method according to claim 7, wherein: The step of changing the arrangement order of the plurality of sub-region images based on the first key information further comprises: Based on the first key information, the arrangement order of at least part of the sub-region images among the plurality of sub-region images is changed.

9. The method according to claim 7, wherein: The encrypting at least two sub-region images among the plurality of sub-region images based on the second key information further comprises: Based on the second key information, determining at least two sub-region images to be encrypted from the multiple sub-region images; Encryption processing is performed on the at least two sub-region images to be encrypted.

10. A finger vein image recognition device, comprising: a first receiving module, configured to receive a finger vein image from a client, the finger vein image comprising a plurality of sub-region images, wherein the first receiving module is further configured to: before receiving the finger vein image from the client, perform data communication with the client to obtain key information, wherein the key information comprises first key information and second key information, the first key information comprises a first digital string, the second key information comprises a second digital string, the first digital string and the second digital string are the same, and the first digital string comprises four digits; a processing module, configured to sort the plurality of sub-region images based on the first key information, and decrypt at least two of the plurality of sub-region images based on the second key information to obtain a plurality of processed sub-region images, Wherein, the processing module is also used for: Using the fourth number in the first digital string as a transformation step length, transforming the sub-region images at even-numbered positions among the multiple sub-region images to obtain a third transformation result; Using the third number in the first digital string as a transformation step length, transforming the sub-region images at even positions among the multiple sub-region images of the third transformation result to obtain a second transformation result; Using the second number in the first digital string as a transformation step length, transforming the sub-region images at odd positions among the multiple sub-region images of the second transformation result to obtain a first transformation result; and Using the first number in the first digital string as a transformation step, transforming the sub-region images at odd positions among the multiple sub-region images of the first transformation result to obtain an original result; The processing module is further used to: decrypt the sub-region image corresponding to the number in the second digital string; A stitching module, used for stitching the processed multiple sub-region images to obtain a finger vein image to be identified; an extraction module, used to extract a plurality of feature point information for finger veins from the finger vein image to be identified; and The verification module is used to verify the finger vein image based on the multiple feature point information to obtain a verification result, so as to send the verification result to the client.

11. A finger vein image recognition device, comprising: A collection module, used to collect a finger vein image, wherein the collection module is further used to: before collecting the finger vein image: perform data communication with a server to obtain key information, wherein the key information includes first key information and second key information, the first key information includes a first digital string, the second key information includes a second digital string, the first digital string is the same as the second digital string, and the first digital string includes four digits; A division module, used for dividing the finger vein image into a plurality of sub-region images, wherein the plurality of sub-region images are arranged in sequence; a changing module, configured to change the arrangement order of the plurality of sub-region images based on the first key information, and to encrypt at least two of the plurality of sub-region images based on the second key information to obtain a plurality of processed sub-region images, Wherein, the modification module is also used for: Using the first number in the first digital string as a transformation step length, transforming the sub-region images at odd positions among the multiple sub-region images to obtain a first transformation result; Using the second number in the first digital string as a transformation step length, transforming the sub-region images at odd positions among the multiple sub-region images of the first transformation result to obtain a second transformation result; Using the third number in the first digital string as a transformation step length, transforming the sub-region images at even positions among the multiple sub-region images of the second transformation result to obtain a third transformation result; and Using the fourth number in the first digital string as a transformation step length, transforming the sub-region images at even positions among the multiple sub-region images of the third transformation result to obtain a fourth transformation result; The modification module is further used for: encrypting the sub-region image corresponding to the numbers in the second digital string; a sending module, configured to send the processed multiple sub-region images to a server; and The second receiving module is used to receive a verification result from the server, wherein the verification result indicates whether the finger vein image has passed the verification.

12. A computing device comprising: one or more processors; a memory for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.

13. A computing device comprising: one or more processors; a memory for storing one or more programs, Wherein, when the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 7 to 9.

14. A computer-readable storage medium storing computer-executable instructions, wherein the instructions are used to implement the method according to any one of claims 1 to 6 when executed.

15. A computer-readable storage medium storing computer-executable instructions, wherein the instructions are used to implement the method according to any one of claims 7 to 9 when executed.

16. A computer program product comprising computer executable instructions for implementing the method according to any one of claims 1 to 6 when the instructions are executed.

17. A computer program product comprising computer executable instructions for implementing the method according to any one of claims 7 to 9 when the instructions are executed.

Citation Information

Patent Citations

  • Finger vein recognition and safety authentication method, terminal and system

    CN107862282A

  • Fingerprint encryption method and device, storage medium and terminal

    CN111222144A

  • Fingerprint image encryption method and device, electronic equipment and readable storage medium

    CN112417475A