Palmprint authentication method, related device and computer program
By identifying a target area and sub-regions in palm images rich in information, the method enhances palmprint authentication accuracy, addressing the issue of low discriminative features in similar images, especially in mobile payment scenarios.
Patent Information
- Application Number
- JP2025541710
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-16
- Filing Date
- 2024-04-15
- Publication Date
- 2026-02-10
AI Technical Summary
Conventional palmprint authentication methods struggle with low authentication accuracy when dealing with highly similar palmprint images, especially in scenarios with large cardinality, as they fail to extract sufficiently discriminative features.
The method focuses on determining a target area in the palm image rich in palmprint information, dividing it into non-overlapping sub-regions, and extracting features from these sub-regions to improve authentication accuracy.
This approach enhances the discriminability of palmprint features, improving authentication accuracy by focusing on high-discriminability areas and sub-regions, particularly effective in scenarios like mobile payments where similar palm images pose challenges.
Smart Images

Figure 2026504884000001_ABST
Abstract
Description
[Technical Field]
[0001] This application claims priority to a Chinese patent application bearing application number 2023107269126 and entitled "Palmprint authentication method, related device and medium" filed with the China Patent Office on June 16, 2023, the entire contents of which are incorporated herein by reference.
[0002] The present application relates to the field of biometric authentication, and in particular to palm print authentication technology. [Background technology]
[0003] In conventional palmprint authentication technology, there are three common methods: one that extracts pattern features from the entire palmprint image and performs palmprint authentication based on the Euclidean distance between pattern features; one that converts the entire palmprint image into a low-dimensional vector and classifies it to perform palmprint authentication; and one that inputs the entire palmprint image into a deep learning model to perform palmprint authentication.
[0004] However, these methods generally have the drawback that when there are many highly similar palmprint images, they are unable to extract sufficiently discriminative features to distinguish between different palmprint images, and therefore have low authentication accuracy, especially when the cardinality is large. Summary of the Invention
[0005] The embodiments of the present application provide a palm print authentication method, a related device, and a medium that can improve the accuracy of palm print authentication.
[0006] According to one aspect of the present application, there is provided a palm print authentication method, the method comprising: acquiring a target palm image; determining a target area in the target palm image, the target area being an area in the target palm image where the abundance of palm print information satisfies a predetermined condition; determining a plurality of non-overlapping target sub-regions in the target region; determining a second characteristic of the target region based on the first characteristic of each of the plurality of target sub-regions; and determining a palm print authentication result corresponding to the target palm image based on a second feature of the target area.
[0007] According to one aspect of the present application, there is provided a palm print authentication device, comprising: a first capturing unit for capturing a target palm image; a second acquisition unit for determining a target area in the target palm image, the target area being an area in the target palm image where palm print information richness satisfies a predetermined condition; a third acquisition unit for determining a plurality of non-overlapping target sub-regions in the target region; a fourth acquisition unit for determining a second characteristic of the target region based on the first characteristic of each of the plurality of target sub-regions; and a fifth obtaining unit for determining a palmprint authentication result corresponding to the target palm image based on the second feature of the target area.
[0008] According to one aspect of the present application, there is provided an electronic device including a memory and a processor, wherein the memory stores a computer program, and the processor, when executing the computer program, performs the palm print authentication method.
[0009] According to one aspect of the present application, there is provided a computer-readable storage medium having stored thereon a computer program, the computer program, when executed by a processor, implementing the palm print authentication method described above.
[0010] According to one aspect of the present application, there is provided a computer program product including a computer program that, when read and executed by a processor of a computing device, causes the computing device to perform the palm print authentication method.
[0011] Because most parts of the palm are areas with low discriminability in palmprint authentication, this embodiment innovatively abandons palmprint authentication based on the entire palm image and obtains a target area in the target palm image that is rich in palmprint information, and the features of the target area have a relatively high discriminability. Then, this embodiment determines multiple target sub-areas from the target area, extracts features from the target sub-areas, and determines the features of the target area based on the features of each of the multiple target sub-areas. The features determined in this way cover multiple locations on the palm that have high discriminability, which is advantageous for improving the accuracy of palmprint authentication. [Brief explanation of the drawings]
[0012] [Figure 1] 1 is a system architecture diagram to which a palm print authentication method according to an embodiment of the present application is applied; [Figure 2A] 1 is a schematic diagram illustrating the application of a palmprint authentication method according to an embodiment of the present application to a mobile payment scenario; [Figure 2B] 1 is a schematic diagram illustrating the application of a palmprint authentication method according to an embodiment of the present application to a mobile payment scenario; [Figure 2C] 1 is a schematic diagram illustrating the application of a palmprint authentication method according to an embodiment of the present application to a mobile payment scenario; [Figure 2D] 1 is a schematic diagram illustrating the application of a palm print authentication method according to an embodiment of the present application to an identity verification scenario; [Figure 2E] 1 is a schematic diagram illustrating the application of a palm print authentication method according to an embodiment of the present application to an identity verification scenario; [Figure 2F] 1 is a schematic diagram illustrating the application of a palm print authentication method according to an embodiment of the present application to an identity verification scenario; [Figure 3] 1 is a flowchart of a palm print authentication method according to an embodiment of the present application. [Figure 4A] FIG. 4 is a schematic diagram of an interface associated with step 310 of FIG. 3. [Figure 4B] FIG. 4 is a schematic diagram of an interface associated with step 310 of FIG. 3. [Figure 4C]FIG. 4 is a schematic diagram of an interface associated with step 310 of FIG. 3. [Figure 5A] FIG. 4 is a schematic diagram of an interface associated with step 320 of FIG. 3. [Figure 5B] FIG. 4 is a schematic diagram of an interface associated with step 320 of FIG. 3. [Figure 5C] FIG. 4 is a schematic diagram of an interface associated with step 320 of FIG. 3. [Figure 6] 4 is a flowchart of a specific embodiment of step 320 of FIG. 3. [Figure 7A] FIG. 1 is a schematic diagram illustrating a Cartesian coordinate system created in one embodiment of the present application. [Figure 7B] FIG. 1 is a schematic diagram illustrating determining the center of a target area based on a Cartesian coordinate system in one embodiment of the present application. [Figure 8A] FIG. 1 is a schematic diagram showing a circumscribing circle created in one embodiment of the present application. [Figure 8B] FIG. 10 is a schematic diagram illustrating determining the center of a target area based on a circumscribing circle in one embodiment of the present application. [Figure 9] 7 is a flowchart of a specific embodiment of step 620 of FIG. 6. [Figure 10A] 10 is a schematic diagram showing a specific implementation process of steps 910 to 940 in FIG. 9. [Figure 10B] 10 is a schematic diagram showing a specific implementation process of steps 910 to 940 in FIG. 9. [Figure 11] 7 is a flowchart of a first specific embodiment of step 630 of FIG. 6. [Figure 12A] FIG. 1 is a schematic diagram illustrating a target area generation process when the target area is square in one embodiment of the present application. [Figure 12B] FIG. 1 is a schematic diagram illustrating a target area generation process when the target area is square in one embodiment of the present application. [Figure 12C] FIG. 1 is a schematic diagram illustrating a target area generation process when the target area is square in one embodiment of the present application. [Figure 13] 7 is a flowchart of a second specific embodiment of step 630 of FIG. 6; [Figure 14A] FIG. 1 is a schematic diagram illustrating a target area generation process when the target area is square in one embodiment of the present application. [Figure 14B] FIG. 1 is a schematic diagram illustrating a target area generation process when the target area is square in one embodiment of the present application. [Figure 14C] FIG. 1 is a schematic diagram illustrating a target area generation process when the target area is square in one embodiment of the present application. [Figure 14D] FIG. 1 is a schematic diagram illustrating a process for generating a target area when the target area is circular in one embodiment of the present application. [Figure 14E] FIG. 1 is a schematic diagram illustrating a process for generating a target area when the target area is circular in one embodiment of the present application. [Figure 15] 4 is a flowchart of a first specific embodiment of step 330 of FIG. 3; [Figure 16] FIG. 2 is a schematic diagram illustrating a specific implementation process of obtaining multiple target sub-regions by division in an embodiment of the present application; [Figure 17] 4 is a flowchart of a second specific embodiment of step 330 of FIG. 3; [Figure 18A] FIG. 10 is a schematic diagram showing a specific implementation process of acquiring multiple target sub-regions using an acquired target sub-region set; [Figure 18B] FIG. 10 is a schematic diagram showing a specific implementation process of acquiring multiple target sub-regions using an acquired target sub-region set; [Figure 19] 18 is a flowchart of a specific embodiment of obtaining the first length and the second length in FIG. 17; [Figure 20] 4 is a flowchart of a specific embodiment of step 340 of FIG. 3. [Figure 21] FIG. 21 is a schematic diagram showing a specific implementation process of converting to the same size in FIG. 20; [Figure 22] 21 is a flowchart of a specific embodiment of step 2020 in FIG. 20. [Figure 23] FIG. 23 is a schematic diagram showing a specific implementation process of obtaining the second feature by projective convolution and position encoding in FIG. 22; [Figure 24] FIG. 1 is a schematic diagram illustrating a model structure of a projective convolution model in an embodiment of the present application. [Figure 25] 23 is a flowchart of a specific embodiment of obtaining the second feature using the feature encoding model in FIG. 22; [Figure 26A] FIG. 26 is a schematic diagram showing a specific implementation process of using three matrices in FIG. 25 to obtain the second feature. [Figure 26B] FIG. 26 is a schematic diagram showing a specific implementation process of using three matrices in FIG. 25 to obtain the second feature. [Figure 26C] FIG. 26 is a schematic diagram showing a specific implementation process of using three matrices in FIG. 25 to obtain the second feature. [Figure 26D] FIG. 26 is a schematic diagram showing a specific implementation process of using three matrices in FIG. 25 to obtain the second feature. [Figure 26E] FIG. 26 is a schematic diagram showing a specific implementation process of using three matrices in FIG. 25 to obtain the second feature. [Figure 27] FIG. 1 is a schematic diagram illustrating a model structure of a feature coding model according to an embodiment of the present application. [Figure 28] 4 is a flowchart of a specific embodiment of step 350 of FIG. 3. [Figure 29] 29 is a flowchart of a specific embodiment of obtaining a reference feature vector library in FIG. 28. [Figure 30] 30 is a flowchart of a specific embodiment of joint training of the projection convolutional coding model and the convolutional coding model in FIG. 29 . [Figure 31] 1 is an overall flowchart of a palm print authentication method according to an embodiment of the present application. [Figure 32] 1 is a module diagram of a palm print authentication device according to an embodiment of the present application. [Figure 33] FIG. 1 is a diagram illustrating a terminal configuration of a palm print authentication method according to an embodiment of the present application. [Figure 34] FIG. 1 is a diagram illustrating a server configuration of a palm print authentication method according to an embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION
[0013] In order to make the purpose, technical solution and advantages of the present application clearer, the present application will be described in detail below by way of examples with reference to the drawings. It should be understood that the specific examples described herein are only used to explain the present application and are not used to limit the present application.
[0014] Before describing the embodiments of the present application in detail, the nouns and terms contained in the embodiments of the present application will be explained, and the nouns and terms contained in the embodiments of the present application will be interpreted as follows.
[0015] Palm print authentication technology: Palm print authentication is a relatively new biometric authentication technology that verifies identity by identifying palm images from the base of the fingers to the wrist. It has the advantages of easy sampling, rich image information, high user acceptance, difficulty in forging, and little interference from noise. Palm print authentication technology is currently used in areas such as mobile payments and identity verification. Compared to facial recognition technology, palm prints have high concealment properties, which is advantageous for protecting user privacy, and authentication accuracy is not affected by factors such as masks, makeup, or sunglasses.
[0016] System architecture and scenario description applied in the embodiment of the present application 1 is a diagram showing the architecture of a system to which the palmprint authentication method according to the embodiment of the present application is applied, which includes a target terminal 140, the Internet 130, a gateway 120, a palmprint authentication server 110, etc.
[0017] The target terminal 140 can take various forms, such as, but not limited to, a desktop computer, a laptop computer, a PDA (Personal Digital Assistant), a mobile phone, an in-vehicle terminal, or a dedicated terminal. By applying the embodiments of the present application to scenarios such as mobile payment and identity verification, as will be described later, the target terminal 140 can be specifically embodied in the form of a mobile phone, a tablet, a time clock, a dedicated identity verification terminal, a dedicated payment terminal, or the like. The target terminal 140 may be a single device or a collection of multiple devices. The target terminal 140 can communicate with the palm print authentication server 110 via the Internet 130 to exchange data, and the Internet 130 may be a wired network or a wireless network.
[0018] The camera of the target terminal 140 is a module for collecting palm images. The camera may be built into the target terminal 140. Alternatively, the camera communicates with the target terminal 140 wirelessly or via a wired connection so that the target terminal 140 receives the collected palm images.
[0019] The palmprint authentication server 110 is a computer system that provides palmprint authentication services to the target terminal 140. Compared with the target terminal 140, the palmprint authentication server 110 has higher requirements in terms of stability, security, performance, etc. The palmprint authentication server 110 may be a high-performance computer in a network platform, a cluster of multiple high-performance computers, a part of a high-performance computer (e.g., a virtual machine), or a combination of parts of multiple high-performance computers (e.g., virtual machines). In some application scenarios (e.g., a mobile payment scenario described below), the palmprint authentication server 110 can acquire a palm image and then perform corresponding palmprint authentication. For example, after receiving a palm image, the palmprint authentication server 110 extracts features from the palm image to obtain a target palmprint vector, compares the target palmprint vector with a reference feature vector in a reference feature vector library to obtain a palmprint authentication result, and determines the user corresponding to the palm image.
[0020] The gateway 120 is also called an internetwork connector or a protocol converter. The gateway 120 is a computer system or device that realizes network interconnection at the transport layer and provides conversion functions. The gateway 120 acts as a translator between two systems that use different communication protocols, data formats, or languages, or even completely different architectures. The gateway 120 can also provide filtering and security functions. A message sent from a target terminal 140 to a palmprint authentication server 110 is sent to the corresponding palmprint authentication server 110 via the gateway 120. A message sent from the palmprint authentication server 110 to a target terminal 140 is also sent to the corresponding target terminal 140 via the gateway 120.
[0021] Embodiments of the present application can be applied to a variety of scenarios, such as the mobile payment scenario shown in Figures 2A-C and the identity verification scenario shown in Figures 2D-F.
[0022] (1) Mobile payment scenario The mobile payment scenario is a scenario in which payment is made via the target terminal 140 based on the target's palm print.
[0023] As shown in FIG. 2A, the target terminal 140 is a payment terminal such as a mobile phone. When the target W makes a payment through the target terminal 140, a payment page is displayed on the display screen of the target terminal 140. The payment page displays an avatar of the target P (the target P is the target receiving the payment) and an input box. If the target W inputs "2000" into the input box, the payment amount on the payment page will be "2000". There is a payment control in the lower right corner of the input box to support the target W to click to start palmprint payment verification.
[0024] As shown in FIG. 2B , when the target W clicks the payment control, a palmprint authentication page is displayed on the target terminal 140. A first suggested phrase and a palmprint collection box are displayed on the palmprint authentication page. The content of the first suggested phrase may be, "Enter your palmprint and pay 2000 to the target P." The palmprint collection box is used to display an image collected by the camera of the target terminal 140. The target W can adjust the position of his / her palm so that the image displayed in the palmprint collection box includes his / her palm, and the target terminal 140 acquires the palm image of the target W. After the target terminal 140 acquires the palm image, it enters a palmprint authentication process and performs palmprint authentication based on the palm image. For example, palmprint authentication is performed based on a partial palm image of the target W, but authentication fails. As another example, palmprint authentication is performed based on a complete palm image of the target W, and authentication is successful, so the payment is completed.
[0025] As shown in FIG. 2C, if the payment is successful, a payment result page is displayed on the target terminal 140. A second prompt message is displayed on the payment result page. The second prompt message may be "Payment successful - to target P", "-2000", "Payment status: payment successful", "Payment method: XXXXXX", and "Payment time: XXXXXX". Target W can close the payment result page by clicking the close control on the payment result page.
[0026] (2) Identity Verification Scenario The identity verification scenario is a scenario in which the identity of the subject is verified based on the palm print via the subject terminal 140 .
[0027] As shown in FIG. 2D , the target terminal 140 is an identity verification terminal such as a time recorder. When the target W performs identity verification through the target terminal 140, the target terminal 140 enters the identity verification process and displays an identity verification page. The identity verification page displays a third prompt and a palm collection box. The third prompt includes the content of "Please place your palm in the collection area below." The palm collection box is used to display an image collected by the camera of the target terminal 140. The target W can adjust the position of his / her palm so that the image displayed in the palm collection box includes the palm of the target W, and the target terminal 140 acquires the palm image of the target W.
[0028] 2E, the target terminal 140 performs palmprint authentication based on the palm image and displays a first pop-up window on the page. The content of the first pop-up window includes "Palmprint authentication in progress..." to inform the target W of the authentication status.
[0029] As shown in FIG. 2F, if the authentication is successful, the target terminal 140 displays a second pop-up window on the page. The contents of the second pop-up window include "Palmprint Authentication Result," "Target Name: Target W," and "Target Number: No. 1001." Subject W can close the identity verification page by clicking the close control on the identity verification page.
[0030] The above mobile payment and identity verification scenarios require palm print authentication based on a palm image. The palm print authentication process may include extracting a first palm print feature based on the palm image, calculating a feature distance between the first palm print feature and a second palm print feature in a palm print database, determining an object corresponding to the second palm print feature that has the smallest distance from the first palm print feature as a target authentication object, and obtaining a palm print authentication result.
[0031] Compared with identity verification scenarios or other products that perform palm print authentication based on palm images (such as time clocks), mobile payment scenarios require higher authentication accuracy and present the following challenges:
[0032] (1) Authentication is difficult for highly similar sample pairs. In the field of palm print authentication, highly similar sample pairs are mainly concentrated in the palms of identical twins. Most of the palm print lines on such palms are very similar, with only a few main lines and some fine wrinkles showing differences. Therefore, in a mobile payment scenario, when palm print authentication is performed based on the palm image of the first twin, it may be authenticated as the second twin, resulting in a successful payment but with the wrong payment target.
[0033] (2) Extracting discriminative palmprint features from palm images is difficult. In mobile payment scenarios, the number of objects is very large, meaning that a palmprint database stores a large number of corresponding palmprint features. In the case of large cardinality, the palmprints of many objects differ only in their details. However, related technologies generally extract features based on the entire palm image, which often fails to extract sufficiently discriminative feature points, making it impossible to effectively distinguish between different palmprint images.
[0034] In order to solve the above problems, the embodiment of the present application provides a palmprint authentication method that can solve the above problems. The palmprint authentication method according to the embodiment of the present application will be described in detail below.
[0035] General Description of the Present Application According to one embodiment of the present application, a palm print authentication method is provided.
[0036] The palmprint authentication method is a method of extracting palmprint features based on a palm image and determining a palmprint authentication result based on the palmprint features. The palmprint authentication method of the present embodiment can be applied to scenarios that require high authentication accuracy, such as mobile payment scenarios as shown in Figures 2A to 2C.
[0037] As shown in FIG. 3 , the palm print authentication method according to an embodiment of the present application includes: Step 310: Acquiring a target palm image; Step 320: determining a target region in the target palm image, the target region being a region in the target palm image in which palm print information richness satisfies a predetermined condition; Step 330: determining a plurality of non-overlapping target sub-regions in the target region; Step 340: determining a second characteristic of the target region based on the first characteristic of each of the plurality of target sub-regions; Step 350: determining a palm print authentication result corresponding to the target palm image based on a second feature of the target area; may include:
[0038] Steps 310 to 350 will be explained in detail below.
[0039] The palm print authentication method may be performed by an electronic device, specifically, by the target terminal 140 shown in FIG. 1, or by the server 110 shown in FIG.
[0040] In step 310, a target palm image is acquired, which is a palm image that triggers the start of the palm print authentication service.
[0041] In one embodiment, a method for acquiring a target palm image includes: (1) A method for acquiring a target palm image from an image database; (2) Activating a camera to collect images and obtain a target palm image, including, but not limited to,
[0042] In method (2), it is considered that the subject W may not necessarily agree to turn on the camera, so in one embodiment, the subject must choose whether or not to turn on the camera.
[0043] Several methods for activating the camera are described below with reference to Figures 4A-B. (1) Referring to FIG. 4A, a "Launch Camera" button is displayed on the interface of the target terminal 140, and when the target W clicks the "Launch Camera" button, the target terminal 140 starts the camera and collects images. (2) Referring to Figure 4B, a query pop-up window is displayed on the interface of the target terminal 140, and the content of the query pop-up window includes "Do you agree to open the camera?" and two controls, "Yes" and "No." When the target W clicks the "Yes" control, the target terminal 140 starts the camera and collects images.
[0044] After the camera is started, as shown in FIG. 4C , a presentation pop-up window is displayed on the interface of the target terminal 140, and the content of the presentation pop-up window includes “Acquiring target palm image, please wait a moment…” so as to present the palm image acquisition status to the target W.
[0045] In step 320, a target area is determined in the target palm image. Specifically, the target area can be determined by determining a target reference point in the target palm image. That is, first, a target reference point is determined in the target palm image, and then a target area is determined in the target palm image based on the target reference point.
[0046] Of course, in practical applications, the target area in the target palm image can be determined by other methods, for example, by an image processing model for determining a palm print area, and the embodiments of the present application are not limited thereto.
[0047] The target reference points are one or more points that can be used as reference points in the target palm image. Specifically, the target reference points are basic reference points in the target palm image for determining areas rich in palm print information (target areas), such as inter-finger points. The target palm image is shown in Figure 5A.
[0048] In one embodiment, the method for determining the target reference point may include, but is not limited to, the following methods. (1) The detection model detects the intersection of the gap between the fingers and the palm in the target palm image, and the detected intersection is used as the target reference point. For example, if the detection model is the Yolov2 model, the intersection of the gap between the fingers and the palm (the intersection of the gap between the middle finger and ring finger and the palm) can be detected using a Yolov2-based inter-finger point detector to obtain the target reference point. As shown in Figure 5B, the intersection of the gap between the middle finger and ring finger and the palm is point B, and the target reference point includes point B. (2) The detection model detects the intersections of the three inter-finger spaces and the palm in the target palm image, and all of these intersections are used as target reference points. For example, if the detection model is the Yolov2 model, the intersections of the three inter-finger spaces and the palm—the spaces between the index finger and middle finger, the spaces between the middle finger and ring finger, and the spaces between the ring finger and little finger—can be detected using a Yolov2-based inter-finger point detector to obtain the target reference points. As shown in Figure 5C, the intersections of the three inter-finger spaces and the palm are points A, B, and C, and the target reference points include points A, B, and C.
[0049] A target area is determined in the target palm image based on the target reference point. The target area is an area determined in the target palm image based on the target reference point. The target area contains abundant palm print information, i.e., the abundance of palm print information in the target area meets a predetermined condition. The target area is a portion of the target palm image. In other words, the embodiment of the present application does not perform authentication based on the entire palm image, thereby saving processing resources and improving authentication efficiency. Note that the target area is an area rich in palm print information. In other words, the target area can represent an area of the palm image that has a certain degree of distinctiveness, and other areas with no or low distinctiveness are not included in the target area. Therefore, palm print authentication based on the target area can ensure authentication accuracy. The method for obtaining the target area will be introduced in the detailed description of step 320 below.
[0050] It is understood that by determining a target area of the target palm image that serves as the basis for palmprint authentication based on the target reference point, it is possible to ensure that the determined target area contains abundant palmprint information, i.e., it is possible to ensure that the target area is an area with a degree of discrimination, thereby improving the accuracy of palmprint authentication.
[0051] In step 330, a plurality of non-overlapping target sub-regions are determined in the target region. To further improve the authentication accuracy, in the present embodiment, the target region is divided into a plurality of target sub-regions, and a target sub-region is a part of the target region. The sizes of the plurality of target sub-regions may be the same or different. The method for obtaining the plurality of target sub-regions will be introduced in the detailed description of step 330 below.
[0052] In step 340, a second feature of the target region is determined based on the first feature of each of the multiple target sub-regions. The first feature is a feature of the target sub-region, where one first feature represents one target sub-region and indicates information contained in the target sub-region it represents. The multiple target sub-regions correspond to the multiple first features. The second feature is a feature of the target region, where one second feature represents the entire target region and indicates information contained in the entire target region. When comparing a second feature determined by the first features of the multiple target sub-regions with a second feature determined directly based on the target region, a second feature obtained by combining the multiple first features can improve palmprint authentication accuracy. A method for obtaining the second feature of the target region will be introduced in the detailed description of step 340 below.
[0053] In step 350, a palmprint authentication result of the target palm image is obtained based on the second feature of the target area. The palmprint authentication result is the output result obtained by palmprint authentication of the target palm image. For example, the palmprint authentication result is the object corresponding to the target palm image, and the palmprint authentication result includes the object name and object number, as shown in FIG. 2F. The method for obtaining the palmprint authentication result will be introduced in the detailed description of step 350 below.
[0054] By performing steps 310 to 350, the embodiment of the present application samples and learns first features corresponding to multiple target sub-regions included in the target region of the palm image, so that the second features corresponding to the target region extracted from the target palm image cover multiple positions on the palm with high discrimination, thereby improving the accuracy of palmprint authentication.
[0055] The above is an overall description of steps 310 to 350. The specific implementation processes of steps 320, 330, 340, and 350 will now be described in detail.
[0056] Detailed explanation of step 320 In step 320, a target area can be obtained in the target palm image based on the target reference points.
[0057] In one embodiment, the target reference points include a first target reference point, a second target reference point, and a third target reference point, and the second target reference point is located between the first target reference point and the third target reference point, and as shown in FIG. 6 , step 330 includes: Step 610: creating a Cartesian coordinate system based on a line connecting the first target reference point and the third target reference point and a line perpendicular to the line and passing through the second target reference point; Step 620: determining a target region center in a Cartesian coordinate system; Step 630: Obtaining a target region based on the target region center.
[0058] Steps 610 to 630 will be explained in detail below.
[0059] In step 610, the first target reference point is the intersection of the gap between the index finger and middle finger and the palm, the second target reference point is the intersection of the gap between the middle finger and ring finger and the palm, and the third target reference point is the intersection of the gap between the ring finger and little finger and the palm. For example, as shown in FIG. 7A , the first target reference point corresponds to point A, the second target reference point corresponds to point B, and the third target reference point corresponds to point C. The line connecting points A and C can be the horizontal axis X, and the line passing through point B perpendicular to the horizontal axis can be the vertical axis Y. Based on the horizontal axis X and the vertical axis Y, a Cartesian coordinate system XY is created as shown in FIG. 7A . It is understood that in practical applications, the line connecting points A and C can be the vertical axis Y, and the line passing through point B perpendicular to the vertical axis can be the horizontal axis X.
[0060] In one embodiment, the second target reference point includes a plurality of second target reference points, and step 610 includes: obtaining a second average target reference point based on the plurality of second target reference points, wherein the position of the second average target reference point is an average of the positions of the plurality of second target reference points; and creating a Cartesian coordinate system based on a line connecting the first target reference point and the third target reference point and a line perpendicular to the line and passing through the second average target reference point.
[0061] In this embodiment, the position of the second target reference point is specifically the position of the second target reference point in the target palm image, which can be expressed as a coordinate position. For example, if the target palm image has three second target reference points, each of which is (x1, y1), (x2, y2), and (x2, y3), the second average target reference point is (x4, y4), where x4 = (x1 + x2 + x3) / 3 and y4 = (y1 + y2 + y3) / 3. After obtaining the second average target reference point, the Cartesian coordinate system XY, as shown in FIG. 7A, can be obtained using the same process as when there is only one second target reference point. In this embodiment, the second average target reference point is determined based on multiple second target reference points, and then the Cartesian coordinate system is created based on the second average target reference point. Therefore, the Cartesian coordinate system created in this manner is more reasonable and accurate.
[0062] Next, in step 620, the target area center is the center point of the target area. As shown in Figure 7B, there is a point D in the Cartesian coordinate system XY, specifically on the target axis (such as the vertical axis Y) where the second target reference point is located, and this point D is the target area center.
[0063] Next, in step 630, a target area can be obtained based on point D. The target area can be square or circular, but it is necessary to ensure that point D is in the center of the target area.
[0064] The advantage of this embodiment is that by determining the region center based on three target reference points and acquiring the target region based on the region center, the target region is generated around the region center, making the target region unique, and the region center is determined by creating a Cartesian coordinate system, which improves the accuracy of the determined region center and improves the accuracy of acquiring the target region. Furthermore, this embodiment has high flexibility, especially in the case of palm images of different sizes or palm images of the same size that include palms of different sizes, and can ensure that the determined target region covers highly distinctive positions on the palm.
[0065] Unlike the above embodiment in which the region center is determined by creating a Cartesian coordinate system, in another embodiment, the region center can be determined by creating a circumscribing circle based on the target reference points, rather than creating a Cartesian coordinate system based on the target reference points.
[0066] In a specific implementation of this embodiment, a circumscribing circle passing through the first target reference point, the second target reference point, and the third target reference point is obtained, and the center of the circumscribing circle is determined as the region center. For example, as shown in FIG. 8A, a circumscribing circle passing through these three points is obtained based on points A, B, and C. As shown in FIG. 8B, the distances between points A, B, and C and point D (point D is the center of the circumscribing circle) all have a radius r, and point D is determined as the region center.
[0067] The advantage of this embodiment is that the processing load is low and the calculation cost is small because the area center is obtained by the circumscribing circle.
[0068] The above is an overall description of steps 610 to 630. The specific implementation process of steps 620 and 630 will now be described in detail.
[0069] As shown in FIG. 9, in one embodiment, step 620 includes: Step 910: determining the origin of a Cartesian coordinate system; Step 920: Determining a first distance between the first target reference point and a third target reference point; Step 930: determining a second distance between the target area center and the origin based on the first distance; Step 940: determining a target area center in a Cartesian coordinate system based on the origin and the second distance, wherein the target area center is on the target axis to which the second target reference point belongs, and the target area center and the second target reference point are distributed on both sides of the origin.
[0070] Steps 910 to 940 will be explained in detail below.
[0071] In step 910, the origin is the intersection of the horizontal axis and the vertical axis in a Cartesian coordinate system. For example, as shown in Fig. 10A, the origin is the intersection of the horizontal axis X and the vertical axis Y.
[0072] Next, in step 920, the first distance is the length of the line segment between the first target reference point and the third target reference point. For example, as shown in Figure 10B, the length of the line segment between point A and point C is the first distance.
[0073] Next, in step 930, the second distance is the desired length of the line segment between the target area center and the origin. The second distance is typically obtained by multiplying the first distance by a first coefficient. For example, still referring to FIG. 10B, the second distance is the length of the line segment between the origin and point D.
[0074] Note that while Figure 10B shows point D at a second distance from the origin in the negative direction of the Y axis, in reality, there is another point at a second distance from the origin in the positive direction of the Y axis, so the target area center must be selected from these two points. Therefore, in step 940, the target area center and the second target reference point are restricted to being distributed on both sides of the origin along the axis. For example, still referring to Figure 10B, if point B is in the positive direction of the Y axis, the target area point is in the negative direction of the Y axis, i.e., point D is the target area center.
[0075] The advantage of this embodiment is that by determining the second distance based on the first distance, the distance between the target area center and the origin is closely related to the distance between the first target reference point and the third target reference point, and this determination method can be adapted to palm images containing palms of different sizes and can also quickly identify the target area center.
[0076] The above is an overall description of steps 910 to 940. The specific implementation process of step 930 will now be described in detail.
[0077] In one embodiment, methods for determining the second distance in step 930 include, but are not limited to: (1) The first distance is used as the second distance. (2) Multiply the first distance by a first coefficient to obtain a second distance, where the first coefficient ranges from 0.9 to 1.1.
[0078] The following is an example of an experiment comparing the palm print authentication method according to the embodiment of the present application with a conventional method using a twin dataset. TIFF2026504884000002.tif40170
[0079] As shown in Table 1, this comparative experiment used palm images of 40 pairs of twins to test highly similar palm image pairs. The left and right hands of the same twins were used as sample pairs, totaling 3,600 sample pairs. Assuming the first coefficient is the same, the number of authentication error sample pairs in the present embodiment is less than that of the state-of-the-art Arcface method, a conventional method. For example, when the first coefficient is 1, the number of authentication error sample pairs in the present embodiment is 0, while the number of authentication error sample pairs in the Arcface method is 40. It can be seen that the present embodiment has higher authentication accuracy for highly similar sample pairs.
[0080] Furthermore, as shown in Table 1, the number of authentication error sample pairs in the embodiments of the present application varies depending on the first coefficient. When the first coefficient is 0.8, the number of authentication error sample pairs is 17; when the first coefficient is 0.9, the number of authentication error sample pairs is 3; when the first coefficient is 1, the number of authentication error sample pairs is 0; when the first coefficient is 1.1, the number of authentication error sample pairs is 4; and when the first coefficient is 1.2, the number of authentication error sample pairs is 15. It can be seen that in order to meet the high requirements for authentication accuracy in certain application scenarios (such as mobile payment scenarios), the range of the first coefficient can be set to 0.9 to 1.1, and the first coefficient is preferably 1.
[0081] The above is a general description of step 620. The specific implementation process of step 630 will now be described in detail.
[0082] Regarding the decomposition of step 630, the embodiment of the present application provides two decomposition methods. Each decomposition method provides a detailed explanation of step 630 from a different perspective. First, the first decomposition method will be explained.
[0083] As shown in FIG. 11, in one embodiment, the target region is a square, and step 630 Step 1110: determining a third distance based on the first distance; Step 1120: determining a point on the target axis at a third distance from the target area center as a boundary anchor point; Step 1130: determining a target region based on the target region center and boundary anchor points.
[0084] Steps 1110 to 1130 will be explained in detail below.
[0085] In step 1110, since the first distance represents the length of the line segment between the first target reference point and the third target reference point, the third distance is closely related to the positions of the first target reference point and the third target reference point. For example, as shown in FIG. 12A, the length of the line segment between point A and point C is the first distance, and the third distance is obtained by multiplying the first distance by the second coefficient.
[0086] Next, in step 1120, a boundary anchor point is a point through which the boundary of the target area passes. For example, continuing to refer to FIG. 12A, point E is on the Y axis, and the length of the line segment between point E and point D is the third distance, so point E is determined as the boundary anchor point. Note that point E shown in FIG. 12A is located on the positive side of the center of the target area, but in reality, point E may be located on the negative side of the center of the target area.
[0087] Next, in step 1130, the target area center is set as the center point of the target area, and the side lengths of the square are determined from the distance between the target area center and the boundary anchor point. A square-shaped target area can be determined based on the center point, the side lengths of the square, and the boundary anchor point. Referring to FIG. 12B, the area within the dotted frame of the target palm image is the target area, and since the dotted frame is square, the shape of the target area is square. Referring to FIG. 12C, the complete target area is shown. Note that the target area shown in FIG. 12C is the same as the area within the dotted frame in FIG. 12B, but the palm print lines within the target area are specifically shown in FIG. 12C, while the palm print lines in FIG. 12B are omitted. Similarly, in other palm images shown in the present application, palm print lines are omitted from some of the palm images, but in reality, palm print lines are present in the palm area of the palm image, as in FIG. 12C.
[0088] The advantage of this embodiment is that by determining the third distance based on the first distance and determining the boundary anchor point based on the third distance, the length of the side of the target area is closely related to the distance between the first target reference point and the third target reference point, and the coverage of the target area is closely related to the first target reference point and the third target reference point, thereby ensuring the uniqueness of the target area. Furthermore, the target area can be made to include palm areas with high discrimination levels while reducing the likelihood of including palm areas with low discrimination levels. This not only improves the flexibility of target area generation, but also saves processing resources for the target area, further improving the efficiency of palmprint recognition.
[0089] The above is an overall description of steps 1110 to 1130. The specific implementation process of step 1110 will be described in detail below.
[0090] In one embodiment, methods for determining the third distance in step 1110 include, but are not limited to: (1) The first distance is used as the third distance. (2) Multiply the first distance by a second coefficient to obtain a third distance, where the second coefficient ranges from 0.65 to 0.85.
[0091] The following is an example of an experiment comparing the palm print authentication method according to the embodiment of the present application with a conventional method using a twin dataset. TIFF2026504884000003.tif39170
[0092] As shown in Table 2, this comparative experiment used palm images of 40 pairs of twins to test highly similar palm image pairs. The left and right hands of the same twins were used as sample pairs, totaling 3,600 sample pairs. Assuming the second coefficient is the same, the number of authentication error sample pairs in the present embodiment is less than that of the Arcface method. For example, when the second coefficient is 0.75, the number of authentication error sample pairs in the present embodiment is 0, while the number of authentication error sample pairs in the Arcface method is 37. It can be seen that the present embodiment has higher authentication accuracy for highly similar sample pairs.
[0093] Furthermore, as shown in Table 2, the number of authentication error sample pairs in the embodiments of the present application varies depending on the second coefficient. When the second coefficient is 0.55, the number of authentication error sample pairs is 13; when the second coefficient is 0.65, the number of authentication error sample pairs is 3; when the second coefficient is 0.75, the number of authentication error sample pairs is 0; when the second coefficient is 0.85, the number of authentication error sample pairs is 2; and when the second coefficient is 0.95, the number of authentication error sample pairs is 17. It can be seen that in order to meet the high requirements for authentication accuracy in certain application scenarios (such as mobile payment scenarios), the range of the second coefficient can be set to 0.65 to 0.85, and the second coefficient is preferably 0.75.
[0094] The above is a detailed description of the first decomposition method in step 630. The second decomposition method will now be described.
[0095] As shown in FIG. 13, in one embodiment, the target region is a square, and step 630 Step 1310: determining a side length of the square based on the first distance; Step 1320: Determining the target area based on the target area center and the side length of the square.
[0096] Steps 1310 to 1320 will be explained in detail below.
[0097] In step 1310, the first distance represents the length of the line segment between the first target reference point and the third target reference point, so the length of the side of the square is closely related to the positions of the first target reference point and the third target reference point. For example, as shown in FIG. 14A, the length of the line segment between point A and point C is the first distance, and the length of the side of the square can be determined based on the first distance.
[0098] In step 1320, a target area can be generated by setting the target area center to the center of the target area and the side lengths of the square to the side lengths of the target area. Referring to Figure 14B, Figure 14B shows a target area that is perpendicular or parallel to the coordinate axes of a Cartesian coordinate system (the target area is shown in a thick black dotted line frame). Referring to Figure 14C, Figure 14C shows a target area that is neither perpendicular nor parallel to the coordinate axes of a Cartesian coordinate system (the target area is shown in a thick black dotted line frame).
[0099] The advantage of this embodiment is that by determining the side length of the square by the first distance, the side length of the target area is closely related to the first target reference point and the third target reference point, but the coverage range of the target area is not limited.
[0100] In the above embodiment, the target area is limited to being a square, but in another embodiment, the target area may be circular.
[0101] In a specific implementation of this embodiment, step 630 includes: determining a radius of the circle based on the first distance; generating a target area based on the target area center and the radius of the circle.
[0102] For example, referring to FIG. 14D, the radius of the circle is R, where R is equal to the first distance * radius coefficient, and the radius coefficient can be set as needed. As shown in FIG. 14D, by setting the target area center as the center of the circle and setting the radius as R, a target area can be generated in the target palm image (the target area is shown in a thick black dotted frame). Referring to FIG. 14E, FIG. 14E shows the complete target area. Note that the target area shown in FIG. 14E is the same as the area within the dotted frame in FIG. 14D, but the palm print lines within the target area are specifically shown in FIG. 14E, while the palm print lines in FIG. 14D are omitted.
[0103] The advantage of this embodiment is the same as steps 1310 to 1330, except that one of the target regions is circular and the other is square. Since it is only necessary to determine the center and radius of the circle to determine the circular region, processing costs are reduced and processing efficiency is improved.
[0104] The above is an overall description of steps 1310 to 1330. The specific implementation process of step 1310 will now be described in detail.
[0105] In one embodiment, methods for determining the side lengths of the square in step 1310 include, but are not limited to: (1) The first distance is the length of the side of the square. (2) Multiply the first distance by a third coefficient to obtain the side length of the square, where the third coefficient ranges from 1.3 to 1.7.
[0106] The following is an example of an experiment comparing the palm print authentication method according to the embodiment of the present application with a conventional method using a twin dataset. TIFF2026504884000004.tif39170
[0107] As shown in Table 3, this comparative experiment used palm images of 40 pairs of twins to test highly similar palm image pairs. The left and right hands of the same twins were used as sample pairs, totaling 3,600 sample pairs. Assuming the third coefficient is the same, the number of authentication error sample pairs in the present embodiment is less than that of the Arcface method. For example, when the second coefficient is 1.5, the number of authentication error sample pairs in the present embodiment is 0, while the number of authentication error sample pairs in the Arcface method is 38. It can be seen that the present embodiment has higher authentication accuracy for highly similar sample pairs.
[0108] Furthermore, as shown in Table 3, the number of authentication error sample pairs in the embodiments of the present application varies depending on the third coefficient. When the third coefficient is 1.1, the number of authentication error sample pairs is 19; when the third coefficient is 1.3, the number of authentication error sample pairs is 4; when the third coefficient is 1.5, the number of authentication error sample pairs is 0; when the third coefficient is 1.7, the number of authentication error sample pairs is 3; and when the third coefficient is 1.9, the number of authentication error sample pairs is 21. It can be seen that in order to meet the high requirements for authentication accuracy in certain application scenarios (such as mobile payment scenarios), the range of the third coefficient can be set to 1.3 to 1.7, and the third coefficient is preferably 1.5.
[0109] Comparing Table 3 with Table 2, when the third coefficient is twice the second coefficient, the target regions generated in steps 1110 to 1130 and the target regions generated in steps 1310 to 1320 have equal side lengths and are both square, but the example of steps 1110 to 1130 has a smaller number of authentication error sample pairs than the example of steps 1310 to 1320. For example, when the second coefficient is 0.65 and the third coefficient is 1.3, the number of authentication error sample pairs in the example of steps 1110 to 1130 is 3, and the number of authentication error sample pairs in the example of steps 1310 to 1320 is 4. As another example, when the second coefficient is 0.85 and the third coefficient is 1.7, the number of authentication error sample pairs in the example of steps 1110 to 1130 is 2, and the number of authentication error sample pairs in the example of steps 1310 to 1320 is 3. This is because when generating the target area in steps 1310 to 1330, a boundary anchor point is determined on the target axis based on the first distance, and then the target area is generated based on the boundary anchor point and the target area center; this generation method reduces uncertainty when generating the target area, leading to improved authentication accuracy.
[0110] The above is a detailed description of step 320.
[0111] Detailed explanation of step 330 In step 330, a number of non-overlapping target sub-regions are determined within the target region.
[0112] Regarding the decomposition of step 330, the present embodiment provides two specific implementation methods, each of which provides a detailed description of step 330 from a different perspective. First, the first specific implementation method will be described.
[0113] As shown in FIG. 15, in one embodiment, the plurality of target sub-regions is a first number of target sub-regions, and step 330 includes: Step 1510: Dividing the target region into a first number of partition regions; Step 1520: In each partitioned region, determining a target subregion, the boundary of the target subregion being within the boundary of the partitioned region.
[0114] Steps 1510 to 1520 will be explained in detail below.
[0115] In step 1510, the segmented regions are portions of the target region, and the segmented regions do not overlap with each other. The first number is an integer greater than 1. Dividing the target region into the first number of segmented regions corresponds to dividing the target region into the first number of parts, and each part is designated as a segmented region. The first number can be set according to actual needs. For example, referring to FIG. 16, the first number is 6, and the target region is divided into six segmented regions, namely, segmented region 1, segmented region 2, segmented region 3, segmented region 4, segmented region 5, and segmented region 6. As shown in FIG. 16, the target region is equally divided into six segmented regions. Note that although the size of each segmented region shown in FIG. 16 is the same, the size of each segmented region may be different in other embodiments.
[0116] In step 1520, a target sub-region is determined for each partitioned region, and the boundary of the target sub-region is within the boundary of the partitioned region, so that the partitioned regions do not overlap with each other, and therefore the generated target sub-regions do not overlap with each other.
[0117] 16, in one example, target subregion 1 is determined in segmented region 1, target subregion 2 is determined in segmented region 2, target subregion 3 is determined in segmented region 3, target subregion 4 is determined in segmented region 4, target subregion 5 is determined in segmented region 5, and target subregion 6 is determined in segmented region 6. Note that although the sizes of each target subregion and the corresponding segmented region shown in FIG. 16 are the same (e.g., the size of target subregion 1 is the same as the size of segmented region 1), in other embodiments, the sizes of the target subregion and the corresponding segmented region may be different.
[0118] The advantage of this embodiment is that by dividing the target area into partition areas and then generating target sub-areas based on the partition areas, multiple target sub-areas can be generated quickly, and it is possible to ensure that multiple target sub-areas do not overlap with each other, resulting in high generation efficiency.
[0119] The above is an overall description of steps 1510 to 1520. The specific implementation process of step 1510 will now be described in detail.
[0120] In one embodiment, the first number in step 1510 is determined as follows: Obtain the resolution of the target palm image; Acquire accuracy of palm print authentication, A first number is determined based on resolution and accuracy.
[0121] In one embodiment, methods for obtaining the resolution of the target palm image include, but are not limited to: (1) Calculate the horizontal and vertical resolutions of the target palm image, and obtain the resolution of the target palm image based on the horizontal and vertical resolutions. For example, if the horizontal resolution is 310 pixels and the vertical resolution is 460 pixels, the resolution will be 310 × 460 pixels. (2) Obtain the size of the target palm image and set the size as the resolution. For example, if the size of the target palm image is 3840 x 2400, the resolution will be 3840 x 2400 pixels.
[0122] In addition to obtaining resolution, it is also necessary to obtain palmprint recognition accuracy. Palmprint recognition accuracy represents the requirement for the accuracy of the palmprint recognition result and can be set according to actual needs. In scenarios that require high accuracy in the palmprint recognition result, the accuracy of palmprint recognition will also be relatively high. For example, in a mobile payment scenario, the accuracy requirement is very high, so the accuracy of palmprint recognition is set relatively high. As another example, in a work attendance scenario, the accuracy requirement is medium, so the accuracy of palmprint recognition can be set relatively low.
[0123] Once the resolution and accuracy are determined, the first number can be determined. Specifically, the higher the resolution, the sharper each pixel, so fewer pixels are needed in the target sub-region, and the first number can be set larger. The lower the resolution, the blurrier each pixel, so the larger the target sub-region must be, and the smaller the first number can be set. Also, the higher the accuracy requirement, the more target sub-regions are needed, and the larger the first number can be set.
[0124] The advantage of this embodiment is that the first number is jointly determined by the resolution and accuracy, and the factors considered are relatively comprehensive, so the rationality of the number of target sub-regions is improved and the accuracy of palmprint recognition is improved.
[0125] In one embodiment, determining the first number based on the resolution and accuracy comprises: determining a first score based on the resolution; determining a second score based on the accuracy; determining a total score based on the first score and the second score; and determining a first number based on the total score.
[0126] Determining the first score based on the resolution may employ a method of consulting a comparison table of resolutions and first scores, or may employ a formula method or the like.
[0127] (1) The correspondence table between resolution and first score shows the correspondence relationship between the resolution range and the first score. First, the horizontal resolution and vertical resolution are obtained based on the target palm image, and the resolution range to which the product of the horizontal resolution and the vertical resolution belongs is determined. Next, the correspondence table between resolution range and first score can be consulted to obtain the first score. Table 4 below is an example of a correspondence table between resolution range and first score. TIFF2026504884000005.tif54170
[0128] For example, if the resolution of the target palm image is 800 x 600 pixels, and the product of 800 and 600 is 480,000 pixels, the corresponding first score is 70, as shown in Table 4.
[0129] The method of referencing the correspondence table of the resolution range and the first score described above has the advantage of being simple and low in processing cost.
[0130] (2) When using the formula method, the first score can be set to be proportional to the resolution. For example: Q1=K1·G1 Equation 1 Here, Q1 represents the first score, G1 represents the product of horizontal resolution and vertical resolution, and K1 is a predetermined constant that can be set according to actual needs. For example, if K1=35 / 24 and G1=48, the first score will be Q1=70.
[0131] The method of determining the first score using the above formula has the advantages of high accuracy, the ability to adjust the formula as needed, and high flexibility.
[0132] Determining the second score based on the accuracy may employ a method of consulting a comparison table of accuracy and second score, or may employ a formula method or the like.
[0133] (1) The accuracy vs. second score comparison table shows the correspondence between the accuracy range and the second score. After determining the accuracy range to which the accuracy belongs, the second score can be obtained by consulting the accuracy range vs. second score comparison table. Table 5 below is an example of an accuracy range vs. second score comparison table. TIFF2026504884000006.tif54170
[0134] For example, the accuracy of palm print recognition is 92%, and the corresponding second score is 90, as shown in Table 5.
[0135] The method of referencing the table of the accuracy range and the second score has the advantage of being simple and low in processing cost.
[0136] (2) When using the formula method, the second score can be set to be proportional to the accuracy. For example: Q2=K2·G2 Equation 2 Here, Q2 represents the second score, G2 represents the accuracy, and K2 is a predetermined constant that can be set according to actual needs. For example, if K2=45 / 46, and G2=92 is substituted, the second score will be Q2=90.
[0137] The method of determining the second score using the above formula has the advantages of high accuracy, the ability to adjust the formula as needed, and high flexibility.
[0138] Determining the total score based on the first score and the second score may involve calculating an average or weighted average of the first score and the second score.
[0139] If the total score is calculated as the average of the first and second scores, for example, if the first score of the target palm image is 70 and the second score is 90, the total score will be (70 + 90) / 2 = 80. The advantage of using the average to calculate the total score is that it can evenly reflect the impact of resolution and accuracy on the first number.
[0140] When calculating the weighted average of the first and second scores as the total score, for example, if the first score determined by resolution and the second score determined by accuracy are weighted at 0.6 and 0.4, respectively, and the first score of the target palm image is 70 and the second score is 90, the total score is 70 x 0.6 + 90 x 0.4 = 78. The advantage of using a weighted average to calculate the total score is that different weights can be set for resolution and accuracy, providing greater flexibility in determining the first number.
[0141] Determining the first number based on the total score may employ a method of consulting a comparison table of the total score and the first number, or may employ a formula method or the like.
[0142] (1) The first number can be obtained by looking up a correspondence table between the total score and the first number (the correspondence table between the total score and the first number shows the correspondence between the total score and a predetermined order) based on the total score. Table 6 below is an example of a correspondence table between the total score and the first number. TIFF2026504884000007.tif54170
[0143] Suppose the total score of the target palm image is 80, and looking at Table 6, the corresponding first number is 9.
[0144] The method of referencing the table of total scores and first numbers has the advantage of being simple and low in processing cost.
[0145] (2) When using the formula method, the first number can be set to be proportional to the total score. For example: T=K3·Q3 Equation 3 Here, T represents the first number, Q3 represents the total score, and K3 is a predetermined constant that can be set according to actual needs. For example, if K3=9 / 80 and Q3=80, then T=9.
[0146] The method of determining the order by the above formula has the advantages of being highly accurate, allowing the formula to be adjusted as needed, and being highly flexible.
[0147] An advantage of this embodiment is that the first number is determined by calculating a first score corresponding to resolution and a second score corresponding to accuracy, thereby improving flexibility and accuracy in determining the first number.
[0148] The above is a detailed description of the first specific implementation method of step 330. The second specific implementation method will be described in detail below.
[0149] As shown in FIG. 17, in one embodiment, the target sub-region is rectangular, the plurality of target sub-regions is a second number of target sub-regions, and step 340 includes: Step 1710: setting an acquired target sub-region set, where the acquired target sub-region set is initially an empty set; Step 1720: Executing the first process.
[0150] Steps 1710 to 1720 will be explained in detail below.
[0151] In step 1710, the acquired target sub-region set is a storage container that is pre-configured to store data related to the target sub-region. The acquired target sub-region set is initially an empty set. Note that the acquired target sub-region set may store data related to each of multiple target sub-regions, but these multiple target sub-regions do not overlap with each other.
[0152] In step 1720, the first process needs to be repeatedly executed to store associated data of the second number of target subregions in the acquired target subregion set. The first process includes the steps of selecting a target subregion origin in a range of the target region that is not covered by any of the target subregions in the acquired target subregion set, obtaining a first length and a second length, determining a target subregion based on the target subregion origin by setting the first length as the length of the target subregion and the second length as the width of the target subregion, adding the determined target subregion to the acquired target subregion set if it does not overlap with any of the target subregions in the acquired target subregion set, or deleting the target subregion if it does not overlap, and repeatedly executing the first process until the number of target subregions in the acquired target subregion set reaches the second number.
[0153] The first process will be described in detail below with reference to Figures 18A and 18B. The steps of repeatedly executing the first process specifically include: (1) As shown in FIG. 18A, initially, the acquired target subregion set is an empty set, so a target subregion base point, such as point S1, can be arbitrarily selected within the target region. A first length and a second length are acquired, and a target subregion is determined based on point S1, the first length, and the second length. Because the acquired target subregion set is an empty set, this target subregion does not overlap with any target subregions in the acquired target subregion set. Therefore, this target subregion is designated as acquired target subregion 1 and added to the acquired target subregion set. At this time, data related to acquired target subregion 1, such as data indicating the position of target subregion 1, is stored in the acquired target subregion set. (2) As shown in FIG. 18B, a target sub-region base point such as point S2 is selected in the range of the target region that is not covered by the acquired target sub-region 1. A first length and a second length are acquired, and a target sub-region is determined based on point S2, the first length, and the second length. Since the target sub-region determined based on point S2 overlaps with the acquired target sub-region 1 (the black diagonal line between the two rectangular frames as shown in FIG. 18B), the target sub-region determined based on point S2 is deleted. At this time, only the associated data of the acquired target sub-region 1 is stored in the acquired target sub-region set. (3) Furthermore, as shown in FIG. 18B, a target subregion base point, such as point S3, is selected in the range of the target region not covered by acquired target subregion 1. A first length and a second length are acquired, and a target subregion is determined based on point S3, the first length, and the second length. Since this target subregion does not overlap with acquired target subregion 1, the target subregion determined based on point S3 is designated as acquired target subregion 2 and added to the acquired target subregion set. At this time, the acquired target subregion set stores associated data for acquired target subregion 1 and acquired target subregion 2. If the second number is 2, the number of acquired target subregions in the acquired target subregion set reaches the second number, and the first process can be terminated.
[0154] The advantage of this embodiment is that by setting a set of acquired target sub-areas, each time a target sub-area is determined, it can be compared with the acquired target sub-areas and selected whether to reserve the target sub-area based on the comparison result, thereby ensuring that each acquired target sub-area does not overlap with each other and improving acquisition efficiency.
[0155] As shown in FIG. 19 , in one embodiment, the step of obtaining the first length and the second length in the first process includes: Step 1910: Obtaining the side lengths of the target area; Step 1920: Determining a first threshold based on the side length and the first ratio; Step 1930: Randomly generating the first length and the second length such that both the first length and the second length are less than a first threshold.
[0156] Steps 1910 to 1930 will be explained in detail below.
[0157] In step 1910, the side length is the length of the boundary of the target area. If the target area is rectangular, the side length is the length or width of the rectangle. If the target area is circular, the side length is the diameter of the target area.
[0158] In step 1920, the side length may be multiplied by a first ratio to obtain a first threshold value. For example, if the side length is 9 and the first ratio is 1 / 3, the first threshold value is 3.
[0159] In step 1930, a first length and a second length may be generated based on a random function, where both the first length and the second length are less than a first threshold. For example, a first length of 4 and a second length of 2 may be randomly generated, and the first length is greater than the first threshold, so the first length is deleted. Alternatively, a first length of 3 may be randomly generated, and both the first length and the second length are less than the first threshold, so the first length is 3 and the second length is 2.
[0160] An advantage of this embodiment is that by limiting the first length and the second length, it is possible to ensure that the second number of target sub-regions are generated in the target region when performing the first process.
[0161] In one embodiment, the range of the first ratio in step 1920 is 1 / 4 to 5 / 12, and preferably the first ratio is 1 / 3. Table 7 below is an experimental example comparing the palmprint authentication method according to the embodiment of the present application with the conventional method using a twin dataset. TIFF2026504884000008.tif40170
[0162] As shown in Table 7, this comparative experiment used palm images of 40 pairs of twins to test highly similar palm image pairs. The left and right hands of the same twins were used as sample pairs, totaling 3,600 sample pairs. Assuming the first ratio is the same, the number of authentication error sample pairs in the present embodiment is less than that of the Arcface method. For example, when the first ratio is 1 / 3, the number of authentication error sample pairs in the present embodiment is 0, while the number of authentication error sample pairs in the Arcface method is 30. It can be seen that the present embodiment has higher authentication accuracy for highly similar sample pairs.
[0163] Furthermore, as shown in Table 7, the number of authentication error sample pairs in the embodiments of the present application varies depending on the first ratio. When the first ratio is 1 / 6, the number of authentication error sample pairs is 22; when the first ratio is 1 / 4, the number of authentication error sample pairs is 5; when the first ratio is 1 / 3, the number of authentication error sample pairs is 0; when the first ratio is 5 / 12, the number of authentication error sample pairs is 6; and when the first ratio is 1 / 2, the number of authentication error sample pairs is 28. It can be seen that in order to meet the high requirements for authentication accuracy in certain application scenarios (such as mobile payment scenarios), the range of the first ratio can be set to 1 / 4 to 5 / 12, and the first ratio is preferably 1 / 3.
[0164] The above is a detailed description of step 330.
[0165] Detailed explanation of step 340 In step 340, a second characteristic of the target region is determined based on the first characteristic of each of the plurality of target sub-regions.
[0166] As shown in FIG. 20, in one embodiment, step 340 includes: Step 2010: converting the plurality of target subregions into a plurality of standard target subregions of the same size; Step 2020: Determining a second characteristic of the target region based on the first characteristics of the plurality of standard target sub-regions.
[0167] Steps 2010 to 2020 will be explained in detail below.
[0168] In step 2010, since the sizes of the multiple target subregions are not necessarily the same and extracting first features from target subregions of different sizes may result in some uncertainty, it is necessary to perform size conversion to convert the multiple target subregions to the same size and obtain a standard target subregion.
[0169] For example, refer to FIG. 21, which illustrates the size conversion process for two target subregions of different sizes. As shown in FIG. 21, target subregion 1 and target subregion 2 have different sizes, with target subregion 1 being larger than target subregion 2. For ease of understanding, target subregion 1 is represented as 3x3 pixels, with the numbers 1 to 9 representing the pixel points of target subregion 1, target subregion 2 is represented as 2x2 pixels, and the numbers 10 to 13 representing the pixel points of target subregion 2. Note that pixel points 1 to 13 are merely examples of pixel points and do not represent actual pixel values. Therefore, the size of target subregion 1 is represented as 3x3, and the size of target subregion 2 is represented as 2x2.
[0170] 21, assuming the standard target size is 6x6, each pixel point in target sub-region 1 is enlarged by 4 times, so that the size of standard target sub-region 1 is 6x6. Each pixel point in target sub-region 2 is enlarged by 9 times, so that the size of standard target sub-region 2 is 6x6. Note that the enlargement factor is related to the target size and the size of the target sub-region.
[0171] Note that in Figure 21, nearest neighbor interpolation is used, so each pixel point is uniformly expanded by multiple factors. In other embodiments, other expansion methods, such as bilinear interpolation, may be used.
[0172] After obtaining the plurality of standard target sub-regions, in step 2020, a second feature of the target region is determined based on the first feature of each of the plurality of standard target sub-regions.
[0173] The advantage of this embodiment is that when extracting the first feature, it is extracted from multiple standard target sub-regions of the same size, which reduces the uncertainty of feature extraction, improves the efficiency of feature extraction, and improves the accuracy of palmprint recognition.
[0174] The above is an overall description of steps 2010 to 2020. The specific implementation process of step 2020 will be described in detail below.
[0175] As shown in FIG. 22, in one embodiment, step 2020 includes: Step 2210: Performing a projection convolution on a plurality of standard target sub-regions to obtain a first feature of each of the plurality of standard target sub-regions; Step 2220: Encoding positions of the plurality of target sub-regions in the target region to obtain position embeddings of each of the plurality of standard target sub-regions; Step 2230: Integrating the position embedding of the standard target sub-region with a first feature of the standard target sub-region, convolving the integrated first feature of the standard target sub-region, flattening the convolution result, and concatenating the flattened results to obtain a second feature of the target region.
[0176] Steps 2210 to 2230 will be explained in detail below.
[0177] In step 2210, projection convolution (Projection) is a dimensionality reduction process using a fixed convolution block for the input standard target subregion. A convolution block is a module that performs convolution operations. Each convolution block (also called a convolution block) includes a convolution layer, a normalization layer (also called a layernorm layer), and an activation layer (such as a relu activation layer). One or more convolution blocks can be cascaded to obtain a projection convolution model, which can then be used to perform projection convolution on the input standard target subregion. For example, the projection convolution model may include two convolution blocks. The projection convolution model will be described in detail below.
[0178] In one example, as shown in FIG. 23 , the target region is equally divided into six target subregions, and the sizes of these six target subregions are normalized to obtain six corresponding standard target subregions, namely, standard target subregion 1, standard target subregion 2, standard target subregion 3, standard target subregion 4, standard target subregion 5, and standard target subregion 6. When these six standard target subregions are input into a projection convolution model, six first features are obtained. Specifically, the projection convolution model can output first feature 1 according to the input standard target subregion 1, first feature 2 according to the input standard target subregion 2, first feature 3 according to the input standard target subregion 3, first feature 4 according to the input standard target subregion 4, first feature 5 according to the input standard target subregion 5, and first feature 6 according to the input standard target subregion 6.
[0179] In step 2220, encoding the positions of multiple target subregions in the target region involves assigning a position embedding to each standard target subregion to represent the position information of different input channels. This position embedding is concatenated with the first feature of each channel as an auxiliary feature. For multiple standard target subregions, the position of the standard target subregion in the target region is very important and affects the arrangement and combination of various standard target subregions. That is, the position embedding not only represents the position of the standard target subregion in the target region, but also represents its positional relationship with other target subregions.
[0180] For example, continuing to refer to FIG. 23, the positions of standard target subregions 1 to 6 in the target region are, in this order, top left, top center, top right, bottom left, bottom center, and bottom right. If position embeddings 1 through N are assigned to these positions, position embedding 1 for standard target subregion 1 is 111, position embedding 2 for standard target subregion 2 is 112, position embedding 3 for standard target subregion 3 is 113, position embedding 4 for standard target subregion 4 is 114, position embedding 5 for standard target subregion 5 is 115, and position embedding 6 for standard target subregion 6 is 116. Therefore, based on the six first features and the six position embeddings, it can be seen that first feature 1 is located in the top left position of the target region, and the adjacent first features are first feature 2 and first feature 4. Similarly, the positional relationships between the other first features can be directly obtained by the position embeddings.
[0181] In step 2230, first, the location embedding of the standard target subregion is merged with the first feature of the standard target subregion. For example, still referring to FIG. 23, location embedding 1 is merged with first feature 1 to obtain a1. Similarly, location embedding 2 and first feature 2 are merged to obtain a2, location embedding 3 and first feature 3 are merged to obtain a3, location embedding 4 and first feature 4 are merged to obtain a4, location embedding 5 and first feature 5 are merged to obtain a5, and location embedding 6 and first feature 6 are merged to obtain a6.
[0182] Next, after obtaining the first features of the merged standard target sub-regions, the first features of the merged standard target sub-regions are convolved. Continuing to refer to Figure 23, the first features a1 to a6 of the merged standard target sub-regions are input into the convolutional coding model, and a1 to a6 are convolved respectively through the convolutional coding model to obtain six convolution results.
[0183] Next, the convolution results are flattened, and multiple flattened results are concatenated to obtain a second feature of the target region. Flattening refers to converting a multidimensional input into a single dimension. Continuing to refer to FIG. 23, the flattening layer (also called the Flatten layer) flattens each of the six convolution results to obtain flattened results F1 to F6. The flattened results F1 to F6 are sequentially concatenated according to the channel dimensions to obtain a second feature of the target region. Note that a linear head is also shown in FIG. 23, and its main purpose is to make the second sub-feature obtained after flattening more linear.
[0184] The advantage of this embodiment is that the second feature of the target region is jointly determined by the first feature and position embedding of each of the multiple target sub-regions, and the factors considered are relatively comprehensive, which alleviates the problem of instability in palmprint recognition due to uncertainties in the number and size of the target sub-regions, thereby improving the accuracy of palmprint recognition.
[0185] The above is an overall description of steps 2210 to 2230. The specific implementation process of steps 2210 and 2230 will be described in detail below.
[0186] In one embodiment, step 2210 includes inputting a plurality of standard target subregions into a projected convolution model to obtain first features of the plurality of standard target subregions, wherein the projected convolution model includes a convolution layer, a normalization layer, and an activation layer, wherein the convolution layer is used to perform a convolution operation on pixel matrices of the plurality of standard target subregions to obtain convolution matrices for the plurality of standard target subregions, the normalization layer is used to normalize the convolution matrices of the plurality of standard target subregions to obtain normalized matrices for the plurality of standard target subregions, and the activation layer is used to perform nonlinear processing on the normalized matrices of the plurality of standard target subregions to obtain first features of the plurality of standard target subregions.
[0187] For example, referring to FIG. 24, the projected convolution model shown in FIG. 24 includes a convolution layer 2410, a normalization layer 2420, and an activation layer 2430. The convolution layer 2410 has a weight matrix (convolution kernel) and convolves the input pixel matrix of the standard target subregion using the convolution kernel to obtain a convolution matrix as input to the normalization layer 2420. The normalization layer 2420 is used to normalize the input convolution matrix and output it to the activation layer 2430. In general, the input to the model is normally normalized to follow a normal distribution with mean u and variance h, which can accelerate the convergence of the model. However, after the input is convolved by the convolution layer 2410, the obtained convolution result may not satisfy the normal distribution. The role of the normalization layer 2420 is to ensure that the convolution result again conforms to the normal distribution and prevent gradient vanishing when input to the activation layer 2430.
[0188] The activation layer 2430 is a module consisting of an activation function, such as the relu activation function. The convolution operation of the convolution layer 2410 is essentially a linear operation. To balance computational simplicity and model flexibility, the model employs linear operations in the convolution layer and nonlinear transformations in the activation layer. relu is a piecewise linear function that outputs positive inputs as is and zeros otherwise. The advantage of this design is that the model is easier to train and has better performance.
[0189] The advantage of the model structure in Fig. 24 in this embodiment is that the convolution layer 2410 achieves dimensionality reduction by convolution of the standard target subregion, improving the accuracy of the model processing. Furthermore, the normalization layer 2420 alleviates the gradient vanishing problem of the model. The activation layer 2430 enables the model to adapt to complex nonlinear decision-making.
[0190] The above is a detailed description of step 2210. Step 2230 will now be described in detail.
[0191] In one embodiment, step 2230 includes inputting a first feature of the merged standard target sub-region into a convolutional coding model and convolving the first feature of the merged standard target sub-region with the convolutional coding model, where the convolutional coding model includes a first matrix, a second matrix, and a third matrix.
[0192] In a specific implementation of this embodiment, as shown in FIG. 25, step 2230 specifically includes: Step 2510: Selecting the plurality of standard target sub-regions as the current standard target sub-regions in turn; Step 2520: Convolving a first feature of the current standard target sub-region with a first matrix of the convolutional coding model to obtain a first reference value of the current standard target sub-region; Step 2530: Convolving first features of the plurality of standard target sub-regions with a second matrix of the convolutional coding model to obtain second reference values corresponding to each of the plurality of standard target sub-regions; Step 2540: Performing a softmax operation on the product of the first reference value and each of the plurality of second reference values to obtain attention weights of the plurality of standard target sub-regions for the current standard target sub-region; Step 2550: Convolving first features of the plurality of standard target sub-regions with a third matrix of the convolutional coding model to obtain third reference values corresponding to each of the plurality of standard target sub-regions; Step 2560: Using the attention weight, perform a weighted sum of the multiple third reference values to obtain a convolution result for the current standard target sub-region.
[0193] Steps 2510 to 2560 will be explained in detail below.
[0194] In step 2510, the input of the convolutional coding model is the first features of the multiple merged standard target subregions, and the convolutional coding model needs to convolve the first features of each merged standard target subregion, so the multiple standard target subregions are set as the current standard target subregion in turn. For example, as shown in FIG. 23, there are six standard target subregions, i.e., standard target subregions 1 to 6, so the standard target subregions 1 to 6 are set as the current standard target subregion in turn.
[0195] In step 2520, the first matrix of the convolutional coding model is a table with m1 rows and n1 columns, consisting of m1*n1 numbers, and is used to convolve the first feature of the current standard target subregion. For example, qi = Wq*ai, i ∈ (1,n). As shown in Figure 26A, for the current standard target subregion 1, the first matrix Wq is multiplied by the first feature a1 of the current standard target subregion 1 to obtain a first reference value q1. Similarly, the first matrix Wq is multiplied by the first feature a2 of the current standard target subregion 2 to obtain a first reference value q2, the first matrix Wq is multiplied by the first feature a3 of the current standard target subregion 3 to obtain a first reference value q3, the first matrix Wq is multiplied by the first feature a4 of the current standard target subregion 4 to obtain a first reference value q4, the first matrix Wq is multiplied by the first feature a5 of the current standard target subregion 5 to obtain a first reference value q5, and the first matrix Wq is multiplied by the first feature a6 of the current standard target subregion 6 to obtain a first reference value q6.
[0196] In step 2530, the second matrix is an m2-by-n2 table consisting of m2*n2 numbers, and is used to convolve the first features of multiple standard target subregions. For example, k i = Wk * a i , i ∈ (1, n). As shown in Figure 26B, for standard target subregion 1, the second matrix W k is multiplied by the first feature a1 of standard target subregion 1 to obtain a second reference value k1. Similarly, the second matrix Wk is multiplied by the first feature a2 of standard target subregion 2 to obtain a second reference value k2, the second matrix Wk is multiplied by the first feature a3 of standard target subregion 3 to obtain a second reference value k3, the second matrix Wk is multiplied by the first feature a4 of standard target subregion 4 to obtain a second reference value k4, the second matrix Wk is multiplied by the first feature a5 of standard target subregion 5 to obtain a second reference value k5, and the second matrix Wk is multiplied by the first feature a6 of standard target subregion 6 to obtain a second reference value k6.
[0197] In step 2540, a softmax operation is performed on the product of the first reference value and each of the plurality of second reference values to obtain attention weights of the plurality of standard target subregions for the current standard target subregion. For example, z is obtained by multiplying qi by k1, k2, ..., kn, respectively. i1 ,z i2 ,…,z in After performing the softmax operation, the attention weight z i1 T ,z i2 T ,…,z in T As shown in FIG. 26C, when the standard target sub-region 1 is the current standard sub-region in step 2510, the first reference value q1 is multiplied by the second reference values k1 to k6, and the product result z 11 ,z 12 ,z 13 ,z 14 ,z 15 ,z 16 Get z 11 ,z 12 ,z 13 ,z 14 ,z 15 ,z 16 is fed into a classifier (such as softmax), it generates attention weights z with values between 0 and 1. 11 T ,z 12 T ,z 13 T ,z 14 T ,z 15 T ,z 16 T Similarly, in step 2510, if the standard target subregion 2 is the current standard subregion, the first reference value is q2 and the attention weight is z 21 T ,z 22 T ,z 23 T ,z 24 T ,z 25 T ,z 26 TIn step 2510, if the standard target subregion 3 is the current standard subregion, the first reference value is q3 and the attention weight is z 31 T ,z 32 T ,z 33 T ,z 34 T ,z 35 T ,z 36 T In step 2510, if the standard target subregion 4 is the current standard subregion, the first reference value is q4 and the attention weight is z 41 T ,z 42 T ,z 43 T ,z 44 T ,z 45 T ,z 46 T In step 2510, if the standard target subregion 5 is the current standard subregion, the first reference value is q5 and the attention weight is z 51 T ,z 52 T ,z 53 T ,z 54 T ,z 55 T ,z 56 T In step 2510, if the standard target subregion 6 is the current standard subregion, the first reference value is q6 and the attention weight is z 61 T ,z 62 T ,z 63 T ,z 64 T ,z 65 T ,z 66 T This becomes:
[0198] In step 2550, the third matrix is an m3-by-n3 table consisting of m3*n3 numbers, and is used to convolve the first features of multiple standard target subregions. For example, vi = Wv * ai, i ∈ (1, n). As shown in Figure 26D, for standard target subregion 1, the third matrix Wv is multiplied by the first feature a1 of standard target subregion 1 to obtain a third reference value v1. Similarly, the third matrix Wv is multiplied by the first feature a2 of standard target subregion 2 to obtain a third reference value v2, the third matrix Wv is multiplied by the first feature a3 of standard target subregion 3 to obtain a third reference value v3, the third matrix Wv is multiplied by the first feature a4 of standard target subregion 4 to obtain a third reference value v4, the third matrix Wv is multiplied by the first feature a5 of standard target subregion 5 to obtain a third reference value v5, and the third matrix Wv is multiplied by the first feature a6 of standard target subregion 6 to obtain a third reference value v6.
[0199] In step 2560, the attention weights obtained in step 2540 are used to weightedly sum the multiple third reference values to obtain the convolution result of the current standard target sub-region. For example, attention weights z i1 T ,z i2 T ,…,z in T are multiplied by the corresponding positions v1, v2, ..., vn and then summed to obtain the convolution result b i corresponding to q i. As shown in Figure 26E, if the standard target subregion 1 is the current standard subregion in step 2510, the attention weight is z 11 T ,z 12 T ,z 13 T ,z 14 T ,z 15 T ,z 16 T and z 11 T ,z 12 T ,z 13 T ,z 14 T,z 15 T ,z 16 T Multiply each by v1 to v6 at the corresponding position to obtain the product results h1, h2, h3, h4, h5, and h6. Add up h1, h2, h3, h4, h5, and h6 to obtain b1. Similarly, if standard target subregion 2 is the current standard subregion, z 21 T ,z 22 T ,z 23 T ,z 24 T ,z 25 T ,z 26 T b2 is obtained by weighting v1 to v6 at the corresponding positions. If the standard target subregion 3 is the current standard subregion, z 31 T ,z 32 T ,z 33 T ,z 34 T ,z 35 T ,z 36 T b3 is obtained by weighting v1 to v6 at the corresponding positions. If the standard target subregion 4 is the current standard subregion, z 41 T ,z 42 T ,z 43 T ,z 44 T ,z 45 T ,z 46 T b4 is obtained by weighting v1 to v6 at the corresponding positions. If the standard target subregion 5 is the current standard subregion, z 51 T ,z 52 T ,z 53 T ,z 54 T ,z 55 T ,z 56 Tb5 is obtained by weighting the corresponding positions v1 to v6. If the standard target subregion 6 is the current standard subregion, z 61 T ,z 62 T ,z 63 T ,z 64 T ,z 65 T ,z 66 T b6 is obtained by weighting and adding v1 to v6 at the corresponding positions.
[0200] Steps 2510 to 2560 obtain the convolution results b1 to b6 output by the convolution encoder, and flatten the convolution results b1 to b6 respectively to obtain six flattened results F1 to F6 shown in FIG. 23, and then concatenate the flattened results to obtain the second feature of the target region.
[0201] The advantage of this embodiment is that, based on the first matrix, the second matrix, and the third matrix, each standard target sub-region can be given attention weight from other standard target sub-regions, reflecting the connections and influences between multiple target sub-regions, which greatly improves the accuracy of extracting the second feature and improves the accuracy of palmprint recognition.
[0202] In the above embodiment, the convolutional coding model includes a first matrix, a second matrix, and a third matrix. In order to further improve the efficiency and accuracy of feature extraction, a convolutional coding model based on a transformer structure in another embodiment is introduced below.
[0203] As shown in FIG. 27, the convolutional coding model includes a multi-head attention layer 2710, a fusion normalization layer 2720, a feedforward layer 2730, and a fusion normalization layer 2740.
[0204] Since the multi-head attention layer 2710 consists of a first matrix, a second matrix, and a third matrix, the specific processing process of the multi-head attention layer 2710 convolving the first feature of the integrated standard target sub-region can refer to the above steps 2510 to 2560. The convolutional coding model shown in FIG. 27 differs from the convolutional coding model in the embodiment of the above steps 2510 to 2560 in that it further includes a fusion normalization layer 2720, a feedforward layer 2730, and a fusion normalization layer 2740. Note that although only one multi-head attention layer 2710 is shown in FIG. 27, two or more cascaded multi-head attention layers may be provided as needed.
[0205] The fusion-normalization layer 2720 is a module that performs feature fusion (Add) and normalization (Norm) processing. As shown in Figure 27, the fusion-normalization layer 2720 fuses the output of the multi-head attention layer with the first feature of the integrated standard target subregion, normalizes the fused feature, and outputs it to the feedforward layer 2730.
[0206] The feedforward layer 2730, also known as Feed-forward, is a unidirectional multi-layer network structure in which information flows in one direction from the input layer to the output layer. Feedforward means that the input / output direction is forward and weights are not adjusted in this process. As shown in Figure 27, the output of the fusion normalization layer 2720 is transmitted to the fusion normalization layer 2740 by the feedforward layer 2730.
[0207] The fusion normalization layer 2740 is a module that performs feature fusion processing (Add) and normalization processing (Norm). As shown in Fig. 27, the fusion normalization layer 2740 fuses the output of the feedforward layer 2730 and the output of the fusion normalization layer 2720, normalizes the fused features, and outputs them as the output of the convolutional coding model.
[0208] The advantage of this embodiment is that in addition to using a multi-head attention layer to reflect the connections and influences between multiple target sub-regions, it also uses a fusion normalization layer and a feedforward layer to realize residual connection feature extraction, which can better extract and integrate the first palm feature, further improve the accuracy of second feature extraction, and improve the accuracy of palmprint recognition.
[0209] The above is a detailed description of step 340.
[0210] Detailed explanation of step 350 In step 350, a palm print recognition result corresponding to the target palm image is determined based on a second feature of the target area.
[0211] As shown in FIG. 28, in one embodiment, the second feature of the target region is a first feature vector, and step 350 includes: Step 2810: Obtaining a reference feature vector library, the reference feature vector library including a plurality of reference feature vectors, each corresponding to an object; Step 2820: Determining a distance between the first feature vector and each reference feature vector in the reference feature vector library; Step 2830: The object corresponding to the reference feature vector with the smallest distance is determined as the palm print authentication result.
[0212] Steps 2810 to 2830 will be explained in detail below.
[0213] In step 2810, a reference feature vector library is a database for storing reference feature vectors. The reference feature vector is similar to the first feature vector and is used to represent a second feature extracted from a palm image. The difference between the two is that the reference feature vector is pre-stored in the reference feature vector library and has a one-to-one correspondence with an object, whereas the first feature vector is extracted from a target palm image, and the object corresponding to the first feature vector is not yet known.
[0214] Next, in step 2820, to determine an object corresponding to the first feature vector, it is necessary to determine the distance between the first feature vector and each reference feature vector in the reference feature vector library. The smaller the distance, the more similar the first feature vector is to the reference feature vector. Therefore, the reference feature vector with the smallest distance can represent the first feature vector. For example, the distance may be the Euclidean distance or cosine similarity between the first feature vector and the reference feature vector.
[0215] In one embodiment, the formula for calculating cosine similarity is: TIFF2026504884000009.tif9170where, TIFF2026504884000010.tif6170 is cosine similarity, TIFF2026504884000011.tif5170 is the reference feature vector, TIFF2026504884000012.tif4170 is the first feature vector.
[0216] Next, in step 2830, the object corresponding to the reference feature vector with the smallest distance is determined as the palmprint authentication result. For example, the first feature vector is sorted in ascending order based on the distance between it and each reference feature vector, and the object identifier of the reference feature vector corresponding to the smallest distance is determined, and this object identifier is determined as the palmprint authentication result.
[0217] The advantage of this embodiment is that the object corresponding to the first feature vector can be quickly determined based on the distance between the first feature vector and the reference feature vector, thereby improving the accuracy and efficiency of palmprint authentication.
[0218] The above is an overall description of steps 2810 to 2830. The specific implementation process of step 2810 will now be described in detail.
[0219] As shown in FIG. 29, in one embodiment, step 2810 includes: Step 2910: Acquiring reference palm images of a plurality of reference objects; Step 2920: determining a reference area in the reference palm image, the reference area being an area in the reference palm image where the abundance of palm print information satisfies a predetermined condition; Step 2930: determining a plurality of non-overlapping reference sub-regions in the reference region; Step 2940: Inputting the first features of each of the multiple reference sub-regions into a cascaded projection convolution model and a convolution encoding model to obtain a reference feature vector corresponding to each of the multiple reference objects, and constructing a reference feature vector library with the reference feature vectors corresponding to each of the multiple reference objects.
[0220] Steps 2910 to 2940 will be explained in detail below.
[0221] It should be noted that steps 2910 to 2930 are similar to the above steps 310 to 330, so the relevant explanations and functions can be referred to the above descriptions, and will not be repeated here to save space.
[0222] The projected convolution model in step 2940 is the same as the projected convolution model in step 2210 above, and the convolution encoding model in step 2940 is the same as the convolution encoding model in step 2230 above, so you can refer to the above descriptions for related explanations and functions, and we will not repeat the description here to save space.
[0223] In step 2940, the first features of the multiple reference sub-regions obtained from the reference palm image can represent the reference palm image, so that the reference feature vector output by the projected convolution model and the convolution encoding model can represent the reference object. The reference feature vector library composed of the multiple reference feature vectors corresponds to a registered feature-based library, and aims to use the first feature vector obtained from the target palm image as an identified feature and to acquire the object corresponding to the identified feature based on the registered feature-based library.
[0224] The advantage of this embodiment is that by storing reference feature vectors of multiple reference objects in a reference feature vector library in advance, when palmprint authentication is performed, the object corresponding to the reference feature vector with the smallest distance from the reference feature vector library can be quickly obtained, significantly improving the efficiency and accuracy of palmprint authentication.Furthermore, by determining a reference feature vector representing a reference object corresponding to the reference palm image based on the first features of multiple reference sub-areas included in the reference area in the reference palm image, it is possible to ensure that the determined reference feature vector is accurate and has as clear a difference as possible from other reference feature vectors.
[0225] As shown in FIG. 30, in one embodiment, the projected convolution model and the convolutional coding model are: Step 3010: Obtaining a set of sample palm image pairs, where the set of sample palm image pairs includes a plurality of sample palm image pairs, each sample palm image pair including a first palm image of a first sample object and a second palm image of a second sample object, where the first sample object and the second sample object are different objects; Step 3020: For each pair of sample palm images, obtain a first sample area in the first palm image and a second sample area in the second palm image; Step 3030: determining a plurality of first non-overlapping sample sub-areas in the first sample area, and determining a plurality of second non-overlapping sample sub-areas in the second sample area; Step 3040: inputting the first feature of each of the plurality of first sample sub-regions into a cascaded projection-convolution model and a convolution encoding model to obtain a first sample feature vector, and inputting the first feature of each of the plurality of second sample sub-regions into a cascaded projection-convolution model and a convolution encoding model to obtain a second sample feature vector; Step 3050: Determining a loss function based on the distance between the first sample feature vector and the second sample feature vector; Step 3060: Based on the loss function, the projection convolution model and the convolution coding model are jointly trained.
[0226] Steps 3010 to 3060 will be explained in detail below.
[0227] The sample palm image pair set of step 3010 includes multiple sample palm image pairs. Each sample palm image pair includes a first palm image of a first sample subject and a second palm image of a second sample subject. The more sample palm image pairs there are, the more effective the training. The first sample subject is one subject used as a sample, and the second sample subject is another subject used as a sample. For example, the first sample subject and the second sample subject may be identical twins, and the first palm image and the second palm image are the left and right palm images of the identical twins. The first palm image and the second palm image here are similar to the target palm image of step 310, except that the first palm image and the second palm image are used for training the model, while the target palm image is used for actual use of the model.
[0228] In addition, when training a model, labels corresponding to normal samples are required. However, since the first sample object and the second sample object in a sample palm image pair set are different objects, each sample palm image pair is labeled accordingly. Therefore, the embodiment of the present application does not require additional manual labeling work, which significantly reduces labor costs.
[0229] Next, steps 3020 to 3040 are similar to the above steps 2920 to 2940, so you can refer to the above description for related explanations and functions. To save space, we will not repeat the explanation here. However, steps 3020 to 3040 are the model training process, while steps 2920 to 2950 are the model actual use process.
[0230] Next, in step 3050, a loss function is determined based on the distance between the first sample feature vector and the second sample feature vector. For example, this distance may be the Euclidean distance or cosine similarity between the first sample feature vector and the second sample feature vector. After obtaining the distance, a loss function is determined based on this distance. The loss function is a function for evaluating the prediction error of the cascaded projection convolution model and convolutional coding model, and can reflect the training effect of the projection convolution model and the convolutional coding model. The smaller the loss function, the better the training effect of the projection convolution model and the convolutional coding model.
[0231] In one embodiment, step 3060 includes: For each sample palm image pair, determining the distance; averaging the distances of each sample palm image pair in the set of sample palm image pairs to obtain an average distance; and determining a loss function based on the average distance.
[0232] In the specific implementation of this embodiment, the distance of each sample palm image pair can refer to the above Equation 4, so the loss function can be constructed as follows: L=1-cosine_mean Equation 5 Here, L is the loss function, and cosine_mean is the average distance, or average cosine similarity. For example, if there are only three sample palm image pairs in the sample palm image pair set, and the cosine similarity of the first sample palm image pair is 0.8, the cosine similarity of the second sample palm image pair is 0.9, and the cosine similarity of the third sample palm image pair is 0.7, then the average cosine similarity cosine_mean is (0.8 + 0.9 + 0.7) / 3 = 0.8. Then, the loss function L is 1 - 0.8 = 0.2.
[0233] In step 3060, the projected convolution model and the convolutional coding model are jointly trained based on the loss function obtained in the previous step. For example, jointly training the projected convolution model and the convolutional coding model based on the loss function is jointly adjusting the parameters of the projected convolution model and the convolutional coding model. Specifically, a second threshold can be preset. If the proportion of sample palm image pairs in the sample palm image pair set whose loss function is less than the second threshold exceeds a third threshold, the training process ends. Otherwise, the parameters of the projected convolution model and the convolutional coding model continue to be jointly adjusted until the proportion of sample palm image pairs in the sample palm image pair set whose loss function is less than the second threshold exceeds the third threshold.
[0234] The advantage of this embodiment is that by jointly training the projected convolution model and the convolution coding model, the parameters of the projected convolution model and the convolution coding model can influence each other, thereby improving the authentication accuracy of the trained model for palm images.
[0235] Implementation details of the palm print authentication method in the identity verification scenario of the embodiment of the present application Hereinafter, the implementation details of the palm print authentication method according to the embodiment of the present application will be exemplarily described with reference to FIG.
[0236] The embodiments of the present application specifically include the following implementation details: (1) Start the target device. (2) Acquire a target palm image. (3) Determine the target reference point in the target palm image. (4) Based on the target reference points, a target area is determined in the target palm image. (5) In the target region, multiple non-overlapping target subregions are determined. (6) Convert multiple target subregions into multiple standard target subregions of the same size. (7) Obtaining a second feature of the target region based on the first features of the plurality of standard target subregions. (8) Obtain a reference feature vector library, where the reference feature vector library includes a plurality of reference feature vectors, each corresponding to one object. (9) Determine a similarity between the first feature vector and each reference feature vector in the reference feature vector library. (10) The object corresponding to the reference feature vector with the highest similarity is determined as the palmprint authentication result. (11) Return to the target device and exit.
[0237] Advantages of this embodiment include, but are not limited to, improved accuracy of palm print authentication, as the second features extracted from the target palm image cover multiple highly discriminative locations on the palm.
[0238] Description of the Devices and Equipment of the Present Application As will be understood, although the steps in each of the above flowcharts are displayed sequentially as indicated by the arrows, these steps are not necessarily performed sequentially in the order indicated by the arrows. Unless otherwise specified in this embodiment, the execution of these steps is not limited to a strict order, and these steps may be performed in other orders. Furthermore, at least some of the steps in the above flowcharts may include multiple steps or multiple stages, and these steps or stages may not necessarily be performed simultaneously but may be performed at different times. The order in which these steps or stages are performed is also not necessarily sequential, and they may be performed in order or alternately with other steps or at least some of the steps or stages in other steps.
[0239] It should be noted that in each specific embodiment of the present application, when performing related processing based on data related to the characteristics of the target subject, such as the target subject's attribute information or attribute information set, the target subject's permission or consent must be obtained in advance, and the collection, use, processing, etc. of this data must comply with relevant laws, regulations, and standards. Furthermore, when the embodiment of the present application needs to obtain the target subject's attribute information, it will request the target subject's separate permission or consent by jumping to a pop-up window or a confirmation page, and after explicitly obtaining the target subject's separate permission or consent, it will obtain the target subject's related data required to enable the embodiment of the present application to operate normally.
[0240] FIG. 32 is a structural schematic diagram of a palmprint authentication device 3200 according to an embodiment of the present application. The palmprint authentication device 3200 includes: a first capturing unit 3210 for capturing a target palm image; A second acquisition unit 3220 for determining a target area in the target palm image, the target area being an area in the target palm image whose palm print information richness satisfies a predetermined condition; a third obtaining unit 3230 for determining a plurality of non-overlapping target sub-regions in the target region; a fourth obtaining unit 3240 for determining a second characteristic of the target region based on the first characteristic of each of the plurality of target sub-regions; and a fifth obtaining unit 3250 for determining a palm print authentication result corresponding to the target palm image based on the second feature of the target area.
[0241] Optionally, the second obtaining unit 3220: determining a target reference point in the target palm image; and determining a target area in the target palm image based on the target reference points.
[0242] Optionally, the target reference points include a first target reference point, a second target reference point, and a third target reference point, the second target reference point being located between the first target reference point and the third target reference point; The second acquisition unit 3220: creating a Cartesian coordinate system based on a line connecting the first target reference point and the third target reference point and a line perpendicular to the line and passing through the second target reference point; determining a target area center in a Cartesian coordinate system; and determining the target area based on the target area center.
[0243] Optionally, the second acquiring unit 3220 specifically comprises: determining the origin of a Cartesian coordinate system; Determining a first distance between the first target reference point and a third target reference point; determining a second distance between the target area center and the origin based on the first distance; Determine a target area center in a Cartesian coordinate system based on the origin and the second distance, where the target area center is on the target axis to which the second target reference point belongs, and the target area center and the second target reference point are distributed on both sides of the origin.
[0244] Optionally, the target area is a square, and based on the target area center, the second obtaining unit 3220 further specifically: determining a third distance based on the first distance; determining a point on the target axis that is a third distance from the target area center as a boundary anchor point; and determining the target area based on the target area center and boundary anchor points.
[0245] Optionally, the target area is a square, and the second acquisition unit 3220 further specifically: determining a side length of the square based on the first distance; and determining the target area based on the target area center and the side lengths of the square.
[0246] Optionally, the first target reference point is a point where the gap between the index finger and middle finger intersects with the palm, the second target reference point is a point where the gap between the middle finger and ring finger intersects with the palm, and the third target reference point is a point where the gap between the ring finger and little finger intersects with the palm.
[0247] Optionally, the plurality of target sub-regions is a first number of target sub-regions; The third acquisition unit 3230: Dividing the target area into a first number of partition areas; In each partitioned region, a target subregion is determined, the boundary of the target subregion being within the boundary of the partitioned region.
[0248] Optionally, the target sub-region is rectangular, and the plurality of target sub-regions is a second number of target sub-regions; The third acquisition unit 3230 further specifically includes: setting an acquired target sub-region set, the acquired target sub-region set being initially an empty set; The method includes: executing a first process, the first process including the steps of: selecting a target subregion base point in a range of the target region that is not covered by the target subregions in the acquired target subregion set; obtaining a first length and a second length; generating a target subregion based on the target subregion base point, setting the first length as the length of the target subregion and the second length as the width of the target subregion; adding the generated target subregion to the acquired target subregion set if the generated target subregion does not overlap with any target subregion in the acquired target subregion set; otherwise, deleting the generated target subregion; and repeatedly executing the first process until the number of target subregions in the acquired target subregion set reaches the second number.
[0249] Optionally, the third obtaining unit 3230 further specifically: Obtaining the side lengths of the target area; determining a first threshold based on the side length and the first ratio; and randomly generating the first length and the second length such that both the first length and the second length are less than a first threshold.
[0250] Optionally, the fourth obtaining unit 3240 specifically comprises: Transforming the plurality of target sub-regions into a plurality of standard target sub-regions of the same size; and determining a second characteristic of the target area based on the first characteristic of each of the plurality of standard target sub-areas.
[0251] Optionally, the fourth obtaining unit 3240 further specifically: performing a projection convolution on a plurality of standard target sub-regions to obtain a first feature for each of the plurality of standard target sub-regions; encoding positions of the plurality of target sub-regions in the target region to obtain position embeddings of each of the plurality of standard target sub-regions; Integrating the position embedding of the standard target sub-region with a first feature of the standard target sub-region, convolving the integrated first feature of the standard target sub-region, flattening the convolution result, and concatenating the flattened results to obtain a second feature of the target region.
[0252] Optionally, the fourth obtaining unit 3240 further specifically: inputting a plurality of standard target sub-regions into a projection convolution model to obtain first features of the plurality of standard target sub-regions, wherein the projection convolution model includes a convolution layer, a normalization layer, and an activation layer; The convolution layer is used to perform a convolution operation on pixel matrices of the multiple standard target sub-regions to obtain convolution matrices of the multiple standard target sub-regions; The normalization layer is used to normalize the convolution matrices of the multiple standard target sub-regions to obtain normalized matrices of the multiple standard target sub-regions; The activation layer is used to perform nonlinear processing on the normalized matrix of the plurality of standard target sub-regions to obtain first features of the plurality of standard target sub-regions.
[0253] Optionally, the fourth obtaining unit 3240 further specifically: rotating the plurality of standard target sub-regions as the current standard target sub-region; convolving a first feature of the current standard target sub-region with a first matrix of the convolutional coding model to obtain a first reference value of the current standard target sub-region; convolving the first features of the plurality of standard target sub-regions with a second matrix of the convolutional coding model to obtain second reference values corresponding to each of the plurality of standard target sub-regions; performing a softmax operation on the product of the first reference value and each of the plurality of second reference values to obtain attention weights of the plurality of standard target sub-regions for the current standard target sub-region; convolving the first features of the plurality of standard target sub-regions with a third matrix of the convolutional coding model to obtain third reference values corresponding to each of the plurality of standard target sub-regions; and using the attention weight to perform a weighted sum of the multiple third reference values to obtain a convolution result for the current standard target sub-region.
[0254] Optionally, the second feature of the target area is a first feature vector, and the fifth obtaining unit 3250: Obtaining a reference feature vector library, the reference feature vector library including a plurality of reference feature vectors, each corresponding to an object; determining a distance between the first feature vector and each reference feature vector in a reference feature vector library; The object corresponding to the reference feature vector with the smallest distance is determined as the palmprint authentication result.
[0255] Optionally, the fifth acquiring unit 3250 further comprises: acquiring reference palm images of a plurality of reference objects; determining a reference area in the reference palm image, the reference area being an area in the reference palm image where the abundance of palm print information satisfies a predetermined condition; determining a plurality of non-overlapping reference sub-regions in the reference region; The method is used to input the first features of each of the plurality of reference sub-regions into a cascaded projection convolution model and a convolution encoding model to obtain a reference feature vector corresponding to each of the plurality of reference objects, and to construct a reference feature vector library using the reference feature vectors corresponding to each of the plurality of reference objects.
[0256] Optionally, the fifth obtaining unit 3250 further specifically: Obtaining a sample palm image pair set, the sample palm image pair set including a plurality of sample palm image pairs, each sample palm image pair including a first palm image of a first sample object and a second palm image of a second sample object, the first sample object and the second sample object being different objects; For each pair of sample palm images, determining a first sample area in the first palm image and a second sample area in the second palm image; determining a plurality of non-overlapping first sample sub-areas in the first sample area and a plurality of non-overlapping second sample sub-areas in the second sample area; inputting a first feature of each of a plurality of first sample sub-regions into a cascaded projection-convolution model and a convolutional coding model to obtain a first sample feature vector, and inputting a first feature of each of a plurality of second sample sub-regions into a cascaded projection-convolution model and a convolutional coding model to obtain a second sample feature vector; determining a loss function based on a distance between the first sample feature vector and the second sample feature vector; It is used to jointly train a projection convolution model and a convolutional coding model based on a loss function.
[0257] Optionally, the fifth obtaining unit 3250 further specifically: determining a distance for each sample palm image pair; averaging the distances of each sample palm image pair in the set of sample palm image pairs to obtain an average distance; and determining a loss function based on the difference in average distances.
[0258] Referring to Fig. 33, Fig. 33 is a structural block diagram of a part of a terminal for implementing a palm print authentication method according to an embodiment of the present application. The terminal includes components such as a radio frequency (RF) circuit 3310, a memory 3315, an input unit 3330, a display unit 3340, a sensor 3350, an audio circuit 3360, a wireless fidelity (WiFi) module 3370, a processor 3380, and a power supply 3390. Those skilled in the art will understand that the structure of the terminal shown in Fig. 33 is not limited to a mobile phone or a computer, and may include more or fewer components than those shown, or may combine some components, or may have a different component arrangement.
[0259] The RF circuitry 3310 can be used to receive and transmit signals during transmission and reception of information or telephone calls. In particular, it receives downlink information from a base station and then transmits it to the processor 3380 for processing. It also transmits associated uplink data to the base station.
[0260] The memory 3315 can be used to store software programs and modules. The processor 3380 executes the software programs and modules stored in the memory 3315 to perform applications and data processing for various functions of the target terminal.
[0261] The input unit 3330 can be used to receive input numerical or character information and generate key signal inputs related to the setting and function control of the target terminal. Specifically, the input unit 3330 may include a touch panel 3331 and other input devices 3332.
[0262] The display unit 3340 can be used to display input or provided information and various menus of the target terminal. The display unit 3340 may include a display panel 3341.
[0263] An audio circuit 3360, a speaker 3361, and a microphone 3362 can provide an audio interface.
[0264] In this embodiment, the processor 3380 included in the terminal can execute the palm print authentication method of the above embodiment.
[0265] Terminals in embodiments of the present application include, but are not limited to, mobile phones, computers, smart voice interaction devices, smart home appliances, in-vehicle terminals, aircraft, etc. Embodiments of the present application can be used in various scenarios, including, but not limited to, mobile payment scenarios, identity verification scenarios, attendance system scenarios, access control system scenarios, etc.
[0266] 34 is a structural block diagram of a portion of a server for implementing a palmprint authentication method according to an embodiment of the present application. The server may vary greatly in configuration or performance, and may include one or more central processing units (CPUs) 3422 (e.g., one or more processors), memory 3432, and one or more storage media 3430 (e.g., one or more mass storage devices) for storing application programs 3442 or data 3444. Here, the memory 3432 and the storage media 3430 may be temporary or persistent storage. The program stored in the storage media 3430 may include one or more modules (not shown), and each module may include a series of instruction operations in the server. Furthermore, the central processing unit 3422 may be configured to communicate with the storage medium 3430 and execute the series of instruction operations in the storage medium 3430 on the server.
[0267] The server may also include one or more power sources 3426, one or more wired or wireless network interfaces 3450, one or more input / output interfaces 3458, and / or a Windows Server TM , Mac OS X TM , Unix TM , Linux TM , FreeBSD TM The system may include one or more operating systems 3441, such as
[0268] The central processing unit 3422 of the server can be used to execute the palm print authentication method of the embodiment of the present application.
[0269] The embodiments of the present application further provide a computer-readable storage medium for storing program code, which is used to implement the palm print authentication method of each of the above embodiments.
[0270] An embodiment of the present application further provides a computer program product including a computer program, which is read and executed by a processor of a computer device, thereby causing the computer device to implement the palm print authentication method described above.
[0271] Terms such as "first," "second," "third," and "fourth," if any, used in the present specification and in the drawings are used to distinguish between similar objects and do not necessarily describe a particular order or priority. It should be understood that such terms may be interchanged under appropriate circumstances so that the embodiments of the present invention described herein can be performed in orders other than those illustrated or described herein. Also, the terms "comprises," "including," and any variations thereof are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus comprising a series of steps or units is not necessarily limited to the explicitly recited steps or units, but may include other steps or units not explicitly recited or inherent to those processes, methods, products, or apparatus.
[0272] In this application, "at least one" means one or more, and "multiple" means two or more. "And / or" is used to describe a relationship between related objects and indicates that three relationships are possible. For example, "A and / or B" can indicate three cases: only A is present, only B is present, or both A and B are present. Here, A and B may be singular or plural. The symbol " / " typically indicates that the related objects before and after it are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these terms, including any combination of single terms or multiple terms. For example, "at least one of a, b, or c" can represent a, b, c, "a and b," "a and c," "b and c," or "a, b, and c." Here, a, b, and c may be singular or plural.
[0273] Although the above is a specific description of the embodiments of the present application, the present application is not limited to the above embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the present application, and all of these equivalent modifications or substitutions are included in the scope defined by the claims of the present application.
Claims
1. A palm print authentication method performed by an electronic device, comprising: acquiring a target palm image; determining a target area in the target palm image, the target area being an area in the target palm image where palm print information richness satisfies a predetermined condition; determining a plurality of non-overlapping target sub-regions within the target region; determining a second characteristic of the target region based on a first characteristic of each of the plurality of target subregions; determining a palm print authentication result corresponding to the target palm image based on the second feature of the target area; A palm print authentication method comprising:
2. The step of determining a target area in the target palm image includes: determining a target reference point in the target palm image; determining the target area in the target palm image based on the target reference points; The palm print authentication method according to claim 1 , comprising:
3. the target reference points include a first target reference point, a second target reference point, and a third target reference point, the second target reference point being located between the first target reference point and the third target reference point; The step of determining the target area in the target palm image based on the target reference point includes: creating a Cartesian coordinate system based on a line connecting the first target reference point and the third target reference point and a line perpendicular to the line and passing through the second target reference point; determining a target area center in the Cartesian coordinate system; determining the target area based on the target area center; The palm print authentication method according to claim 2 , comprising:
4. The step of determining a target region center in the Cartesian coordinate system comprises: determining the origin of the Cartesian coordinate system; determining a first distance between the first target reference point and the third target reference point; determining a second distance between the target area center and the origin based on the first distance; determining the target area center in the Cartesian coordinate system based on the origin and the second distance, the target area center being on a target axis to which the second target reference point belongs, and the target area center and the second target reference point being distributed on both sides of the origin; The palm print authentication method according to claim 3 , comprising:
5. The target area is a square, and the step of determining the target area based on the target area center includes: determining a third distance based on the first distance; determining a point on the target axis at the third distance from the target area center as a boundary anchor point; determining the target area based on the target area center and the boundary anchor points; The palm print authentication method according to claim 4, comprising:
6. The target area is a square, and the step of determining the target area based on the target area center includes: determining a side length of the square based on the first distance; determining the target area based on the target area center and the side lengths of the square; The palm print authentication method according to claim 4, comprising:
7. 7. The palm print authentication method according to claim 3, wherein the first target reference point is a point where a gap between an index finger and a middle finger intersects with the palm, the second target reference point is a point where a gap between a middle finger and a ring finger intersects with the palm, and the third target reference point is a point where a gap between a ring finger and a little finger intersects with the palm.
8. the plurality of target sub-regions is a first number of the target sub-regions; The step of determining a plurality of target sub-regions in the target region comprises: Dividing the target area into the first number of partitioned areas; determining, for each of the partitioned regions, the target subregion, the boundary of the target subregion being within the boundary of the partitioned region; The palm print authentication method according to any one of claims 1 to 7, comprising:
9. determining a second characteristic of the target region based on a first characteristic of each of the plurality of target sub-regions, converting the plurality of target sub-regions into a plurality of standard target sub-regions of the same size; determining a second characteristic of the target region based on a first characteristic of each of the plurality of standard target sub-regions; The palm print authentication method according to any one of claims 1 to 8, comprising:
10. determining a second characteristic of the target region based on a first characteristic of each of the plurality of standard target sub-regions, performing a projection convolution on a plurality of the standard target sub-regions to obtain a first feature for each of the plurality of standard target sub-regions; encoding positions of a plurality of the target sub-regions in the target region to obtain position embeddings of each of the plurality of standard target sub-regions; merging the position embedding of the standard target sub-region with a first feature of the standard target sub-region, convolving the merged first feature of the standard target sub-region, flattening the convolution result, and concatenating the flattened results to obtain the second feature of the target region; The palm print authentication method according to claim 9, comprising:
11. The step of performing a projection convolution on a plurality of the standard target sub-regions to obtain a first feature of each of the plurality of the standard target sub-regions includes: inputting the plurality of standard target sub-regions into a projected convolution model to obtain a first feature of each of the plurality of standard target sub-regions, the projected convolution model including a convolution layer, a normalization layer, and an activation layer; The convolution layer is used to perform a convolution operation on pixel matrices of the plurality of standard target sub-regions to obtain convolution matrices of the plurality of standard target sub-regions; the normalization layer is used to normalize the convolution matrices of the plurality of standard target sub-regions to obtain normalized matrices for the plurality of standard target sub-regions; the activation layer is used to perform nonlinear processing on the normalized matrix of the plurality of standard target sub-regions to obtain first features of the plurality of standard target sub-regions. The palm print authentication method according to claim 10, comprising:
12. The step of convolving the first features of the merged standard target sub-regions includes: a step of selecting the plurality of standard target sub-regions as current standard target sub-regions in rotation; convolving a first feature of the current standard target sub-region with a first matrix of a convolutional coding model to obtain a first reference value of the current standard target sub-region; convolving first features of a plurality of the standard target sub-regions with a second matrix of the convolutional coding model to obtain second reference values corresponding to each of the plurality of standard target sub-regions; performing a softmax operation on the product of the first reference value and each of the plurality of second reference values to obtain attention weights for the plurality of standard target sub-regions for the current standard target sub-region; convolving first features of the plurality of standard target sub-regions with a third matrix of the convolutional coding model to obtain third reference values corresponding to each of the plurality of standard target sub-regions; using the attention weights to weightedly sum a plurality of the third reference values to obtain the convolution result of the current standard target sub-region; The palm print authentication method according to claim 10 or 11, comprising:
13. The second feature of the target area is a first feature vector, and determining a palmprint authentication result corresponding to the target palm image based on the second feature of the target area includes: obtaining a reference feature vector library, the reference feature vector library including a plurality of reference feature vectors, each corresponding to an object; determining a distance between the first feature vector and each of the reference feature vectors in the reference feature vector library; determining an object corresponding to the reference feature vector with the smallest distance as the palmprint authentication result; The palm print authentication method according to any one of claims 1 to 12, comprising:
14. The step of obtaining a reference feature vector library includes: acquiring reference palm images of a plurality of reference objects; determining a reference area in the reference palm image, the reference area being an area in the reference palm image where the abundance of palm print information satisfies a predetermined condition; determining a plurality of non-overlapping reference sub-regions in the reference region; inputting first features of each of the plurality of reference sub-regions into a cascaded projection convolution model and a convolution encoding model to obtain the reference feature vectors corresponding to each of the plurality of reference objects, and configuring the reference feature vector library with the reference feature vectors corresponding to each of the plurality of reference objects; The palm print authentication method according to claim 13, comprising:
15. The projected convolution model and the convolutional coding model are acquiring a set of sample palm image pairs, the set of sample palm image pairs including a plurality of sample palm image pairs, each of the sample palm image pairs including a first palm image of a first sample object and a second palm image of a second sample object, the first sample object and the second sample object being different objects; for each pair of sample palm images, determining a first sample area in the first palm image and a second sample area in the second palm image; determining a plurality of first non-overlapping sample sub-areas in the first sample area and a plurality of second non-overlapping sample sub-areas in the second sample area; inputting first features of each of the first plurality of sample sub-regions into the cascaded projection-convolution model and convolutional coding model to obtain a first sample feature vector, and inputting first features of each of the second plurality of sample sub-regions into the cascaded projection-convolution model and convolutional coding model to obtain a second sample feature vector; determining a loss function based on a distance between the first sample feature vector and the second sample feature vector; The palm print authentication method according to claim 14 , wherein the projected convolution model and the convolutional coding model are jointly trained by jointly training the projected convolution model and the convolutional coding model based on the loss function.
16. determining a loss function based on a distance between the first sample feature vector and the second sample feature vector, determining the distance for each pair of sample palm images; averaging the distances of each of the sample palm image pairs in the set of sample palm image pairs to obtain an average distance; determining the loss function based on the average distance; The palm print authentication method according to claim 15, comprising:
17. A palm print authentication device, a first capturing unit for capturing a target palm image; a second acquisition unit for determining a target area in the target palm image, the target area being an area in the target palm image where palm print information richness satisfies a predetermined condition; a third acquisition unit for determining a plurality of non-overlapping target sub-regions in the target region; a fourth acquisition unit for determining a second characteristic of the target region based on a first characteristic of each of the plurality of target sub-regions; a fifth obtaining unit for determining a palmprint authentication result corresponding to the target palm image based on the second feature of the target area; A palm print authentication device comprising:
18. An electronic device comprising a memory and a processor, wherein a computer program is stored in the memory, and wherein the processor, when executing the computer program, performs the palm print authentication method according to any one of claims 1 to 16.
19. 17. A computer-readable storage medium having stored thereon a computer program, the computer program, when executed by a processor, implementing the palm print authentication method according to any one of claims 1 to 16.
20. A computer program product including a computer program, the computer program being read and executed by a processor of a computer device, causing the computer device to perform the palm print authentication method according to any one of claims 1 to 16.
Citation Information
Patent Citations
Palm print recognition method and device based on full palm, terminal equipment and storage medium
CN113705344A
Palm print sample generation method and device, equipment, medium and program product
CN115527079A
Method and device for registering / Collating palm print impression
JP1999203474A
Palm print authentication method and device
JP2006500662A
Biological feature vector extraction device, biological feature vector extraction method, and biological feature vector extraction program
JP2015028723A