IP Library › Granted Patent US 11,514,708
Granted Patent B2
US 11,514,708 · App. 17/190,730 · Granted Nov 29, 2022

Anti-spoofing for contactless fingerprint readers

Inventors: Yi Ding (Austin, TX); Jinwook Kim (Austin, TX); Dimitar Gospodinov (Austin, TX)
Assignee: THALES DIS FRANCE SAS
G06V40/1312G06N20/00G06T7/529G06V10/28G06V40/1388G06V40/40G06T2207/20182
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,514,708
App. No.
17/190,730
Granted
Nov 29, 2022
Kind
B2
Abstract

Contactless fingerprint reader. The contactless fingerprint reader has one or more light sources adapted to emit light under different lighting conditions, a first camera adapted to successively capture first images of a subject captured with and without flash light, at least one second camera adapted to capture second images from different angles, one or more sensors adapted to generate one or more spatial-temporal signals representing a change of a distance between said subject and one or more locations of the contactless fingerprint reader, and communication module for sending the first images, said second images, and the one or more spatial-temporal signals to an anti-spoofing device.

Claims (82)

1. An anti-spoofing method for a contactless fingerprint reader, the method comprising steps of:

receiving, from said contactless fingerprint reader, first images of a subject successively captured with and without flash light;

computing pixel differences between the image captured with flash light and the image captured without flash light to estimate a foreground area in these images as a shape of said subject;

extracting a feature vector of said shape to classify it into a positive class or a negative class based on machine learning;

calculating a value representing a texture pattern of an image of said subject captured with flash light and received from said contactless fingerprint reader to classify said value into a positive class or a negative class based on machine learning;

receiving, from said contactless fingerprint reader, second images of said subject captured from different angles;

computing from said second images a depth map of said subject to classify said depth map into a positive class or a negative class based on machine learning;

receiving, from said contactless fingerprint reader, one or more spatial-temporal signals representing a change of a distance between said subject and one or more locations of said contactless fingerprint reader;

extracting feature vectors of said one or more spatial-temporal signals to classify said feature vectors into a positive class or a negative class based on machine learning by:

decomposing each signal by a discrete wavelet transform to calculate an energy of approximation coefficients and an energy of detailed coefficients; and

dividing a sub-band energy from said energies by a sum of said energies to calculate a relative energy of the signal as said feature vector of the signal; and

detecting a spoofing attack if there is at least one negative classification result from the above classifying steps.

2. The method according to claim 1 , said step of calculating a value representing a texture pattern comprising steps of:

defining a circle by a predetermined central pixel and a predetermined radius on said image captured with flash light;

for each neighboring pixel on said circle, calculating a pixel difference between said neighboring pixel and said predetermined central pixel, comparing said pixel difference with a predetermined threshold to obtain a result 1, 0, or −1;

calculating a sum of said results for all the neighboring pixels on said circle and multiplying said sum by two to the power of a total number of the neighboring pixels.

3. A non-transient computer memory comprising:

a computer program with instructions which, when the program is executed by a processor of an anti-spoofing device, cause the device to carry out a method having the steps:

receiving, from said contactless fingerprint reader, first images of a subject successively captured with and without flash light;

computing pixel differences between the image captured with flash light and the image captured without flash light to estimate a foreground area in these images as a shape of said subject;

extracting a feature vector of said shape to classify it into a positive class or a negative class based on machine learning;

calculating a value representing a texture pattern of an image of said subject captured with flash light and received from said contactless fingerprint reader to classify said value into a positive class or a negative class based on machine learning;

receiving, from said contactless fingerprint reader, second images of said subject captured from different angles;

computing from said second images a depth map of said subject to classify said depth map into a positive class or a negative class based on machine learning;

receiving, from said contactless fingerprint reader, one or more spatial-temporal signals representing a change of a distance between said subject and one or more locations of said contactless fingerprint reader;

extracting feature vectors of said one or more spatial-temporal signals to classify said feature vectors into a positive class or a negative class based on machine learning by:

decomposing each signal by a discrete wavelet transform to calculate an energy of approximation coefficients and an energy of detailed coefficients; and

dividing a sub-band energy from said energies by a sum of said energies to calculate a relative energy of the signal as said feature vector of the signal; and

detecting a spoofing attack if there is at least one negative classification result from the above classifying steps.

4. The non-transient computer memory of claim 3 , wherein

wherein the instructions for causing the processor to perform the step of calculating a value representing a texture pattern comprises instructions to cause the processor to perform the steps:

defining a circle by a predetermined central pixel and a predetermined radius on said image captured with flash light;

for each neighboring pixel on said circle, calculating a pixel difference between said neighboring pixel and said predetermined central pixel, comparing said pixel difference with a predetermined threshold to obtain a result 1, 0, or −1;

calculating a sum of said results for all the neighboring pixels on said circle and multiplying said sum by two to the power of a total number of the neighboring pixels.

5. An anti-spoofing device comprising:

a memory;

a processor which is adapted to:

receive, from a contactless fingerprint reader, first images of a subject successively captured with and without flash light;

compute pixel differences between the image captured with flash light and the image captured without flash light to estimate a foreground area in these images as a shape of said subject;

