Palmprint recognition method, related apparatus, and medium

By determining the target area and target sub-region in the target palm image, and extracting features with high discrimination for palm print recognition, the problem of low accuracy in the recognition of high-similar palm print images in the prior art is solved, and higher recognition is achieved accuracy.

WO2024255421A9PCT designated stage expired Publication Date: 2025-02-06TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/087678
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-16
Filing Date
2024-04-15
Publication Date
2025-02-06

AI Technical Summary

Technical Problem

When faced with a large number of palm print images with high similarity, existing palm print recognition technology cannot extract sufficiently distinguishable features, resulting in low recognition accuracy, especially when the cardinality of large objects.

Method used

By determining the target area including rich palm print information in the target palm image, and determining a plurality of target sub-regions that do not overlap each other in the area, the second feature of the target area is determined based on the characteristics of these sub-regions, and the palm print is finally performed Identify.

Benefits of technology

The accuracy of palm print recognition is improved, especially in the face of high-similar palm print images and large object cardinality, and the discrimination and accuracy of recognition are enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024087678_06022025_PF_FP_ABST
    Figure CN2024087678_06022025_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides a palmprint recognition method, a related apparatus, and a medium. The palmprint recognition method comprises: acquiring a target palm image; acquiring a target area in the target palm image; determining a plurality of target sub-areas in the target area, wherein the plurality of target sub-areas do not overlap each other; determining a second feature of the target area on the basis of respective first features of the plurality of target sub-areas; and on the basis of the second feature of the target area, determining a palmprint recognition result corresponding to the target palm image. Embodiments of the present application improve the palmprint recognition accuracy. The embodiments of the present application can be applied to the fields of biometric authentication, machine learning, and the like.
Need to check novelty before this filing date? Find Prior Art

Description

Palmprint recognition method, related device and medium

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on June 16, 2023, with application number 2023107269126 and application name “Palmprint Recognition Method, Related Devices and Medium”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of biometric identification, and in particular to palmprint recognition technology. Background Art

[0003] Among the existing palmprint recognition technologies, common palmprint recognition methods include the following three: the first is to extract texture line feature points from the overall palmprint image and perform palmprint recognition based on the Euclidean distance between the texture line feature points; the second is to convert the overall palmprint image into a low-dimensional vector and classify it for palmprint recognition; the third is to input the overall palmprint image into a deep learning model for palmprint recognition.

[0004] However, these methods generally have the following shortcomings: when faced with a large number of highly similar palmprint images, it is impossible to extract sufficiently discriminative features to distinguish different palmprint images, especially when faced with a large object base, the recognition accuracy is not high.

[0005] Summary of the Invention

[0006] The embodiments of the present application provide a palmprint recognition method, related devices and media, which can improve the accuracy of palmprint recognition.

[0007] According to one aspect of the present application, a palmprint recognition method is provided, comprising:

[0008] Acquire the target palm image;

[0009] Determining a target area in the target palm image, where the target area is an area in the target palm image where palmprint information richness meets a preset condition;

[0010] In the target area, determining a plurality of target sub-areas, wherein the plurality of target sub-areas do not overlap with each other;

[0011] determining a second feature of the target region based on the first features of each of the plurality of target sub-regions;

[0012] Based on the second feature of the target area, a palmprint recognition result corresponding to the target palm image is determined.

[0013] According to one aspect of the present application, a palmprint recognition device is provided, comprising:

[0014] A first acquisition unit is used to acquire a target palm image;

[0015] a second acquiring unit, configured to acquire a target area in the target palm image, wherein the target area is an area in the target palm image where the richness of palmprint information meets a preset condition;

[0016] a third acquiring unit, configured to determine, in the target area, a plurality of target sub-areas, wherein the plurality of target sub-areas do not overlap with each other;

[0017] a fourth acquiring unit, configured to determine a second feature of the target region based on the first features of each of the plurality of target subregions;

[0018] A fifth acquiring unit is configured to determine a palmprint recognition result corresponding to the target palm image based on the second feature of the target area.

[0019] According to one aspect of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor implements the palmprint recognition method described above when executing the computer program.

[0020] According to one aspect of the present application, a computer-readable storage medium is provided, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, the palmprint recognition method described above is implemented.

[0021] According to one aspect of the present application, a computer program product is provided. The computer program product includes a computer program. The computer program is read and executed by a processor of a computer device, so that the computer device executes the palmprint recognition method as described above.

[0022] Because most areas of the palm are non-distinctive for palmprint recognition, the present embodiment innovatively abandons palmprint recognition based on the entire palm image. Instead, it obtains a target area in the target palm image that contains rich palmprint information, and the features in this target area have relatively high discrimination. Then, the present 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 thus determined cover multiple locations in the palm with high discrimination, which helps to improve the accuracy of palmprint recognition. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] FIG1 is a system architecture diagram of a palmprint recognition method according to an embodiment of the present application;

[0024] 2A-2C are schematic diagrams of a palmprint recognition method according to an embodiment of the present application applied in a mobile payment scenario;

[0025] 2D-F are schematic diagrams of a palmprint recognition method according to an embodiment of the present application applied in an identity verification scenario;

[0026] FIG3 is a flow chart of a palmprint recognition method according to an embodiment of the present application;

[0027] 4A-4C are schematic diagrams of interfaces related to step 310 in FIG. 3 ;

[0028] 5A-C are schematic diagrams of interfaces related to step 320 in FIG. 3 ;

[0029] FIG6 is a flowchart showing a specific implementation of step 320 in FIG3 ;

[0030] FIG7A is a schematic diagram showing a rectangular coordinate system established according to an embodiment of the present application;

[0031] FIG7B is a schematic diagram showing a target area center determined based on a rectangular coordinate system according to an embodiment of the present application;

[0032] FIG8A is a schematic diagram showing a circumscribed circle established in accordance with an embodiment of the present application;

[0033] FIG8B is a schematic diagram showing a target area center determined based on a circumscribed circle according to an embodiment of the present application;

[0034] FIG9 is a flowchart showing a specific implementation of step 620 in FIG6 ;

[0035] 10A-B are schematic diagrams of a specific implementation process of steps 910-940 in FIG. 9;

[0036] FIG11 is a flowchart of a first specific implementation of step 630 in FIG6 ;

[0037] 12A-C are schematic diagrams showing a process of generating a target area when the target area is a square in one embodiment of the present application;

[0038] FIG13 is a flowchart of a second specific implementation of step 630 in FIG6 ;

[0039] 14A-C are schematic diagrams showing a process of generating a target area when the target area is a square in one embodiment of the present application;

[0040] 14D-E are schematic diagrams showing a process of generating a target area when the target area is circular in one embodiment of the present application;

[0041] FIG15 is a flowchart of a first specific implementation of step 330 in FIG3 ;

[0042] FIG16 is a schematic diagram showing a specific implementation process of obtaining multiple target sub-regions by partitioning according to an embodiment of the present application;

[0043] FIG. 17 is a flowchart of a second specific implementation of step 330 in FIG. 3

[0044] 18A-B are schematic diagrams showing a specific implementation process of acquiring multiple target sub-regions using an acquired target sub-region set;

[0045] FIG19 is a flowchart of a specific implementation of obtaining the first length and the second length in FIG17;

[0046] FIG20 is a flowchart showing a specific implementation of step 340 in FIG3 ;

[0047] FIG21 is a schematic diagram of a specific implementation process of transforming the same size in FIG20;

[0048] FIG22 is a flowchart showing a specific implementation of step 2020 in FIG20 ;

[0049] FIG23 is a schematic diagram showing a specific implementation process of obtaining the second feature by combining projection convolution and position encoding in FIG22;

[0050] FIG24 shows a schematic diagram of the model structure of a projected convolution model according to an embodiment of the present application;

[0051] FIG25 is a flowchart of a specific implementation of obtaining the second feature by combining the feature coding model in FIG22;

[0052] 26A-E are schematic diagrams showing a specific implementation process of obtaining the second feature by combining three matrices in FIG. 25 ;

[0053] FIG27 shows a schematic diagram of the model structure of a feature coding model according to an embodiment of the present application;

[0054] FIG28 is a flowchart illustrating a specific implementation of step 350 in FIG3 ;

[0055] FIG29 is a flowchart showing a specific implementation of obtaining a reference feature vector library in FIG28;

[0056] FIG30 is a flowchart illustrating a specific implementation of the joint training of the projection convolutional coding model and the convolutional coding model in FIG29 ;

[0057] FIG31 is an overall flow chart of a palmprint recognition method according to an embodiment of the present application;

[0058] FIG32 is a module diagram of a palmprint recognition device according to an embodiment of the present application;

[0059] FIG33 is a terminal structure diagram of a palmprint recognition method according to an embodiment of the present application;

[0060] Figure 34 is a server structure diagram of the palmprint recognition method according to an embodiment of the present application. DETAILED DESCRIPTION

[0061] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0062] Before further explaining the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations:

[0063] Palmprint recognition technology: Palmprint recognition is a relatively new biometric identification technology that uses images of the palm from the fingertips to the wrist to identify individuals. It features simple sampling, rich image information, high user acceptance, resistance to forgery, and minimal noise interference. Palmprint recognition technology has been applied in areas such as mobile payments and identity verification. Compared to facial recognition technology, palmprints are more discreet, thus protecting user privacy. Furthermore, they are not affected by factors such as masks, makeup, and sunglasses, which can reduce recognition accuracy.

[0064] System architecture and scenario description of the application examples

[0065] FIG1 is a diagram of the system architecture of the palmprint recognition method according to an embodiment of the present application, which includes a target terminal 140 , the Internet 130 , a gateway 120 , a palmprint recognition server 110 , and the like.

[0066] The target terminal 140 may include, but is not limited to, a desktop computer, a laptop computer, a PDA (personal digital assistant), a mobile phone, an in-vehicle terminal, a dedicated terminal, and other forms. As the embodiments of the present application are applied in scenarios such as mobile payment and identity verification as described below, the target terminal 140 may be specifically embodied in the form of a mobile phone, a tablet, a time clock, a dedicated identity verification terminal, a dedicated payment terminal, and the like. Furthermore, it may be a single device or a collection of multiple devices. The target terminal 140 may communicate and exchange data with the palmprint recognition server 110 via the Internet 130, which may be a wired network or a wireless network.

[0067] The camera of the target terminal 140 is a module for collecting palm images. The camera can be built into the target terminal 140. Alternatively, the camera communicates with the target terminal 140 wirelessly or by wire, so that the target terminal 140 can receive the collected palm images.

[0068] The palmprint recognition server 110 refers to a computer system used to provide palmprint recognition services to the target terminal 140. Compared with the target terminal 140, the palmprint recognition server 110 has higher requirements in terms of stability, security, performance, etc. The palmprint recognition server 110 can be a high-performance computer in a network platform, or a cluster composed of multiple high-performance computers, or a part of a high-performance computer (such as a virtual machine), or a combination of parts of multiple high-performance computers (such as virtual machines). In certain application scenarios (such as the mobile payment scenario mentioned later), the palmprint recognition server 110 can perform corresponding palmprint recognition after obtaining a palm image. For example, after receiving the palm image, the palmprint recognition server 110 performs feature extraction on the palm image to obtain a target palmprint vector, compares the target palmprint vector with the reference feature vector in the reference feature vector library to obtain a palmprint recognition result, and determines the user corresponding to the palm image.

[0069] The gateway 120, also known as a gateway or protocol converter, implements network interconnection at the transport layer and is a computer system or device that provides conversion functions. It acts as a translator between two systems using different communication protocols, data formats, or languages, or even completely different architectures. The gateway 120 also provides filtering and security functions. Messages sent by the target terminal 140 to the palmprint recognition server 110 are sent to the corresponding palmprint recognition server 110 via the gateway 120. Messages sent by the palmprint recognition server 110 to the target terminal 140 are also sent to the corresponding target terminal 140 via the gateway 120.

[0070] The embodiments of the present application can be applied in 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.

[0071] (1) Mobile payment scenarios

[0072] The mobile payment scenario refers to a scenario in which payment is made through the target terminal 140 based on the target's palm print.

[0073] As shown in Figure 2A, the subject terminal 140 is a payment terminal, such as a mobile phone. When subject W makes a payment through subject terminal 140, the display screen of subject terminal 140 will display a payment page. This payment page displays the profile picture of subject P (subject P is the recipient of the payment) and an input box. Subject W enters "2000" in the input box, and the payment amount on the payment page is "2000". In the lower right corner of the input box, there is a payment control that allows subject W to click and initiate palm print payment verification.

[0074] As shown in Figure 2B, after subject W clicks the payment control, subject terminal 140 displays a palmprint recognition page. This page displays a first prompt and a palm print collection frame. The first prompt may read "Please enter your palm print to pay subject P 2,000." The palm print collection frame is used to display an image captured by the camera of subject terminal 140. Subject W can adjust the position of his palm so that the image displayed in the palm print collection frame includes his palm, allowing subject terminal 140 to obtain an image of his palm. Once subject terminal 140 obtains the palm image, the palmprint recognition process begins, and palmprint recognition is performed based on the palm image. For example, palmprint recognition may be performed based on a partial palm image of subject W, but the recognition fails. In another example, palmprint recognition may be performed based on the complete palm image of subject W, and the recognition is successful, thus completing the payment.

