Fingerprint identity authentication, live body detection method, system and device
Patent Information
- Application Number
- HK42026127192
- Authority / Receiving Office
- HK · HK
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2026-08-06
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2046-02-26
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
(19) State Intellectual Property Office (12) Invention Patent Application (10) Application Publication Number (43) Application Publication Date (21) Application Number 202610238181.4 (22) Application Date 2026.02.27 (71) Applicant Ant Blockchain Technology (Shanghai) Co., Ltd. Address Room 803, 8th Floor, No. 618 Waima Road, Huangpu District, Shanghai 200003 (72) Inventors Yang Bowen, Zhu Kai, Luo Man (74) Patent Agency Beijing Taihe Jiusi Intellectual Property Agency Co., Ltd. 11610 Patent Attorney Chai Yanbo (51) Int.Cl. G06V 40 / 12 (2022.01) G06V 40 / 40 (2022.01) G06V 10 / 10 (2022.01) (54) Invention Title: Fingerprint Authentication, Liveness Detection Method, System, and Device (57) Abstract: This specification provides a fingerprint authentication, liveness detection method, system, and device. In this method, in response to a user-triggered fingerprint authentication operation, a randomly generated finger movement command is output; based on a sequence of finger images captured by a camera after the finger movement command is output, a preset liveness detection model is used to identify whether the finger movement command is executed by a live finger; if the finger movement command is executed by a live finger, liveness detection is determined to be successful; after successful liveness detection, fingerprint authentication is performed on the user based on the finger images captured by the camera. Claims (3 pages), Description (15 pages), Drawings (3 pages), CN 122336809 A, 2026.07.03, CN 1 22 33 68 09 A. 1. A fingerprint authentication method, characterized in that it includes: responding to a fingerprint authentication operation triggered by a user, outputting a randomly generated finger action command; based on a sequence of finger images captured by a camera after the finger action command is output, identifying whether the finger action command is executed by a live finger using a preset liveness detection model; if the finger action command is executed by a live finger, determining that liveness detection is successful; after successful liveness detection, performing fingerprint authentication on the user based on the finger images captured by the camera. 2. The method according to claim 1, characterized in that, based on the finger image sequence acquired by the camera after the finger action command is output, a preset liveness detection model is used to identify whether the finger action command is executed by a live finger, comprising: inputting the finger image sequence acquired by the camera after the finger action command is output to the preset liveness detection model, so that the liveness detection model can identify the action type of the finger action contained in the finger image sequence and determine whether the finger action is executed by a live finger; determining whether the finger action command is executed by a live finger based on the output information of the liveness detection model.3. The method according to claim 1, wherein the live action recognition model comprises: a visual language model; based on a sequence of finger images acquired by a camera after the finger action command is output, identifying whether the finger action command is executed by a live finger using a preset live action recognition model, comprising: constructing a prompt word based on the finger action command and the finger image sequence, the prompt word being used to prompt the visual language model to identify whether the finger action command is executed by a live finger based on the finger image sequence; inputting the prompt word into the visual language model to obtain the output result of the visual language model; determining whether the finger action command is executed by a live finger based on the output result. 4. The method according to any one of claims 1 to 3, further comprising: acquiring training samples, the training samples comprising sample finger image sequences and training labels, the training labels being used to indicate whether the sample finger image sequences record a preset finger action executed by a live finger; inputting the sample finger image sequences into the live action recognition model to obtain a recognition result; determining a training loss based on the recognition result and the training labels; and optimizing the parameters of the live action recognition model based on the training loss. 5. The method according to any one of claims 1 to 3, characterized in that, in response to a fingerprint authentication operation triggered by a user, outputting randomly generated finger action instructions includes: in response to a fingerprint authentication operation triggered by a user, obtaining a randomly generated sequence of finger action instructions; sequentially outputting finger action instructions in the sequence of finger action instructions; determining successful liveness detection when the finger action instructions are executed by a living finger includes: determining successful liveness detection when the finger action instructions in the sequence of finger action instructions are executed sequentially by a living finger. 6. The method according to claim 5, characterized in that, sequentially outputting finger action instructions in the sequence of finger action instructions includes: issuing the next finger action instruction when it is recognized that the currently output finger action instruction is executed by a living finger; the method further includes: determining liveness detection failure when it is recognized that the currently output finger action instruction is not executed by a living finger. 7. The method according to any one of claims 1 to 3, wherein the finger movement instruction is randomly generated based on a preset finger movement space; wherein the finger movement space includes a variety of preset finger movements, and the preset finger movements involve joint movements. 8. The method according to claim 7, wherein the preset finger movements include single-finger movements and / or multi-finger movements.9. The method according to any one of claims 1 to 3, characterized in that, based on the finger image sequence acquired by the camera after the finger action command is output, a preset liveness detection model is used to identify whether the finger action command is executed by a live finger, comprising: after the finger action command is output, starting a timer and at preset time intervals, based on the currently acquired finger image sequence by the camera, using a preset liveness detection model to identify whether the finger action command is executed by a live finger; the method further comprising: when the timer duration exceeds a preset duration, determining that liveness detection has failed. 10. The method according to any one of claims 1 to 3, characterized in that, after successful liveness detection, fingerprint authentication is performed on the user based on the finger images acquired by the camera, comprising: after successful liveness detection, outputting a fingerprint acquisition command; performing fingerprint authentication on the user based on the finger images acquired by the camera after the fingerprint acquisition output. 11. The method according to any one of claims 1 to 3, characterized in that it further comprises: responding to a fingerprint authentication operation triggered by a user, turning on a camera and controlling the camera to enter a data acquisition state, wherein the camera maintains the data acquisition state before the user's fingerprint authentication ends; comparing and analyzing the finger image currently acquired by the camera with the finger image previously acquired by the camera to determine whether the fingers within the camera's field of view have been swapped; when the fingers within the camera's field of view have been swapped, determining that fingerprint authentication has failed. 12. A liveness detection method, characterized in that it comprises: responding to an operation triggered by a user, outputting a randomly generated finger action command; based on a sequence of finger images acquired by the camera after the finger action command is output, using a preset liveness detection model to identify whether the finger action command is executed by a live finger; if the finger action command is executed by a live finger, determining that liveness detection is successful.13. A fingerprint authentication system, characterized in that it comprises a client and a server; wherein, the client is configured to send a fingerprint authentication request to the server in response to a fingerprint authentication operation triggered by a user; the server is configured to randomly generate a finger action command in response to the fingerprint authentication request and send the finger action command to the client; the client is configured to activate a camera and output the finger action command, and send a sequence of finger images captured by the camera after the finger action command is output to the server; the server is configured to identify whether the finger action command is executed by a live finger based on the finger image sequence using a preset liveness detection model; if the finger action command is executed by a live finger, determine that the liveness detection is successful; after successful liveness detection, perform fingerprint authentication on the user based on the finger images captured by the camera, and send the fingerprint authentication result to the client. 14. A fingerprint authentication device, characterized in that it comprises: an output module, configured to output a randomly generated finger action command in response to a fingerprint authentication operation triggered by a user; an identification module, configured to identify whether the finger action command is executed by a live finger based on a sequence of finger images captured by a camera after the finger action command is output, using a preset liveness detection model; a determination module, configured to determine that liveness detection is successful if the finger action command is executed by a live finger; and an authentication module, configured to perform fingerprint authentication on the user based on the finger images captured by the camera after successful liveness detection. 15. A liveness detection device, characterized in that it comprises: an output module, configured to output a randomly generated finger action command in response to an operation triggered by a user; an identification module, configured to identify whether the finger action command is executed by a live finger based on a sequence of finger images captured by a camera after the finger action command is output, using a preset liveness detection model; and a determination module, configured to determine that liveness detection is successful if the finger action command is executed by a live finger. 16. An electronic device, characterized in that it comprises: a memory and a processor, wherein, the memory is used to store a program; the processor is coupled to the memory and is used to execute the program stored in the memory to implement the method of any one of claims 1 to 12. 17. A computer-readable storage medium storing a computer program, characterized in that, when executed by a computer, the computer program is capable of implementing the method of any one of claims 1 to 12. 18. A computer program product, comprising a computer program, characterized in that, when executed by a processor, the computer program implements the method of any one of claims 1 to 12.Claims 3 / 3 Page 4 CN 122336809 A Fingerprint Authentication, Liveness Detection Method, System and Device Technical Field
[0001] This specification relates to the field of computer technology, and in particular to a fingerprint authentication, liveness detection method, system and device. Background Art
[0002] The technology of using fingerprint biometric information for identity authentication has been widely used in smartphones, access control systems, finance and other fields. Traditional contact fingerprint authentication schemes rely on dedicated fingerprint sensors to collect fingerprint information to achieve fingerprint authentication. Among them, fingerprint sensors can collect fingerprints through capacitive, optical or ultrasonic technology. The new contactless fingerprint authentication scheme does not rely on dedicated fingerprint sensors, and it uses a general camera to collect fingerprints to achieve fingerprint authentication.
[0003] Traditional contact fingerprint authentication schemes have relatively mature liveness detection methods. For example, capacitive fingerprint sensors can achieve liveness detection through capacitance difference imaging technology; optical fingerprint sensors can achieve liveness detection by illuminating the finger with a light source and detecting the optical reflection characteristics of the finger; ultrasonic fingerprint sensors use ultrasonic pulses to penetrate the skin and receive echo signals to construct a three-dimensional fingerprint image. Since there are differences in acoustic characteristics (such as density and absorption rate) between live skin and counterfeit skin, the sensor can achieve liveness detection by analyzing parameters such as the energy and time difference of the echo. However, there is currently no effective liveness detection method for novel non-contact fingerprint authentication schemes.
[0004] Based on this, there is a need to provide a liveness detection method that can be used in non-contact fingerprint authentication schemes. Summary of the Invention
[0005] This specification provides a fingerprint authentication, liveness detection method, system, and device for achieving liveness detection in non-contact authentication schemes, thereby reducing the risk of attacks.
[0006] A first aspect of this specification provides a fingerprint authentication method, comprising: responding to a fingerprint authentication operation triggered by a user, outputting a randomly generated finger action command; based on a sequence of finger images acquired by a camera after the finger action command is output, identifying whether the finger action command is executed by a live finger using a preset liveness detection model; if the finger action command is executed by a live finger, determining that liveness detection is successful; after successful liveness detection, performing fingerprint authentication on the user based on the finger images acquired by the camera.
[0007] A second aspect of this specification provides a liveness detection method, comprising: responding to an operation triggered by a user, outputting a randomly generated finger action command; based on a sequence of finger images acquired by a camera after the finger action command is output, identifying whether the finger action command is executed by a live finger using a preset liveness detection model; if the finger action command is executed by a live finger, determining that liveness detection is successful.
[0008] A third aspect of this specification provides a fingerprint authentication system, including a client and a server; wherein, the client is configured to send a fingerprint authentication request to the server in response to a fingerprint authentication operation triggered by a user; the server is configured to randomly generate a finger action command in response to the fingerprint authentication request and send the finger action command to the client; the client is configured to activate a camera and output the finger action command, and send a sequence of finger images captured by the camera after the finger action command is output to the server; the server is configured to identify whether the finger action command is executed by a live finger based on the finger image sequence using a preset liveness detection model; if the finger action command is executed by a live finger, a liveness detection is determined to be successful; after a successful liveness detection, the server performs fingerprint authentication on the user based on the finger images captured by the camera and sends the fingerprint authentication result to the client.
[0009] A fourth aspect of this specification provides a fingerprint authentication device, comprising: an output module, configured to output a randomly generated finger action command in response to a fingerprint authentication operation triggered by a user; an identification module, configured to identify whether the finger action command is executed by a live finger based on a sequence of finger images captured by a camera after the finger action command is output, using a preset liveness detection model; a determination module, configured to determine that liveness detection is successful if the finger action command is executed by a live finger; and an authentication module, configured to perform fingerprint authentication on the user based on the finger images captured by the camera after successful liveness detection.
[0010] A fifth aspect of this specification provides a liveness detection device, comprising: an output module, configured to output a randomly generated finger action command in response to an operation triggered by a user; an identification module, configured to identify whether the finger action command is executed by a live finger based on a sequence of finger images captured by a camera after the finger action command is output, using a preset liveness detection model; and a determination module, configured to determine that liveness detection is successful if the finger action command is executed by a live finger.
[0011] A sixth aspect of this specification provides an electronic device, comprising: a memory and a processor, wherein the memory is configured to store a program; and the processor is coupled to the memory and configured to execute the program stored in the memory to implement the method described in any of the preceding claims.
[0012] A seventh aspect of this specification provides a computer-readable storage medium storing a computer program that, when executed by a computer, can implement the method described in any of the preceding claims.
[0013] An eighth aspect of this specification provides a computer program product, including a computer program that, when executed by a processor, implements the method described in any of the above claims.
[0014] In the technical solutions provided by the embodiments of this specification, before implementing contactless fingerprint authentication using a camera, the user is required to complete a randomly indicated finger action, and the camera captures a series of corresponding finger images. Then, the series of finger images is analyzed using a preset liveness detection model, which effectively extracts finger movement characteristics to achieve liveness detection. It is evident that this solution, through an interactive verification method using random finger action instructions, can reduce the risk of forgery attacks.
[0015] In the technical solutions provided by the embodiments of this specification, the user is required to complete a randomly indicated finger action, and the camera captures a series of corresponding finger images. Then, the series of finger images is analyzed using a preset liveness detection model, which effectively extracts finger movement characteristics to achieve liveness detection. It is evident that this solution, through an interactive verification method using random finger action instructions (page 2 / 15, CN 122336809 A), can reduce the risk of forgery attacks.
[0016] The accompanying drawings, which are included to provide a further understanding of this specification, constitute a part of this specification.
[0017] FIG1 is a flowchart illustrating a fingerprint authentication method provided in an exemplary embodiment of this specification; FIG2 is an example diagram illustrating various preset finger actions provided in an exemplary embodiment of this specification; FIG3 is a structural diagram illustrating a visual language model provided in an exemplary embodiment of this specification; FIG4 is a flowchart illustrating a liveness detection method provided in an exemplary embodiment of this specification; FIG5 is a structural diagram illustrating a fingerprint authentication system provided in another embodiment of this specification; FIG6 is a structural diagram illustrating an electronic device provided in another exemplary embodiment of this specification. Detailed Description
[0018] To make the objectives, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only some embodiments, not all embodiments. Based on the embodiments, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this specification.
[0019] It should be noted that, in the cases involving user information in the embodiments of this specification, the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in the embodiments of this specification are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of related data need to comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entry points for users to choose to authorize or refuse. In addition, the various models involved in this specification (including but not limited to language models or large models) comply with the relevant laws and standards.
[0020] Before introducing the specific content of each embodiment of this specification, the technical terms mentioned in this document will be briefly explained.
[0021] A language model (LM) is a deep learning model based on data training, which usually has a wide range of task adaptability and reasoning capabilities, such as the Transformer architecture model. These models can understand complex contextual information and generate accurate predictions and suggestions in scenarios such as data analysis and decision support. The embodiments of this specification do not limit the number of model parameters supported by the language model, with the goal of meeting application requirements. If the model has a relatively large number of parameters, the language model will be relatively large in scale and have relatively better performance. Of course, it will consume more time and resources during inference and training. If the model has a relatively small number of parameters, the language model will be relatively small in scale. Under the condition that the performance requirements are met, the model is more lightweight and consumes less time and resources during inference and training. When the number of model parameters of a language model is greater than or equal to a preset threshold, the language model can be called a large language model (LLM).
[0022] A vision-language model (VLM) is a multimodal, generative artificial intelligence model that can understand and process video, images, and text. For example, a vision-language model is a multimodal artificial intelligence system built by combining an LM with a visual encoder, giving the LM the ability to "see". With this ability, the VLM can process and provide a high-level understanding of video, image, and text input in prompts to generate text responses.
[0023] The core function of a vision encoder is to convert visual data such as images or videos into numerical feature vectors, so that machines can understand and process this information.Instruction manual 3 / 15 pages 7 CN 122336809 A
[0024] Vision Transformer (VIT), VIT is a visual encoder based on the Transformer architecture that uses a self-attention mechanism, that is, by segmenting the image into serialized patches and using a self-attention mechanism to process global dependencies, the feature vector of the image is obtained.
[0025] When using a general camera to collect fingerprints and perform identity authentication, in order to avoid the risk of forgery attacks such as photos and fake fingerprints, it is necessary to perform liveness detection first to ensure that the collected fingerprint is collected from a live finger. After the liveness detection is passed / successful, fingerprint identity authentication is then performed.
[0026] Silent image liveness detection is a liveness verification method based on single or multiple frames of static images. This method does not require the user to actively participate in specific actions. If the silent image liveness detection method is applied to the liveness detection of fingers, then the scheme needs to analyze the capillary texture, skin transmittance or slight shaking during image acquisition in the image to verify the liveness of the finger. However, this scheme has the following drawbacks and limitations: 1. Insufficient defense against complex forgeries. Silent image liveness detection relies on static feature analysis, which makes it difficult to effectively distinguish forgery attacks such as high-quality 3D printed fingerprint models, high-resolution photos, or screen projections. For example, attackers can simulate the optical properties of fingerprint textures by superimposing multiple layers of materials, or use the screen to display fingerprint images and adjust the lighting angle in real time to evade detection.
[0027] For dynamic forgery attacks (such as video playback attacks), this scheme lacks time dimension feature analysis and cannot identify repeated playback or real-time synthesis of screen content.
[0028] 2. Strong environmental dependence. Image quality is greatly affected by environmental factors such as lighting conditions, shooting angle, and device performance. For example, in strong backlight or low light environments, fingerprint textures may lose key features (e.g., capillary textures) due to underexposure or overexposure, leading to failure of liveness detection.
[0029] Hardware differences in mobile phone cameras (such as focal length, pixel density, and optical image stabilization capabilities) will further exacerbate the difficulty of algorithm generalization and limit the compatibility of all models.
[0030] 3. Inability to cover biomechanical feature verification: Silent images only capture static fingerprint information and lack the ability to analyze dynamic biomechanical features such as finger movement trajectory and joint angle changes. For example, attackers can maintain a specific posture by fixing a fake finger model, completely circumventing the need for dynamic behavior detection. It is impossible to verify whether the user has autonomous control capabilities, such as whether the fingerprint is held by someone else or driven by a mechanical device.
[0031] 4. Conflict between user experience and security: To improve detection accuracy, silent image liveness detection often requires users to adjust the shooting angle multiple times or take multiple sets of images, resulting in a cumbersome operation process and decreased user cooperation.If the detection threshold is lowered to simplify the process, the false rejection rate or false acceptance rate may be significantly increased, disrupting the balance between security and convenience.
[0032] To solve or partially solve the above-mentioned technical problems, this specification provides a fingerprint authentication method. In this method, before using a camera to achieve contactless fingerprint authentication, the user is required to complete a randomly indicated finger action, and the camera collects a series of corresponding finger images. Then, the series of finger images is analyzed by a preset liveness detection model, which can effectively extract the finger movement characteristics to achieve liveness detection. It can be seen that this solution performs fingerprint liveness detection through an interactive verification method of random finger action instructions, which can reduce the risk of forgery attacks such as photos, pre-recorded videos, 3D printed fingerprint models, and pre-trained 3D virtual models used to simulate fixed action patterns.
[0033] Figure 1 is a schematic flowchart of a fingerprint authentication method provided in an embodiment of this specification. The execution specification of this method is on page 4 / 15 of CN 122336809 A. The main body can be an electronic device with a camera. Electronic devices may include, but are not limited to: smartphones, smart wearable devices, tablets, laptops, desktop computers, etc. As shown in Figure 1, the method includes the following steps: 100. In response to a fingerprint authentication operation triggered by a user, output a randomly generated finger action command.
[0034] 102. Based on the finger image sequence captured by the camera after the finger action command is output, use a preset liveness detection model to identify whether the finger action command is executed by a live finger.
[0035] 104. If the finger action command is executed by a live finger, determine that the liveness detection is successful.
[0036] 106. After the liveness detection is successful, perform fingerprint authentication on the user based on the finger image captured by the camera.
[0037] In step 100 above, the fingerprint authentication operation may include: interface operation, voice command input operation, button operation, etc.
[0038] For example, the electronic device may display a fingerprint authentication interface, which displays a fingerprint authentication control. The fingerprint authentication operation may include a trigger operation for the control.
[0039] The finger action instruction is used to instruct the user to perform a specified finger action. In some embodiments, a finger action can be randomly selected from a variety of preset finger actions, and a corresponding finger action instruction can be generated based on the selected finger action. This finger action instruction is used to instruct the user to perform the selected finger action.
[0040] When designing preset finger actions, finger actions involving dynamic characteristics such as joint movement (e.g., joint angle changes), muscle contraction trajectory, and / or motion inertia can be used as preset finger actions, which can enhance the forgery detection capability.Among them, the various preset finger movements may involve thumb movements and / or four-finger movements. In practical applications, in order to balance safety and user experience, various preset finger movements can be selected from various finger movements based on the biomechanical complexity of various finger movements. The preset finger movements need to conform to ergonomics to ensure that users can complete them quickly in a natural state and reduce the error rate.
[0041] In some embodiments, a finger movement space can be constructed based on various preset finger movements. The finger movement space includes various preset finger movements. In this way, when it is necessary to randomly generate finger movement instructions later, it can be implemented based on the movement space. For example, a finger movement is randomly selected from the movement space, and then a corresponding finger movement instruction is generated based on the selected finger movement. Among them, the preset finger movements may include: single-finger movements and / or multi-finger movements. For example, single-finger movements include thumb movements. Multi-finger movements include: four-finger movements. Among them, four fingers refer to the index finger, middle finger, ring finger and little finger.
[0042] Table 1 below lists various preset finger movements, which are divided into two categories: thumb movements and four-finger movements. The instruction manual, page 5 / 15, CN 122336809 A, shows an example diagram of the various preset finger actions.
[0043] In some embodiments, to reduce pre-recorded video attacks, the various preset finger actions or the action space can be updated every preset time interval.
[0044] In some embodiments, the finger action instructions are randomly generated by the electronic device itself.
[0045] In other embodiments, the finger action instructions are randomly generated by the electronic device requesting the server.
[0046] After receiving the finger action instructions, the electronic device can output them through interface display, voice broadcast, etc. For example, the randomly generated finger action instruction is "Please bend your four fingers first and then straighten them," which can be displayed on the interface.
[0047] Optionally, to facilitate users' intuitive understanding of the finger action instructions, a finger action demonstration animation corresponding to the finger action instructions can be displayed on the interface to guide the user to make the correct finger actions.
[0048] In the above 102, in some embodiments, the electronic device can turn on the camera while outputting the randomly generated finger action instructions. In other embodiments, the electronic device may activate the camera in response to a user-triggered fingerprint authentication operation.
[0049] To ensure timely acquisition of a series of finger images, the camera should be activated no later than the output time of a randomly generated finger movement command.
[0050] In some embodiments, video clips captured by the camera after the finger movement command is output can be directly used as a series of finger images. The video capture resolution and frame rate of the camera can be set according to actual needs, and this specification does not specifically limit this.For example, the resolution can be greater than or equal to 720p, and the frame rate can be greater than or equal to 30fps.
[0051] In some other embodiments, in order to reduce the amount of computation and reduce the computation latency, video frames can be selected from the above video clips at certain time intervals (e.g., 0.5 seconds) to construct a series of finger images.
[0052] The finger images in the finger image sequence are sorted according to the acquisition time. In this sequence, the finger image acquired earlier is placed before the finger image acquired later.
[0053] Optionally, in order to eliminate ambient light interference, the brightness and / or contrast of the images acquired by the camera can be adjusted. That is, the finger images in the finger image sequence are images after brightness and / or contrast adjustment. Specification 6 / 15 pages 10 CN 122336809 A
[0054] The above-mentioned preset live action recognition model can be implemented based on a deep learning model. Before application, the live action recognition model can be trained based on training samples to obtain a model that meets the application requirements.
[0055] In some embodiments, the liveness detection model can be responsible for identifying whether the finger movements contained in the finger image sequence are performed by a live finger. The action type to which the finger movements contained in the finger image sequence belong can be identified by another finger action classification model. For example, the finger image sequence can be input into the finger action classification model to obtain the action type to which the finger movements contained in the finger image sequence belong. Thus, based on the outputs of these two models, it can be determined whether the finger action command is performed by a live finger.
[0056] In step 104 above, when it is determined that the finger action command is performed by a live finger, the liveness detection is determined to be successful.
[0057] When it is determined that the finger action command is not performed by a live finger, the liveness detection is determined to be unsuccessful. Here, "the finger action command is not performed by a live finger" means that the finger action command is not performed or is performed by a non-live finger.
[0058] In step 106 above, after successful liveness detection, fingerprint information can be extracted based on the finger images captured by the camera, and fingerprint authentication can be performed based on the extracted fingerprint information. Specifically, the extracted fingerprint information can be sent to the server. The server can match the fingerprint information with the fingerprint information pre-reserved by the user. If they match, the authentication is successful; if they do not match, the authentication fails.
[0059] The finger image used to extract fingerprint information can be a finger image captured by the camera during the liveness detection stage (e.g., a finger image containing a fingerprint area that meets preset conditions can be selected from it), or it can be a finger image captured by the camera after the liveness detection is successful.
[0060] In practical applications, since the user's fingers need to make finger movements during the liveness detection stage, the fingerprint area in the finger image captured by the camera during this stage may be incomplete or unclear.Therefore, after the liveness detection stage is completed, the camera can then capture finger images for fingerprint extraction. For example, after the liveness detection stage is completed, the user can be prompted that fingerprint information needs to be collected. The user can then position their finger accordingly, resulting in a captured image of a finger containing the required fingerprint area.
[0061] In the technical solution provided in the embodiments of this specification, before using a camera to achieve contactless fingerprint authentication, the user is required to complete a randomly instructed finger movement, and the camera captures a series of corresponding finger images. Then, by analyzing the series of finger images using a preset liveness action recognition model, the finger movement characteristics can be effectively extracted to achieve liveness detection. It can be seen that this solution uses an interactive verification method based on random finger movement commands to perform fingerprint liveness detection, which can reduce the risk of forgery attacks such as photos, pre-recorded videos, 3D printed fingerprint models, and pre-trained 3D virtual models used to simulate fixed movement patterns.
[0062] In some embodiments, the step 102 above, "based on the finger image sequence captured by the camera after the finger action command is output, using a preset liveness detection model to identify whether the finger action command is executed by a live finger," can be implemented using the following steps: 1020a, inputting the finger image sequence captured by the camera after the finger action command is output to a preset liveness detection model, so that the liveness detection model can identify the action type to which the finger action contained in the finger image sequence belongs and determine whether the finger action is executed by a live finger.
[0063] 1022a, determining whether the finger action command is executed by a live finger based on the output information of the liveness detection model.
[0064] In step 1020a above, the liveness detection model may include two detection heads, one for identifying the action type to which the finger action contained in the finger image sequence belongs, and the other for determining whether the finger action contained in the finger image sequence is executed by a live finger.
[0065] In some embodiments of 1022a above, the output information of the liveness detection model includes the output information of two detection heads. When the action type of the finger action contained in the finger image sequence is the action type indicated by the finger action command and the finger action contained in the finger image sequence is performed by a live finger, it is determined that the finger action command is performed by a live finger. When the action type of the finger action contained in the finger image sequence is not the action type indicated by the finger action command or the finger action contained in the finger image sequence is not performed by a live finger, it is determined that the finger action command is not performed by a live finger.
[0066] In this embodiment, the same liveness detection model is responsible for both identifying the action type of the finger action contained in the finger image sequence and determining whether the finger action contained in the finger image sequence is performed by a live finger. Thus, based on the output of the liveness detection model, it can be determined whether the finger action command is performed by a live finger.
[0067] In some embodiments, the above-mentioned liveness detection model includes a visual language model. The above-mentioned step 102, "based on the finger image sequence captured by the camera after the finger action command is output, using a preset liveness detection model to identify whether the finger action command is performed by a live finger", can be implemented by the following steps: 1020b. Construct a prompt word based on the finger action command and the finger image sequence.
[0068] Wherein, the prompt word is used to prompt the visual language model to identify whether the finger action command is performed by a live finger based on the finger image sequence.
[0069] 1022b. Input the prompt word into the visual language model to obtain the output result of the visual language model.
[0070] 1024b. Based on the output result, determine whether the finger action command is executed by a living finger.
[0071] In 1020b above, the prompt word may include a finger image sequence and a text prompt, wherein the text prompt is used to prompt the visual language model to identify whether the finger action command is executed by a living finger based on the finger image sequence.
[0072] In 1022b above, the visual language model may include a visual encoder and a language model. The visual encoder is a video encoder that supports temporal modeling. The visual encoder has encoding and decoding functions.
[0073] For example, the visual encoder can extract the image features of each finger image, and then perform 3D convolution on the image features of multiple finger images to output a visual token sequence. Each visual token in the visual token sequence is a feature vector. The 3D convolution is used to implement spatial (intra-frame) and temporal (inter-frame) convolution. The image features of each finger image can be extracted based on a lightweight Transformer (e.g., a lightweight ViT). The visual token sequence is concatenated with the text token sequence corresponding to the text prompt. The concatenated token sequence is then input into the language model, which determines whether the finger action command is executed by a living finger based on the concatenated token sequence.Among them, the language model can output the probability of the finger movements contained in the finger image sequence belonging to a preset variety of action category labels through the Softmax classifier. Based on the probability, the action type of the finger movements contained in the finger image sequence is determined. The language model can analyze the action completion degree (e.g., whether it reaches a specified angle), action speed (e.g., whether it conforms to the human movement law), etc., to determine whether the finger movements contained in the finger image sequence are performed by a living finger.
[0074] Optionally, the visual encoder can also capture inter-frame motion information based on optical flow analysis to obtain a visual token sequence.
[0075] As shown in Figure 3, the visual language model 10 includes a visual encoder 1 and a language model 2. The following uses "four fingers open to close" as an example to introduce the liveness detection process in conjunction with Figure 3: 1. Finger image sequence input: When the user performs the "four fingers open" action, the camera continuously captures 9 frames of finger images as the video to be identified.
[0076] 2. Feature Extraction: The visual encoder 1 extracts the image features of each finger image in the video segment to be identified frame by frame. The image features may include features such as fingertip position, finger spacing, and joint angle. The image features of multiple finger images are analyzed in a temporal sequence to obtain a visual token sequence.
[0077] 3. Token Sequence Concatenation: The visual token sequence is concatenated with the text token sequence corresponding to the text prompt "Please determine whether the finger action command from opening to closing the four fingers based on the video segment is executed by a living finger" to obtain the concatenated token sequence.
[0078] 4. Language Model Analysis: Based on the concatenated token sequence, the language model 2 determines whether the finger action contained in the video segment is four fingers opening and verifies the action completion degree (such as whether the fingertip spacing is ≥ the threshold). When the action completion degree meets the requirements, if the action trajectory conforms to the real biomechanical law (such as acceleration-deceleration curve), it is determined to be a living person. If the trajectory is abnormal (such as uniform motion), it is determined to be a non-living person.
[0079] When it is determined to be a non-living person, an anti-fraud mechanism can be triggered.
[0080] This embodiment of the specification uses a multi-frame finger action recognition algorithm, which enables the system to accurately identify the user's actions and determine whether they are genuine live actions, thereby ensuring the security and reliability of identity authentication.
[0081] In some embodiments, the above method may further include: 108. Obtaining training samples.
[0082] Wherein, the training samples include sample finger image sequences and training labels. Wherein, the training labels are used to indicate whether the sample finger image sequence records a preset finger action performed by a preset live finger.
[0083] 110. Inputting the sample finger image sequence into a live action recognition model to obtain recognition results.
[0084] 112. Determine the training loss based on the recognition result and the training label.
[0085] 114. Optimize the parameters of the live action recognition model based on the training loss.
[0086] The following describes the model training process using a visual language model as an example of a live action recognition model: In 110 above, sample prompt words can be generated based on the sample finger image sequence and the training label. The sample prompt words are used to prompt the model whether the preset finger action (i.e., the finger action corresponding to the preset finger action type) is performed by a live finger based on the sample finger image sequence. For example, the sample prompt words include the sample finger image sequence and text prompts, wherein the text prompts are used to prompt the model whether the preset finger action is performed by a live finger based on the sample finger image sequence. The sample prompt words are input into the visual language model so that the visual language model outputs the recognition result.
[0087] In 112 above, the loss between the recognition result and the training label can be calculated using a preset loss function to obtain the training loss. The loss function can be selected or designed according to actual needs, and this specification does not specifically limit it.
[0088] Optionally, in the above 114, the model parameters can be optimized using optimization algorithms such as gradient descent based on the training loss.
[0089] In practical applications, the above-mentioned live action recognition model can be a pure visual model. The input of a pure visual model is unimodal and visual (such as an image or video), without involving any language or text modality. In this case, the training label is specifically used to indicate the type of finger action recorded in the sample finger image sequence and whether the finger action recorded in the sample finger image sequence is performed by a live finger. The sample finger image sequence is input into the live action recognition model. The live action recognition model can first extract features from the sample finger image sequence to obtain visual features, and then determine the type of finger action to which the finger action recorded in the sample finger image sequence belongs based on the visual features, and determine whether the finger action recorded in the sample finger image sequence is performed by a live finger based on the visual features. Based on the recognition results of the live action recognition model and the training label, the training loss is determined, and the model parameters are optimized based on the training loss.
[0090] In the embodiments of this specification, through model training, the model can learn finger movement recognition ability and liveness recognition ability during the training process.
[0091] In some embodiments, the above-mentioned "outputting randomly generated finger movement instructions in response to the fingerprint authentication operation triggered by the user" in step 100 can be implemented by the following steps: 1000. In response to the fingerprint authentication operation triggered by the user, obtain a randomly generated finger movement instruction sequence.
[0092] 1002. Output the finger action instructions in the finger action instruction sequence in sequence.
[0093] In the above 1000, the finger action instruction sequence includes multiple finger action instructions.
[0094] In response to the fingerprint authentication operation triggered by the user, the electronic device can randomly generate a finger action instruction sequence or request the server to randomly generate a finger action instruction sequence.
[0095] In an optional embodiment, multiple finger actions (e.g., 2 to 4) can be randomly selected from multiple preset finger actions, and a corresponding finger action instruction can be generated based on each selected finger action to obtain multiple finger action instructions. The multiple finger action instructions are sorted according to a preset sorting strategy to obtain a finger action instruction sequence. The sorting strategy can be a strategy of sorting according to a certain preset sorting rule or a random sorting strategy.
[0096] For example, the finger action instruction sequence can be randomly generated based on a preset finger action space.
[0097] In the above 1002, multiple finger action instructions are output sequentially according to the order of the multiple finger action instructions in the finger action instruction sequence.
[0098] The randomly generated sequence of finger movement commands is unpredictable, making it impossible for attackers to pre-record finger movement videos for attacks.
[0099] Steps 1002 and 102 are executed alternately and cyclically. For example, in step 1002, after outputting a finger movement command in sequence, in step 102, based on the finger image sequence captured by the camera after the output of the finger movement command, a preset liveness detection model is used to identify whether the finger movement command was executed by a live finger.
[0100] In some embodiments, a timer is performed after each finger movement command is output. When the timer reaches a preset duration, the next finger movement command in the sequence can be output.
[0101] In another embodiment, when it is identified that the currently output finger movement command was executed by a live finger, the next finger movement command is issued. Specifically, when it is identified that the currently output finger movement command was executed by a live finger and the currently output finger movement command is not the last finger movement command in the sequence, the next finger movement command is issued. When it is identified that the currently output finger action command is executed by a living finger and that the currently output finger action command is the last finger action command in the sequence, it indicates that every finger action command in the sequence has been executed by a living finger. Therefore, it can be determined that the liveness detection is successful.
[0102] Optionally, the above method may further include: 116. When it is identified that the currently output finger action command has not been executed by a living finger, determine that the liveness detection has failed.
[0103] In the embodiments of this specification, when a finger action command in the sequence is not executed by a living finger after being output, the liveness detection is directly terminated and the liveness detection is determined to have failed, which can effectively improve the efficiency of liveness detection and improve the user experience.
[0104] Accordingly, step 104 above, "when the finger action command is executed by a living finger, the liveness detection is determined to be successful," may include: (See page 14 of the specification, CN 122336809 A 1040) When the finger action commands in the finger action command sequence are executed sequentially by a living finger, the liveness detection is determined to be successful.
[0105] For example, the finger action command sequence is: three fingers bent -> four fingers spread -> index finger bent. When the three fingers are bent first by a living finger, then the four fingers are spread by a living finger, and finally the index finger is bent by a living finger, the liveness detection is determined to be successful.
[0106] In practical applications, electronic devices will output finger action commands sequentially, and users only need to execute the finger action commands in the order prompted.
[0107] The technical solution provided by the embodiments of this specification can further reduce the risk of forgery attacks such as pre-recorded videos through unpredictable random combinations of multiple actions.
[0108] Optionally, step 102 above, "based on the finger image sequence captured by the camera after the finger action command is output, using a preset liveness detection model to identify whether the finger action command is executed by a live finger," includes: 1022, after the finger action command is output, starting a timer and at preset time intervals, using the preset liveness detection model to identify whether the finger action command is executed by a live finger based on the finger image sequence currently captured by the camera.
[0109] The method further includes: 118, when the timer duration exceeds a preset duration, determining that liveness detection has failed.
[0110] In step 1022 above, within a preset time period after the finger action command is output, at preset time intervals, based on the finger image sequence currently captured by the camera, using a preset liveness detection model to identify whether the finger action command is executed by a live finger. Once it is identified that the finger action command is executed by a live finger, liveness detection for that finger action command can be stopped. The size of the preset time interval can be set according to actual needs, and this embodiment does not specifically limit it.
[0111] In step 118 above, the preset time interval is less than the preset duration. The preset duration can be set according to actual needs, and this embodiment does not specifically limit it.
[0112] In this embodiment, time constraints are applied to finger movement commands, meaning that each movement must be completed within a specified time (e.g., 2 seconds). Exceeding the time limit is considered a failure, preventing attackers from using slow motion or pre-recorded videos for attacks.
[0113] In some embodiments, step 106 above, "after successful liveness detection, perform fingerprint authentication on the user based on the finger image captured by the camera," may include: 1060, after successful liveness detection, outputting a fingerprint collection command.
[0114] 1062. The user is authenticated by fingerprint based on the finger image captured by the camera after the fingerprint acquisition output.
[0115] In step 1060 above, after successful liveness detection, the electronic device can display or broadcast the fingerprint acquisition command via interface. This prompts the user to take a finger image that meets the requirements for fingerprint information extraction.
[0116] In step 1062 above, fingerprint information is extracted from the finger image captured by the camera after the fingerprint acquisition output, and the user is authenticated by fingerprint based on the fingerprint information. Optionally, the finger image can be uploaded to the server so that the server can extract the fingerprint information and perform fingerprint authentication. Optionally, fingerprint information can be extracted from the finger image and sent to the server so that the server can perform fingerprint authentication.
[0117] In the embodiments of this specification, outputting fingerprint acquisition commands to prompt the user to cooperate with fingerprint acquisition helps to improve the effectiveness and completeness of fingerprint acquisition.
[0118] In some embodiments, to avoid the attack risk introduced by attackers switching finger subjects during the fingerprint authentication process, for example, using a live finger in the liveness detection stage and using a 3D-printed finger model in the authentication stage after the liveness detection stage, the above method may further include: 120. In response to the fingerprint authentication operation triggered by the user, turning on the camera and controlling the camera to enter the acquisition state.
[0119] 122. Comparing and analyzing the finger image currently acquired by the camera with the finger image previously acquired by the camera to determine whether the fingers in the camera's field of view have been switched.
[0120] 124. When the fingers in the camera's field of view have been switched, it is determined that the fingerprint authentication has failed.
[0121] In the above 120, the camera remains in the acquisition state until the user's fingerprint authentication process ends. That is, after the camera is turned on, it will remain in the acquisition state until the user's fingerprint authentication process ends.
[0122] In 122 and 124 above, the finger image currently captured by the camera can be compared and analyzed with the finger image previously captured by the camera at preset time intervals to determine whether the fingers in the camera's field of view have been switched. Once it is found that the fingers in the camera's field of view have been switched, it indicates that there is a possible attack risk, so the fingerprint authentication is directly determined to have failed.
[0123] The finger image currently captured by the camera can be analyzed with the finger image previously captured by the camera to check whether the movement trajectory and posture change of the fingers meet the continuity requirements, that is, to check whether the movement trajectory and posture change of the fingers conform to nature, continuity and physical laws.For example, if a live finger suddenly "jumps" into a finger in a photo or video, its movement trajectory, light reflection, texture, etc. will be discontinuous or abrupt. It can be considered that the finger in the camera's field of view has been switched, and this can be used to determine an attack.
[0124] In practical applications, the above-mentioned switching detection steps can be performed during the liveness detection stage, and can also be performed during the process of switching from the liveness detection stage to the identity authentication stage. The above-mentioned switching detection steps can also be performed during the identity authentication stage.
[0125] In this embodiment of the specification, by performing continuous detection on the finger in the camera's field of view, it is possible to better prevent the finger from being switched midway, thereby reducing the risk of attack.
[0126] The technical solution provided in this embodiment of the specification achieves liveness detection through a dual mechanism of "random challenge" and "time-sequence action verification". It not only detects "whether there is a finger", but also detects "whether this finger can make continuous actions in accordance with biomechanical laws at the correct time and according to random instructions", thereby keeping attack media such as photos, videos, and 3D fake models out.
[0127] Figure 4 is a flowchart of a liveness detection method provided in an embodiment of this specification. The execution subject of this method can be an electronic device with a camera. As shown in Figure 4, the method includes: 200. In response to a user-triggered operation, outputting a randomly generated finger action command.
[0128] 202. Based on the finger image sequence captured by the camera after the finger action command is output, using a preset liveness detection model to identify whether the finger action command is executed by a live finger.
[0129] 204. If the finger action command is executed by a live finger, determining that the liveness detection is successful.
[0130] In step 200 above, the user-triggered operation may include a fingerprint authentication operation.
[0131] The specific implementation of steps 200 to 204 above can be found in the corresponding content of the above embodiments, and will not be repeated here.
[0132] In the technical solution provided by the embodiments of this specification, the user is required to complete a randomly instructed finger action, and the corresponding finger image series is captured by the camera on pages 12 / 15 of the specification (CN 122336809 A). Then, the finger image series is analyzed by a preset liveness detection model, which can effectively extract the finger movement characteristics to achieve liveness detection. It can be seen that this solution performs fingerprint liveness detection through an interactive verification method of random finger action commands, which can reduce the risk of forgery attacks.
[0133] It should be noted here that: the contents of each step in the method provided by the embodiments of this specification that are not fully described can be referred to the corresponding contents in the above embodiments, and will not be repeated here. In addition, the method provided by the embodiments of this specification may include other parts or all of the steps in the above embodiments in addition to the above steps, and can be referred to the corresponding contents in the above embodiments, and will not be repeated here.
[0134] Figure 5 shows a schematic diagram of the fingerprint authentication system provided in the embodiments of this specification. As shown in Figure 5, the system includes: a client 50 and a server 51; wherein, the client 50 is used to send a fingerprint authentication request to the server in response to a fingerprint authentication operation triggered by a user; the server 51 is used to randomly generate a finger action command in response to the fingerprint authentication request and send the finger action command to the client; the client 50 is used to start a camera and output the finger action command, and send the finger image sequence captured by the camera after the finger action command is output to the server; the server 51 is used to identify whether the finger action command is executed by a live finger based on the finger image sequence using a preset liveness detection model; if the finger action command is executed by a live finger, the liveness detection is successful; after the liveness detection is successful, the server performs fingerprint authentication on the user based on the finger image captured by the camera and sends the fingerprint authentication result to the client.
[0135] The device corresponding to the client 50 may be, but is not limited to: a smartphone, a smart wearable device, a tablet computer, a laptop computer, a desktop computer, etc. Wherein, the server 51 can be a server, service cluster, virtual server, or cloud, etc., and this embodiment does not specifically limit it.
[0136] Wherein, the specific implementation of the client 50 and the server 51 can be referred to the corresponding content in the above method embodiment, and will not be repeated here.
[0137] An embodiment of this specification also provides a fingerprint identity authentication device, including: an output module, used to output a randomly generated finger action command in response to a fingerprint identity authentication operation triggered by a user; an identification module, used to identify whether the finger action command is executed by a live finger based on a finger image sequence captured by a camera after the finger action command is output, using a preset live action recognition model; a determination module, used to determine that the liveness detection is successful when the finger action command is executed by a live finger; and an authentication module, used to perform fingerprint identity authentication on the user based on the finger image captured by the camera after the liveness detection is successful.
[0138] An embodiment of this specification also provides a liveness detection device, comprising: an output module, configured to output a randomly generated finger action command in response to an operation triggered by a user; an identification module, configured to identify whether the finger action command is executed by a live finger based on a sequence of finger images captured by a camera after the finger action command is output, using a preset liveness detection model; and a determination module, configured to determine that the liveness detection is successful if the finger action command is executed by a live finger.Instruction manual, pages 13 / 15, 17 CN 122336809 A
[0139] It should be noted here that: the devices provided in the above embodiments can realize the technical solutions described in the corresponding method embodiments above. The specific implementation principles and corresponding beneficial effects of the above modules or units can be found in the corresponding contents of the above method embodiments, and will not be repeated here.
[0140] An embodiment of this specification also provides an electronic device. As shown in FIG6, the electronic device includes a processor 42 and a memory 41. The memory 41 is used to store one or more computer programs (or instructions); the processor 42 is coupled to the memory 41 and is used for the at least one or more computer programs to implement the steps in the methods provided in the embodiments of this specification.
[0141] Further, the electronic device also includes: a communication component 43, a display 44, a power supply component 45, and an audio component 46, etc. Only some components are shown schematically here, and it does not mean that the electronic device only has these components.
[0142] The methods in this specification can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented wholly or partially in the form of a computer program product. Therefore, this specification also provides a computer program product. This computer program product includes a computer program / instructions that, when executed by an electronic component such as a processor, can wholly or partially perform the steps or functions of the methods provided in the embodiments of this specification. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, a core network device, or other programmable devices.
[0143] The aforementioned memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random-Access Memory (SRAM), Electrically Erasable Programmable Read Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0144] The above-mentioned display includes a screen, which may include a liquid crystal display (LCD) and a touch panel (TP).If the screen includes a touch panel, the screen can be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, swipe, and gestures on the touch panel. The touch sensors can sense not only the boundaries of the touch or swipe action, but also the duration and pressure associated with the touch or swipe operation.
[0145] The power supply component described above provides power to various components of the device in which the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply component is located.
[0146] The audio component described above can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC) configured to receive external audio signals when the device in which the audio component is located is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals may be further stored in memory or transmitted via a communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals.
[0147] Accordingly, embodiments of this specification also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, enables the processor to implement the steps in the above-described method embodiments. The computer-readable storage medium may be volatile, non-volatile, or a combination thereof, and may be removable or non-removable. Examples of computer-readable storage media include, but are not limited to, phase-change random access memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), flash memory or other memory technologies, CD-ROM, digital video disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices or any other non-transfer medium.
[0148] Accordingly, embodiments of this specification also provide a computer program product, which includes a computer program or instructions that, when executed by a processor, enable the processor to implement the steps in the above method embodiments.It should be understood that each or a combination of the above-described method flow can be implemented by computer programs or instructions. Furthermore, these computer programs or instructions can be applied to the processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device, enabling the processor of the general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to function as an apparatus for implementing the corresponding functions in the above-described method embodiments.
[0149] Specific embodiments of this specification have been described above. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims can be performed in a different order than those shown in the embodiments and still achieve the desired results. Additionally, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0150] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on the differences from other embodiments. In particular, for embodiments such as apparatuses, electronic devices, storage media, and program products, since they are basically similar to the method embodiments, the description is relatively simple, and relevant parts can be referred to the description of the method embodiments.
[0151] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.
[0152] The above are merely embodiments of this specification and are not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this application.Description 15 / 15 Page 19 CN 122336809 A Figure 1 Figure 2 Description Drawings 1 / 3 Page 20 CN 122336809 A Figure 3 Figure 4 Description Drawings 2 / 3 Page 21 CN 122336809 A Figure 5 Figure 6 Description Drawings 3 / 3 Page 22 CN 122336809 A This specification provides a fingerprint authentication and liveness detection method, system, and device. In this method, in response to a user-triggered fingerprint authentication operation, a randomly generated finger movement command is output; based on a sequence of finger images captured by a camera after the finger movement command is output, a preset liveness detection model is used to identify whether the finger movement command is executed by a live finger; if the finger movement command is executed by a live finger, liveness detection is confirmed to be successful; after successful liveness detection, fingerprint authentication is performed on the user based on the finger images captured by the camera. Abstract.
Claims
1. A fingerprint authentication method, characterized in that, include: In response to the fingerprint authentication operation triggered by the user, output a randomly generated finger gesture command; Based on the sequence of finger images captured by the camera after the finger action command is output, a preset liveness detection model is used to identify whether the finger action command is executed by a live finger. If the finger movement command is executed by a living finger, the liveness detection is confirmed to be successful. After a successful liveness detection, the user's fingerprint identity is authenticated based on the finger image captured by the camera.
2. The method according to claim 1, characterized in that, Based on the sequence of finger images captured by the camera after the finger movement command is output, a preset liveness detection model is used to identify whether the finger movement command was executed by a live finger, including: The sequence of finger images captured by the camera after the finger action command is output is input into a preset live action recognition model, so that the live action recognition model can identify the action type of the finger action contained in the finger image sequence and determine whether the finger action is performed by a live finger. Based on the output information of the liveness detection model, it is determined whether the finger action command was executed by a live finger.
3. The method according to claim 1, characterized in that, The liveness recognition model includes: a visual language model; Based on the sequence of finger images captured by the camera after the finger movement command is output, a preset liveness detection model is used to identify whether the finger movement command was executed by a live finger, including: Based on the finger movement command and the finger image sequence, a prompt word is constructed. The prompt word is used to prompt the visual language model to identify whether the finger movement command was executed by a living finger based on the finger image sequence. The prompt word is input into the visual language model to obtain the output result of the visual language model; Based on the output, determine whether the finger movement command was executed by a living finger.
4. The method according to any one of claims 1 to 3, characterized in that, Also includes: Acquire training samples, which include sample finger image sequences and training labels. The training labels are used to indicate whether the sample finger image sequences record preset finger actions performed by live fingers. The sample finger image sequence is input into the liveness detection model to obtain the recognition result; Based on the recognition results and the training labels, the training loss is determined; Based on the training loss, the parameters of the liveness detection model are optimized.
5. The method according to any one of claims 1 to 3, characterized in that, In response to a user-triggered fingerprint authentication, output randomly generated finger gesture commands, including: In response to the fingerprint authentication operation triggered by the user, obtain a randomly generated sequence of finger movement instructions; Output the finger movement commands in the sequence of finger movement commands in order; When the finger movement command is executed by a living finger, a successful liveness detection is determined, including: When the finger action commands in the finger action command sequence are executed sequentially by a living finger, the liveness detection is determined to be successful.
6. The method according to claim 5, characterized in that, Output the finger movement commands in the sequence of finger movement commands in order, including: When it is recognized that the currently output finger action command is executed by a living finger, the next finger action command is issued; The method further includes: If the currently output finger action command is not executed by a living finger, the liveness detection is deemed to have failed.
7. The method according to any one of claims 1 to 3, characterized in that, The finger movement commands are randomly generated based on a preset finger movement space; The finger movement space includes a variety of preset finger movements, which involve joint movements.
8. The method according to claim 7, characterized in that, The preset finger movements include single-finger movements and / or multi-finger movements.
9. The method according to any one of claims 1 to 3, characterized in that, Based on the sequence of finger images captured by the camera after the finger movement command is output, a preset liveness detection model is used to identify whether the finger movement command was executed by a live finger, including: After the finger action command is output, a timer is started and at preset time intervals, based on the finger image sequence currently captured by the camera, a preset liveness detection model is used to identify whether the finger action command is executed by a live finger. The method further includes: If the timing duration exceeds the preset duration, the liveness detection is deemed to have failed.
10. The method according to any one of claims 1 to 3, characterized in that, After successful liveness detection, the user's fingerprint is used to authenticate their identity based on the finger image captured by the camera, including: After successful liveness detection, a fingerprint collection command is output; The user's fingerprint is used to authenticate their identity based on the finger image captured by the camera after the fingerprint is collected and output.
11. The method according to any one of claims 1 to 3, characterized in that, Also includes: In response to a user-triggered fingerprint authentication operation, the camera is turned on and controlled to enter the acquisition state, wherein the camera remains in the acquisition state until the user's fingerprint authentication ends; By comparing and analyzing the finger image currently captured by the camera with the finger image previously captured by the camera, it can be determined whether the fingers in the camera's field of view have been switched. If the fingers within the camera's field of view are switched, fingerprint authentication is deemed to have failed.
12. A method for detecting liveness, characterized in that, include: In response to user-triggered actions, output randomly generated finger gesture commands; Based on the sequence of finger images captured by the camera after the finger action command is output, a preset liveness detection model is used to identify whether the finger action command is executed by a live finger. If the finger movement command is executed by a living finger, the liveness detection is confirmed to be successful.
13. A fingerprint authentication system, characterized in that, Including client and server sides; among which, The client is used to send a fingerprint authentication request to the server in response to a fingerprint authentication operation triggered by the user. The server is used to respond to the fingerprint authentication request, randomly generate a finger action command, and send the finger action command to the client; The client is used to start the camera, output the finger action command, and send the sequence of finger images captured by the camera after the finger action command is output to the server. The server is used to identify whether the finger action command is executed by a live finger based on the finger image sequence using a preset liveness detection model; if the finger action command is executed by a live finger, the server determines that the liveness detection is successful; after the liveness detection is successful, the server performs fingerprint authentication on the user based on the finger image captured by the camera and sends the fingerprint authentication result to the client.
14. A fingerprint authentication device, characterized in that, include: The output module is used to respond to the fingerprint authentication operation triggered by the user and output randomly generated finger action instructions; The recognition module is used to identify whether the finger action command is executed by a living finger based on the finger image sequence captured by the camera after the finger action command is output, using a preset live action recognition model. The determination module is used to determine that the liveness detection was successful when the finger action command is executed by a live finger; The authentication module is used to authenticate the user's identity by fingerprint based on the finger image captured by the camera after a successful liveness detection.
15. A liveness detection device, characterized in that, include: The output module is used to respond to user-triggered operations and output randomly generated finger movement commands. The recognition module is used to identify whether the finger action command is executed by a living finger based on the finger image sequence captured by the camera after the finger action command is output, using a preset live action recognition model. The determination module is used to determine that the liveness detection was successful when the finger action command is executed by a live finger.
16. An electronic device, characterized in that, include: Memory and processor, among which, The memory is used to store programs; The processor, coupled to the memory, is configured to execute the program stored in the memory to implement the method of any one of claims 1 to 12.
17. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a computer, it can implement the method of any one of claims 1 to 12.
18. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 12.