Fingerprint sensor Anti-spoofing with personalized feature elimination
Customized anti-spoofing calibration methods for fingerprint sensors reduce latency and computational overhead by selecting top-ranked fingerprint features, addressing vulnerabilities and improving user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-29
- Publication Date
- 2026-04-02
AI Technical Summary
Existing fingerprint sensor systems are vulnerable to spoofing attacks, with current anti-spoofing methods requiring extensive computational resources and time, leading to user experience delays and inefficiencies.
Customized anti-spoofing calibration methods that select and store a subset of top-ranked fingerprint feature types for each user, reducing the number of features processed during authentication, utilizing a trained classifier to determine these features.
This approach reduces latency and computational overhead while maintaining or improving anti-spoofing accuracy, enhancing user experience by streamlining fingerprint authentication processes.
Smart Images

Figure US2025044207_02042026_PF_FP_ABST
Abstract
Description
Qualcomm Ref. 2403561 WOFINGERPRINT SENSOR ANTI-SPOOFING WITH PERSONALIZED FEATURE ELIMINATIONPRIORITY CLAIM
[0001] This application claims priority to Indian Provisional Application No. 202441072517, filed on September 25, 2024 and entitled “FINGERPRINT SENSOR ANTI-SPOOFING WITH PERSONALIZED FEATURE ELIMINATION,” which is hereby incorporated by reference and for all purposes.TECHNICAL FIELD
[0002] This disclosure relates generally to fingerprint sensor systems and relates more specifically to spoof detection and prevention for devices that include fingerprint sensor systems.DESCRIPTION OF THE RELATED TECHNOLOGY
[0003] Biometric authentication can be an important feature for controlling access to devices, etc. Many existing products include some type of biometric authentication, including but not limited to fingerprint-based authentication. Technically savvy hackers revel in defeating the latest fingerprint-based authentication devices and methods. For example, some premium-tier mobile phone manufacturers have had smartphones that incorporated fingerprint-based authentication systems successfully hacked shortly after product introduction. In some instances, spoofing may involve using a finger-like object that includes silicone rubber, polyvinyl acetate (white glue), gelatin, glycerin, etc., with a fingerprint pattern of a rightful user formed on an outside surface. In some cases, a spoof may include a fingerprint pattern of a rightful user on a sleeve or partial sleeve that can be slipped over or on a hacker’s finger. Improved anti-spoofing methods and devices would be desirable.QUALP644WOQualcomm Ref. 2403561 WOSUMMARY
[0004] The systems, methods and devices of the disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.
[0005] Some innovative aspects of the subject matter described in this disclosure may be implemented via one or more methods. In some examples, an anti-spoofing calibration method may involve providing a user prompt to select a user’s digit and providing a user prompt to place a selected user’s digit in a fingerprint sensor area. Some methods may involve obtaining, by a control system and from a fingerprint sensor, fingerprint sensor data corresponding to the selected user’s digit. Some methods may involve extracting, by the control system and from the fingerprint sensor data, T antispoofing fingerprint feature types, T being an integer. Some methods may involve determining, by the control system, N top-ranked anti-spoofing fingerprint feature types of the T anti-spoofing fingerprint feature types, N being an integer smaller than T. Some methods may involve causing, by the control system, the N top-ranked anti-spoofing fingerprint feature types to be stored in a memory.
[0006] Some methods may involve providing a user prompt indicating that an initial calibration process for the selected user’s digit has completed. In some examples, determining the N top-ranked anti-spoofing fingerprint feature types may involve an iterative process of evaluating subsets of the T anti-spoofing fingerprint feature types.
[0007] According to some examples, determining the N top-ranked anti- spoofing fingerprint feature types may involve a process of determining individual contributions of each of the T anti-spoofing fingerprint feature types to each test anti-spoofing process of a plurality of test anti-spoofing processes. In some examples, determining the individual contributions of each of the T anti- spoofing fingerprint feature types may involve determining relative contributions of each of the T anti-spoofing fingerprint feature types to a ground truth value. According to some examples, determining individual contributions of each of the T anti- spoofing fingerprint feature types may involve implementing, by the control system, a classifier that has been trained to determine top-ranked anti- spoofing fingerprint feature types from fingerprint sensor data corresponding to a plurality of digits.QUALP644WOQualcomm Ref. 2403561 WO
[0008] Some methods may involve performing, by the control system and after an initial calibration process, a plurality of anti-spoofing processes using the N top-ranked anti-spoofing fingerprint feature types.
[0009] In some examples, each anti-spoofing process of the plurality of anti-spoofing processes may be performed after a successful fingerprint match of a fingerprint authentication process implemented by the control system. According to some examples, T may be an integer of 100 or more and N may be an integer of 30 or less. Some methods may involve performing a subsequent calibration process after performing a threshold number of anti- spoofing processes.
[0010] Other innovative aspects of the subject matter described in this disclosure may be implemented via one or more other methods. In some examples, an antispoofing calibration method may involve providing a user prompt to place a user’s digit in a fingerprint sensor area and obtaining, by a control system and from a fingerprint sensor, fingerprint sensor data corresponding to the user’s digit. Some methods may involve determining, by the control system and based on the fingerprint sensor data, that a currently-obtained fingerprint image matches one or more previously-obtained fingerprint images. Some methods may involve extracting, by the control system and from the fingerprint sensor data, N top-ranked anti- spoofing fingerprint feature types of a set of T anti-spoofing fingerprint feature types, N and T being integers and N being an integer smaller than T. Some methods may involve performing, by the control system, an anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types.
[0011] Some methods may involve obtaining top-ranked anti- spoofing fingerprint feature data from a memory, top-ranked anti- spoofing fingerprint feature data indicating which of the T anti- spoofing fingerprint feature types are the N top-ranked anti- spoofing fingerprint feature types. In some examples, the top-ranked anti-spoofing fingerprint feature data may have resulted from a previous anti-spoofing calibration process.
[0012] Some methods may involve performing a subsequent calibration process after performing a threshold number of anti-spoofing processes. The subsequent calibration process may involve re-selecting top-ranked anti-spoofing fingerprint feature types from the set of T anti-spoofing fingerprint feature types. According to some examples, the threshold number of anti- spoofing processes may be in a range from 5 anti- spoofingQUALP644WOQualcomm Ref. 2403561 WO processes to 20 anti- spoofing processes.
[0013] In some examples, T may be an integer of 100 or more and N may be an integer of 30 or less. According to some examples, performing the anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types may require less than 1710tha time of an anti-spoofing process using all of the T anti-spoofing fingerprint feature types. In some examples, performing the anti-spoofing process using the N topranked anti-spoofing fingerprint feature types may involve implementing a previously- trained classifier. According to some examples, the anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types may be more accurate than an antispoofing process using all of the T anti-spoofing fingerprint feature types.
[0014] Yet other innovative aspects of the subject matter described in this disclosure may be implemented in an apparatus. The apparatus may include a user interface system that includes a display, a fingerprint sensor system, a memory system and a control system configured for communication with the display, the fingerprint sensor system and the memory system. The control system may include one or more general purpose single- or multi-chip processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, or combinations thereof. In some implementations, a mobile device (such as a wearable device, a cellular telephone, etc.) may be, or may include, at least part of the apparatus.
[0015] According to some examples, the control system may be configured to control the user interface system to provide a user prompt to select a user’s digit. In some examples, the control system may be configured to control the user interface system to provide a user prompt to place a selected user’s digit in a fingerprint sensor area indicated on the display, the fingerprint sensor area corresponding to at least a portion of the fingerprint sensor system. According to some examples, the control system may be configured to obtain, from the fingerprint sensor system, fingerprint sensor data corresponding to the selected user’s digit. In some examples, the control system may be configured to extract, from the fingerprint sensor data, T anti-spoofing fingerprint feature types, T being an integer. According to some examples, the control system may be configured to determine N top-ranked anti-spoofing fingerprint featureQUALP644WOQualcomm Ref. 2403561 WO types of the T anti- spoofing fingerprint feature types, N being an integer smaller than T. In some examples, the control system may be configured to cause the N top-ranked antispoofing fingerprint feature types to be stored in a memory of the memory system.
[0016] In some examples, the control system may be configured to control the user interface system to provide a user prompt indicating that an initial calibration process for the selected user’s digit has completed. In some examples, one or more neural networks implemented by the control system may be configured to determine the N top-ranked anti-spoofing fingerprint feature types. According to some examples, determining the N top-ranked anti-spoofing fingerprint feature types may involve an iterative process of evaluating subsets of the T anti-spoofing fingerprint feature types. In some examples, determining the N top-ranked anti-spoofing fingerprint feature types may involve a process of determining individual contributions of each of the T anti- spoofing fingerprint feature types to each test anti-spoofing process of a plurality of test anti-spoofing processes. According to some examples, determining individual contributions of each of the T anti- spoofing fingerprint feature types may involve implementing a classifier that has been trained to determine top-ranked anti-spoofing fingerprint feature types from fingerprint sensor data corresponding to a plurality of digits.
[0017] Still other innovative aspects of the subject matter described in this disclosure may be implemented in an apparatus. The apparatus may include a user interface system that includes a display, a fingerprint sensor system, a memory system and a control system configured for communication with the display, the fingerprint sensor system and the memory system. The control system may include one or more general purpose single- or multi-chip processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, or combinations thereof. In some implementations, a mobile device (such as a wearable device, a cellular telephone, etc.) may be, or may include, at least part of the apparatus.
[0018] According to some examples, the control system may be configured to control the user interface system to provide a user prompt to place a user’s digit in a fingerprint sensor area indicated on the display, the fingerprint sensor area corresponding to at least a portion of the fingerprint sensor system. According to some examples, theQUALP644WOQualcomm Ref. 2403561 WO control system may be configured to obtain, from the fingerprint sensor system, fingerprint sensor data corresponding to the user’s digit. In some examples, the control system may be configured to determine, based on the fingerprint sensor data, that a currently-obtained fingerprint image matches one or more previously-obtained fingerprint images. According to some examples, the control system may be configured to extract, from the fingerprint sensor data, N top-ranked anti-spoofing fingerprint feature types of a set of T anti-spoofing fingerprint feature types, N and T being integers and N being an integer smaller than T. In some examples, the control system may be configured to perform an anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types.
[0019] According to some examples, the control system may be configured to obtain top-ranked anti-spoofing fingerprint feature data from a memory, top-ranked antispoofing fingerprint feature data indicating which of the T anti- spoofing fingerprint feature types are the N top-ranked anti-spoofing fingerprint feature types. In some examples, the top-ranked anti-spoofing fingerprint feature data may have resulted from a previous anti- spoofing calibration process.
[0020] In some examples, the threshold number of anti-spoofing processes may be in a range from 5 anti-spoofing processes to 20 anti-spoofing processes. According to some examples, the control system may be configured to perform a subsequent calibration process after performing a threshold number of anti-spoofing processes, the subsequent calibration process involving re-selecting top-ranked anti-spoofing fingerprint feature types from the set of T anti-spoofing fingerprint feature types.
[0021] Some or all of the operations, functions and / or methods described herein may be performed by one or more devices according to instructions (e.g., software) stored on one or more non-transitory media. Such non-transitory media may include memory devices such as those described herein, including but not limited to random access memory (RAM) devices, read-only memory (ROM) devices, etc. Accordingly, some innovative aspects of the subject matter described in this disclosure can be implemented in one or more non-transitory media having software stored thereon.
[0022] For example, the software may include instructions for controlling one or more devices to perform one or more methods. Some such methods may involve anti-QUALP644WOQualcomm Ref. 2403561 WO spoofing calibration. In some examples, an anti-spoofing calibration method may involve providing a user prompt to select a user’s digit and providing a user prompt to place a selected user’s digit in a fingerprint sensor area. Some methods may involve obtaining, by a control system and from a fingerprint sensor, fingerprint sensor data corresponding to the selected user’s digit. Some methods may involve extracting, by the control system and from the fingerprint sensor data, T anti-spoofing fingerprint feature types, T being an integer. Some methods may involve determining, by the control system, N top-ranked anti-spoofing fingerprint feature types of the T anti-spoofing fingerprint feature types, N being an integer smaller than T. Some methods may involve causing, by the control system, the N top-ranked anti-spoofing fingerprint feature types to be stored in a memory.
[0023] Some methods may involve providing a user prompt indicating that an initial calibration process for the selected user’s digit has completed. In some examples, determining the N top-ranked anti-spoofing fingerprint feature types may involve an iterative process of evaluating subsets of the T anti-spoofing fingerprint feature types.
[0024] According to some examples, determining the N top-ranked anti- spoofing fingerprint feature types may involve a process of determining individual contributions of each of the T anti-spoofing fingerprint feature types to each test anti-spoofing process of a plurality of test anti-spoofing processes. In some examples, determining the individual contributions of each of the T anti- spoofing fingerprint feature types may involve determining relative contributions of each of the T anti-spoofing fingerprint feature types to a ground truth value. According to some examples, determining individual contributions of each of the T anti- spoofing fingerprint feature types may involve implementing, by the control system, a classifier that has been trained to determine top-ranked anti- spoofing fingerprint feature types from fingerprint sensor data corresponding to a plurality of digits.
[0025] Some methods may involve performing, by the control system and after an initial calibration process, a plurality of anti-spoofing processes using the N top-ranked anti-spoofing fingerprint feature types. In some examples, each anti-spoofing process of the plurality of anti- spoofing processes may be performed after a successful fingerprint match of a fingerprint authentication process implemented by the control system. According to some examples, T may be an integer of 100 or more and N may be anQUALP644WOQualcomm Ref. 2403561 WO integer of 30 or less. Some methods may involve performing a subsequent calibration process after performing a threshold number of anti-spoofing processes.
[0026] Other innovative aspects of the subject matter described in this disclosure may be implemented via one or more non-transitory media having instructions stored thereon for controlling one or more devices to perform one or more other methods, some of which may be anti-spoofing methods. In some examples, an anti-spoofing method may involve providing a user prompt to place a user’s digit in a fingerprint sensor area and obtaining, by a control system and from a fingerprint sensor, fingerprint sensor data corresponding to the user’s digit. Some methods may involve determining, by the control system and based on the fingerprint sensor data, that a currently-obtained fingerprint image matches one or more previously-obtained fingerprint images. Some methods may involve extracting, by the control system and from the fingerprint sensor data, N top-ranked anti- spoofing fingerprint feature types of a set of T anti- spoofing fingerprint feature types, N and T being integers and N being an integer smaller than T. Some methods may involve performing, by the control system, an anti-spoofing process using the N top-ranked anti- spoofing fingerprint feature types.
[0027] Some methods may involve obtaining top-ranked anti- spoofing fingerprint feature data from a memory, top-ranked anti- spoofing fingerprint feature data indicating which of the T anti- spoofing fingerprint feature types are the N top-ranked anti- spoofing fingerprint feature types. In some examples, the top-ranked anti-spoofing fingerprint feature data may have resulted from a previous anti-spoofing calibration process.
[0028] Some methods may involve performing a subsequent calibration process after performing a threshold number of anti-spoofing processes. The subsequent calibration process may involve re-selecting top-ranked anti-spoofing fingerprint feature types from the set of T anti-spoofing fingerprint feature types. According to some examples, the threshold number of anti- spoofing processes may be in a range from 5 anti- spoofing processes to 20 anti- spoofing processes.
[0029] In some examples, T may be an integer of 100 or more and N may be an integer of 30 or less. According to some examples, performing the anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types may require less than 1710tha time of an anti-spoofing process using all of the T anti-spoofing fingerprintQUALP644WOQualcomm Ref. 2403561 WO feature types. In some examples, performing the anti-spoofing process using the N topranked anti-spoofing fingerprint feature types may involve implementing a previously- trained classifier. According to some examples, the anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types may be more accurate than an antispoofing process using all of the T anti-spoofing fingerprint feature types.BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims. Note that the relative dimensions of the following figures may not be drawn to scale. Like reference numbers and designations in the various drawings indicate like elements.
[0031] Figure 1 is a block diagram that shows example components of an apparatus according to some disclosed implementations.
[0032] Figure 2 is a block diagram that shows example elements of a classifier training process according to some disclosed implementations.
[0033] Figure 3 is a block diagram that shows example elements of a calibration process according to some disclosed implementations.
[0034] Figures 4A, 4B, 4C and 4D show examples of GUIs that may be provided according to some disclosed methods.
[0035] Figure 5 is a flow diagram that provides example blocks of some methods disclosed herein.
[0036] Figure 6 is a flow diagram that provides example blocks of some methods disclosed herein.
[0037] Figure 7 shows an example of an additional graphical user interface (GUI) that may be used to implement aspects of the present disclosure.
[0038] Figure 8 is a flow diagram that provides example blocks of some methods disclosed herein.QUALP644WOQualcomm Ref. 2403561 WODETAILED DESCRIPTION
[0039] The following description is directed to certain implementations for the purposes of describing the innovative aspects of this disclosure. However, a person having ordinary skill in the art will readily recognize that the teachings herein may be applied in a multitude of different ways. The described implementations may be implemented in any device, apparatus, or system that includes a biometric system as disclosed herein. In addition, it is contemplated that the described implementations may be included in or associated with a variety of electronic devices such as, but not limited to: mobile telephones, multimedia Internet enabled cellular telephones, mobile television receivers, wireless devices, smartphones, smart cards, wearable devices such as bracelets, armbands, wristbands, rings, headbands, patches, etc., Bluetooth® devices, personal data assistants (PDAs), wireless electronic mail receivers, hand-held or portable computers, netbooks, notebooks, smartbooks, tablets, printers, copiers, scanners, facsimile devices, global positioning system (GPS) receivers / navigators, cameras, digital media players (such as MP3 players), camcorders, game consoles, wrist watches, clocks, calculators, television monitors, flat panel displays, electronic reading devices (e.g., e- readers), mobile health devices, computer monitors, auto displays (including odometer and speedometer displays, etc.), cockpit controls and / or displays, camera view displays (such as the display of a rear view camera in a vehicle), electronic photographs, electronic billboards or signs, projectors, architectural structures, microwaves, refrigerators, stereo systems, cassette recorders or players, DVD players, CD players, VCRs, radios, portable memory chips, washers, dryers, washer / dryers, parking meters, packaging (such as in electromechanical systems (EMS) applications including microelectromechanical systems (MEMS) applications, as well as non-EMS applications), aesthetic structures (such as display of images on a piece of jewelry or clothing) and a variety of EMS devices. The teachings herein also may be used in applications such as, but not limited to, electronic switching devices, radio frequency filters, sensors, accelerometers, gyroscopes, motion-sensing devices, magnetometers, inertial components for consumer electronics, parts of consumer electronics products, steering wheels or other automobile parts, varactors, liquid crystal devices, electrophoretic devices, drive schemes, manufacturing processes and electronic test equipment. Thus, the teachings are not intended to be limited to the implementations depicted solely in the Figures, but instead have wide applicability as will be readilyQUALP644WOQualcomm Ref. 2403561 WO apparent to one having ordinary skill in the art.
[0040] Many devices, including but not limited to mobile devices such as cellular telephones, are configured to implement fingerprint (FP)-based authentication. Hackers have proven to be skilled in creating objects sometimes referred to as “spoofs,” which have a fingerprint pattern that matches a fingerprint pattern of an authorized user, in order to provide unauthorized access to such devices. The process of using a spoof is sometimes referred to as “spoofing.”
[0041] Previously-deployed anti-spoof (ASP) methods have not been entirely satisfactory, in part because detecting spoofs is not an easy task. Some of the most successful previously-deployed ASP methods are based on machine learning (ML) and deep learning (DL) methods. However, with increasing spoof quality, ML and DL algorithms require more FP-related data inputs, also referred to herein as FP features, in order to make an accurate decision as to whether a currently-presented finger is a real finger of an authorized person or a spoof. (As noted elsewhere herein, the word “finger” as used herein may correspond to any digit, including a thumb. Accordingly, a thumbprint is a type of fingerprint.) For example, some previously-proposed DL-based ASP methods use more than 200 feature types. Because of the large number of FP feature types involved, the process of calculating all FP features and subsequent processing of these FP features by the DL model according to such methods may require multiple seconds. Such long time durations could negatively impact the user experience. Accordingly, original equipment manufacturers (OEMs) have not been willing to adopt some such previously -proposed DL-based ASP methods.
[0042] Some examples of the present disclosure involve ASP calibration methods in which anti- spoofing fingerprint features are customized for each user. Some such ASP calibration methods may involve providing a user prompt to select a user’ s digit, providing a user prompt to place a selected user’s digit in a fingerprint sensor area and obtaining fingerprint sensor data corresponding to the selected user’s digit. Some such ASP calibration methods may involve extracting T anti-spoofing fingerprint feature types — T being an integer — and determining N top-ranked anti-spoofing fingerprint feature types of the T anti-spoofing fingerprint feature types, where N is an integer smaller than T. Some such ASP calibration methods may involve storing the N topranked anti-spoofing fingerprint feature types in a memory for one or more subsequentQUALP644WOQualcomm Ref. 2403561 WOASP processes associated with fingerprint authentication.
[0043] Some examples of the present disclosure involve fingerprint authentication and ASP methods based, at least in part, on the foregoing ASP calibration methods. Some disclosed methods may involve providing a user prompt to place a user’s digit in a fingerprint sensor area, obtaining fingerprint sensor data corresponding to the user’ s digit and determining whether a currently-obtained fingerprint image matches one or more previously-obtained fingerprint images. If there is a match, some disclosed methods may involve extracting N top-ranked anti-spoofing fingerprint feature types of a set of T antispoofing fingerprint feature types, N and T being integers and N being an integer smaller than T. The N top-ranked anti-spoofing fingerprint feature types may have been determined during a previous ASP calibration process. Some disclosed methods may involve performing, by the control system, an anti-spoofing process using the N topranked anti-spoofing fingerprint feature types.
[0044] Particular aspects of the subject matter described in this disclosure may be implemented to realize one or more of the following potential advantages. Some disclosed ASP methods provide reduced latencies because fewer features are calculated. Additional latency reductions are provided in such examples, because a DL model will need to process fewer features. In some such examples, latency may be reduced by a factor of 10 or more. In addition to reducing latency, such methods also require relatively less computational overhead and cause the consumption of relatively less power. Some disclosed ASP methods provide relatively greater ASP accuracy than previously-disclosed ASP methods, because personalized, top-ranked feature types are used for the ASP process. By drastically reducing latency while potentially increasing accuracy, the disclosed ASP methods, devices and systems can provide an enhanced user experience.
[0045] Figure 1 is a block diagram that shows example components of an apparatus according to some disclosed implementations. In this example, the apparatus 101 includes a fingerprint sensor system 102, a user interface system 104, which includes at least one display in this example, a control system 106 and a memory system 108. As with other disclosed implementations, the types, number and arrangement of elements shown in Figure 1 are merely presented by way of example. Other implementations may have other types, numbers and / or arrangements of elements. Some implementations mayQUALP644WOQualcomm Ref. 2403561 WO include a touch sensor system 103.
[0046] The fingerprint sensor system 102 may be any suitable type of fingerprint sensor system, such as an optical fingerprint sensor system, a capacitive fingerprint sensor system, a resistive fingerprint sensor system, a radio frequency-based fingerprint sensor system, etc. In some examples the fingerprint sensor system may be, or may include, an ultrasonic fingerprint sensor system.
[0047] Data received from the fingerprint sensor system 102 may sometimes be referred to herein as “fingerprint sensor data,” “fingerprint image data,” etc., whether or not the received data corresponds to an actual digit or another object from which the fingerprint sensor system 102 has received data. Such data will generally be received from the fingerprint sensor system in the form of electrical signals. Accordingly, without additional processing such image data would not necessarily be perceivable by a human being as an image. As noted elsewhere herein, the word “finger” as used herein may correspond to any digit, including a thumb. Accordingly, a thumbprint is a type of fingerprint.
[0048] The optional touch sensor system 103 may be, or may include, a resistive touch sensor system, a surface capacitive touch sensor system, a projected capacitive touch sensor system, a surface acoustic wave touch sensor system, an infrared touch sensor system, or any other suitable type of touch sensor system. In some implementations, the area of the touch sensor system 103 may extend over most or all of a display portion of the display system 110.
[0049] According to this implementation, the user interface system 104 includes at least one display. According to the user interface system 104 may be configured (for example, according to software or other instructions executed by the control system 106), to provide one or more types of graphical user interface (GUI) via at least one display. In some examples, the user interface system 104 may include one or more other types of user interface, such as one or more loudspeakers, a touch and / or gesture sensor system, a haptic feedback system, etc.
[0050] The control system 106 may include one or more general purpose single- or multi-chip processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic QUALP644WOQualcomm Ref. 2403561 WO devices, discrete gates or transistor logic, discrete hardware components, or combinations thereof. According to some examples, the control system 106 may include a dedicated component for controlling the fingerprint sensor system 102 (as well as the display system 108 and / or the memory system 108). In some implementations, functionality of the control system 106 may be partitioned between one or more controllers or processors, such as between a dedicated sensor controller and an applications processor of a mobile device. In some implementations, the control system 106 may reside in more than one device. For example, a portion of the control system 106 may reside in a wearable device and another portion of the control system 106 may reside in another device, such as a mobile device (e.g., a smartphone).
[0051] The memory system 108 may include one or more memory devices, such as one or more random access memory (RAM) devices, read-only memory (ROM) devices, etc.
[0052] Some implementations of the apparatus 101 may include a wireless interface system, one or more network interfaces, one or more interfaces between the control system 106 and other components of the apparatus 101 (e.g., electrically conducting material such as conductive metal wires or traces) and / or one or more interfaces between the control system 106 and one or more external device interfaces (e.g., ports or applications processors).
[0053] The apparatus 101 may be used in a variety of different contexts, some examples of which are disclosed herein. For example, in some implementations a mobile device may include at least a portion of the apparatus 101. In some implementations, a wearable device may include at least a portion of the apparatus 101. The wearable device may, for example, be a bracelet, an armband, a wristband, a watch, a ring, a headband or a patch. In some implementations, the apparatus 101 may be deployed in a vehicle component, in an architectural element (such as a door handle), in a security system component, etc.
[0054] Figure 2 is a block diagram that shows example elements of a classifier training process according to some disclosed implementations. In this example, the classifier training process 200 involves providing fingerprint (FP) image data 202 and subsets of extracted FP feature data 205 — which is extracted from the FP image data 202QUALP644WOQualcomm Ref. 2403561 WO by the FP feature data extraction module 204 — to a classifier 208. According to this example, the randomized mask block 206 is configured for randomly masking off subsets of the extracted FP feature data 205, so that only the remaining instances of the FP feature data 205 are provided to the classifier 208. In this example, the FP feature data extraction module 204, the randomized mask block 206 and the classifier 208 are implemented by an instance of the control system 106 of Figure 1. As with other disclosed implementations, the types, number and arrangement of elements shown in Figure 2 are merely presented by way of example. Other implementations may have other types, numbers and / or arrangements of elements.
[0055] In this example, the FP image data 202 and the FP feature data 205 have been obtained from a number of different digits and from a number of different people. In some examples, the FP image data 202 may have been obtained from scores of people, hundreds of people, etc. According to some examples, the FP image data 202 may have been obtained from two or more digits from each of these people. In this example, the FP image data 202 have been obtained from one or more instances of the fingerprint sensor system 102 of Figure 1. According to some examples, the FP image data 202 includes hundreds of FP images, thousands of FP images, etc.
[0056] According to this example, the FP feature data extraction module 204 is configured to extract the FP feature data 205 from the FP image data 202. According to some examples, the FP feature data extraction module 204 (or another module implemented by the control system 106) may be configured to perform one or more methods for determining the consistency (or lack thereof) in ridge widths and / or ridge patterns. In some examples, the FP feature data extraction module 204 (or another module implemented by the control system 106) may be configured to perform one or more types of image processing on the FP image data 202 in order to more accurately identify, locate and image features of interest, such as sweat pore locations, sweat pore sizes, fingerprint ridge widths, fingerprint ridge patterns, etc. According to some examples, the FP feature data extraction module 204 (or another module implemented by the control system 106) may be configured to perform one or more types of feature localization methods, such as Harris comer detection, which may be combined with iterative optimization. In some examples, the FP feature data extraction module 204 (or another module implemented by the control system 106) may be configured to performQUALP644WOQualcomm Ref. 2403561 WO one or more types of feature enhancement methods, e.g., one or more iterative refinement methods such as ridge thinning and curvature analysis, which may be used to enhance the clarity and precision of extracted features. The FP feature data 205 includes various types of FP feature data that have been determined to be relevant to anti-spoofing processes (ASPs) involving fingerprints. In other words, the FP feature data 205 includes various types of data that have been determined to be relevant to a process of distinguishing a “spoof’ from a finger of an authorized user during a FP authentication process. The FP feature data 205 may, for example, include one or more types of data involving sweat pores, such as data regarding sweat pores sizes in actual fingerprints, the numbers of sweat pores in actual fingerprints, etc. According to some examples, the FP feature data 205 may include information about the contrast of fingerprint ridges and valleys, the distance between fingerprint ridges and valleys, etc. In some examples, the FP feature data 205 may include information about the effect of temperature, such as how one or more FP features may appear at different temperatures. In some instances, the FP feature data 205 may include scores or hundreds of different types of FP feature data relevant to ASPs, e.g., 100, 120, 140, 160, 180, 200, 220, 240, etc.
[0057] As noted above, according to this example, the randomized mask block 206 is configured for randomly masking off subsets of FP feature data types of the FP feature data 205, so that only the remaining instances of FP feature data types of the FP feature data 205 are provided to the classifier 208 at one time. In some instances, many different randomized masks may be applied by the randomized mask block 206 during a training process, such as hundreds of randomized masks, thousands of randomized masks, etc.
[0058] In this example, classifier 208 includes one or more types of neural networks (NNs). According to some examples, the classifier 208 may include one type of NN — such as a convolutional neural network (CNN) — for processing the FP image data 202 and a second type of NN — such as a multi-layer perceptron — for processing the FP feature data 205. In this example, the classifier 208 shown in Figure 2 is being trained to determine top-ranked anti- spoofing (ASP) FP feature types of the FP feature data 205 based on the FP image data 202 and the randomly masked FP feature data 205. For example, the classifier 208 may determine that a first subset of feature types of the FP feature data 205 that is produced by the randomized mask block 206 at a first time is more effective for an ASP process than a second subset of feature types of the FP featureQUALP644WOQualcomm Ref. 2403561 WO data 205 that is produced by the randomized mask block 206 at a second time. By comparing the results of many iterations, the classifier 208 may be able to the determine top-ranked ASP fingerprint feature types.
[0059] In some examples, the total number of feature types in the FP feature data 205 may be represented as T and the number of top-ranked features types may be represented as N. According to some examples, T may be an integer of 100 or more and N may be an integer of 30 or less.
[0060] According to some examples, the classifier 208 may be configured to rank FP feature types of the FP feature data 205 according to a gradient-weighted class activation mapping (Grad CAM) process. As is known by those of skill in the art, Grad CAM uses the gradients of any target concept flowing into a final convolutional layer of a CNN to produce a coarse localization map highlighting the important regions in an image for predicting the target concept. However, in other examples, the classifier 208 may be configured to rank FP feature types of the FP feature data 205 according to a random forest process, a regression coefficient-based process, or another relevant process.
[0061] Figure 3 is a block diagram that shows example elements of a calibration process according to some disclosed implementations. According to this example, the calibration process 300 involves calibrating a previously-trained classifier 308 to perform a customized ASP process for a particular user. In this example, the calibration process 300 involves providing FP image data 302 and extracted FP feature data 305 to the previously-trained classifier 308. The previously-trained classifier 308 may, for example, have been trained according to one of the classifier training processes that are described with reference to Figure 2. In this example, the FP feature data extraction module 304 and the classifier 308 are implemented by an instance of the control system 106 of Figure 1. As with other disclosed implementations, the types, number and arrangement of elements shown in Figure 3 are merely presented by way of example. Other implementations may have other types, numbers and / or arrangements of elements.
[0062] In this example, the FP image data 302 are obtained from an instance of the fingerprint sensor system 102 of Figure 1 during the calibration process, according to instructions from the control system 106 of Figure 1. The calibration process may, in some examples, be part of an initial set-up process that takes place when a user is firstQUALP644WOQualcomm Ref. 2403561 WO using a device, such as a cell phone. In some examples, the FP image data 302 may be obtained responsive to one or more prompts, which may be, or may include, graphical user interfaces (GUIs). Some relevant GUIs are described below with reference to Figures 4A-4D. According to some examples, the FP image data 302 includes dozens of FP images, scores of FP images, etc.
[0063] According to this example, the FP feature data extraction module 304 is configured to extract the FP feature data 305 from the FP image data 302. In some examples, FP feature data extraction module 304 may be configured to obtain a list of FP feature data types to extract from a memory. The total number of FP feature types in the list of FP feature data types may be represented as T. According to some examples, T may be an integer of 100 or more e.g., 100, 120, 140, 160, 180, 200, 220, 240, etc.
[0064] In this example, the FP feature data 305 includes various types of FP feature data that have been determined to be relevant to anti-spoofing processes (ASPs) involving fingerprints. As noted above with reference to the FP feature data 205 of Figure 2, the FP feature data 305 may include one or more types of data involving sweat pores, information about the contrast of fingerprint ridges and valleys, the distance between fingerprint ridges and valleys, etc.
[0065] As noted above, in this example the calibration process 300 involves calibrating a previously-trained classifier 308 to perform a customized anti- spoofing (ASP) process for a particular user. In some instances, the top-ranked FP feature types for an ASP process may differ from person to person. Accordingly, the reliability of an ASP may be improved by calibrating a previously-trained classifier 308 based on FP image data 302 and extracted FP feature data 305 obtained during a calibration process for a particular individual.
[0066] In this example, the previously-trained classifier 308 includes an FP feature ranking module 310, a top-ranked FP feature selection module 312 and a mask creation module 314. According to this example, the FP feature ranking module 310 is configured to rank anti- spoofing (ASP) FP feature types of the FP feature data 305. As noted above, the total number of FP feature types in the FP feature data 305 may be represented as T. According to some examples, the FP feature ranking module 310 may be configured to rank FP feature types of the FP feature data 305 according to anQUALP644WOQualcomm Ref. 2403561 WO iterative process of evaluating subsets of the T anti-spoofing fingerprint features. In some examples, the FP feature ranking module 310 may be configured to rank FP feature types of the FP feature data 305 according to a process of determining individual contributions of each of the T anti-spoofing fingerprint feature types to each test antispoofing process of a plurality of test anti-spoofing processes. Determining the individual contributions of each of the T anti-spoofing fingerprint feature types may, for example, involve determining relative contributions of each of the T anti-spoofing fingerprint feature types to a ground truth value. The ground truth value may correspond to actual FP image data obtained during the calibration process, actual FP features obtained during the calibration process, or combinations thereof. In some examples, the FP feature ranking module 310 may be configured to rank FP feature types of the FP feature data 305 according to a gradient- weighted class activation mapping (Grad CAM) process. However, in other examples, the FP feature ranking module 310 may be configured to rank FP feature types of the FP feature data 305 according to a random forest process, a regression coefficient-based process, or another relevant process.
[0067] According to this example, the top-ranked FP feature selection module 312 is configured to select the N top-ranked FP features out of the total number T of FP features. According to some examples, N may be an integer of 30 or less, such as 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, etc. In some examples, the top-ranked FP feature selection module 312 may be configured to determine — for example, by retrieval from a memory — the current value of N and to select the N top-ranked FP features from a ranked list of FP features provided by the FP feature ranking module 310.
[0068] In this example, the mask creation module 314 is configured to create a mask corresponding to the N top-ranked FP features selected by the top-ranked FP feature selection module 312. The mask may be used during a “runtime” FP authentication process to select N types of FP features for an ASP process, for example as described elsewhere herein. For example, if T were 10, N were 4 and the N top-ranked FP features were the 1st, 3rd, 5thand 8thFP features of the 10 total FP features, the mask may be (1010100100), where “1” indicates FP features used in the ASP process and “0” indicates FP features not used in the ASP process.
[0069] Figures 4A, 4B, 4C and 4D show examples of GUIs that may be provided according to some disclosed methods. As with other disclosed examples, the types,QUALP644WOQualcomm Ref. 2403561 WO numbers and arrangements of elements that are shown in Figures 4A-4D are merely presented by way of example. Other examples may include different types of elements, numbers of elements, arrangements of elements, or combinations thereof.
[0070] In these examples, the apparatus 101 is an instance of the apparatus 101 of Figure 1 and includes the elements that are described with reference to Figure 3. According to these examples, a control system (not shown) of the apparatus 101 is controlling the display system 404 to present the GUIs 405a, 405b 405c and 405d.
[0071] The GUI 405a shown in Figure 4A is an example of a GUI that may be presented subsequent to activating a “settings” software application or “app” and selecting a “lock screen and security” option. For example, the GUI 405a, or a similar GUI, may be presented responsive to receiving an indication from a touch sensor system of a touch in the area of an icon corresponding to a settings app and then receiving an indication from a touch sensor system of a touch in the area of an icon corresponding to a “lock screen and security” option. According to this example, the control system is configured to cause the display system 404 to present one or more additional GUIs responsive to a user’s interaction with the GUI 405a.
[0072] In this example, the control system is configured to cause the display system 404 to present the GUI 405b responsive to receiving an indication from the touch sensor system 103 of a touch in the area 410a of the GUI 405a, which corresponds to enabling enhanced anti-spoofing functionality. The GUI 405b includes the area 410b with which a user can interact to select which finger will be used in a calibration process. In some examples, after selecting one of the options in the area 410b, a user may receive a subsequent prompt to identify the selected finger, e.g., “please identify a hand and a digit corresponding to Finger 1.”
[0073] According to some examples, the control system is configured to cause the display system 404 to present the GUI 405c responsive to receiving a sufficiently precise indication as to which finger will be the one used during the current phase of a calibration process. In this example, the area 410c includes a textual prompt to place the selected finger in the area 410d, in which a fingerprint image is being displayed in this instance. According to this example, the area 410d is within an active area of a fingerprint sensor system 102, the outlines of which are shown with broken lines toQUALP644WOQualcomm Ref. 2403561 WO indicate that the fingerprint sensor system 102 is not visible from the exterior of the apparatus 101.
[0074] In this example, the control system is configured to cause the display system 404 to present the GUI 405d responsive to receiving an indication that the calibration process is complete for the selected finger. According to this example, the area 410e includes a textual prompt to touch the area 41 Of, in which a virtual OK button is being displayed, if the user wishes to continue.
[0075] Figure 5 is a flow diagram that provides example blocks of some methods disclosed herein. The blocks of Figure 5 may, for example, be performed by the apparatus 101 of any one of Figures 1 or 4A-4D, or by a similar apparatus. As with other methods disclosed herein, the method 500 outlined in Figure 5 may include more or fewer blocks than indicated. Moreover, the blocks of methods disclosed herein are not necessarily performed in the order indicated. In some examples, some blocks of methods disclosed herein may be performed concurrently.
[0076] In this example, method 500 is an anti-spoofing (ASP) calibration method. For example, method 500 may involve calibrating a control system, such as the control system 106 of Figure 1 or Figure 3, to perform a personalized ASP process. In some such examples, method 500 may involve calibrating a previously-trained classifier for a personalized ASP process. The calibration process 300 that is described with reference to Figure 3 involves some such examples.
[0077] According to this example, block 503 involves providing a user prompt to select a user’s digit. For example, an instance of the control system 106 may control an instance of the user interface system 104 to provide a user prompt to select a user’s digit. In some examples, the control system may cause a display of the user interface system to present a GUI such as the GUI 405b of Figure 4B in block 503. Alternatively, or additionally, block 503 may involve providing another type of prompt, such as an audio prompt.
[0078] In this example, block 505 involves providing a user prompt to place a selected user’ s digit in a fingerprint sensor area. For example, an instance of the control system 106 may control an instance of the user interface system 104 to place a selected user’s digit in a fingerprint sensor area. In some examples, block 505 may involve QUALP644WOQualcomm Ref. 2403561 WO presenting a GUI such as the GUI 405c of Figure 4C. Alternatively, or additionally, block 505 may involve providing another type of prompt, such as an audio prompt.
[0079] According to this example, block 507 involves obtaining, by a control system and from a fingerprint sensor, fingerprint sensor data corresponding to the selected user’ s digit. For example, the control system 106 may obtain fingerprint sensor data corresponding to the selected user’s digit from the fingerprint sensor system 102. The fingerprint sensor data may correspond to the FP image data 302 that is obtained during the calibration process 300 of Figure 3.
[0080] In this example, block 509 involves extracting, by the control system and from the fingerprint sensor data, T anti- spoofing fingerprint feature types, T being an integer. According to some examples, the T anti-spoofing fingerprint feature types may correspond to the extracted FP feature data 305 that is obtained by the FP feature data extraction module during the calibration process 300 of Figure 3. According to some examples, T may be an integer of 100 or more e.g., 100, 120, 140, 160, 180, 200, 220, 240, etc.
[0081] According to this example, block 511 involves determining, by the control system, N top-ranked anti-spoofing fingerprint feature types of the T anti-spoofing fingerprint feature types, N being an integer smaller than T. In some examples, N may be an integer of 30 or less, such as 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, etc. According to some examples, block 511 may involve the operations of the FP feature ranking module 310 and the top-ranked FP feature selection module 312 that are described with reference to Figure 3.
[0082] In some examples, determining the N top-ranked anti-spoofing fingerprint feature types may involve an iterative process of evaluating subsets of the T antispoofing fingerprint features. According to some examples, determining the N topranked anti-spoofing fingerprint feature types may involve a process of determining individual contributions of each of the T anti-spoofing fingerprint feature types to each test anti-spoofing process of a plurality of test anti-spoofing processes. In some examples, determining the N top-ranked anti-spoofing fingerprint feature types may involve determining relative contributions of each of the T anti-spoofing fingerprint feature types to a ground truth value. The ground truth value may correspond toQUALP644WOQualcomm Ref. 2403561 WO fingerprint sensor data obtained from a user during the calibration process.
[0083] According to some examples, determining individual contributions of each of the T anti- spoofing fingerprint feature types may involve implementing, by the control system, a classifier that has been trained to determine top-ranked anti-spoofing fingerprint feature types from fingerprint sensor data corresponding to a plurality of digits. The classifier may, for example, be the previously-trained classifier 308 that is described with reference to Figure 3.
[0084] In this example, block 513 involves causing, by the control system, the N topranked anti-spoofing fingerprint feature types to be stored in a memory. In some examples, data indicating the N top-ranked anti-spoofing fingerprint feature types may be stored in a memory for retrieval during a subsequent ASP process. According to some examples, the data indicating the N top-ranked anti-spoofing fingerprint feature types may be, or may include, a mask such as that described with reference to the mask creation module 314 of Figure 3.
[0085] According to some examples, method 500 may involve providing a user prompt indicating that an initial calibration process for the selected user’s digit has completed. One example is the textual prompt shown in the area 410e of the GUI 405d of Figure 4D. Other examples may or may not include a prompt for the user to take an action such as pressing the virtual OK button in the area 41 Of, depending on the particular implementation.
[0086] In some examples, method 500 may involve performing, by the control system and after an initial calibration process, a plurality of anti-spoofing processes using the N top-ranked anti- spoofing fingerprint feature types. According to some such examples, each anti-spoofing process of the plurality of anti-spoofing processes may be performed after a successful fingerprint match of a fingerprint authentication process implemented by the control system.
[0087] Conditions change over time. Such conditions may include temperature, humidity, one or more properties of a digit used for a FP authentication process, etc. Therefore, it can be advantageous to verify, from time to time, that the N top-ranked anti-spoofing fingerprint feature types determined during one calibration process are still the N top-ranked anti-spoofing fingerprint feature types. According to some examples, QUALP644WOQualcomm Ref. 2403561 WO method 500 may involve performing a subsequent calibration process after performing a threshold number of anti- spoofing processes or after a threshold number of attempted fingerprint matches. In some instances, the threshold number may be in the range of 10 to 20, in the range of 20 to 30, in the range of 30 to 40, in the range of 40 to 50, etc. The subsequent calibration process may, in some implementations, be performed as a background process without further input from the user. The subsequent calibration process may, in some implementations, be part of, or associated with, an adaptive fingerprint enrollment process.
[0088] Figure 6 is a flow diagram that provides example blocks of some methods disclosed herein. The blocks of Figure 6 may, for example, be performed by the apparatus 101 of any one of Figures 1 or 4A-4D, or by a similar apparatus. As with other methods disclosed herein, the method 600 outlined in Figure 6 may include more or fewer blocks than indicated. Moreover, the blocks of methods disclosed herein are not necessarily performed in the order indicated. In some examples, some blocks of methods disclosed herein may be performed concurrently.
[0089] According to this example, method 600 is a fingerprint authentication process that includes an anti-spoofing (ASP) process. In some examples, method 600 may involve implementing a control system, such as the control system 106 of Figure 1 or Figure 3, that has been calibrated to perform a personalized ASP process. In some such examples, method 600 may involve implementing a control system that has been calibrated according to the calibration process 300 that is described with reference to Figure 3 or the calibration process 500 that is described with reference to Figure 5.
[0090] In this example, block 601 involves starting a FP authentication process. According to some examples, block 601 may involve prompting a user to place a selected user’ s digit in a fingerprint sensor area. For example, an instance of the control system 106 may control an instance of the user interface system 104 to provide an audio prompt, a video prompt, or both, to place a user’s digit in a fingerprint sensor area.
[0091] In some examples, block 601 may involve presenting a GUI such as the GUI 705 of Figure 7. Figure 7 shows an example of an additional graphical user interface (GUI) that may be used to implement aspects of the present disclosure. Block 505 of Figure 5 or block 601 of Figure 6 may, in some examples, involve presenting the GUIQUALP644WOQualcomm Ref. 2403561 WO shown in Figure 7, or presenting a similar GUI. As with other disclosed examples, the types, numbers and arrangements of elements that are shown in Figure 7 are merely presented by way of example. Other examples may include different types of elements, numbers of elements, arrangements of elements, or combinations thereof.
[0092] Figure 7 shows an example of a GUI 705. In this example, GUI 705 includes a textual prompt area 710a, which includes a message prompting a user to place a finger on an outer surface of the apparatus 101 in a FP sensor area and to lift the finger after the user feels a vibration. The vibration may, for example, be caused by a haptic feedback system of the apparatus 101, which may be part of the user interface system 104 in some implementations. In some such examples, the control system 106 (not shown) may be configured to activate the haptic feedback system after fingerprint image data has been successfully obtained by a fingerprint sensor system 102, an active area of which is indicated by dashed lines in Figure 7. In some implementations, the GUI 705 may include a message specifically referencing the fingerprint icon 704 (or another such image indicating an area in which to place a digit), such as a message prompting a user to place a digit on the fingerprint icon 704. In some implementations, the GUI 705 may include a textual prompt for the user to place a particular digit (such as the right thumb, the left pinky finger, etc.) on the fingerprint icon 704. In some examples, fingerprint image data may be successfully obtained from the fingerprint sensor system 102 in fingerprint sensor area A. The fingerprint image data may be used in a FP authentication process that may, for example, be performed by the control system 106.
[0093] Returning now to Figure 6, in this example block 603 involves determining whether a finger has been placed in a fingerprint sensor area. Block 603 may, for example, involve receiving, by a control system, touch sensor data from a touch sensor system indicating whether a finger- like object has touched the apparatus 101 and, if so, in what area. If it is determined in block 603 that no finger has been placed in a fingerprint sensor area — for example, after a time interval of 2 seconds, 3 seconds, etc. — the process continues to “match failed” block 604. Block 604 may, for example, involve providing graphical, textual, audio and / or haptic user feedback indicating that the FP matching process was not successful. If block 604 follows block 603, block 604 may, for example, involve providing another user prompt to place a user’s digit in the fingerprint sensor area.QUALP644WOQualcomm Ref. 2403561 WO
[0094] However, if it is determined in block 603 that a finger has been placed in a fingerprint sensor area the process continues to block 605. In this example, block 605 involves capturing, by a fingerprint sensor system, fingerprint sensor data corresponding to one or more FP images. FP images may also be referred to as “foreground” images. In some examples, block 605 may involve capturing one or more “air” or background images. According to some examples, block 605 may involve one or more types of foreground image processing, one or more types of background image processing, or combinations thereof. In some examples, block 605 may involve determining whether image quality equals or exceeds an image quality threshold, determining whether a FP image area equals or exceeds a FP image area threshold, or both. According to some examples, block 605 may involve providing fingerprint sensor data corresponding to one or more FP images, also referred to herein as “fingerprint image data,” as well as fingerprint sensor data corresponding to one or more air or background images, to a control system.
[0095] According to this example, block 607 involves determining, by the control system, whether there is a fingerprint match. In some examples, block 607 may involve retrieving previously-obtained FP image data, or fingerprint minutiae derived from previously-obtained FP image data, from a memory. The previously-obtained FP image data may have been obtained during an FP enrollment process, which may have been an initial FP enrollment process or a subsequent FP enrollment process. In some instances, at least some of the previously-obtained FP image data may have been obtained during one or more post-enrollment FP authentication processes. In some such examples, FP image data obtained during an initial FP enrollment process may be modified, over time, during what is known as an “adaptive enrollment” process. Adaptive enrollment processes may be advantageous in order to update a user’s stored FP image data according to changes that have occurred since the initial enrollment process, such as digit changes, temperature changes, humidity changes, fingerprint sensor changes, etc.
[0096] In some examples, block 607 may involve determining whether the previously-obtained FP image data, or the fingerprint minutiae derived from the previously-obtained FP image data, matches the currently-obtained FP image data obtained in block 605 or fingerprint minutiae derived from the FP image data obtained in block 605. According to this example, if the control system determines in block 607 thatQUALP644WOQualcomm Ref. 2403561 WO there is no match, the process continues to block 604. However, if the control system determines in block 607 that there is a match, the process continues to block 609.
[0097] In this example, block 609 involves obtaining data corresponding to the current top-ranked N types of anti-spoofing FP features. According to some examples, a control system may access one or more data structures stored in a memory in block 609 that include data corresponding to the current top-ranked N types of anti-spoofing FP features. The data corresponding to the current top-ranked N types of anti- spoofing FP features may have been generated, or obtained, during a personalized calibration process such as those described with reference to Figure 3 or Figure 4. In some such examples, at least one of the one or more data structures may include a list of the top N types of anti-spoofing FP features.
[0098] Alternatively, or additionally, at least one of the one or more data structures may include a mask corresponding to the top N types of anti- spoofing FP features. The mask may, for example, have been created by the mask creation module 314 of Figure 3. According to some examples, the mask may be used for determining, by the control system, the N top-ranked anti-spoofing fingerprint feature types from T anti-spoofing fingerprint feature types, N being an integer smaller than T. In some examples, N may be an integer of 30 or less, such as 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, etc. According to some examples, T may be an integer of 100 or more e.g., 100, 120, 140, 160, 180, 200, 220, 240, etc.
[0099] According to this example, block 611 involves extracting N FP features, from the FP image data obtained in block 605, corresponding to the N top-ranked types of anti-spoofing FP features. According to some examples, block 611 may involve the operations of the FP feature data extraction module 304 that is described with reference to Figure 3.
[0100] In this example, block 612 involves performing, by the control system, an anti-spoofing process that is based, at least in part, on the N FP features that were extracted in block 611. In some examples, block 612 may involve providing the N FP features that were extracted in block 611 to a trained classifier that has been calibrated according to input from a particular authorized user, such as the classifier 308 of Figure 3 after the calibration process 300. In some examples, the classifier will output aQUALP644WOQualcomm Ref. 2403561 WO probability resulting from the anti- spoofing process based, at least in part, on the N FP features. The probability may be a probability as to whether the finger from which the FP image data was obtained in block 605 was a real finger of an authorized person or a spoof.
[0101] According to this example, block 613 involves determining, by the control system, whether the anti-spoofing process of 612 was successful. In some examples, block 613 may involve determining whether a probability output by the classifier in block 612 is above a threshold. The threshold may be adjustable, e.g., adjustable by the manufacturer of the apparatus 101. According to some examples, the threshold may be 85%, 86%, 87%, 88%, 89%, 90%, 91%, 92%, 93%, 94%, 95%, etc. In these examples, the percentages correspond to the likelihood that the finger from which the FP image data was obtained in block 605 was a real finger of an authorized person and not a spoof.
[0102] In this example, if the control system determines in block 613 that the antispoofing process of 612 was not successful, the process continues to block 604. The user may or may not be given one or more additional opportunities for FP authentication, depending on the implementation and the particular circumstances, e.g., how many previous attempts have been made within a time interval, the security level of the device or software application, etc.
[0103] According to this example, if the control system determines in block 613 that the anti-spoofing process of 612 was successful, the process continues to “successful FP authentication” block 615. In block 615, the control system may perform various operations according to the particular implementation, such as unlocking the apparatus 101, unlocking another apparatus — such as a vehicle door, an office door, a residence door, etc. — providing a user prompt indicating a successful authentication, opening one or more software applications, etc.
[0104] In this example, block 617 involves determining, by the control system, whether a FP feature update threshold has been reached. In some examples, FP feature update threshold may be a threshold number of anti-spoofing processes or a threshold number of attempted fingerprint matches. In some instances, the threshold number may be in the range of 10 to 20, in the range of 20 to 30, in the range of 30 to 40, in the range of 40 to 50, etc. Alternatively, or additionally, in some implementations a FP featureQUALP644WOQualcomm Ref. 2403561 WO update threshold may correspond with a threshold temperature increase or decrease, a threshold humidity increase or decrease, or some other relevant threshold.
[0105] In this example, if the control system determines in block 617 that a FP feature update threshold has not been reached, the process continues to “end” block 620. According to this example, if the control system determines in block 617 that a FP feature update threshold has been reached, the process continues to block 619. In this example, block 619 involves a process of determining, by the control system the current N top-ranked anti-spoofing fingerprint feature types. According to some examples, block 619 may involve determining all T anti-spoofing FP features, ranking the T antispoofing FP features in order of importance for anti- spoofing, selecting the N currently top-ranked anti-spoofing FP features, and storing data, such as a list and / or a mask, corresponding to the N currently top-ranked anti-spoofing FP features. In this example, the control system is configured to perform block 619 as a “background” process that requires no input from the user and allows the user to use the apparatus 101 for other purposes while block 619 is being performed.
[0106] In some examples, the processes of block 619 may be part of, or associated with, an adaptive fingerprint enrollment process in which previously-obtained FP image data, FP minutiae, etc., are updated in accordance with the present temperature, humidity, finger conditions and / or other current conditions. The control system also may be configured to perform the adaptive fingerprint enrollment process as a background process.
[0107] Figure 8 is a flow diagram that provides example blocks of some methods disclosed herein. The blocks of Figure 8 may, for example, be performed by the apparatus 101 of any one of Figures 1 or 4A-4D, or by a similar apparatus. As with other methods disclosed herein, the method 800 outlined in Figure 8 may include more or fewer blocks than indicated. Moreover, the blocks of methods disclosed herein are not necessarily performed in the order indicated. In some examples, some blocks of methods disclosed herein may be performed concurrently.
[0108] According to this example, method 800 is a fingerprint authentication process that includes an anti-spoofing (ASP) process. In some examples, method 800 may involve implementing a control system, such as the control system 106 of Figure 1 orQUALP644WOQualcomm Ref. 2403561 WOFigure 3, that has been calibrated to perform a personalized ASP process. In some such examples, method 800 may involve implementing a control system that has been calibrated according to the calibration process 300 that is described with reference to Figure 3 or the calibration process 500 that is described with reference to Figure 5.
[0109] In this example, block 805 involves providing a user prompt to place a user’ s digit in a fingerprint sensor area. For example, an instance of the control system 106 may control an instance of the user interface system 104 to provide an audio prompt, a video prompt, or both, to place a user’s digit in a fingerprint sensor area. In some examples, block 805 may involve presenting a GUI such as the GUI 705 of Figure 7.
[0110] According to the example shown in Figure 8, block 805 involves obtaining, by a control system and from a fingerprint sensor, fingerprint sensor data corresponding to the user’s digit. Block 805 may, in some examples, correspond to block 605 of Figure 6. Block 805 may involve capturing, by a fingerprint sensor system, fingerprint sensor data corresponding to one or more FP images, which may also be referred to as “foreground” images. In some examples, block 805 may involve capturing one or more “air” or background images. According to some examples, block 805 may involve one or more types of foreground image processing, one or more types of background image processing, or combinations thereof. In some examples, block 805 may involve determining whether image quality equals or exceeds an image quality threshold, determining whether a FP image area equals or exceeds a FP image area threshold, or both.
[0111] According to this example, block 809 involves determining, by the control system, whether there is a fingerprint match. In this particular example, block 809 involves determining, by the control system and based on the fingerprint sensor data, that a currently-obtained fingerprint image matches one or more previously-obtained fingerprint images. In some examples, block 809 may involve retrieving previously- obtained FP image data, or fingerprint minutiae derived from previously-obtained FP image data, from a memory. The previously-obtained FP image data may have been obtained during an FP enrollment process, which may have been an initial FP enrollment process or a subsequent FP enrollment process. In some instances, at least some of the previously-obtained FP image data may have been obtained during one or more postenrollment FP authentication processes, such as one or more “adaptive enrollment”QUALP644WOQualcomm Ref. 2403561 WO processes.
[0112] In some examples, block 809 may involve determining whether the previously-obtained FP image data, or the fingerprint minutiae derived from the previously-obtained FP image data, matches the currently-obtained FP image data obtained in block 807 or fingerprint minutiae derived from the FP image data obtained in block 807.
[0113] According to this example, block 811 involves extracting, by the control system and from the fingerprint sensor data, N top-ranked anti-spoofing fingerprint feature types of a set of T anti- spoofing fingerprint feature types. In this example, N and T are integers and N is an integer smaller than T. In some examples, T may be an integer of 100 or more, e.g., 100, 120, 140, 160, 180, 200, 220, 240, etc., and N may be an integer of 30 or less, such as 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, etc.
[0114] According to some examples, block 811 may involve obtaining, by the control system, data regarding the N top-ranked anti-spoofing fingerprint feature types from a memory system. Such data may be referred to herein as “top-ranked antispoofing fingerprint feature data.” According to some examples, the top-ranked antispoofing fingerprint feature data may have resulted from a previous anti- spoofing calibration process. In some examples, block 811 may involve obtaining, by the control system, a mask corresponding to the N top-ranked anti-spoofing fingerprint feature types from a memory system. In some examples, block 811 may involve applying, by the control system, a mask to T anti-spoofing fingerprint feature types to determine which of the T anti-spoofing fingerprint feature types are the N top-ranked anti-spoofing fingerprint feature types.
[0115] According to this example, block 811 involves extracting the N top-ranked anti-spoofing fingerprint feature types from the FP image data obtained in block 807. According to some examples, block 811 may involve at least some operations of the FP feature data extraction module 304 that is described with reference to Figure 3.
[0116] In this example, block 813 involves performing, by the control system, an anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types. In some examples, block 813 may involve providing the N FP features that were extracted in block 811 to a trained classifier that has been calibrated according to input from a QUALP644WOQualcomm Ref. 2403561 WO particular authorized user, such as the classifier 308 of Figure 3 after the calibration process 300. In some examples, the classifier will output a probability resulting from the anti-spoofing process based, at least in part, on the N FP features. The probability may be a probability as to whether the finger from which the FP image data was obtained in block 807 was a real finger of an authorized person or a spoof.
[0117] According to some examples, performing the anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types may require less than 1710thof the time of an anti-spoofing process using all of the T anti-spoofing fingerprint feature types. Nonetheless, in some instances the anti-spoofing process using the N top-ranked antispoofing fingerprint feature types may be more accurate than an anti-spoofing process using all of the T anti-spoofing fingerprint feature types.
[0118] According to this example, block 813 involves determining, by the control system, whether the anti-spoofing process is successful. In some examples, block 813 may involve determining whether a probability output by the classifier is above a threshold. The threshold may be adjustable, e.g., adjustable by the manufacturer of the apparatus 101. According to some examples, the threshold may be 85%, 86%, 87%, 88%, 89%, 90%, 91%, 92%, 93%, 94%, 95%, etc. In these examples, the percentages correspond to the likelihood that the finger from which the FP image data was obtained in block 807 was a real finger of an authorized person and not a spoof.
[0119] If the control system determines in block 813 that the anti-spoofing process was not successful, the user may or may not be given one or more additional opportunities for FP authentication, depending on the implementation and the particular circumstances, e.g., how many previous attempts have been made within a time interval, the security level of the device or software application, etc.
[0120] According to this example, if the control system determines in block 813 that the anti-spoofing process was successful, the control system may perform various operations according to the particular implementation, such as unlocking the apparatus 101, unlocking another apparatus — such as a vehicle door, an office door, a residence door, etc. — providing a user prompt indicating a successful authentication, opening one or more software applications, etc.
[0121] According to some examples, method 800 may involve determining, by theQUALP644WOQualcomm Ref. 2403561 WO control system, whether a FP feature update threshold has been reached. In some examples, FP feature update threshold may be a threshold number of anti-spoofing processes or a threshold number of attempted fingerprint matches. In some instances, the threshold number may be in the range of 5 to 10, in the range of 5 to 20, in the range of 10 to 20, in the range of 20 to 30, in the range of 30 to 40, in the range of 40 to 50, etc. Alternatively, or additionally, in some implementations a FP feature update threshold may correspond with a threshold temperature increase or decrease, a threshold humidity increase or decrease, or some other relevant threshold.
[0122] In some examples, if the control system determines that a FP feature update threshold has been reached, the control system may perform a subsequent calibration process. The subsequent calibration process may involve re-selecting N top-ranked antispoofing fingerprint feature types from the set of T anti-spoofing fingerprint feature types. In some examples, the control system may be configured to perform the subsequent calibration process as a “background” process that requires no input from the user and allows the user to use the apparatus 101 for other purposes while the subsequent calibration process is being performed.
[0123] In some examples, the subsequent calibration process may be part of, or associated with, an adaptive fingerprint enrollment process in which previously-obtained FP image data, FP minutiae, etc., are updated in accordance with the present temperature, humidity, finger conditions and / or other current conditions. The control system also may be configured to perform the adaptive fingerprint enrollment process as a background process.
[0124] Implementation examples are described in the following numbered clauses:
[0125] 1. An anti-spoofing calibration method, including: providing a user prompt to select a user’s digit; providing a user prompt to place a selected user’s digit in a fingerprint sensor area; obtaining, by a control system and from a fingerprint sensor, fingerprint sensor data corresponding to the selected user’s digit; extracting, by the control system and from the fingerprint sensor data, T anti-spoofing fingerprint feature types, T being an integer; determining, by the control system, N top-ranked anti-spoofing fingerprint feature types of the T anti-spoofing fingerprint feature types, N being an integer smaller than T; and causing, by the control system, the N top-ranked anti-QUALP644WOQualcomm Ref. 2403561 WO spoofing fingerprint feature types to be stored in a memory.
[0126] 2. The method of clause 1, further including providing a user prompt indicating that an initial calibration process for the selected user’s digit has completed.
[0127] 3. The method of clause 1 or clause 2, where determining the N top-ranked anti-spoofing fingerprint feature types involves an iterative process of evaluating subsets of the T anti- spoofing fingerprint feature types.
[0128] 4. The method of any one of clauses 1-3, where determining the N topranked anti-spoofing fingerprint feature types involves a process of determining individual contributions of each of the T anti-spoofing fingerprint feature types to each test anti-spoofing process of a plurality of test anti-spoofing processes.
[0129] 5. The method of clause 4, where determining the individual contributions of each of the T anti- spoofing fingerprint feature types involves determining relative contributions of each of the T anti-spoofing fingerprint feature types to a ground truth value.
[0130] 6. The method of clause 4 or clause 5, where determining individual contributions of each of the T anti-spoofing fingerprint feature types involves implementing, by the control system, a classifier that has been trained to determine topranked anti-spoofing fingerprint feature types from fingerprint sensor data corresponding to a plurality of digits.
[0131] 7. The method of any one of clauses 1-6, further including performing, by the control system and after an initial calibration process, a plurality of anti-spoofing processes using the N top-ranked anti-spoofing fingerprint feature types.
[0132] 8. The method of clause 7, where each anti-spoofing process of the plurality of anti-spoofing processes is performed after a successful fingerprint match of a fingerprint authentication process implemented by the control system.
[0133] 9. The method of clause 7 or clause 8, further including performing a subsequent calibration process after performing a threshold number of anti-spoofing processes.QUALP644WOQualcomm Ref. 2403561 WO
[0134] 10. The method of any one of clauses 1-9, where T is an integer of 100 or more and N is an integer of 30 or less.
[0135] 11. An anti-spoofing method, including: providing a user prompt to place a user’s digit in a fingerprint sensor area; obtaining, by a control system and from a fingerprint sensor, fingerprint sensor data corresponding to the user’s digit; determining, by the control system and based on the fingerprint sensor data, that a currently-obtained fingerprint image matches one or more previously-obtained fingerprint images; extracting, by the control system and from the fingerprint sensor data, N top-ranked antispoofing fingerprint feature types of a set of T anti-spoofing fingerprint feature types, N and T being integers and N being an integer smaller than T; and performing, by the control system, an anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types.
[0136] 12. The method of clause 11, further including obtaining top-ranked antispoofing fingerprint feature data from a memory, top-ranked anti-spoofing fingerprint feature data indicating which of the T anti- spoofing fingerprint feature types are the N top-ranked anti-spoofing fingerprint feature types.
[0137] 13. The method of clause 12, where the top-ranked anti-spoofing fingerprint feature data resulted from a previous anti-spoofing calibration process.
[0138] 14. The method of any one of clauses 11-13, further including performing a subsequent calibration process after performing a threshold number of anti-spoofing processes, the subsequent calibration process involving re-selecting top-ranked antispoofing fingerprint feature types from the set of T anti-spoofing fingerprint feature types.
[0139] 15. The method of clause 14, where the threshold number of anti-spoofing processes is in a range from 5 anti-spoofing processes to 20 anti-spoofing processes.
[0140] 16. The method of any one of clauses 11-15, where T is an integer of 100 or more and N is an integer of 30 or less.
[0141] 17. The method of any one of clauses 11-16, where performing the antispoofing process using the N top-ranked anti-spoofing fingerprint feature types requiresQUALP644WOQualcomm Ref. 2403561 WO less than l / 10th a time of an anti-spoofing process using all of the T anti-spoofing fingerprint feature types.
[0142] 18. The method any one of clauses 11-17, where the anti-spoofing process using the N top-ranked anti- spoofing fingerprint feature types is more accurate than an anti-spoofing process using all of the T anti-spoofing fingerprint feature types.
[0143] 19. The method of any one of clauses 11-18, where performing the antispoofing process using the N top-ranked anti-spoofing fingerprint feature types involves implementing a previously-trained classifier.
[0144] 20. An apparatus, including: a user interface system including a display; a fingerprint sensor system; a memory system; and a control system configured to: control the user interface system to provide a user prompt to select a user’s digit; control the user interface system to provide a user prompt to place a selected user’s digit in a fingerprint sensor area indicated on the display, the fingerprint sensor area corresponding to at least a portion of the fingerprint sensor system; obtain, from the fingerprint sensor system, fingerprint sensor data corresponding to the selected user’s digit; extract, from the fingerprint sensor data, T anti-spoofing fingerprint feature types, T being an integer; determine N top-ranked anti-spoofing fingerprint feature types of the T anti-spoofing fingerprint feature types, N being an integer smaller than T; and cause the N top-ranked anti-spoofing fingerprint feature types to be stored in a memory of the memory system.
[0145] 21. The apparatus of clause 20, where the control system is further configured to control the user interface system to provide a user prompt indicating that an initial calibration process for the selected user’s digit has completed.
[0146] 22. The apparatus of clause 20 or clause 21, where one or more neural networks implemented by the control system are configured to determine the N topranked anti-spoofing fingerprint feature types.
[0147] 23. The apparatus of any one of clauses 20-22, where determining the N topranked anti-spoofing fingerprint feature types involves an iterative process of evaluating subsets of the T anti-spoofing fingerprint feature types.QUALP644WOQualcomm Ref. 2403561 WO
[0148] 24. The apparatus of any one of clauses 20-23, where determining the N topranked anti-spoofing fingerprint feature types involves a process of determining individual contributions of each of the T anti-spoofing fingerprint feature types to each test anti-spoofing process of a plurality of test anti-spoofing processes.
[0149] 25. The apparatus of clause 24, where determining individual contributions of each of the T anti- spoofing fingerprint feature types involves implementing a classifier that has been trained to determine top-ranked anti- spoofing fingerprint feature types from fingerprint sensor data corresponding to a plurality of digits.
[0150] 26. An apparatus, including: a user interface system including a display; a fingerprint sensor system; a memory system; and a control system configured to: control the user interface system to provide a user prompt to place a user’s digit in a fingerprint sensor area indicated on the display, the fingerprint sensor area corresponding to at least a portion of the fingerprint sensor system; obtain, from the fingerprint sensor system, fingerprint sensor data corresponding to the user’s digit; determine, based on the fingerprint sensor data, that a currently-obtained fingerprint image matches one or more previously-obtained fingerprint images; extract, from the fingerprint sensor data, N topranked anti-spoofing fingerprint feature types of a set of T anti-spoofing fingerprint feature types, N and T being integers and N being an integer smaller than T; and perform an anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types.
[0151] 27. The apparatus of clause 26, where the control system is further configured to obtain top-ranked anti-spoofing fingerprint feature data from a memory, top-ranked anti-spoofing fingerprint feature data indicating which of the T anti-spoofing fingerprint feature types are the N top-ranked anti-spoofing fingerprint feature types.
[0152] 28. The apparatus of clause 27, where the top-ranked anti-spoofing fingerprint feature data resulted from a previous anti- spoofing calibration process.
[0153] 29. The apparatus of any one of clauses 26-28, where the control system is further configured to perform a subsequent calibration process after performing a threshold number of anti-spoofing processes, the subsequent calibration process involving re-selecting top-ranked anti-spoofing fingerprint feature types from the set of T anti-spoofing fingerprint feature types.QUALP644WOQualcomm Ref. 2403561 WO
[0154] 30. The apparatus of clause 29, where the threshold number of anti-spoofing processes is in a range from 5 anti-spoofing processes to 20 anti-spoofing processes.
[0155] As used herein, a phrase referring to “at least one of’ a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover: a, b, c, a-b, a-c, b-c, and a-b-c.
[0156] The various illustrative logics, logical blocks, modules, circuits and algorithm processes described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. The interchangeability of hardware and software has been described generally, in terms of functionality, and illustrated in the various illustrative components, blocks, modules, circuits and processes described above. Whether such functionality is implemented in hardware or software depends upon the particular application and design constraints imposed on the overall system.
[0157] The hardware and data processing apparatus used to implement the various illustrative logics, logical blocks, modules and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose single- or multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, or, any conventional processor, controller, microcontroller, or state machine. A processor also may be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some implementations, particular processes and methods may be performed by circuitry that is specific to a given function.
[0158] In one or more aspects, the functions described may be implemented in hardware, digital electronic circuitry, computer software, firmware, including the structures disclosed in this specification and their structural equivalents thereof, or in any combination thereof. Implementations of the subject matter described in thisQUALP644WOQualcomm Ref. 2403561 WO specification also may be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on a computer storage media for execution by, or to control the operation of, data processing apparatus.
[0159] If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium, such as a non- transitory medium. The processes of a method or algorithm disclosed herein may be implemented in a processor-executable software module which may reside on a computer-readable medium. Computer-readable media include both computer storage media and communication media including any medium that may be enabled to transfer a computer program from one place to another. Storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, non- transitory media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Also, any connection may be properly termed a computer-readable medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and instructions on a machine readable medium and computer-readable medium, which may be incorporated into a computer program product.
[0160] Various modifications to the implementations described in this disclosure may be readily apparent to those having ordinary skill in the art, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Thus, the disclosure is not intended to be limited to the implementations shown herein, but is to be accorded the widest scope consistent with the claims, the principles and the novel features disclosed herein. The word “exemplary” is used exclusively herein, if at all, to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations.QUALP644WOQualcomm Ref. 2403561 WO
[0161] Certain features that are described in this specification in the context of separate implementations also may be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation also may be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination may in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
[0162] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems may generally be integrated together in a single software product or packaged into multiple software products. Additionally, other implementations are within the scope of the following claims. In some cases, the actions recited in the claims may be performed in a different order and still achieve desirable results.
[0163] It will be understood that unless features in any of the particular described implementations are expressly identified as incompatible with one another or the surrounding context implies that they are mutually exclusive and not readily combinable in a complementary and / or supportive sense, the totality of this disclosure contemplates and envisions that specific features of those complementary implementations may be selectively combined to provide one or more comprehensive, but slightly different, technical solutions. It will therefore be further appreciated that the above description has been given by way of example only and that modifications in detail may be made within the scope of this disclosure.QUALP644WO
Claims
1. Qualcomm Ref. 2403561 WOCLAIMSWhat Is Claimed Is:
1. An anti-spoofing calibration method, comprising: providing a user prompt to select a user’s digit; providing a user prompt to place a selected user’s digit in a fingerprint sensor area; obtaining, by a control system and from a fingerprint sensor, fingerprint sensor data corresponding to the selected user’s digit; extracting, by the control system and from the fingerprint sensor data, T antispoofing fingerprint feature types, T being an integer; determining, by the control system, N top-ranked anti-spoofing fingerprint feature types of the T anti-spoofing fingerprint feature types, N being an integer smaller than T; and causing, by the control system, the N top-ranked anti-spoofing fingerprint feature types to be stored in a memory.
2. The method of claim 1, further comprising providing a user prompt indicating that an initial calibration process for the selected user’s digit has completed.
3. The method of claim 1, wherein determining the N top-ranked anti- spoofing fingerprint feature types involves an iterative process of evaluating subsets of the T antispoofing fingerprint feature types.
4. The method of claim 1, wherein determining the N top-ranked anti-spoofing fingerprint feature types involves a process of determining individual contributions of each of the T anti-spoofing fingerprint feature types to each test anti-spoofing process of a plurality of test anti- spoofing processes.
5. The method of claim 4, wherein determining the individual contributions of each of the T anti- spoofing fingerprint feature types involves determining relative contributions of each of the T anti-spoofing fingerprint feature types to a ground truth value.
6. The method of claim 4, wherein determining individual contributions of each of the T anti- spoofing fingerprint feature types involves implementing, by the controlQUALP644WOQualcomm Ref. 2403561 WO system, a classifier that has been trained to determine top-ranked anti-spoofing fingerprint feature types from fingerprint sensor data corresponding to a plurality of digits.
7. The method of claim 1, further comprising performing, by the control system and after an initial calibration process, a plurality of anti-spoofing processes using the N topranked anti-spoofing fingerprint feature types.
8. The method of claim 7, wherein each anti-spoofing process of the plurality of anti-spoofing processes is performed after a successful fingerprint match of a fingerprint authentication process implemented by the control system.
9. The method of claim 7, further comprising performing a subsequent calibration process after performing a threshold number of anti-spoofing processes.
10. The method of claim 1, wherein T is an integer of 100 or more and N is an integer of 30 or less.
11. An anti-spoofing method, comprising: providing a user prompt to place a user’s digit in a fingerprint sensor area; obtaining, by a control system and from a fingerprint sensor, fingerprint sensor data corresponding to the user’s digit; determining, by the control system and based on the fingerprint sensor data, that a currently-obtained fingerprint image matches one or more previously-obtained fingerprint images; extracting, by the control system and from the fingerprint sensor data, N topranked anti-spoofing fingerprint feature types of a set of T anti-spoofing fingerprint feature types, N and T being integers and N being an integer smaller than T; and performing, by the control system, an anti-spoofing process using the N topranked anti-spoofing fingerprint feature types.
12. The method of claim 11, further comprising obtaining top-ranked anti-spoofing fingerprint feature data from a memory, top-ranked anti-spoofing fingerprint feature data indicating which of the T anti-spoofing fingerprint feature types are the N top-ranked anti-spoofing fingerprint feature types.QUALP644WOQualcomm Ref. 2403561 WO13. The method of claim 12, wherein the top-ranked anti-spoofing fingerprint feature data resulted from a previous anti-spoofing calibration process.
14. The method of claim 11, further comprising performing a subsequent calibration process after performing a threshold number of anti-spoofing processes, the subsequent calibration process involving re-selecting top-ranked anti-spoofing fingerprint feature types from the set of T anti-spoofing fingerprint feature types.
15. The method of claim 14, wherein the threshold number of anti-spoofing processes is in a range from 5 anti-spoofing processes to 20 anti-spoofing processes.
16. The method of claim 11, wherein T is an integer of 100 or more and N is an integer of 30 or less.
17. The method of claim 11, wherein performing the anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types requires less than 1710tha time of an anti-spoofing process using all of the T anti-spoofing fingerprint feature types.
18. The method of claim 11, wherein the anti- spoofing process using the N topranked anti-spoofing fingerprint feature types is more accurate than an anti-spoofing process using all of the T anti-spoofing fingerprint feature types.
19. The method of claim 11, wherein performing the anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types involves implementing a previously- trained classifier.
20. An apparatus, comprising: a user interface system including a display; a fingerprint sensor system; a memory system; and a control system configured to: control the user interface system to provide a user prompt to select a user’s digit; control the user interface system to provide a user prompt to place a selected user’s digit in a fingerprint sensor area indicated on the display, the fingerprint sensor area corresponding to at least a portion of the fingerprint sensor system;QUALP644WOQualcomm Ref. 2403561 WO obtain, from the fingerprint sensor system, fingerprint sensor data corresponding to the selected user’s digit; extract, from the fingerprint sensor data, T anti- spoofing fingerprint feature types, T being an integer; determine N top-ranked anti-spoofing fingerprint feature types of the T anti-spoofing fingerprint feature types, N being an integer smaller than T; and cause the N top-ranked anti-spoofing fingerprint feature types to be stored in a memory of the memory system.
21. The apparatus of claim 20, wherein the control system is further configured to control the user interface system to provide a user prompt indicating that an initial calibration process for the selected user’s digit has completed.
22. The apparatus of claim 20, wherein one or more neural networks implemented by the control system are configured to determine the N top-ranked anti-spoofing fingerprint feature types.
23. The apparatus of claim 20, wherein determining the N top-ranked anti- spoofing fingerprint feature types involves an iterative process of evaluating subsets of the T antispoofing fingerprint feature types.
24. The apparatus of claim 20, wherein determining the N top-ranked anti-spoofing fingerprint feature types involves a process of determining individual contributions of each of the T anti-spoofing fingerprint feature types to each test anti-spoofing process of a plurality of test anti- spoofing processes.
25. The apparatus of claim 24, wherein determining individual contributions of each of the T anti-spoofing fingerprint feature types involves implementing a classifier that has been trained to determine top-ranked anti-spoofing fingerprint feature types from fingerprint sensor data corresponding to a plurality of digits.
26. An apparatus, comprising: a user interface system including a display; a fingerprint sensor system; a memory system; and a control system configured to:QUALP644WOQualcomm Ref. 2403561 WO control the user interface system to provide a user prompt to place a user’s digit in a fingerprint sensor area indicated on the display, the fingerprint sensor area corresponding to at least a portion of the fingerprint sensor system; obtain, from the fingerprint sensor system, fingerprint sensor data corresponding to the user’s digit; determine, based on the fingerprint sensor data, that a currently-obtained fingerprint image matches one or more previously-obtained fingerprint images; extract, from the fingerprint sensor data, N top-ranked anti-spoofing fingerprint feature types of a set of T anti- spoofing fingerprint feature types, N and T being integers and N being an integer smaller than T; and perform an anti-spoofing process using the N top-ranked anti-spoofing fingerprint feature types.
27. The apparatus of claim 26, wherein the control system is further configured to obtain top-ranked anti- spoofing fingerprint feature data from a memory, top-ranked antispoofing fingerprint feature data indicating which of the T anti- spoofing fingerprint feature types are the N top-ranked anti-spoofing fingerprint feature types.
28. The apparatus of claim 27, wherein the top-ranked anti-spoofing fingerprint feature data resulted from a previous anti-spoofing calibration process.
29. The apparatus of claim 26, wherein the control system is further configured to perform a subsequent calibration process after performing a threshold number of antispoofing processes, the subsequent calibration process involving re-selecting top-ranked anti-spoofing fingerprint feature types from the set of T anti-spoofing fingerprint feature types.
30. The apparatus of claim 29, wherein the threshold number of anti-spoofing processes is in a range from 5 anti-spoofing processes to 20 anti-spoofing processes.QUALP644WO
Citation Information
Patent Citations
Fingerprint recognition system
US6125192A
System for and method of securing fingerprint biometric systems against fake-finger spoofing
US7505613B2
IN202441072517A