[0075] As shown in FIG2C , after the payment is successful, the client terminal 140 displays a payment results page. This payment results page includes a second prompt. The second prompt may include "Payment Successful - To Client P," "-2000," "Payment Status: Payment Successful," "Payment Method: XXXXXX," and "Payment Time: XXXXXX." Client W can click the Close control on the payment results page to close it.

[0076] (2) Identity Verification Scenario

[0077] The identity verification scenario refers to a scenario in which identity verification is performed based on the palm print of the object through the object terminal 140 .

[0078] As shown in Figure 2D, subject terminal 140 is an identity verification terminal, such as a time clock. When subject W uses subject terminal 140 for identity verification, the terminal 140 enters the identity verification process and displays an identity verification page. This page displays a third prompt and a palm capture frame. The third prompt includes the message "Please place your palm in the capture area below." The palm capture frame displays the image captured by the subject terminal 140's camera. Subject W can adjust the position of their palm so that the image displayed in the palm capture frame includes their palm, allowing subject terminal 140 to obtain an image of their palm.

[0079] As shown in FIG2E , the target terminal 140 performs palmprint recognition 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 recognition in progress…” to remind the target W of the recognition progress.

[0080] As shown in Figure 2F, after successful identification, the subject's terminal 140 displays a second pop-up window. The second pop-up window includes "Palmprint Recognition Results," "Subject Name: Subject W," and "Subject Employee Number: 1001." Subject W can click the Close control on the identity verification page to close it.

[0081] In both the mobile payment and identity verification scenarios described above, palmprint recognition based on a palm image is required. The palmprint recognition process can first extract a first palmprint feature based on the palm image, then calculate the feature distance between the first palmprint feature and a second palmprint feature in a palmprint database. The object corresponding to the second palmprint feature with the smallest distance to the first palmprint feature is then identified as the target for recognition, thereby obtaining a palmprint recognition result.

[0082] Compared to identity verification scenarios or other products that use palm print recognition based on palm images (such as time clocks), mobile payment scenarios require higher recognition accuracy and present the following difficulties:

[0083] (1) Highly similar sample pairs are difficult to identify: In the field of palmprint recognition, highly similar sample pairs are mainly concentrated in the palms of identical twins. Most of the palm lines of such palms are very similar, with only a small number of main lines and some fine lines showing differences. Therefore, in mobile payment scenarios, the following situation is likely to occur: palmprint recognition is performed based on the palm image of the first twin, but it is identified as the second twin, resulting in a successful payment but the payment is made to the wrong person.

[0084] (2) It is difficult to extract distinctive palm print features from palm images: The number of objects in mobile payment scenarios is very large, that is, the palm print database stores a large number of palm print features corresponding to the objects. Under such a large base, the palm prints of many objects differ only in details. However, related technologies generally perform feature extraction based on the entire palm image, and often cannot extract sufficiently distinctive feature points, making it impossible to effectively distinguish different palm print images.

[0085] In response to the above problems, an embodiment of the present application provides a palmprint recognition method that can solve the above problems. The palmprint recognition method provided by the embodiment of the present application is described in detail below.

[0086] General description of the embodiments of this application

[0087] According to one embodiment of the present application, a palmprint recognition method is provided.

[0088] The palmprint recognition method refers to a method for extracting palmprint features based on a palm image, thereby determining a palmprint recognition result based on the palmprint features. The palmprint recognition method of the embodiment of the present application can be applied to scenarios requiring high recognition accuracy, such as the mobile payment scenario shown in Figures 2A-C.

[0089] As shown in FIG3 , a palmprint recognition method according to an embodiment of the present application may include:

[0090] Step 310: Acquire a target palm image;

[0091] Step 320: determining a target area in the target palm image, where the target area is an area in the target palm image where the richness of palmprint information meets a preset condition;

[0092] Step 330: Determine multiple target sub-regions in the target region, where the multiple target sub-regions do not overlap with each other.

[0093] Step 340: Determine a second feature of the target region based on the first features of each of the plurality of target sub-regions;

[0094] Step 350: Determine a palmprint recognition result corresponding to the target palm image based on the second feature of the target area.

[0095] Steps 310 - 350 are described in detail below.

[0096] The palmprint recognition method may be executed by an electronic device, specifically, by the target terminal 140 shown in FIG. 1 , or by the server 110 shown in FIG. 1 .

[0097] In step 310, a target palm image is acquired. The target palm image is the palm image that triggers the palmprint recognition service.

[0098] In one embodiment, methods for acquiring the target palm image include but are not limited to the following methods:

[0099] (1) Obtain the target palm image from the image database.

[0100] (2) Start the camera to collect images and obtain the target palm image.

[0101] In method (2), considering that the object W may not necessarily agree to start the camera, in one embodiment, the object needs to choose whether to start the camera.

[0102] The following describes several ways to start the camera in conjunction with Figures 4A-B:

[0103] (1) Referring to FIG. 4A , a “camera start” button is displayed on the interface of the object terminal 140 . After the object W clicks the “camera start” button, the object terminal 140 starts the camera to collect images.

[0104] (2) Referring to FIG4B , a pop-up window is displayed on the interface of the subject terminal 140. The pop-up window includes the message "Do you agree to turn on the camera?" and two controls, "Yes" and "No." After the subject W clicks the "Yes" control, the subject terminal 140 starts the camera to capture images.

[0105] After the camera is started, as shown in FIG4C , the interface of the target terminal 140 displays a prompt pop-up window, the content of which includes “Acquiring the target palm image, please wait…” to remind the target W of the progress of acquiring the palm image.

[0106] 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 determining the target reference point in the target palm image, and then determining the target area in the target palm image based on the target reference point.

[0107] Of course, in practical applications, the target area in the target palm image can also be determined by other means. For example, the target area in the target palm image can be determined by an image processing model for determining the palm print area. The embodiments of the present application do not impose any restrictions on this.

[0108] The target reference points refer to one or more points on the target palm image that can serve as reference points. Specifically, the target reference points are basic reference points in the target palm image used to determine the area with rich palmprint information (i.e., the target area). For example, they can be finger joints. The target palm image is shown in Figure 5A.

[0109] In one embodiment, the target reference point may be determined in the following ways, but is not limited to:

[0110] (1) The detection model detects the intersection point between the finger joints and the palm in the target palm image, and uses the detected intersection point as the target reference point. For example, if the detection model is the Yolov2 model, the intersection point between the middle finger joints and the palm (the intersection point between the finger joints between the middle finger and the ring finger and the palm) can be detected by a Yolov2-based finger joint detector to obtain the target reference point. As shown in FIG5B , the intersection point between the finger joints between the middle finger and the ring finger and the palm is point B, and the target reference point includes point B.

[0111] (2) The detection model detects the intersection points between the three finger joints and the palm in the target palm image, and uses the intersection points between the three finger joints and the palm as target reference points. For example, if the detection model is the Yolov2 model, the intersection points between the three finger joints and the palm (between the index finger and the middle finger, between the middle finger and the ring finger, and between the ring finger and the little finger) can be detected by a Yolov2-based finger joint detector to obtain the target reference points. As shown in FIG5C , the intersection points between the three finger joints and the palm include point A, point B, and point C, and the target reference points include point A, point B, and point C.

[0112] Based on the target reference point, a target area is determined in the target palm image. The target area refers to the area determined on the target palm image based on the target reference point, and the target area includes rich palmprint information, that is, the richness of the palmprint information in the target area meets the preset conditions. The target area is a part of the target palm image, that is, the embodiment of the present application is not based on the entire palm image for recognition, which can save some processing resources and help improve recognition efficiency. Note that the target area is an area that includes rich palmprint information, that is, the target area can represent an area with distinguishability in the palm image, while other areas without distinguishability or areas with less distinguishability are not included in the target area, so palmprint recognition based on the target area can still ensure recognition accuracy. The method for obtaining the target area will be introduced in the detailed description of step 320 below.

[0113] It should be understood that determining the target area for palmprint recognition in the target palm image based on the target reference point can ensure that the determined target area includes rich palmprint information, that is, ensure that the target area is a distinguishable area, which helps to improve the accuracy of palmprint recognition.

[0114] In step 330, multiple target sub-regions are determined within the target region, where the multiple target sub-regions do not overlap. To further improve recognition accuracy, this embodiment of the present application divides the target region into multiple target sub-regions, each of which is a portion of the target region. The multiple target sub-regions may or may not be of the same size. The method for obtaining the multiple target sub-regions will be described in detail in step 330 below.

[0115] In step 340, based on the first features of each of the multiple target sub-regions, the second feature of the target region is determined. The first feature refers to the feature of the target sub-region. One first feature represents one target sub-region and indicates the information contained in the target sub-region it represents. Multiple target sub-regions correspond to multiple first features. The second feature refers to the feature of the target region. One second feature represents the entire target region and indicates the information contained in the entire target region. Compared with the second feature determined directly based on the target region, the second feature determined by the first features of multiple target sub-regions and the second feature obtained by fusing multiple first features can better improve the accuracy of palmprint recognition. The method for obtaining the second feature of the target region will be introduced in the detailed description of step 340 below.

[0116] In step 350, based on the second feature of the target area, a palmprint recognition result is obtained for the target palm image. The palmprint recognition result refers to the output obtained after performing palmprint recognition on the target palm image. For example, the palmprint recognition result is the object corresponding to the target palm image. As shown in FIG2F , the palmprint recognition result includes the object's name and employee number. The method for obtaining the palmprint recognition result is described in detail below in step 350.

[0117] Through the above steps 310-350, the embodiment of the present application samples and learns the first features corresponding to multiple target sub-areas included in the target area in the palm image, so that the second features corresponding to the target area extracted from the target palm image cover multiple positions with high discrimination in the palm, thereby improving the accuracy of palmprint recognition.

[0118] The above is a general description of steps 310-350. The specific implementation process of step 320, step 330, step 340, and step 350 will be described in detail below.

[0119] Detailed description of step 320

[0120] In step 320 , a target area may be acquired in the target palm image based on the target reference point.

[0121] 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. Referring to FIG. 6 , step 330 includes:

[0122] Step 610: Establish a rectangular coordinate system based on a line connecting the first target reference point and the third target reference point, and a straight line perpendicular to the line and passing through the second target reference point.

[0123] Step 620: Determine the center of the target area in a rectangular coordinate system;

[0124] Step 630: Acquire the target area based on the center of the target area.

[0125] Steps 610-630 are described in detail below.

[0126] In step 610, the first target reference point is the intersection point between the index finger and the middle finger and the palm, the second target reference point is the intersection point between the middle finger and the ring finger and the palm, and the third target reference point is the intersection point between the ring finger and the little finger and the palm. For example, referring to Figure 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 between point A and point C can be the horizontal axis X, and the straight line perpendicular to the horizontal axis and passing through point B can be the vertical axis Y. Based on the horizontal axis X and the vertical axis Y, a rectangular coordinate system XY as shown in Figure 7A is established. It should be understood that in actual applications, the line between point A and point C can also be determined as the vertical axis Y, and the straight line perpendicular to the vertical axis and passing through point B can be determined as the horizontal axis X.

[0127] In one embodiment, the second target reference point includes a plurality of second target reference points, and step 610 includes:

[0128] obtaining a second average target reference point based on the plurality of second target reference points, wherein a position of the second average target reference point is an average of positions of the plurality of second target reference points;

[0129] A rectangular coordinate system is established based on a line connecting the first target reference point and the third target reference point, and a straight line perpendicular to the line and passing through the second average target reference point.

[0130] In this embodiment, the position of the second target reference point specifically refers to the position of the second target reference point on the target palm image, which can be expressed as a coordinate position. For example, there are three second target reference points on the target palm image, namely (x1, y1), (x2, y2), and (x2, y3), then 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 rectangular coordinate system XY shown in Figure 7A can be obtained in the same way as the above process of establishing a rectangular coordinate system with only one second target reference point. Since this embodiment determines the second average target reference point based on multiple second target reference points, and then establishes a rectangular coordinate system based on the second average target reference point, the rectangular coordinate system established in this way is more reasonable and accurate.

[0131] Next, in step 620, the target area center refers to the center point of the target area. Referring to FIG7B , there is a point D on the rectangular 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 serves as the target area center.

[0132] Next, in step 630, a target area may be obtained based on point D. The target area may be square or circular, but point D must be ensured to be at the center of the target area.

[0133] The advantage of this embodiment is that by determining the region center based on three target reference points and then acquiring the target area based on the region center, the target area is generated around the region center, making the target area unique. Determining the region center by establishing a rectangular coordinate system can improve the accuracy of the determined region center, thereby improving the accuracy of acquiring the target area. Furthermore, especially when dealing with palm images of different sizes, or palm images of the same size that include palms of different sizes, this embodiment can ensure that the determined target area covers a highly distinguishable location on the palm, providing greater flexibility.

[0134] Different from establishing a rectangular coordinate system to determine the region center in the above embodiment, in another embodiment, the rectangular coordinate system may not be established based on the target reference point, but the region center may be determined by establishing a circumscribed circle based on the target reference point.