extract a feature vector of said shape to classify it into a positive class or a negative class based on machine learning;

calculate a value representing a texture pattern of an image of said subject captured with flash light and received from said contactless fingerprint reader to classify said value into a positive class or a negative class based on machine learning;

receive, from said contactless fingerprint reader, second images of said subject captured from different angles;

compute from said second images a depth map of said subject to classify said depth map into a positive class or a negative class based on machine learning;

receive, from said contactless fingerprint reader, one or more spatial-temporal signals representing a change of a distance between said subject and one or more locations of said contactless fingerprint reader;

extract feature vectors of said one or more spatial-temporal signals to classify said feature vectors into a positive class or a negative class based on machine learning by:

decomposing each signal by a discrete wavelet transform to calculate an energy of approximation coefficients and an energy of detailed coefficients; and

dividing a sub-band energy from said energies by a sum of said energies to calculate a relative energy of the signal as said feature vector of the signal; and

detect a spoofing attack if there is at least one negative classification result from the above classifying steps.

6. The anti-spoofing device of claim 5 , wherein

to calculate a value representing a texture pattern the anti-spoofing device is adapted to:

define a circle by a predetermined central pixel and a predetermined radius on said image captured with flash light;

for each neighboring pixel on said circle, calculate a pixel difference between said neighboring pixel and said predetermined central pixel, comparing said pixel difference with a predetermined threshold to obtain a result 1, 0, or −1;

calculate a sum of said results for all the neighboring pixels on said circle and multiplying said sum by two to the power of a total number of the neighboring pixels.

7. An anti-spoofing system comprising:

a contactless fingerprint reader having:

one or more light sources adapted to emit light under different lighting conditions;

a first camera adapted to successively capture first images of a subject captured with and without flash light;

at least one second camera adapted to capture second images from different angles;

one or more sensors adapted to generate one or more spatial-temporal signals representing a change of a distance between said subject and one or more locations of said contactless fingerprint reader; and

a communication module for sending said first images, said second images, and said one or more spatial-temporal signals to an anti-spoofing device; and

an anti-spoofing device having:

a memory;

a processor which is adapted to:

receive, from a contactless fingerprint reader, first images of a subject successively captured with and without flash light;

compute pixel differences between the image captured with flash light and the image captured without flash light to estimate a foreground area in these images as a shape of said subject;

extract a feature vector of said shape to classify it into a positive class or a negative class based on machine learning;

calculate a value representing a texture pattern of an image of said subject captured with flash light and received from said contactless fingerprint reader to classify said value into a positive class or a negative class based on machine learning;

receive, from said contactless fingerprint reader, second images of said subject captured from different angles;

compute from said second images a depth map of said subject to classify said depth map into a positive class or a negative class based on machine learning;

receive, from said contactless fingerprint reader, one or more spatial-temporal signals representing a change of a distance between said subject and one or more locations of said contactless fingerprint reader;

extract feature vectors of said one or more spatial-temporal signals to classify said feature vectors into a positive class or a negative class based on machine learning by:

decomposing each signal by a discrete wavelet transform to calculate an energy of approximation coefficients and an energy of detailed coefficients; and

dividing a sub-band energy from said energies by a sum of said energies to calculate a relative energy of the signal as said feature vector of the signal; and

detect a spoofing attack if there is at least one negative classification result from the above classifying steps.

8. The anti-spoofing system according to claim 7 , wherein said light sources are provided with films optimizing flash light reflection and enhancing texture patterns of human skin.

9. The anti-spoofing system according to claim 7 , wherein said sensors are ToF sensors respectively provided on outer regions of a surface of the contactless fingerprint reader and surrounding the cameras arranged in inner regions of the surface.

10. The anti-spoofing system according to claim 7 , wherein said at least one second camera is a stereo camera having at least two lenses adapted to capture said second images respectively.

11. The anti-spoofing system according to claim 7 , wherein said at least one second camera are two cameras adapted to capture said second images respectively.

12. The anti-spoofing system of claim 7 , wherein the processor is adapted to calculate the texture pattern by:

defining a circle by a predetermined central pixel and a predetermined radius on said image captured with flash light;

for each neighboring pixel on said circle, calculating a pixel difference between said neighboring pixel and said predetermined central pixel, comparing said pixel difference with a predetermined threshold to obtain a result 1, 0, or −1;

calculating a sum of said results for all the neighboring pixels on said circle and multiplying said sum by two to the power of a total number of the neighboring pixels.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2022
From: THALES DIS USA, INC
To: THALES DIS FRANCE SA
Reel/Frame 061709/0704 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2022
From: THALES DIS FRANCE SA
To: THALES DIS FRANCE SAS
Reel/Frame 061710/0092 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2022
From: THALES DIS USA, INC.
To: THALES DIS FRANCE SA
Reel/Frame 061580/0978 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2021
From: YI, DING; GOSPODINOV, DIMITAR; KIM, JINWOOK
To: THALES DIS USA, INC.
Reel/Frame 055639/0217 →
Continuity (1)
Related Publication 20220284210A1 · Sep 8, 2022