US 12,254,070 B1
Liveness detection
Gina Signorello, Palo Alto, CA (US); and Labhesh Patel, Palo Alto, CA (US)
Assigned to Jumio Corporation, Sunnyvale, CA (US)
Filed by Jumio Corporation, Palo Alto, CA (US)
Filed on Dec. 30, 2021, as Appl. No. 17/566,196.
Int. Cl. G06F 21/32 (2013.01); G06F 3/01 (2006.01)
CPC G06F 21/32 (2013.01) [G06F 3/011 (2013.01); G06F 3/017 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer implemented method comprising:
receiving, using one or more processors, a request for liveness determination;
responsive to the request, determining, using one or more processors, a set of potential liveness signal types, the set of potential liveness signal types determined to be detectable based on a set of sensors determined to be available to a user's client device;
generating, using the one or more processors and based on the determined set of potential liveness signal types, a first cue for presentation to the user via the client device, the first cue inducing a first action when the user is live, wherein the first cue includes a vibration of the client device;
obtaining, using the one or more processors, a first set of sensor data for a first time prior to the first cue;
obtaining, using the one or more processors, a second set of sensor data for a second time subsequent to the first cue and representing a user response to the first cue;
determining, using the one or more processors, a first user state based on the first set of sensor data;
determining, using the one or more processors, a second user state based on the second set of sensor data;
determining, using the one or more processors, a change of user state from the first user state to the second user state, wherein the change of user state includes one or more of:
the user turning the user's gaze to the client device responsive to the vibration,
the user entering into view of a camera sensor associated with the client device responsive to the vibration, and
a startle response from the user responsive to the vibration;
determining, using the one or more processors, a first liveness signal based on the change of user state in response to the first cue; and
responding, using the one or more processors, to the request based on the first liveness signal.