[0135] In a specific implementation of this embodiment, a circumscribed circle passing through the first, second, and third target reference points is obtained; the center of the circumscribed circle is obtained, and the center is used as the region center. For example, referring to Figure 8A , a circumscribed circle passing through points A, B, and C is obtained based on these three points. Referring to Figure 8B , the distances between points A, B, and C and point D (point D being the center of the circumscribed circle) are all radius r, and point D is used as the region center.

[0136] The advantage of this embodiment is that the region center is obtained by means of a circumscribed circle, which has low processing load and small computational overhead.

[0137] The above is a general description of steps 610-630. The specific implementation process of steps 620 and 630 will be described in detail below.

[0138] Referring to FIG. 9 , in one embodiment, step 620 includes:

[0139] Step 910: Determine the origin of the rectangular coordinate system;

[0140] Step 920: Determine a first distance between the first target reference point and the third target reference point;

[0141] Step 930: Determine a second distance between the center of the target area and the origin based on the first distance;

[0142] Step 940: Determine the target area center in the rectangular 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 is distributed on both sides of the origin of the second target reference point.

[0143] Steps 910-940 are described in detail below.

[0144] In step 910, the origin refers to the intersection of the horizontal axis and the vertical axis in the rectangular coordinate system. For example, as shown in FIG10A , the intersection of the horizontal axis X and the vertical axis Y is the origin.

[0145] Next, in step 920, the first distance refers to the length of the line segment between the first target reference point and the third target reference point. For example, referring to FIG10B, the length of the line segment between point A and point C is the first distance.

[0146] Next, in step 930, the second distance is the length of the line segment between the center of the target area and the origin. The second distance is generally obtained by multiplying the first distance by the first coefficient. For example, referring to FIG. 10B , the length of the line segment between the origin and point D is the second distance.

[0147] Note that Figure 10B shows point D on the negative side of the Y axis at the second distance from the origin. However, there is actually another point on the positive side of the Y axis at the second distance from the origin, 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 defined to be distributed on both sides of the origin on the axis. For example, referring to Figure 10B again, if point B is on the positive side of the Y axis, then the target area point is on the negative side of the Y axis, that is, point D is the target area center.

[0148] The advantage of this embodiment is that the second distance is determined by the first distance, so that the distance between the center of the target area and the origin is closely related to the distance between the first target reference point and the third target reference point. This determination method can adapt to palm images of various palm sizes and can also quickly locate the center of the target area.

[0149] The above is a general description of steps 910-940. The specific implementation process of step 930 will be described in detail below.

[0150] In one embodiment, the method for determining the second distance in step 930 includes but is not limited to the following situations:

[0151] (1) The first distance is directly used as the second distance.

[0152] (2) Multiplying the first distance by a first coefficient to obtain a second distance, wherein the first coefficient ranges from 0.9 to 1.1.

[0153] The following is an example of a comparative experiment of the palmprint recognition method of an embodiment of the present application with an existing method on a twin dataset:

[0154] Table 1

[0155] As shown in Table 1, forty pairs of palm images of twins were used in this comparative experiment as high-similarity palm image pairs for testing. The left hand / right hand of the same pair of twins was taken as a sample pair, which contained a total of 3,600 sample pairs. Under the premise that the first coefficient is the same, the number of recognized incorrect sample pairs in the embodiment of the present application is less than the number of recognized incorrect sample pairs in the Arcface method, which is the most advanced method among the existing methods. For example, when the first coefficient is 1, the number of recognized incorrect sample pairs in the embodiment of the present application is 0, while the number of recognized incorrect sample pairs in the Arcface method is 40. It can be seen that the recognition accuracy of the embodiment of the present application for high-similarity sample pairs is higher.

[0156] As shown in Table 1, under the premise that the first coefficients are different, the number of recognition error sample pairs in the embodiments of the present application is not the same. When the first coefficient is 0.8, the number of recognition error sample pairs is 17; when the first coefficient is 0.9, the number of recognition error sample pairs is 3; when the first coefficient is 1, the number of recognition error sample pairs is 0; when the first coefficient is 1.1, the number of recognition error sample pairs is 4; when the first coefficient is 1.2, the number of recognition error sample pairs is 15. It can be seen that in order to meet the high requirements of certain application scenarios (such as mobile payment scenarios) for recognition accuracy, the first coefficient can be set to a range of 0.9-1.1, and the preferred first coefficient is 1.

[0157] The above is a detailed description of step 620. The following is a detailed description of the specific implementation process of step 630.

[0158] The present embodiment provides two decomposition methods for step 630. Each decomposition method provides a detailed description of step 630 from a different perspective. The first decomposition method will be described first.

[0159] Referring to FIG. 11 , in one embodiment, the target area is a square, and step 630 includes:

[0160] Step 1110: Determine a third distance based on the first distance.

[0161] Step 1120: Determine a point on the target axis that is a third distance from the center of the target area as a boundary anchor point;

[0162] Step 1130: Determine the target area based on the target area center and the boundary anchor points.

[0163] Steps 1110 - 1130 are described in detail below.

[0164] In step 1110, the first distance represents the length of the line segment between the first target reference point and the third target reference point. Therefore, the third distance is closely related to the positions of the first target reference point and the third target reference point. For example, referring to FIG12A , the length of the line segment between point A and point C is the first distance. The third distance is then obtained by multiplying the first distance by the second coefficient.

[0165] Next, in step 1120, the boundary anchor point refers to the point through which the boundary of the target area passes. For example, referring to Figure 12A , there is a point E on the Y-axis. The length of the line segment between point E and point D is the third distance, so point E is determined to be the boundary anchor point. Note that Figure 12A shows point E located on the positive side of the center of the target area, but in reality, point E can also be located on the negative side of the center of the target area.

[0166] Then, in step 1130, the center of the target area is taken as the center point of the target area, and the distance between the center of the target area and the boundary anchor point can be used to determine the side length of the square. Then, based on the center point, the side length of the square and the boundary anchor point, a target area with a square shape can be determined. Referring to Figure 12B, as shown in Figure 12B, the area within the dotted box on the target palm image is the target area, and the shape of the dotted box is a square, so the shape of the target area is a square. Referring to Figure 12C, Figure 12C shows a complete target area. Note that the target area shown in Figure 12C is the same as the area within the dotted box in Figure 12B, except that the palm lines in the target area are specifically shown in Figure 12C, while the palm lines in Figure 12B are omitted. Similarly, in other palm images shown in the embodiments of the present application, the palm lines of some palm images are also omitted, but in fact, similar to Figure 12C, there are palm lines in the palm areas of the palm images.

[0167] The advantage of this embodiment is that by determining the third distance through the first distance, and then determining the boundary anchor point through the third distance, the side length 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, which can ensure the uniqueness of the target area. In addition, in addition to ensuring that the target area contains a palm area with high discrimination, the possibility of the target area containing a palm area with low discrimination can be reduced. In this way, not only can the flexibility of generating the target area be improved, but also the processing resources for the target area can be saved, further improving the efficiency of palmprint recognition.

[0168] The above is a general description of steps 1110-1130. The specific implementation process of step 1110 will be described in detail below.

[0169] In one embodiment, the method for determining the third distance in step 1110 includes but is not limited to the following situations:

[0170] (1) The first distance is directly used as the third distance.

[0171] (2) Multiplying the first distance by the second coefficient to obtain a third distance, wherein the second coefficient ranges from 0.65 to 0.85.

[0172] The following is an example of a comparative experiment of the palmprint recognition method of an embodiment of the present application with an existing method on a twin dataset:

[0173] Table 2

[0174] As shown in Table 2, forty pairs of palm images of twins were used in this comparative experiment as high-similarity palm image pairs for testing. The left hand / right hand of the same pair of twins was taken as a sample pair, which contained a total of 3,600 sample pairs. Under the premise that the second coefficient is the same, the number of sample pairs with errors in recognition in the embodiment of the present application is less than the number of sample pairs with errors in recognition in the Arcface method. For example, when the second coefficient is 0.75, the number of sample pairs with errors in recognition in the embodiment of the present application is 0, while the number of sample pairs with errors in recognition in the Arcface method is 37. It can be seen that the recognition accuracy of the sample pairs with high similarity in the embodiment of the present application is higher.

[0175] As shown in Table 2, under the premise that the second coefficients are different, the number of recognition error sample pairs in the embodiments of the present application is not the same. When the second coefficient is 0.55, the number of recognition error sample pairs is 13; when the second coefficient is 0.65, the number of recognition error sample pairs is 3; when the second coefficient is 0.75, the number of recognition error sample pairs is 0; when the second coefficient is 0.85, the number of recognition error sample pairs is 2; when the second coefficient is 0.95, the number of recognition error sample pairs is 17. It can be seen that in order to meet the high requirements of certain application scenarios (such as mobile payment scenarios) for recognition accuracy, the second coefficient can be set to a range of 0.65-0.85, and the preferred second coefficient is 0.75.

[0176] The above is a detailed description of the first decomposition method of step 630. The second decomposition method is described below.

[0177] Referring to FIG. 13 , in one embodiment, the target area is a square, and step 630 includes:

[0178] Step 1310: Determine the side length of the square based on the first distance;

[0179] Step 1320: Determine the target area based on the center of the target area and the side length of the square.

[0180] Steps 1310 - 1320 are described in detail below.

[0181] 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. Therefore, the side length of the square is closely related to the positions of the first target reference point and the third target reference point. For example, referring to FIG14A , the length of the line segment between point A and point C is the first distance, and the side length of the square can be determined based on the first distance.

[0182] In step 1320, the target region is generated by using the target region center as the target region center and the square side length as the target region side length. Referring to FIG. 14B , FIG. 14B illustrates a target region that is perpendicular or parallel to the coordinate axis of the rectangular coordinate system (the target region is represented by a black thick dashed line frame). Referring to FIG. 14C , FIG. 14C illustrates a target region that is not perpendicular or parallel to the coordinate axis of the rectangular coordinate system (the target region is represented by a black thick dashed line frame).

[0183] The advantage of this embodiment is that the side length of the square is determined by the first distance, so that the side length of the target area is closely related to the first target reference point and the third target reference point, but does not limit the coverage range of the target area.

[0184] Note that, in the above embodiment, the target area is defined as a square, but in another embodiment, the target area may be a circle.

[0185] In the specific implementation of this embodiment, step 630 includes:

[0186] determining a circle radius based on the first distance;

[0187] Generate a target area based on the target area center and the circle radius.

[0188] For example, referring to Figure 14D, the circular radius is R, and R can be equal to the first distance * radius coefficient, and the radius coefficient can be set as needed. As shown in Figure 14D, with the center of the target area as the center of the circle and R as the radius, a target area can be generated on the target palm image (the target area is represented by a black thick dotted box). Referring to Figure 14E, Figure 14E shows a complete target area. Note that the target area shown in Figure 14E is the same as the area in the dotted box of Figure 14D, except that the palm lines in the target area are specifically shown in Figure 14E, while the palm lines in Figure 14D are omitted.

[0189] The benefit of this embodiment is similar to steps 1310-1330, except that one target area is circular and the other is square. Since determining a circular area only requires determining the center and radius, processing overhead is reduced and processing efficiency is improved.

[0190] The above is a general description of steps 1310-1330. The specific implementation process of step 1310 will be described in detail below.

[0191] In one embodiment, the method for determining the side length of the square in step 1310 includes but is not limited to the following situations:

[0192] (1) The first distance is directly used as the side length of the square.

[0193] (2) Multiplying the first distance by the third coefficient to obtain the side length of the square, wherein the third coefficient ranges from 1.3 to 1.7.

[0194] The following is an example of a comparative experiment of the palmprint recognition method of an embodiment of the present application with an existing method on a twin dataset:

[0195] Table 3

[0196] As shown in Table 3, forty pairs of palm images of twins were used in this comparative experiment as high-similarity palm image pairs for testing. The left hand / right hand of the same pair of twins was taken as a sample pair, which contained a total of 3,600 sample pairs. Under the premise that the third coefficient is the same, the number of sample pairs with errors in recognition in the embodiment of the present application is less than the number of sample pairs with errors in recognition in the Arcface method. For example, when the second coefficient is 1.5, the number of sample pairs with errors in recognition in the embodiment of the present application is 0, while the number of sample pairs with errors in recognition in the Arcface method is 38. It can be seen that the recognition accuracy of the sample pairs with high similarity in the embodiment of the present application is higher.

[0197] As shown in Table 3, under the premise that the third coefficient is different, the number of recognition error sample pairs in the embodiments of the present application is not the same. When the third coefficient is 1.1, the number of recognition error sample pairs is 19; when the third coefficient is 1.3, the number of recognition error sample pairs is 4; when the third coefficient is 1.5, the number of recognition error sample pairs is 0; when the third coefficient is 1.7, the number of recognition error sample pairs is 3; when the third coefficient is 1.9, the number of recognition error sample pairs is 21. It can be seen that in order to meet the high requirements of recognition accuracy in certain application scenarios (such as mobile payment scenarios), the third coefficient can be set to a range of 1.3-1.7, and the preferred third coefficient is 1.5.

