Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
First Claim
1. A method for performing fingerprint recognition, the method comprising:
- capturing, by a mobile device having a camera, a storage medium, instructions stored on the storage medium, and a processor configured by executing the instructions, images depicting a plurality of fingers of a subject;
detecting, with the processor applying a plurality of finger detection algorithms, the plurality of fingers depicted in one or more of the images using a finger detection algorithm, wherein the plurality of finger detection algorithms include cascade classifiers;
based on the detecting, processing, with the processor, at least one image using a segmentation algorithm to identify a respective fingertip segment for one or more of the fingers detected as being depicted in the at least one image;
extracting, with the processor for each finger, discriminatory features from the respective fingertip segment;
generating a biometric identifier including the extracted discriminatory features; and
storing the generated biometric identifier in the memory with the processor.
3 Assignments
0 Petitions
Accused Products
Abstract
Technologies are presented herein in support of a system and method for performing fingerprint recognition. Embodiments of the present invention concern a system and method for capturing a user'"'"'s biometric features and generating an identifier characterizing the user'"'"'s biometric features using a mobile device such as a smartphone. The biometric identifier is generated using imagery captured of a plurality of fingers of a user for the purposes of authenticating/identifying the user according to the captured biometrics and determining the user'"'"'s liveness. The present disclosure also describes additional techniques for preventing erroneous authentication caused by spoofing. In some examples, the anti-spoofing techniques may include capturing one or more images of a user'"'"'s fingers and analyzing the captured images for indications of liveness.
-
Citations
24 Claims
-
1. A method for performing fingerprint recognition, the method comprising:
-
capturing, by a mobile device having a camera, a storage medium, instructions stored on the storage medium, and a processor configured by executing the instructions, images depicting a plurality of fingers of a subject; detecting, with the processor applying a plurality of finger detection algorithms, the plurality of fingers depicted in one or more of the images using a finger detection algorithm, wherein the plurality of finger detection algorithms include cascade classifiers; based on the detecting, processing, with the processor, at least one image using a segmentation algorithm to identify a respective fingertip segment for one or more of the fingers detected as being depicted in the at least one image; extracting, with the processor for each finger, discriminatory features from the respective fingertip segment; generating a biometric identifier including the extracted discriminatory features; and storing the generated biometric identifier in the memory with the processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for performing fingerprint recognition, the method comprising:
-
capturing, by a mobile device having a camera, a storage medium, instructions stored on the storage medium, and a processer configured by extracting the instructions, images depicting a plurality of fingers of a subject; detecting, with the processor using a finger detection algorithm, the plurality of fingers depicted in one or more of the images using a finger detection algorithm, wherein the step of detecting the one or more fingers comprises; selecting at least a first finger detection algorithm and a second finger detection algorithm, detecting, by the processor using the first and second finger detection algorithms, at least one candidate set of fingers depicted in the one or more images, wherein the first and second finger detection algorithms are classifiers, and wherein the second finger detection algorithm is a classifier that is trained differently from the first finger detection algorithm, computing a quality metric representing a likelihood that the at least one candidate set of fingers represents the plurality of fingers, and based on the quality not meeting a prescribed threshold, repeating the preceding detecting and computing steps to detect one or more other candidate sets of fingers and compute a respective quality metric; based on the detecting, processing, with the processor, at least one image using a segmentation algorithm to identify a respective fingerprint segment for one or more of the fingers detected as being depicted in the at least one image; extracting, with the processor for each finger, discriminatory features from the respective fingertip segment; generating a biometric identifier including the extracted discriminatory features; and storing the generated biometric identifier in the memory with the processor.
-
-
11. A method for performing fingerprint recognition, the method comprising:
-
capturing, by a mobile device having a camera, a storage medium, instructions stored on the storage medium, and a processor configured by executing the instructions, images depicting a plurality of fingers of a subject; detecting, with the processor using a finger detection algorithm, the plurality of fingers depicted in one or more of the images using a finder detection algorithm; based on the detecting, processing, with the processor, at least one image using a segmentation algorithm to identify a respective fingertip segment for one or more of the fingers detected as being depicted in the at least one image, wherein the step of processing at least one image using a segmentation algorithm to identify a respective fingertip segment for one or more fingers comprises; analyzing, with the processor using one or more classifiers, at least a portion of the at least one image that depicts the plurality of fingers, identifying candidate fingertip segments and assigning a respective score using the one or more classifiers, and selecting the respective fingertip segment for the one or more fingers from among the set of candidate fingertip segments based on the respective scores; extracting, with the processor for each finger, discriminatory features from the respective fingertip segment; generating a biometric identifier including the extracted discriminatory features; and storing the generated biometric identifier in the memory with the processor.
-
-
12. A method for performing fingerprint recognition, the method comprising:
-
capturing, by a mobile device having a camera, a storage medium, instructions stored on the storage medium, and a processor configured by executing the instructions, images depicting a plurality of fingers of a subject; detecting, with the processor using a finger detection algorithm, the plurality of fingers depicted in one or more of the images; processing, with the processor from at least one image using a segmentation algorithm, to identify a respective fingertip segment for one or more fingers depicted in the at least one image; extracting, with the processor for each finger, discriminatory features from the respective fingertip segment; generating a biometric identifier including the extracted discriminatory features, wherein generating the biometric identifier includes; determining, for the respective fingertip segment depicted in the at least one of the images, a frequency of fingerprint ridges, and scaling the biometric identifier based on the frequency of fingerprint ridges and a prescribed reference frequency; and storing the generated biometric identifier in the memory with the processor.
-
-
13. A method for performing fingerprint recognition, the method comprising:
-
capturing, by a mobile device having a camera, a storage medium, instructions stored on the storage medium, and a processor configured by executing the instructions, images depicting a plurality of fingers of a subject, and wherein capturing includes capturing a first image depicting the plurality of fingers at a first position relative to the camera and a second image depicting the plurality of fingers at a second position relative to the camera, wherein the first and second positions are different; detecting, with the processor using a finger detection algorithm, the plurality of fingers depicted in one or more of the images; processing, with the processor from at least one image using a segmentation algorithm, to identify a respective fingertip segment for one or more fingers depicted in the at least one image; extracting, with the processor for each finger, discriminatory features from the respective fingertip segment; generating a biometric identifier including the extracted discriminatory features; storing the generated biometric identifier in the memory with the processor; determining, from at least the first and second images depicting the plurality of fingers from different respective positions relative to the camera, that the plurality of fingers are three-dimensional objects; and verifying the subject is a live subject based on the determination that the plurality of fingers are three-dimensional objects.
-
-
14. A system for performing fingerprint recognition comprising:
-
a mobile device having a camera, a storage medium, a display, and a processor in operative communication with the camera, the display and the storage medium; a software application comprising instructions in the form of code stored on the storage medium, wherein the instructions are executable in the processor and configure the processor to; capture images depicting a plurality of fingers of a subject using the camera, detect, by applying a plurality of finger detection algorithms, the plurality of fingers depicted in one or more of the images, wherein the plurality of finger detection algorithms include cascade classifiers, based on the detection of the plurality of fingers, process at least one image using a segmentation algorithm, to identify a respective fingertip segment for one or more fingers detected as being depicted in the at least one image, extract, for each finger, discriminatory features from the respective fingertip segment, generate a biometric identifier including the extracted discriminatory features, and store the generated biometric identifier in the memory. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A system for performing fingerprint recognition comprising:
-
a mobile device having a camera, a storage medium, a display, and a processor in operative communication with the camera, the display and the storage medium; a software application comprising instruction in the form of code stored on the storage medium, wherein the instructions are executable in the processor and configure the processor to; capture images depicting a plurality of fingers of a subject using the camera, detect, using a finger detection algorithm, the plurality of fingers depicted in one or more of the images, wherein the software application configures the processor to detect the one or more fingers by; selecting at least a first finger detection algorithm and a second finger detection algorithm, wherein the first and second finger detection algorithms are classifiers, and wherein the second finger detection algorithm is a classifier that is trained differently from the first finger detection algorithm; detecting, by the processor using the first and second finger detection algorithms, at least one candidate set of fingers depicted in the one or more images; computing a quality metric representing a likelihood that the at least one candidate set of fingers represents the plurality of fingers; and based on the quality not meeting a prescribed threshold, repeating the preceding detecting and computing steps to detect one or more other candidate sets of fingers and compute a respective quality metric; based on the detection of the plurality of fingers, process at least on image using a segmentation algorithm, to identify a respective fingertip segment for one or more fingers detected as being depicted in the at least one image, extract, for each finger, discriminatory features from the respective fingertip segment, generate a biometric identifier including the extracted discriminatory features, and store the generated biometric identifier in the memory.
-
-
22. A system for performing fingerprint recognition comprising:
-
a mobile device having a camera, a storage medium, a display, and a processor in operative communication with the camera, the display and the storage medium; a software application comprising instructions in the form of code stored on the storage medium, wherein the instructions are executable in the processor and configure the processor to; capture images depicting a plurality of fingers of a subject using the camera, detect, using a finger detection algorithm, the plurality of fingers depicted in one or more of the images, based on the detection of the plurality of fingers, process at least one image using a segmentation algorithm, to identify a respective fingertip segment for one or more fingers detected as being depicted in the at least one image, wherein the processor is configured to process the at least one image by; analyzing, using one or more classifiers, at least a portion of the at least one image that depicts the plurality of fingers, identifying candidate fingertip segments and assign a respective score using the one or more classifiers, and selecting the respective fingertip segment for the one or more fingers from among the set of candidate fingertip segments based on the respective scores; extract, for each finger, discriminatory features from the respective fingertip segment, generate a biometric identifier including the extracted discriminatory features, and store the generated biometric identifier in the memory.
-
-
23. A system for performing fingerprint recognition comprising:
-
a mobile device having a camera, a storage medium, a display, and a processor in operative communication with the camera, the display and the storage medium; and a software application comprising instructions in the form of code stored on the storage medium, wherein the instructions are executable in the processor and configure the processor to; capture images depicting a plurality of fingers of a subject using the camera, detect, using a finger detection algorithm, the plurality of fingers depicted in one or more of the images, process at least one image using a segmentation algorithm, to identify a respective fingertip segment for one or more fingers depicted in the at least one image, extract, for each finger, discriminatory features from the respective fingertip segment, generate a biometric identifier including the extracted discriminatory features, determine a frequency of fingerprint ridges for the respective fingertip segment depicted in the at least one of the images, scale the biometric identifier based on the frequency of fingerprint ridges and a prescribed reference frequency, and store the generated biometric identifier in the memory.
-
-
24. A system for performing fingerprint recognition comprising:
-
a mobile device having a camera, a storage medium, a display, and a processor in operative communication with the camera, the display and the storage medium; and a software application comprising instructions in the form of code stored on the storage medium, wherein the instructions are executable in the processor and configure the processor to; capture, using the camera, images depicting a plurality of fingers of a subject including a first image depicting the plurality of fingers at a first position relative to the camera and a second image depicting the plurality of fingers at a second position relative to the camera, wherein the first and second positions are different, detect, using a finger detection algorithm, the plurality of fingers depicted in one or more of the images, process at least one image using a segmentation algorithm, to identify a respective fingertip segment for one or more fingers depicted in the at least one image, extract, for each finger, discriminatory features from the respective fingertip segment, generate a biometric identifier including the extracted discriminatory features, store the generated biometric identifier in the memory, determine, from at least the first and second images depicting the plurality of fingers from different respective positions relative to the camera, that the plurality of fingers are three-dimensional objects, and verify the subject is a live subject based on the determination that the plurality of fingers are three-dimensional objects.
-
Specification