[0198] It should be noted that, by comparing Table 3 with Table 2, it can be found that when the third coefficient is twice the second coefficient, the target area generated in steps 1110-1130 and the target area generated in steps 1310-1320 are equal in side length and are both square. However, the number of erroneous sample pairs in the embodiment of steps 1110-1130 is less than that in the embodiment of steps 1310-1320. For example, when the second coefficient is 0.65 and the third coefficient is 1.3, the number of erroneous sample pairs in the embodiment of steps 1110-1130 is 3, while the number of erroneous sample pairs in the embodiment of steps 1310-1320 is 4. For another example, when the second coefficient is 0.85 and the third coefficient is 1.7, the number of erroneous sample pairs in the embodiment of steps 1110-1130 is 2, while the number of erroneous sample pairs in the embodiment of steps 1310-1320 is 3. This is because, when generating the target area through steps 1310-1330, the boundary anchor point is first 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 center of the target area. This generation method can reduce the uncertainty when generating the target area, thereby helping to improve the recognition accuracy.

[0199] The above is a detailed description of step 320 .

[0200] Detailed description of step 330

[0201] In step 330 , a plurality of target sub-regions are determined in the target region, and the plurality of target sub-regions do not overlap with each other.

[0202] Regarding the decomposition of step 330, the present embodiment provides two specific implementations. Each specific implementation provides a detailed description of step 330 from a different perspective. The first specific implementation will be described first.

[0203] 15 , in one embodiment, the plurality of target sub-regions are a first number of target sub-regions, and step 330 includes:

[0204] Step 1510: Divide the target area into a first number of partitions;

[0205] Step 1520: In each partition, determine a target sub-region, wherein the boundary of the target sub-region is within the boundary of the partition.

[0206] Steps 1510-1520 are described in detail below.

[0207] In step 1510, a partition refers to a part of the target area, and the partitions do not overlap with each other. The first number is an integer greater than 1. Dividing the target area into the first number of partitions is equivalent to dividing the target area into the first number of parts, each part being a partition. The first number can be set according to actual needs. For example, referring to Figure 16, the first number is 6, and the target area is divided into 6 partitions, including partition 1, partition 2, partition 3, partition 4, partition 5, and partition 6. As shown in Figure 16, the target area is divided into 6 partitions on average. Note that the sizes of the partitions shown in Figure 16 are the same, but in other embodiments, the sizes of the partitions may also be different.

[0208] In step 1520, a target sub-region is determined in each partition, and the boundary of the target sub-region is located within the boundary of the partition. In this way, since the partitions do not overlap with each other, the generated target sub-regions do not overlap with each other.

[0209] In one example, referring to FIG16 , target sub-region 1 is determined in partition 1, target sub-region 2 is determined in partition 2, target sub-region 3 is determined in partition 3, target sub-region 4 is determined in partition 4, target sub-region 5 is determined in partition 5, and target sub-region 6 is determined in partition 6. Note that FIG16 shows each target sub-region having the same size as the corresponding partition (e.g., the size of target sub-region 1 is the same as the size of partition 1), but in other embodiments, the sizes of the target sub-regions and the corresponding partitions may be different.

[0210] The advantage of this embodiment is that the target area is first partitioned and then target sub-areas are generated based on the partitions. This allows for rapid generation of multiple target sub-areas and ensures that the multiple target sub-areas do not overlap, resulting in high generation efficiency.

[0211] The above is a general description of steps 1510-1520. The specific implementation process of step 1510 will be described in detail below.

[0212] In one embodiment, the first number in step 1510 is determined by:

[0213] Get the resolution of the target palm image;

[0214] Obtain the accuracy of palmprint recognition;

[0215] Based on the resolution and the accuracy, a first number is determined.

[0216] In one embodiment, the resolution of the target palm image is obtained in the following ways, but is not limited to:

[0217] (1) Calculate the horizontal resolution and vertical resolution of the target palm image, and obtain the target palm image resolution based on the horizontal resolution and vertical resolution. For example, if the horizontal resolution is 310 pixels and the vertical resolution is 460 pixels, the resolution is 310×460 pixels.

[0218] (2) Get the size of the target palm image and use it as the resolution. For example, if the size of the target palm image is 3840×2400, the resolution is 3840×2400 pixels.

[0219] In addition to determining resolution, palmprint recognition accuracy is also important. This accuracy represents the required accuracy of the palmprint recognition results, and can be set based on actual needs. In scenarios where high accuracy is required, the accuracy is also relatively high. For example, in mobile payment scenarios, where accuracy is extremely high, the palmprint recognition accuracy is set relatively high. Alternatively, in clocking in and out scenarios, where accuracy is moderate, the palmprint recognition accuracy can be set relatively low.

[0220] After determining the resolution and accuracy, the first number can be determined. Specifically, higher resolution means clearer pixels, and the target sub-region does not need to have too many pixels, so the first number can be set to a larger value. Lower resolution means blurrier pixels, and the target sub-region needs to be larger, so the first number can be set to a smaller value. Furthermore, higher accuracy requires more target sub-regions, so the first number can be set to a larger value.

[0221] The advantage of this embodiment is that the first number is determined jointly by resolution and precision, and a more comprehensive set of factors is considered, thereby improving the rationality of the number of target sub-regions and thus improving the accuracy of palmprint recognition.

[0222] In one embodiment, determining the first number based on the resolution and the accuracy includes:

[0223] Based on the resolution, determining a first score;

[0224] Based on the accuracy, determining a second score;

[0225] determining a total score based on the first score and the second score;

[0226] Based on the total score, a first number is determined.

[0227] The first score is determined based on the resolution. This can be done by querying a table comparing resolutions to first scores, or by using a formula.

[0228] (1) The resolution and first score comparison table lists the correspondence 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 and vertical resolutions belongs is determined. Then, the first score can be obtained by searching the resolution range and first score comparison table based on this. Table 4 below is an example of a resolution range and first score comparison table:

[0229] Table 4

[0230] For example, the resolution of the target palm image is 800×600 pixels, and the product of 800 and 600 is 480,000 pixels. By looking up Table 4, the corresponding first score is 70.

[0231] The above method of searching the table comparing the resolution range and the first score has the advantages of being simple and easy to implement with low processing overhead.

[0232] (2) When the formula method is used, the first fraction can be set to be proportional to the resolution, for example: Q1 = K1·G1 Formula 1

[0233] Where Q1 represents the first fraction, G1 represents the product of horizontal resolution and vertical resolution, and K1 is a preset constant that can be set according to actual needs. For example, if K1 = 35 / 24, substituting G1 = 48, the first fraction Q1 = 70.

[0234] The advantages of the above method of determining the first score by using a formula are high accuracy, and the formula can be adjusted as needed, which is highly flexible.

[0235] The second score is determined based on the accuracy. This can be done by looking up a table comparing the accuracy and the second score, or by using a formula.

[0236] (1) The accuracy and second score comparison table lists the correspondence between the accuracy range and the second score. First determine the accuracy range to which the accuracy belongs, and then search the accuracy range and second score comparison table based on this to obtain the second score. Table 5 below is an example of an accuracy range and second score comparison table:

[0237] Table 5

[0238] For example, the accuracy of palmprint recognition is 92%. By looking up Table 5, the corresponding second score is 90.

[0239] The advantage of the above-mentioned method of searching the accuracy range and the second score comparison table is that it is simple and easy to implement and has low processing overhead.

[0240] (2) When using the formula method, the second fraction can be set to be proportional to the accuracy, for example: Q2 = K2·G2 Formula 2

[0241] Where Q2 represents the second fraction, G2 represents the precision, and K2 is a preset constant that can be set according to actual needs. For example, if K2 = 45 / 46, substituting G2 = 92, the second fraction Q2 = 90.

[0242] The advantages of the above method of determining the second score by using a formula are high accuracy, and the formula can be adjusted as needed, which is highly flexible.

[0243] The total score is determined based on the first score and the second score, and an average or weighted average of the first score and the second score can be calculated.

[0244] When calculating the average of the first and second scores as the total score, for example, if the first score of the target palm image is 70 and the second score is 90, the total score is (70 + 90) / 2 = 80. The advantage of using the average to calculate the total score is that it can equally reflect the impact of resolution and accuracy on the first score.

[0245] When calculating the total score as the weighted average of the first and second scores, for example, if the weights for the first score determined by resolution and the second score determined by accuracy are set to 0.6 and 0.4, respectively, and the first score of the target palm image is 70 and the second score is 90, then the total score is 70 × 0.6 + 90 × 0.4 = 78. The advantage of using the weighted average to calculate the total score is that different weights can be set for resolution and accuracy, which increases the flexibility of determining the first score.

[0246] Based on the total score, the first number can be determined by looking up a comparison table between the total score and the first number, or by using a formula method, etc.

[0247] (1) According to the total score, the first number can be obtained by searching the total score and first number comparison table (the total score and first number comparison table lists the correspondence between the total score and the predetermined order). The following Table 6 is an example of a total score and first number comparison table:

[0248] Table 6

[0249] Assuming that the total score of the target palm image is 80, look up Table 6 and obtain the corresponding first number as 9.

[0250] The above method of searching the comparison table of total scores and the first number has the advantages of being simple and easy to implement with low processing overhead.

[0251] (2) When the formula method is used, the first number can be set to be proportional to the total score, for example: T = K3·Q3 Formula 3

[0252] Wherein, T represents the first number, Q3 represents the total score, and K3 is a preset constant that can be set according to actual needs. For example, K3 = 9 / 80, after substituting Q3 = 80, T = 9.

[0253] The advantages of the above method of determining the order by formula are high accuracy, and the formula can be adjusted as needed, which is highly flexible.

[0254] The advantage of this embodiment is that by separately calculating the first fraction corresponding to the resolution and the second fraction corresponding to the accuracy and then determining the first number, the flexibility and accuracy of determining the first number can be improved.

[0255] The above is a detailed description of the first specific implementation of step 330. The following is a detailed description of the second specific implementation.

[0256] 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:

[0257] Step 1710: Set the acquired target sub-region set, which is initially an empty set.

[0258] Step 1720: Execute the first process.

[0259] Steps 1710-1720 are described in detail below.

[0260] In step 1710, the acquired target sub-region set refers to a pre-configured storage container for storing data related to the target sub-region. The acquired target sub-region set is initially empty. Note that the acquired target sub-region set may store data related to multiple target sub-regions, but these multiple target sub-regions do not overlap.

[0261] At step 1720, the first process needs to be executed in a loop to store data related to the second number of target sub-regions in the acquired target sub-region set. The first process includes: selecting a target sub-region base point in an area of ​​the target region that is not covered by any target sub-region in the acquired target sub-region set; obtaining a first length and a second length; determining the target sub-region based on the target sub-region base point, using the first length as the length of the target sub-region and the second length as the width of the target sub-region; if the determined target sub-region does not overlap with any target sub-region in the acquired target sub-region set, adding the target sub-region to the acquired target sub-region set; otherwise, deleting the target sub-region; and repeating the first process until the number of target sub-regions in the acquired target sub-region set reaches the second number.

[0262] The first process is described in detail below with reference to FIG18A and FIG18B. Repeating the first process specifically includes:

[0263] (1) Referring to FIG18A , since the acquired target sub-region set is initially empty, a target sub-region base point, such as point S1, can be arbitrarily selected in the target region. A first length and a second length are obtained, and a target sub-region is determined based on point S1, the first length, and the second length. Since the acquired target sub-region set is empty at this time, the target sub-region does not overlap with any target sub-region in the acquired target sub-region set. Therefore, the target sub-region is regarded as acquired target sub-region 1 and added to the acquired target sub-region set. At this time, the acquired target sub-region set stores relevant data of acquired target sub-region 1, such as data indicating the location of target sub-region 1.

[0264] (2) Referring to FIG18B , within the target region, within the range not covered by the acquired target subregion 1, a target subregion base point, such as point S2, is selected; the first length and the second length are obtained, and a target subregion is determined based on point S2, the first length, and the second length; the target subregion determined based on point S2 overlaps with the acquired target subregion 1 (as shown by the black oblique line between the two rectangular boxes in FIG18B ), so the target subregion determined based on point S2 is deleted. At this point, the acquired target subregion set still only stores the relevant data of the acquired target subregion 1.

[0265] (3) Continuing with FIG18B , within the target region, within the range not covered by the acquired target subregion 1, a target subregion base point, such as point S3, is selected; a first length and a second length are obtained, and a target subregion is determined based on point S3, the first length, and the second length; this target subregion does not overlap with the acquired target subregion 1, so the target subregion determined based on point S3 is taken as the acquired target subregion 2 and added to the acquired target subregion set. At this point, the acquired target subregion set stores the relevant data of each of the acquired target subregion 1 and the acquired target subregion 2. If the second number is 2, then the number of acquired target subregions in the acquired target subregion set reaches the second number, and the first process can be exited.

[0266] The advantage of this embodiment is that by setting a set of acquired target sub-regions, each time a target sub-region is determined, it can be compared with the acquired target sub-regions, and then whether to retain the target sub-region is selected based on the comparison result, thereby ensuring that the acquired target sub-regions do not overlap with each other and improving the acquisition efficiency.

[0267] Referring to FIG. 19 , in one embodiment, obtaining the first length and the second length in the first process includes:

[0268] Step 1910: Obtain the side length of the target area;

[0269] Step 1920: Determine a first threshold based on the side length and the first ratio;

[0270] Step 1930: Randomly generate a first length and a second length so that both the first length and the second length are smaller than a first threshold.

[0271] Steps 1910-1930 are described in detail below.

[0272] In step 1910, the side length refers to the length of the boundary of the target area. If the target area is rectangular, the side length can be the length or width of the rectangle. If the target area is circular, the side length refers to the diameter of the target area.

[0273] In step 1920, the side length and the first ratio may be multiplied 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.

[0274] At step 1930, a first length and a second length may be generated based on a random function, but 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 are randomly generated. Since the first length is greater than the first threshold, the first length is deleted. A first length of 3 is randomly generated. Since both the first length and the second length are less than the first threshold, the first length is 3 and the second length is 2.

[0275] The advantage of this embodiment is that, by limiting the first length and the second length, it can be ensured that a second number of target sub-regions can be generated on the target region during the execution of the first process.

[0276] In one embodiment, the first ratio in step 1920 ranges from 1 / 4 to 5 / 12, and preferably is 1 / 3. Table 7 below is an example of a comparative experiment of the palmprint recognition method of an embodiment of the present application with an existing method on a twin dataset:

[0277] Table 7

[0278] As shown in Table 7, forty pairs of palm images of twins were used in this comparative experiment as high-similarity palm image pairs for testing. The left hand / right hand of the same pair of twins was used as a sample pair, which contained a total of 3,600 sample pairs. Under the premise that the first ratio is the same, the number of sample pairs with errors in recognition in the embodiment of the present application is less than the number of sample pairs with errors in recognition in the Arcface method. For example, when the first ratio is 1 / 3, the number of sample pairs with errors in recognition in the embodiment of the present application is 0, while the number of sample pairs with errors in recognition in the Arcface method is 30. It can be seen that the recognition accuracy of the sample pairs with high similarity in the embodiment of the present application is higher.

[0279] As shown in Table 7, under the premise that the first ratios are different, the number of recognition error sample pairs in the embodiments of the present application is not the same. When the first ratio is 1 / 6, the number of recognition error sample pairs is 22; when the first ratio is 1 / 4, the number of recognition error sample pairs is 5; when the first ratio is 1 / 3, the number of recognition error sample pairs is 0; when the first ratio is 5 / 12, the number of recognition error sample pairs is 6; when the first ratio is 1 / 2, the number of recognition error sample pairs is 28. It can be seen that in order to meet the high requirements of certain application scenarios (such as mobile payment scenarios) for recognition accuracy, the first ratio can be set to a range of 1 / 4 to 5 / 12, and the preferred first ratio is 1 / 3.

[0280] The above is a detailed description of step 330 .

[0281] Detailed description of step 340

[0282] In step 340 , a second feature of the target region is determined based on the first features of each of the plurality of target sub-regions.

[0283] Referring to FIG. 20 , in one embodiment, step 340 includes:

[0284] Step 2010: transform the multiple target sub-regions into multiple standard target sub-regions of the same size;

[0285] Step 2020: Determine the second feature of the target region based on the first features of the multiple standard target sub-regions.

[0286] Steps 2010-2020 are described in detail below.

[0287] In step 2010, since the sizes of the multiple target sub-regions are not necessarily the same, but extracting the first feature from target sub-regions of different sizes may bring certain uncertainties, it is necessary to perform size transformation to transform the multiple target sub-regions into the same size to obtain standardized target sub-regions.

[0288] For example, refer to Figure 21, which shows the size transformation process of two target sub-areas of different sizes. As shown in Figure 21, the sizes of target sub-area 1 and target sub-area 2 are different, and the size of target sub-area 1 is larger than that of target sub-area 2. For ease of understanding, target sub-area 1 is represented as 3×3 pixels, and the numbers 1-9 are used to represent the individual pixel points in target sub-area 1, and target sub-area 2 is represented as 2×2 pixels, and the numbers 10-13 are used to represent the individual pixel points in target sub-area 2. Note that pixel points 1-13 are used as pixel point examples and do not represent the actual pixel value size. It can be seen that the size of target sub-area 1 is represented as 3×3, and the size of target sub-area 2 is represented as 2×2.

[0289] Continuing with Figure 21, assuming the standard target size is 6×6, each pixel in target sub-region 1 is magnified by 4 times, resulting in a standard target sub-region size of 6×6. Each pixel in target sub-region 2 is magnified by 9 times, resulting in a standard target sub-region size of 6×6. Note that the magnification factor is related to the target size and the size of the target sub-region.

[0290] It should be noted that the nearest neighbor interpolation method is used in FIG21, so each pixel is uniformly magnified several times. However, in other embodiments, other magnification methods may be used, such as bilinear interpolation.

[0291] After obtaining the plurality of standard target sub-regions, in step 2020 , the second feature of the target region is determined based on the first features of each of the plurality of standard target sub-regions.

[0292] 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 can reduce the uncertainty of feature extraction, thereby helping to improve the efficiency of feature extraction and the accuracy of palmprint recognition.

[0293] The above is a general description of steps 2010-2020. The specific implementation process of step 2020 will be described in detail below.

[0294] Referring to FIG. 22 , in one embodiment, step 2020 includes:

[0295] Step 2210: Perform projection convolution on the multiple standard target sub-regions to obtain the first features of the multiple standard target sub-regions;

[0296] Step 2220: Encode the positions of the multiple target sub-regions within the target region to obtain position codes of the multiple standard target sub-regions;

[0297] Step 2230: merge the position code of the canonical target sub-region into the first feature of the canonical target sub-region, convolve the merged first feature of the canonical target sub-region, serialize the convolution result, and splice multiple serialization results to obtain the second feature of the target region.

[0298] Steps 2210-2230 are described in detail below.

[0299] In step 2210, projection convolution is to reduce the dimensionality of the input canonical target sub-region using a fixed convolution block. A convolution block refers to a module that performs convolution calculations. Each convolution block (also known as a convolution block) contains a convolution layer, a normalization layer (also known as 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 performs projection convolution on the input canonical target sub-region. For example, the projection convolution model can contain two convolution blocks. The projection convolution model will be described in detail below.

[0300] In one example, referring to FIG23 , the target area is evenly divided into 6 target sub-areas, and the sizes of these 6 target sub-areas are normalized to obtain 6 corresponding standard target sub-areas, namely standard target sub-area 1, standard target sub-area 2, standard target sub-area 3, standard target sub-area 4, standard target sub-area 5, and standard target sub-area 6. These 6 standard target sub-areas are input into the projection convolution model, and 6 first features can be obtained. Specifically, the projection convolution model can output the first feature 1 according to the input standard target sub-area 1, can output the first feature 2 according to the input standard target sub-area 2, can output the first feature 3 according to the input standard target sub-area 3, can output the first feature 4 according to the input standard target sub-area 4, can output the first feature 5 according to the input standard target sub-area 5, and can output the first feature 6 according to the input standard target sub-area 6.

[0301] In step 2220, the positions of the multiple target sub-regions in the target region are encoded, and a position code (Position Embedding) is assigned to each standard target sub-region for feature representation of the position information of different input channels. This position code will be spliced ​​with the first feature of each channel as a supplementary feature. For multiple standard target sub-regions, the position of the standard target sub-region in the target region is very important, which will affect the arrangement and combination between the various standard target sub-regions. That is, the position code can not only represent the position of a standard target sub-region in the target region, but also represent its positional relationship with other target sub-regions.

[0302] For example, referring to Figure 23, the positions of the standard target sub-regions 1-6 in the target area are upper left, upper middle, upper right, lower left, lower middle, and lower right, respectively. If these positions are assigned a position code from 1 to N, then the position code 1 of the standard target sub-region 1 is 111, the position code 2 of the standard target sub-region 2 is 112, the position code 3 of the standard target sub-region 3 is 113, the position code 4 of the standard target sub-region 4 is 114, the position code 5 of the standard target sub-region 5 is 115, and the position code 6 of the standard target sub-region 6 is 116. In this way, based on the 6 first features and the 6 position codes, it can be known that the first feature 1 is in the upper left position of the target area, and the adjacent first features are the first feature 2 and the first feature 4. Similarly, the positional relationship between the other first features can be directly known through the position code.

[0303] In step 2230, the position code of the canonical target subregion is first merged into the first feature of the canonical target subregion. For example, referring to Figure 23, position code 1 is merged into first feature 1 to obtain a1. Similarly, a2 is obtained based on position code 2 and first feature 2, a3 is obtained based on position code 3 and first feature 3, a4 is obtained based on position code 4 and first feature 4, a5 is obtained based on position code 5 and first feature 5, and a6 is obtained based on position code 6 and first feature 6.

[0304] Next, after obtaining the first features of the merged canonical target sub-regions, convolution is performed on the first features of the merged canonical target sub-regions. Continuing with FIG. 23 , the first features a1-a6 of the merged canonical target sub-regions can be input into the convolutional coding model, which then convolves a1-a6 separately to obtain six convolution results.

[0305] Next, the convolution results are serialized, and multiple serialized results are spliced ​​together to obtain the second feature of the target area. Serialization refers to the process of converting multidimensional input into one dimension. Continuing with Figure 23, the serialization layer (also known as the Flatten layer) serializes the six convolution results separately to obtain serialized results F1-F6. The serialized results F1-F6 are spliced ​​together in sequence according to the channel dimension to obtain the second feature of the target area. Note that a linear head is also shown in Figure 23. The main purpose of the linear head is to make the second sub-feature obtained after serialization more linear.

[0306] The advantage of this embodiment is that the second feature of the target area is determined jointly by the first features and position codes of the multiple target sub-areas, and the factors considered are relatively comprehensive. This can alleviate the problem of unstable palmprint recognition caused by the uncertainty of the number and size of the target sub-areas, and also improve the accuracy of palmprint recognition.

[0307] The above is a general description of steps 2210-2230. The specific implementation process of steps 2210 and 2230 will be described in detail below.

[0308] In one embodiment, step 2210 includes: inputting multiple standard target sub-regions into a projection convolution model to obtain first features of the multiple standard target sub-regions, the projection convolution model includes a convolution layer, a normalization layer and an activation layer; wherein the convolution layer is used to perform convolution operations on the 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 matrices of the multiple standard target sub-regions to obtain first features of the multiple standard target sub-regions.

[0309] For example, referring to Figure 24 , the projected convolution model shown in Figure 24 includes a convolution layer 2410, a normalization layer 2420, and an activation layer 2430. Convolution layer 2410 has a weight matrix (convolution kernel). It uses convolution and sum to convolve the pixel matrix of the input canonical target subregion to obtain a convolution matrix, which serves as the input to normalization layer 2420. Normalization layer 2420 is used to normalize the input convolution matrix for output to activation layer 2430. Generally speaking, model inputs are typically normalized to ensure that they follow a normal distribution with a mean of u and a variance of h, which accelerates model convergence. However, after convolution layer 2410 convolves this input, the resulting convolution result may not conform to this normal distribution. The role of normalization layer 2420 is to restore the convolution result to a normal distribution so that it will not cause gradient vanishing when input to activation layer 2430.

[0310] Activation layer 2430 is a module composed of an activation function, such as the Relu activation function. The convolution operation of convolution layer 2410 is essentially a linear operation. To balance computational simplicity and model flexibility, the model uses a linear operation in the convolution layer and a nonlinear transformation in the activation layer. Relu is a piecewise linear function that directly outputs a positive input and zeros the output otherwise. This design makes the model easier to train and generally results in better performance.

[0311] The advantages of the model structure of FIG. 24 in this embodiment are that, by providing convolutional layer 2410, convolutional dimensionality reduction is achieved for the standardized target subregion, thereby improving the accuracy of model processing. Furthermore, the provision of normalization layer 2420 alleviates the model's vanishing gradient problem, and the provision of activation layer 2430 enables the model to adapt to complex nonlinear decision making.

[0312] The above is a detailed description of step 2210. The following is a detailed description of step 2230.

[0313] In one embodiment, step 2230 includes: inputting the first feature of the merged canonical target sub-region into a convolutional coding model, and convolving the first feature of the merged canonical target sub-region by the convolutional coding model, and the convolutional coding model includes a first matrix, a second matrix and a third matrix.

[0314] In the specific implementation of this embodiment, referring to FIG. 25 , step 2230 specifically includes:

[0315] Step 2510: Taking multiple standard target sub-regions as current standard target sub-regions in turn;

[0316] Step 2520: Using the first matrix in the convolutional coding model, convolve the first feature of the current standard target sub-region to obtain a first reference value of the current standard target sub-region;

[0317] Step 2530: Using the second matrix in the convolutional coding model, convolve the first features of the multiple standard target sub-regions to obtain second reference values ​​corresponding to the multiple standard target sub-regions;

[0318] Step 2540: Perform a normalized exponential 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 to the current standard target sub-region;

[0319] Step 2550: Using the third matrix in the convolutional coding model, convolve the first features of the multiple standard target sub-regions to obtain third reference values ​​corresponding to the multiple standard target sub-regions;

[0320] Step 2560: Use the attention weight to perform weighted sum on multiple third reference values ​​to obtain the convolution result of the current standard target sub-region.

[0321] Steps 2510-2560 are described in detail below.

[0322] In step 2510, since the convolutional coding model receives the first features of the multiple merged canonical target sub-regions as input, and the convolutional coding model needs to perform convolution on the first features of each merged canonical target sub-region, the multiple canonical target sub-regions are rotated as the current canonical target sub-region. For example, referring to FIG23 , there are six canonical target sub-regions, i.e., canonical target sub-regions 1-6. Therefore, canonical target sub-regions 1-6 are rotated as the current canonical target sub-region.

[0323] In step 2520, the first matrix in the convolutional coding model refers to a table of m1 rows and n1 columns of m1*n1 numbers, which is used to convolve the first feature of the current standard target sub-region. For example, qi=Wq*ai, i∈(1,n). Referring to Figure 26A, for the current standard target sub-region 1, the first matrix Wq is multiplied by the first feature a1 of the current standard target sub-region 1 to obtain the first reference value q1. Similarly, the first matrix Wq is multiplied by the first feature a2 of the current standard target sub-region 2 to obtain the first reference value q2, the first matrix Wq is multiplied by the first feature a3 of the current standard target sub-region 3 to obtain the first reference value q3, the first matrix Wq is multiplied by the first feature a4 of the current standard target sub-region 4 to obtain the first reference value q4, the first matrix Wq is multiplied by the first feature a5 of the current standard target sub-region 5 to obtain the first reference value q5, and the first matrix Wq is multiplied by the first feature a6 of the current standard target sub-region 6 to obtain the first reference value q6.

[0324] In step 2530, the second matrix refers to a table of m2 rows and n2 columns consisting of m2*n2 numbers, which is used to convolve the first features of multiple standard target sub-regions. For example, ki=Wk*ai, i∈(1,n). Referring to Figure 26B, for standard target sub-region 1, the second matrix Wk is multiplied by the first feature a1 of standard target sub-region 1 to obtain a second reference value k1. Similarly, the second matrix Wk is multiplied by the first feature a2 of standard target sub-region 2 to obtain a second reference value k2, the second matrix Wk is multiplied by the first feature a3 of standard target sub-region 3 to obtain a second reference value k3, the second matrix Wk is multiplied by the first feature a4 of standard target sub-region 4 to obtain a second reference value k4, the second matrix Wk is multiplied by the first feature a5 of standard target sub-region 5 to obtain a second reference value k5, and the second matrix Wk is multiplied by the first feature a6 of standard target sub-region 6 to obtain a second reference value k6.

[0325] In step 2540, the product of the first reference value and the multiple second reference values ​​is subjected to normalized exponential operation to obtain the attention weights of the multiple standard target sub-regions to the current standard target sub-region. For example, qi is multiplied by k1, k2, ..., kn respectively to obtain z i1 ,z i2 ,…,z in , and then perform normalized exponential operation to obtain the attention weight z i1 T ,z i2 T ,…,z in T 26C, in step 2510, the standard target sub-region 1 is used as the current standard sub-region, and the first reference value is q1. Then, the first reference value q1 is multiplied by the second reference values ​​k1-k6 respectively to obtain the product result z 11 , z 12 , z 13 , z 14 , z 15 , z 16 . 11 , z 12 , z 13 , z 14 , z 15 , z 16 Input the classifier (such as softmax) and get the attention weight z with a value between 0 and 1 11 T , z 12 T , z 13 T , z 14 T , z 15 T , z 16 T Similarly, if the standard target sub-region 2 is used as the current standard sub-region in step 2510, 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 T If the standard target sub-region 3 is used as the current standard sub-region in step 2510, the first reference value is q3, and the attention weight is z31 T , z 32 T , z 23 T , z 34 T , z 35 T , z 36 T If the standard target sub-region 4 is used as the current standard sub-region in step 2510, 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 If the standard target sub-region 5 is used as the current standard sub-region in step 2510, 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 If the standard target sub-region 6 is used as the current standard sub-region in step 2510, 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 .

[0326] In step 2550, the third matrix refers to a table of m3 rows and n3 columns of m3*n3 numbers, which is used to convolve the first features of multiple standard target sub-regions. For example, vi=Wv*ai, i∈(1,n). Referring to Figure 26D, for standard target sub-region 1, the third matrix Wv is multiplied by the first feature a1 of standard target sub-region 1 to obtain a third reference value v1. Similarly, the third matrix Wv is multiplied by the first feature a2 of standard target sub-region 2 to obtain a third reference value v2, the third matrix Wv is multiplied by the first feature a3 of standard target sub-region 3 to obtain a third reference value v3, the third matrix Wv is multiplied by the first feature a4 of standard target sub-region 4 to obtain a third reference value v4, the third matrix Wv is multiplied by the first feature a5 of standard target sub-region 5 to obtain a third reference value v5, and the third matrix Wv is multiplied by the first feature a6 of standard target sub-region 6 to obtain a third reference value v6.

[0327] In step 2560, the attention weight obtained in step 2540 is used to perform a weighted sum on the multiple third reference values ​​to obtain the convolution result of the current standard target sub-region. i1 T ,z i2 T ,…,z in T Multiply them with v1, v2, ..., vn at the corresponding positions and sum them to get the convolution result bi corresponding to qi. Referring to Figure 26E, in step 2510, the standard target sub-region 1 is used as the current standard sub-region, and the attention weight is z 11 T , z 12 T , z 13 T , z 14 T , z 15 T , z 16 T , then z 11 T , z 12 T , z 13 T , z 14 T , z 15 T , z 16 TMultiply them with v1-v6 at the corresponding positions to get the product results h1, h2, h3, h4, h5, h6. Sum h1, h2, h3, h4, h5, h6 to get b1. Similarly, take the standard target sub-region 2 as the current standard sub-region, and then z 21 T , z 22 T , z 23 T , z 24 T , z 25 T , z 26 T The weighted sum of v1-v6 at the corresponding position is obtained to obtain b2; the standard target sub-region 3 is used as the current standard sub-region, and z 31 T , z 32 T , z 23 T , z 34 T , z 35 T , z 36 T The weighted sum of v1-v6 at the corresponding position is obtained to obtain b3. The standard target sub-region 4 is used as the current standard sub-region, and z 41 T , z 42 T , z 43 T , z 44 T , z 45 T , z 46 T The weighted sum of v1-v6 at the corresponding position is obtained to obtain b4. The standard target sub-region 5 is used as the current standard sub-region, and z 51 T , z 52 T , z 53 T , z 54 T , z 55 T , z 56 T The weighted sum of v1-v6 at the corresponding position is obtained to obtain b5. The standard target sub-region 6 is used as the current standard sub-region, and z 61 T , z 62 T , z 63T , z 64 T , z 65 T , z 66 T Perform the weighted sum with v1-v6 at the corresponding position to get b6.

[0328] After steps 2510-2560, the convolution results b1-b6 output by the convolution encoder can be obtained. The convolution results b1-b6 are serialized respectively to obtain 6 serialized results, namely F1-F6 shown in Figure 23. The serialized results are then spliced ​​together to obtain the second feature of the target area.

[0329] The benefit of this embodiment is that, based on the first matrix, the second matrix and the third matrix, the attention weights from other standard target sub-regions can be applied to each standard target sub-region, reflecting the connection and influence between multiple target sub-regions, greatly improving the accuracy of second feature extraction, and thus improving the accuracy of palmprint recognition.

[0330] 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, the convolutional coding model based on a transformer structure in another embodiment is introduced below.

[0331] Referring to Figure 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.

[0332] The multi-head attention layer 2710 is composed of a first matrix, a second matrix, and a third matrix. Therefore, for the specific processing process of the multi-head attention layer 2710 convolving the first feature of the merged canonical target sub-region, please refer to steps 2510-2560 above. The convolutional coding model shown in Figure 27 is different from the convolutional coding model in the above-mentioned steps 2510-2560 embodiment in that it also has a fusion normalization layer 2720, a feedforward layer 2730, and a fusion normalization layer 2740. Note that only one multi-head attention layer 2710 is shown in Figure 27, but two or more cascaded multi-head attention layers can be set as needed.

[0333] The fusion normalization layer 2720 is a module that performs feature fusion processing (Add) and normalization processing (Norm). 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 merged normalized target sub-region, normalizes the fused feature, and then outputs it to the feedforward layer 2730.

[0334] Feed-forward layer 2730, also known as feed-forward, refers to a unidirectional, multi-layer network structure in which information is transmitted from the input layer to the output layer, layer by layer, in one direction. Feed-forward refers to the forward direction of input and output, and weights are not adjusted during this process. As shown in Figure 27, feed-forward layer 2730 transmits the output of fused normalization layer 2720 to fused normalization layer 2740.

[0335] The fusion normalization layer 2740 is a module that performs feature fusion processing (Add) and normalization processing (Norm). As shown in Figure 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 then uses them as the output of the convolutional coding model.

[0336] The benefit of this embodiment is that, in addition to using the multi-head attention layer to reflect the connection and influence between multiple target sub-regions, it also uses the fusion normalization layer and the feedforward layer to realize the feature extraction of the residual connection, so as to better extract and integrate the first feature of the palm, further improve the accuracy of the second feature extraction, and thus improve the accuracy of palmprint recognition.

[0337] The above is a detailed description of step 340 .

[0338] Detailed description of step 350

[0339] In step 350 , based on the second feature of the target area, a palmprint recognition result corresponding to the target palm image is determined.

[0340] 28 , in one embodiment, the second feature of the target area is the first feature vector, and step 350 includes:

[0341] Step 2810: Obtain a reference feature vector library, where the reference feature vector library includes multiple reference feature vectors, each of which corresponds to an object.

[0342] Step 2820: Determine the distance between the first eigenvector and each reference eigenvector in the reference eigenvector library;

[0343] Step 2830: The object corresponding to the reference feature vector with the smallest distance is taken as the palmprint recognition result.

[0344] Steps 2810-2830 are described in detail below.

[0345] In step 2810, the reference feature vector library is a database used to store reference feature vectors. Similar to the first feature vector, the reference feature vector is used to represent the second feature extracted from the 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 the object, while the first feature vector is extracted from the target palm image, and the object to which it corresponds is not yet known.

[0346] Next, in step 2820, to determine the object corresponding to the first eigenvector, the distance between the first eigenvector and each reference eigenvector in the reference eigenvector library is determined. The smaller the distance, the more similar the first eigenvector is to the reference eigenvector. Therefore, the reference eigenvector with the smallest distance can be used to represent the first eigenvector. For example, the distance can be the Euclidean distance or cosine similarity between the first eigenvector and the reference eigenvector.

[0347] In one embodiment, the cosine similarity calculation formula is as follows:

[0348] Among them, sim(vector reg ,vector rec ) is the cosine similarity, vector reg is the reference eigenvector, vector rec is the first eigenvector.

[0349] Next, in step 2830, the object corresponding to the reference feature vector with the smallest distance is used as the palmprint recognition result. For example, based on the distance between the first feature vector and each reference feature vector, the distances are arranged in ascending order, and the object identifier of the reference feature vector corresponding to the smallest distance is determined, and this object identifier is used as the palmprint recognition result.

[0350] The advantage of this embodiment is that, based on the distance between the first eigenvector and the reference eigenvector, the object corresponding to the first eigenvector can be quickly determined, thereby improving the accuracy and efficiency of palmprint recognition.

[0351] The above is a general description of steps 2810-2830. The specific implementation process of step 2810 will be described in detail below.

[0352] Referring to FIG. 29 , in one embodiment, step 2810 includes:

[0353] Step 2910: Acquire reference palm images of multiple reference objects;

[0354] Step 2920: determining a reference region in the reference palm image, where the reference region is a region in the reference palm image where the richness of palmprint information meets a preset condition;

[0355] Step 2930: Determine a plurality of reference sub-regions in the reference region, wherein the plurality of reference sub-regions do not overlap with each other;

[0356] Step 2940: Input the first features of each of the multiple reference sub-regions into the cascaded projection convolution model and the convolution coding model to obtain the reference feature vectors corresponding to each of the multiple reference objects, and form a reference feature vector library with the reference feature vectors corresponding to each of the multiple reference objects.

[0357] Steps 2910-2940 are described in detail below.

[0358] It should be noted that steps 2910-2930 are similar to steps 310-330 above. For relevant explanations and functions, please refer to the above. In order to save space, they will not be repeated here.

[0359] The projection convolution model in step 2940 is the same as the projection convolution model in step 2210 above, and the convolution coding model in step 2940 is the same as the convolution coding model in step 2230 above. Please refer to the above for relevant explanations and functions. In order to save space, they will not be repeated here.

[0360] At step 2940, the first features of multiple reference subregions derived from a reference palm image can represent the reference palm image, and thus the reference feature vectors output by the projected convolution model and the convolutional coding model can represent the reference object. The reference feature vector library composed of multiple reference feature vectors is equivalent to a registered feature base library, while the first feature vector obtained from the target palm image is used as a feature to be identified. The purpose is to determine the object corresponding to the feature to be identified based on the registered feature base library.

[0361] The advantage of this embodiment is that by pre-storing the reference feature vectors of multiple reference objects in a reference feature vector library, the object corresponding to the reference feature vector with the smallest distance can be quickly retrieved from the reference feature vector library during palmprint recognition, significantly improving palmprint recognition efficiency and accuracy. Furthermore, by determining the reference feature vector representing the reference object corresponding to the reference palm image based on the first features of the multiple reference sub-regions included in the reference region of the reference palm image, the determined reference feature vector is guaranteed to be accurate and as distinct as possible from the other reference feature vectors.

[0362] 30 , in one embodiment, the projected convolution model and the convolutional coding model are jointly trained in the following manner:

[0363] Step 3010: Acquire a set of sample palm image pairs, where the set includes a plurality of sample palm image pairs, each of which includes 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;

[0364] Step 3020: For each sample palm image pair, obtain a first sample area in the first palm image and obtain a second sample area in the second palm image;

[0365] Step 3030: Determine a plurality of first sample sub-regions in the first sample region, wherein the plurality of first sample sub-regions do not overlap with each other; and determine a plurality of second sample sub-regions in the second sample region, wherein the plurality of second sample sub-regions do not overlap with each other;

[0366] Step 3040: Input the first features of each of the plurality of first sample subregions into the cascaded projection convolution model and the convolutional coding model to obtain a first sample feature vector; input the first features of each of the plurality of second sample subregions into the cascaded projection convolution model and the convolutional coding model to obtain a second sample feature vector;

[0367] Step 3050: Determine a loss function based on the distance between the first sample feature vector and the second sample feature vector;

[0368] Step 3060: Based on the loss function, jointly train the projection convolution model and the convolution coding model.

[0369] Steps 3010-3060 are described in detail below.

[0370] 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 object and a second palm image of a second sample object. The more sample palm image pairs there are, the better the training effect. The first sample object refers to an object used as a sample, and the second sample object refers to another object used as a sample. For example, the first sample object and the second sample object can be identical twins, then the first palm image and the second palm image refer to the left palm or right palm image 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 model training, and the target palm image is used for actual use of the model.

[0371] Note that labels corresponding to samples are generally required during model training. However, since the first sample object and the second sample object in the sample palm image pair set are different objects, it is equivalent to giving a label for each sample palm image pair. The embodiment of the present application does not require additional manual labeling work, which greatly saves labor costs.

[0372] Next, steps 3020-3040 are similar to steps 2920-2940 above. Please refer to the above for relevant explanations and functions. To save space, they will not be repeated here. However, steps 3020-3040 are the model training process, while steps 2920-2950 are the actual use process of the model.

[0373] 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, the distance can 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 the distance. The loss function is a function used to measure the judgment loss of the cascaded projection convolution model and the convolutional coding model, which can reflect the training effect of the projection convolution model and the convolutional coding model. The smaller the loss function, the better the training of the projection convolution model and the convolutional coding model.

[0374] In one embodiment, step 3060 includes:

[0375] For each sample palm image pair, determine the distance;

[0376] averaging the distances of each sample palm image pair in the sample palm image pair set to obtain an average distance;

[0377] Based on the average distance, the loss function is determined.

[0378] When this embodiment is implemented, the distance of each sample palm image pair can refer to the above formula 4, so that the loss function can be constructed as follows: L = 1-cosine_mean Formula 5

[0379] Where L is the loss function and cosine_mean is the average distance, i.e., the average cosine similarity. For example, suppose there are only three sample palm image pairs in the sample palm image pair set. 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. In this way, 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.

[0380] In step 3060, the projection convolution model and the convolution coding model are jointly trained based on the loss function obtained in the above steps. For example, the projection convolution model and the convolution coding model are jointly trained based on the loss function, that is, the parameters of the projection convolution model and the convolution coding model are jointly adjusted. Specifically, a second threshold value can be set in advance. When the ratio of the sample palm image pairs in the sample palm image pair set whose loss function is less than the second threshold is greater than a third threshold value, the training process ends. Otherwise, the parameters of the projection convolution model and the convolution coding model continue to be jointly adjusted until the ratio of the sample palm image pairs in the sample palm image pair set whose loss function is less than the second threshold is greater than a third threshold value.

[0381] The advantage of this embodiment is that by jointly training the projection convolution model and the convolution coding model, the parameters in the projection convolution model and the convolution coding model can influence each other, thereby improving the recognition accuracy of the trained model for palm images.

[0382] Implementation details of the palmprint recognition method of the present application embodiment in the identity verification scenario

[0383] 31 , the implementation details of the palmprint recognition method according to the embodiment of the present application will be described in detail.

[0384] The embodiments of this application specifically include the following implementation details:

[0385] (1) Start the target terminal;

[0386] (2) Obtain the target palm image;

[0387] (3) determining the target reference point in the target palm image;

[0388] (4) determining the target area in the target palm image based on the target reference point;

[0389] (5) In the target area, a plurality of target sub-areas are determined, and the plurality of target sub-areas do not overlap with each other;

[0390] (6) transforming the multiple target sub-regions into multiple standard target sub-regions of the same size;

[0391] (7) obtaining a second feature of the target region based on the first features of the plurality of standard target subregions;

[0392] (8) obtaining a reference feature vector library, the reference feature vector library including a plurality of reference feature vectors, each reference feature vector corresponding to an object;

[0393] (9) determining the similarity between the first feature vector and each reference feature vector in the reference feature vector library;

[0394] (10) The object corresponding to the reference feature vector with the greatest similarity is taken as the palmprint recognition result;

[0395] (11) Return to the object terminal and end.

[0396] Advantages of this embodiment include but are not limited to: the second features extracted from the target palm image cover multiple locations with high distinction in the palm, thereby improving the accuracy of palmprint recognition.

[0397] Description of the apparatus and device of the embodiments of the present application

[0398] It is to be understood that, although the steps in the above-mentioned flowcharts are shown in sequence according to the arrow representations, these steps are not necessarily performed in sequence according to the order represented by the arrows. Unless otherwise specified in the present embodiment, there is no strict order restriction on the execution of these steps, and these steps can be performed in other orders. Moreover, at least a portion of the steps in the above-mentioned flowcharts may include multiple steps or multiple stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times, and the execution order of these steps or stages is not necessarily performed in sequence, but can be performed in turn or alternately with other steps or at least a portion of the steps or stages in other steps.

[0399] It should be noted that in each specific embodiment of the present application, when it comes to the need to perform relevant processing based on data related to the characteristics of the target object, such as the target object attribute information or attribute information set, the permission or consent of the target object will be obtained first, and the collection, use and processing of such data will comply with relevant laws, regulations and standards. In addition, when the embodiment of the present application needs to obtain the attribute information of the target object, the target object's separate permission or separate consent will be obtained through a pop-up window or by jumping to a confirmation page. After clearly obtaining the target object's separate permission or separate consent, the necessary target object-related data for the normal operation of the embodiment of the present application will be obtained.

[0400] FIG32 is a schematic diagram of the structure of a palmprint recognition device 3200 provided in an embodiment of the present application. The palmprint recognition device 3200 includes:

[0401] A first acquiring unit 3210 is configured to acquire a target palm image;

[0402] The second acquisition unit 3220 is configured to determine a target area in the target palm image, where the target area is an area in the target palm image where the richness of palmprint information meets a preset condition;

[0403] The third acquiring unit 3230 is configured to determine a plurality of target sub-regions in the target region, wherein the plurality of target sub-regions do not overlap with each other;

[0404] A fourth acquiring unit 3240 is configured to determine a second feature of the target region based on the first features of each of the plurality of target subregions;

[0405] The fifth acquiring unit 3250 is configured to determine a palmprint recognition result corresponding to the target palm image based on the second feature of the target area.

[0406] Optionally, the second acquiring unit 3220 is configured to:

[0407] determining a target reference point in the target palm image;

[0408] The target area is determined in the target palm image based on the target reference point.

[0409] Optionally, the target reference point includes a first target reference point, a second target reference point, and a third target reference point, wherein the second target reference point is located between the first target reference point and the third target reference point;

[0410] The second acquiring unit 3220 is configured to:

[0411] Establishing a rectangular coordinate system using a line connecting the first target reference point and the third target reference point, and a straight line perpendicular to the line and passing through the second target reference point;

[0412] Determine the center of the target area on a rectangular coordinate system;

[0413] Based on the target area center, determine the target area.

[0414] Optionally, the second acquiring unit 3220 is specifically configured to:

[0415] Determine the origin of the rectangular coordinate system;

[0416] determining a first distance between the first target reference point and the third target reference point;

[0417] determining a second distance between the center of the target area and the origin based on the first distance;

[0418] The target area center is determined in the rectangular coordinate system according to 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.

[0419] Optionally, the target area is a square. Based on the center of the target area, the second acquiring unit 3220 is further configured to:

[0420] determining a third distance based on the first distance;

[0421] Determine a point on the target axis that is a third distance from the center of the target area as a boundary anchor point;

[0422] The target area is determined based on the target area center and boundary anchor points.

[0423] Optionally, the target area is a square, and the second acquiring unit 3220 is further specifically configured to:

[0424] Based on the first distance, determining the side length of the square;

[0425] The target area is determined based on the center of the target area and the side length of the square.

[0426] Optionally, the first target reference point is the point where the gap between the index finger and the middle finger intersects the palm, the second target reference point is the point where the gap between the middle finger and the ring finger intersects the palm, and the third target reference point is the point where the gap between the ring finger and the little finger intersects the palm.

[0427] Optionally, the plurality of target sub-regions are a first number of target sub-regions;

[0428] The third acquiring unit 3230 is used to:

[0429] dividing the target area into a first number of partitions;

[0430] In each partition, a target sub-region is determined, wherein a boundary of the target sub-region is within a boundary of the partition.

[0431] Optionally, the target sub-region is a rectangle, and the multiple target sub-regions are a second number of target sub-regions;

[0432] The third acquiring unit 3230 is further specifically configured to:

[0433] Set the acquired target sub-area set, which is initially an empty set;

[0434] Executing a first process, the first process includes: selecting a target sub-region base point in a range in the target area that is not covered by the target sub-region in the acquired target sub-region set; obtaining a first length and a second length; generating a target sub-region based on the target sub-region base point, with the first length as the length of the target sub-region and the second length as the width of the target sub-region; if the generated target sub-region does not overlap with any target sub-region in the acquired target sub-region set, adding the generated target sub-region to the acquired target sub-region set, otherwise deleting the generated target sub-region; repeating the first process until the number of target sub-regions in the acquired target sub-region set reaches the second number.

[0435] Optionally, the third obtaining unit 3230 is further specifically configured to:

[0436] Get the side length of the target area;

[0437] determining a first threshold based on the side length and the first ratio;

[0438] A first length and a second length are randomly generated such that both the first length and the second length are smaller than a first threshold.

[0439] Optionally, the fourth acquiring unit 3240 is specifically configured to:

[0440] transforming the multiple target sub-regions into multiple standard target sub-regions of the same size;

[0441] A second feature of the target region is determined based on the first features of each of the plurality of standard target sub-regions.

[0442] Optionally, the fourth acquiring unit 3240 is further specifically configured to:

[0443] Performing projection convolution on multiple standard target sub-regions to obtain the first features of each of the multiple standard target sub-regions;

[0444] Encoding the positions of the plurality of target sub-regions within the target region to obtain position codes of the plurality of standard target sub-regions;

[0445] The position code of the canonical target sub-region is merged into the first feature of the canonical target sub-region, the merged first feature of the canonical target sub-region is convolved, the convolution result is serialized, and multiple serialization results are spliced ​​to obtain the second feature of the target region.

[0446] Optionally, the fourth acquiring unit 3240 is further specifically configured to:

[0447] Inputting the multiple canonical target sub-regions into a projection convolution model to obtain first features of the multiple canonical target sub-regions, the projection convolution model including a convolution layer, a normalization layer and an activation layer;

[0448] The convolution layer is used to perform convolution operations on the pixel matrices of multiple standard target sub-regions to obtain the convolution matrices of the multiple standard target sub-regions;

[0449] The normalization layer is used to normalize the convolution matrices of multiple standard target sub-regions to obtain the normalized matrices of multiple standard target sub-regions;

[0450] The activation layer is used to perform nonlinear processing on the normalized matrices of the multiple standard target sub-regions to obtain the first features of the multiple standard target sub-regions.

[0451] Optionally, the fourth acquiring unit 3240 is further specifically configured to:

[0452] Taking turns as the current standard target sub-regions;

[0453] Using the first matrix in the convolutional coding model, convolve the first feature of the current standard target sub-region to obtain a first reference value of the current standard target sub-region;

[0454] Using a second matrix in the convolutional coding model, convolve the first features of the plurality of standard target sub-regions to obtain second reference values ​​corresponding to the plurality of standard target sub-regions;

[0455] Performing a normalized exponential 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 to the current standard target sub-region;

[0456] Using a third matrix in the convolutional coding model, convolve the first features of the plurality of standard target sub-regions to obtain third reference values ​​corresponding to the plurality of standard target sub-regions;

[0457] Using the attention weight, multiple third benchmark values ​​are weighted and summed to obtain the convolution result of the current standard target sub-region.

[0458] Optionally, the second feature of the target area is the first feature vector, and the fifth acquiring unit 3250 is configured to:

[0459] Acquire a reference feature vector library, the reference feature vector library including a plurality of reference feature vectors, each reference feature vector corresponding to an object;

[0460] Determining the distance between the first eigenvector and each reference eigenvector in the reference eigenvector library;

[0461] The object corresponding to the reference feature vector with the smallest distance is taken as the palmprint recognition result.

[0462] Optionally, the fifth acquiring unit 3250 is further configured to:

[0463] obtaining reference palm images of a plurality of reference objects;

[0464] Determining a reference area in the reference palm image, where the reference area is an area in the reference palm image where the richness of palmprint information meets a preset condition;

[0465] In the reference region, a plurality of reference sub-regions are determined, wherein the plurality of reference sub-regions do not overlap with each other;

[0466] The first features of each of the multiple reference sub-regions are input into the cascaded projection convolution model and the convolution coding model to obtain reference feature vectors corresponding to each of the multiple reference objects, and the reference feature vectors corresponding to each of the multiple reference objects are combined into a reference feature vector library.

[0467] Optionally, the fifth acquiring unit 3250 is further specifically configured to:

[0468] Acquire 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;

[0469] For each pair of sample palm images, determining a first sample area in the first palm image and determining a second sample area in the second palm image;

[0470] In the first sample area, a plurality of first sample sub-areas are determined, and the plurality of first sample sub-areas do not overlap with each other; and in the second sample area, a plurality of second sample sub-areas are determined, and the plurality of second sample sub-areas do not overlap with each other;

[0471] Inputting the first features of each of the plurality of first sample subregions into the cascaded projection convolution model and the convolutional coding model to obtain a first sample feature vector, and inputting the first features of each of the plurality of second sample subregions into the cascaded projection convolution model and the convolutional coding model to obtain a second sample feature vector;

[0472] Determining a loss function based on a distance between the first sample feature vector and the second sample feature vector;

[0473] Based on the loss function, the projection convolution model and the convolutional encoding model are jointly trained.

[0474] Optionally, the fifth acquiring unit 3250 is further specifically configured to:

[0475] For each sample palm image pair, determine the distance;

[0476] averaging the distances of each sample palm image pair in the sample palm image pair set to obtain an average distance;

[0477] Based on the difference in average distances, a loss function is determined.

[0478] Referring to FIG33 , FIG33 is a block diagram of the structure of a terminal that implements the palmprint recognition 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 appreciate that the terminal structure shown in FIG33 does not limit the terminal to a mobile phone or computer, and may include more or fewer components than shown, or combine certain components, or arrange the components differently.

[0479] The RF circuit 3310 may be used for receiving and sending signals during information transmission or calls. In particular, after receiving downlink information from the base station, it is sent to the processor 3380 for processing; in addition, the designed uplink data is sent to the base station.

[0480] The memory 3315 may be used to store software programs and modules. The processor 3380 executes various functional applications and data processing of the target terminal by running the software programs and modules stored in the memory 3315 .

[0481] The input unit 3330 may be configured to receive input digital or character information and generate key signal input 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.

[0482] The display unit 3340 may be configured to display input information or provided information and various menus of the target terminal. The display unit 3340 may include a display panel 3341.

[0483] The audio circuit 3360 , the speaker 3361 , and the microphone 3362 may provide an audio interface.

[0484] In this embodiment, the processor 3380 included in the terminal can execute the palmprint recognition method of the previous embodiment.

[0485] The terminals of the embodiments of the present application include but are not limited to mobile phones, computers, intelligent voice interaction devices, smart home appliances, vehicle-mounted terminals, aircraft, etc. The embodiments of the present application can be applied to various scenarios, including but not limited to mobile payment scenarios, identity verification scenarios, attendance system scenarios, access control system scenarios, etc.

[0486] Figure 34 is a block diagram of the structure of a portion of a server that implements the palmprint recognition method of an embodiment of the present application. The server may vary significantly due to different configurations or performance, and may include one or more central processing units (CPUs) 3422 (for example, one or more processors) and memory 3432, and one or more storage media 3430 (for example, one or more mass storage devices) that store application programs 3442 or data 3444. Memory 3432 and storage media 3430 may be temporary storage or permanent storage. The program stored in storage medium 3430 may include one or more modules (not shown), each of which may include a series of instruction operations on the server. Furthermore, CPU 3422 may be configured to communicate with storage medium 3430 to execute a series of instruction operations in storage medium 3430 on the server.

[0487] The server may also include one or more power supplies 3426, one or more wired or wireless network interfaces 3450, one or more input and output interfaces 3458, and / or one or more operating systems 3441, such as Windows Server 2003. TM , Mac OS X TM , Unix TM , Linux TM , FreeBSD TM etc.

[0488] The central processor 3422 in the server can be used to execute the palmprint recognition method of the embodiment of the present application.

[0489] The embodiments of the present application further provide a computer-readable storage medium, which is used to store program codes, and the program codes are used to execute the palmprint recognition methods of the aforementioned embodiments.

[0490] The embodiment of the present application further provides a computer program product, which includes a computer program. A processor of a computer device reads and executes the computer program, so that the computer device executes and implements the above-mentioned palmprint recognition method.

[0491] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the numbers used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can, for example, be implemented in an order other than those illustrated or described herein. In addition, the terms "comprise" and "comprising" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0492] It should be understood that in this application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0493] The above is a specific description of the implementation methods of the present application, but the present application is not limited to the above implementation methods. Technical personnel familiar with the art can also make various equivalent modifications or substitutions without violating the spirit of the present application. These equivalent modifications or substitutions are all included in the scope defined by the claims of the present application.

Claims

1. A palmprint recognition method, performed by an electronic device, comprising: Acquire the 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 richness of palmprint information meets a preset condition; In the target area, determining a plurality of target sub-areas, wherein the plurality of target sub-areas do not overlap with each other; Determining a second feature of the target area based on the first features of each of the plurality of target sub-areas; Based on the second feature of the target area, a palmprint recognition result corresponding to the target palm image is determined.

2. The palmprint recognition method according to claim 1, wherein determining a target area in the target palm image comprises: determining a target reference point in the target palm image; The target area is determined in the target palm image based on the target reference point.

3. The palmprint recognition method according to claim 2, wherein the target reference points include a first target reference point, a second target reference point and a third target reference point, wherein: The second target reference point is 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: Establishing a rectangular coordinate system based on a line connecting the first target reference point and the third target reference point, and a straight line perpendicular to the line and passing through the second target reference point; Determining the center of the target area on the rectangular coordinate system; Based on the center of the target area, the target area is determined.

4. The palmprint recognition method according to claim 3, wherein determining the center of the target area on the rectangular coordinate system comprises: Determining the origin of the rectangular coordinate system; determining a first distance between the first target reference point and the third target reference point; Based on the first distance, determining a second distance between the center of the target area and the origin; The target area center is determined in the rectangular coordinate system according to 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.

5. The palmprint recognition method according to claim 4, wherein the target area is a square, and determining the target area based on the center of the target area comprises: Based on the first distance, determining a third distance; Determine a point on the target axis that is at the third distance from the center of the target area as a boundary anchor point; The target area is determined based on the target area center and the boundary anchor point.

6. The palmprint recognition method according to claim 4, wherein the target area is a square, and determining the target area based on the center of the target area comprises: Based on the first distance, determining the side length of the square; The target area is determined based on the center of the target area and the side length of the square.

7. According to the palmprint recognition method according to any one of claims 3 to 6, the first target reference point is the point where the finger gap between the index finger and the middle finger intersects the palm, the second target reference point is the point where the finger gap between the middle finger and the ring finger intersects the palm, and the third target reference point is the point where the finger gap between the ring finger and the little finger intersects the palm.

8. The palmprint recognition method according to any one of claims 1 to 7, wherein the plurality of target sub-areas are a first number of target sub-areas; In the target area, a plurality of target sub-areas are determined, including: dividing the target area into the first number of partitions; In each of the partitions, a target sub-region is determined, wherein a boundary of the target sub-region is located within a boundary of the partition.

9. The palmprint recognition method according to any one of claims 1 to 8, wherein determining the second feature of the target area based on the first features of each of the plurality of target sub-areas comprises: transforming the plurality of target sub-regions into a plurality of standard target sub-regions of the same size; Based on the first features of each of the plurality of standard target sub-regions, a second feature of the target region is determined.

10. The palmprint recognition method according to claim 9, wherein the step of determining the second feature of the target area based on the first features of each of the plurality of standard target sub-areas comprises: Performing projection convolution on the plurality of the standard target sub-regions to obtain respective first features of the plurality of the standard target sub-regions; Encoding the positions of the plurality of target sub-regions within the target region to obtain respective position codes of the plurality of standard target sub-regions; The position code of the standard target sub-region is merged into the first feature of the standard target sub-region, the merged first feature of the standard target sub-region is convolved, the convolution result is serialized, and a plurality of the serialization results are spliced ​​to obtain the second feature of the target region.

11. The palmprint recognition method according to claim 10, wherein the step of performing projection convolution on the plurality of standard target sub-regions to obtain the first features of the plurality of standard target sub-regions comprises: Inputting the plurality of the standard target sub-regions into a projection convolution model to obtain respective first features of the plurality of the standard target sub-regions, wherein the projection convolution model comprises a convolution layer, a normalization layer and an activation layer; The convolution layer is used to perform convolution operation on the pixel matrices of the plurality of standard target sub-regions to obtain the convolution matrices of the plurality of 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 multiple standard target sub-regions to obtain the first features of the multiple standard target sub-regions.

12. The palmprint recognition method according to claim 10 or 11, wherein the convolution of the first feature of the combined standard target sub-region comprises: Taking the plurality of the standard target sub-regions in turn as the current standard target sub-regions; Using a first matrix in a convolutional coding model, convolve a first feature of the current standard target sub-region to obtain a first reference value of the current standard target sub-region; Using the second matrix in the convolutional coding model, convolve the first features of the plurality of standard target sub-regions to obtain second reference values ​​corresponding to the plurality of standard target sub-regions; Performing a normalized exponential operation on the product of each of the first reference value and the plurality of second reference values ​​to obtain attention weights of the plurality of standard target sub-regions to the current standard target sub-region; Using the third matrix in the convolutional coding model, convolve the first features of the plurality of standard target sub-regions to obtain third reference values ​​corresponding to the plurality of standard target sub-regions; The attention weight is used to perform a weighted sum on multiple third benchmark values ​​to obtain the convolution result of the current standard target sub-region.

13. The palmprint recognition method according to any one of claims 1 to 12, wherein the second feature of the target area is a first feature vector, and determining the palmprint recognition result corresponding to the target palm image based on the second feature of the target area comprises: Acquire a reference feature vector library, wherein the reference feature vector library includes a plurality of reference feature vectors, each of which corresponds to an object; Determine the distance between the first feature vector and each of the reference feature vectors in the reference feature vector library; The object corresponding to the reference feature vector with the smallest distance is taken as the palmprint recognition result.

14. The palmprint recognition method according to claim 13, wherein obtaining a reference feature vector library 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 richness of palmprint information meets a preset condition; In the reference area, determining a plurality of reference sub-areas, wherein the plurality of reference sub-areas do not overlap with each other; The first features of each of the multiple reference sub-regions are input into a cascaded projection convolution model and a convolution coding model to obtain the reference feature vectors corresponding to each of the multiple reference objects, and the reference feature vectors corresponding to each of the multiple reference objects are combined into a reference feature vector library.

15. The palmprint recognition method according to claim 14, wherein the projected convolution model and the convolutional coding model are jointly trained in the following manner: Acquire a sample palm image pair set, the sample palm image pair set comprising a plurality of sample palm image pairs, each of the sample palm image pairs comprising 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 determining a second sample area in the second palm image; In the first sample area, a plurality of first sample sub-areas are determined, and the plurality of first sample sub-areas do not overlap with each other; and in the second sample area, a plurality of second sample sub-areas are determined, and the plurality of second sample sub-areas do not overlap with each other; Inputting the first features of each of the plurality of first sample sub-regions into the cascaded projection convolution model and convolutional coding model to obtain a first sample feature vector, and inputting the first features of each of the plurality of second 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; Based on the loss function, the projection convolution model and the convolutional coding model are jointly trained.

16. The palmprint recognition method according to claim 15, wherein the determining the loss function based on the distance between the first sample feature vector and the second sample feature vector comprises: For each of the sample palm image pairs, determining the distance; averaging the distances of the sample palm image pairs in the sample palm image pair set to obtain an average distance; Based on the average distance, the loss function is determined.

17. A palmprint recognition device, comprising: A first acquisition unit, used for acquiring a target palm image; A second acquisition unit is used to determine a target area in the target palm image, where the target area is an area in the target palm image where the richness of palmprint information meets a preset condition; A third acquisition unit is used to determine a plurality of target sub-regions in the target region, wherein the plurality of target sub-regions do not overlap with each other; A fourth acquisition unit, configured to determine a second feature of the target region based on the first features of each of the plurality of target sub-regions; A fifth acquisition unit is used to determine a palmprint recognition result corresponding to the target palm image based on the second feature of the target area.

18. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the palmprint recognition method according to any one of claims 1 to 16 when executing the computer program.

19. A computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the palmprint recognition method according to any one of claims 1 to 16.

20. A computer program product, comprising a computer program, wherein the computer program is read and executed by a processor of a computer device, so that the computer device executes the palmprint recognition method according to any one of claims 1 to 16.