AUTHENTICATION USING STORED AUTHENTICATION IMAGE DATA

Computer systems and methods are provided for authenticating a user. A system receives first authentication information that includes first and second facial image data for a user. The system compares the first facial image with the second facial image to determine whether first matching criteria are met. The system, in accordance with a determination that the first matching criteria are met, generates an identity chain. The system, after generating the identity chain, receives a request to perform a transaction and receiving second authentication information that includes third facial image data for the user. The system determines whether the third facial image meets second matching criteria by comparing the third facial image with respective image data of the identity chain. The system, in accordance with a determination that the third facial image user meets the second matching criteria, transmits authorization information for the transaction.

TECHNICAL FIELD

This application relates generally to user authentication, and more particularly, to using facial image data for user authentication.

BACKGROUND

User authentication is often performed prior to granting user access to a system. Typically, user authentication involves accessing previously stored user information, such as user identification information and/or user biometric data, and comparing the previously stored user information with information that a user provides in connection with an access request. Systems that perform user authentication store user information in a data storage device. Prior to requesting authorization, users enroll with the system by providing user information to be stored.

SUMMARY

Some authentication systems described herein perform authentication using a newly-captured facial image and identity chain of an authenticated person that includes at least the person's face and a document that includes a previously-captured image of the person's face. For example, a person who has previously been verified, authenticated or granted authorization, submits a request for a subsequent authorization. In response to the request (e.g., from a user device), a facial image is received. Image analysis is performed on the received facial image to determine facial image data. The facial image data is further analyzed to determine whether the person's face in the image matches a facial image in the identity chain. If the image analysis determines that there is a match, authorization is granted. In some embodiments, if authorization is granted, the received facial image is stored to the identity chain for future comparisons. In some embodiments, after the received facial image is stored to the identity chain, the matching criteria is updated. In this way, the system promotes continuous learning by increasing the sample of facial images available to use in the matching criteria and other processes. As such, a device is enabled to perform re-authentication using the newly received facial image without requiring a user to request a full authentication or submit identification documentation a second time.

In some embodiments, a method is performed at a server system including one or more processors and memory storing one or more programs for execution by the one or more processors. The method includes receiving first authentication information that includes first facial image data for a user and second facial image data for the user, where the first facial image data for the user is distinct from the second facial image data for the user. The method includes comparing the first facial image data for the user with the second facial image data for the user to determine whether first matching criteria are met. The method includes, in accordance with a determination that the first matching criteria are met, generating an identity chain that includes at least one of the first facial image data for the user or the second facial image data for the user. The method further includes, after generating the identity chain, receiving a request to perform a first transaction and receiving second authentication information that includes third facial image data for the user. The method includes determining whether the third facial image data for the user meets second matching criteria by comparing the third facial image data for the user with facial image data for a respective image of the identity chain. The method includes, in accordance with a determination that the third facial image data for the user meets the second matching criteria, transmitting authorization information for the first transaction.

In accordance with some embodiments, an electronic device (e.g., a server system, a client device, etc.) includes one or more processors and memory storing one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for performing the operations of the method described above. In accordance with some embodiments, a computer-readable storage medium has stored therein instructions that, when executed by an electronic device, cause the server system to perform the operations of the method described above.

In accordance with common practice, some of the drawings may not depict all of the components of a given system, method, or device. Finally, like reference numerals denote like features throughout the specification and figures.

DETAILED DESCRIPTION

Numerous details are described herein in order to provide a thorough understanding of the example embodiments illustrated in the accompanying drawings. However, some embodiments may be practiced without many of the specific details, and the scope of the claims is only limited by those features and aspects specifically recited in the claims. Furthermore, well-known processes, components, and materials have not been described in exhaustive detail so as not to unnecessarily obscure pertinent aspects of the embodiments described herein.

FIG. 1is a system diagram of a computing system100, in accordance with some embodiments. The computing system100is, for example, a server computer, a desktop computer, or a laptop computer. The computing system100typically includes a memory102, one or more processor(s)136, a power supply138, an input/output (I/O) subsystem140, and a communication bus134for interconnecting these components.

The processor(s)136execute modules, programs, and/or instructions stored in the memory102and thereby perform processing operations.

In some embodiments, the memory102stores one or more programs (e.g., sets of instructions) and/or data structures, collectively referred to as “modules” herein. In some embodiments, the memory102, or the computer readable storage medium (e.g., a non-transitory computer-readable storage medium) of the memory102, or a computer program product stores the following programs, modules, and data structures, or a subset or superset thereof:an operating system104;an image analysis module106;a user authentication module108, which stores information such as image data110, extracted first image data112, extracted second image data114, up to extracted N image data116(e.g., extracted by the image analysis module106from the captured image data110), user identification information118(e.g., user name, user password, user residential information, user phone number, user date of birth, and/or user e-mail), and user biometric information120(e.g., facial data, fingerprint data, retinal data, hand image data, and/or gait data), matching criteria information122; identity chain124which includes user images (e.g., first user image126, second user image128, up to M user image130) based on authentication of the user (e.g., satisfying matching criteria information122) and is used to update matching criteria information122; andliveness analysis module132, which stores information for displaying a moving target liveness user interface800and/or a language content liveness user interface1100, generates audio output including facial movement instructions and/or language content, stores verification data (e.g., facial feature position data, audio print data that corresponds to language content output, and/or facial image data that corresponds to language content output), and/or uses an audio analysis module to perform audio analysis.

The above identified modules (e.g., data structures, and/or programs including sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, the memory102stores a subset of the modules identified above. In some embodiments, a remote authentication database154and/or a local authentication database144store one or more modules identified above. Furthermore, the memory102may store additional modules not described above. In some embodiments, the modules stored in the memory102, or a non-transitory computer readable storage medium of the memory102, provide instructions for implementing respective operations in the methods described below. In some embodiments, some or all of these modules may be implemented with specialized hardware circuits that subsume part or all of the module functionality. One or more of the above identified elements may be executed by one or more of the processor(s)136. In some embodiments, one or more of the modules described with regard to the memory102is implemented in the memory202of an image capturing device200(FIG. 2) and executed by the processor(s)220of the image capturing device200.

In some embodiments, the I/O subsystem140communicatively couples the computing system100to one or more local devices, such as a biometric input device142and/or a local authentication database144, via a wired and/or wireless connection. In some embodiments, the I/O subsystem140communicatively couples the computing system100to one or more remote devices, such as a remote authentication database154, a first image capturing device200a, and/or a second image capturing device200b, via a first communications network150, a second communications network152, and/or via a wired and/or wireless connection. In some embodiments, the first communications network150is the Internet. In some embodiments, the first communication network150is a first financial network and the second communication network152is a second financial network.

In some embodiments, a biometric input device142(e.g., a fingerprint scanner, a retinal scanner, and/or a camera) is communicatively coupled to the computing system100. For example, the computing system100is located in or near to an authentication kiosk, or is communicatively coupled to an authentication kiosk that includes the biometric input device142.

The communication bus134optionally includes circuitry (sometimes called a chipset) that interconnects and controls communications between system components.

FIG. 2is a system diagram of an image capturing device200(e.g., the first or second image capturing devices200aor200b), in accordance with some embodiments. The image capturing device200typically includes a memory202, a camera218, one or more processor(s)220, a power supply224, an input/output (I/O) subsystem226, and a communication bus228for interconnecting these components. The image capturing device200is, for example, a mobile phone, a tablet, a digital camera, a laptop computer or other computing device, or a kiosk.

The processor(s)220execute modules, programs, and/or instructions stored in the memory202and thereby perform processing operations.

In some embodiments, the memory202stores one or more programs (e.g., sets of instructions) and/or data structures, collectively referred to as “modules” herein. In some embodiments, the memory202, or the non-transitory computer readable storage medium of the memory202stores the following programs, modules, and data structures, or a subset or superset thereof:an operating system204;captured image data206(e.g., image data captured by the camera218, such as video and/or still images); anduser identification information208(e.g., user name, user password, user residential information, user phone number, user date of birth, and/or user e-mail address).

The above identified modules (e.g., data structures, and/or programs including sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, the memory202stores a subset of the modules identified above. In some embodiments, the camera218stores one or more modules identified above (e.g., captured image data206). Furthermore, the memory202may store additional modules not described above. In some embodiments, the modules stored in the memory202, or a non-transitory computer readable storage medium of the memory202, provide instructions for implementing respective operations in the methods described below. In some embodiments, some or all of these modules may be implemented with specialized hardware circuits that subsume part or all of the module functionality. One or more of the above identified elements may be executed by one or more of the processor(s)220. In some embodiments, one or more of the modules described with regard to the memory202is implemented in the memory102of the computing system100and executed by processor(s)136of the computing system100.

The camera218captures still images, sequences of images, and/or video. In some embodiments, the camera218is a digital camera that includes an image sensor and one or more optical devices. The image sensor is, for example, a charge-coupled device or other pixel sensor that detects light. In some embodiments, one or more optical devices are movable relative to the image sensor by an imaging device actuator. The one or more optical devices affect the focus of light that arrives at the image sensor and/or an image zoom property.

In some embodiments, the image capturing device200includes a camera218(e.g., the camera218is located within a housing of the image capturing device200). In some embodiments, the camera218is a peripheral device that captures images and sends captured image data206to the I/O subsystem226of the image capturing device200via a wired and/or wireless communication connection.

In some embodiments, the I/O subsystem226communicatively couples image capturing device200to one or more remote devices, such as a computing system100, via a first communication network150and/or a second communication network152.

In some embodiments, a user input device230and/or an output device232are integrated with the image capturing device200(e.g., as a touchscreen display). In some embodiments, a user input device230and/or an output device232are peripheral devices communicatively connected to an image capturing device200. In some embodiments, a user input device230includes a microphone, a keyboard, and/or a pointer device such as a mouse, a touchpad, a touchscreen, and/or a stylus. In some embodiments, the output device232includes a display (e.g., a touchscreen display that includes input device230) and/or a speaker.

The communication bus228optionally includes circuitry (sometimes called a chipset) that interconnects and controls communications between system components.

In some embodiments, one or more user input devices and/or output devices (not shown), such as a display, touchscreen display, speaker, microphone, keypad, pointer control, zoom adjustment control, focus adjustment control, and/or exposure level adjustment control, are integrated with the device200.

FIG. 3illustrates a document300that includes an identification image302, in accordance with some embodiments. The document300is, for example, a government issued identification, such as an identification card, a driver's license, a passport, etc.; a payment card (e.g., credit card or debit card); a facility access card; and/or a photograph. In some embodiments, the identification image302is a photograph and the document300is a photo identification.

In some embodiments, the document300includes facial image location cue information (e.g., the concentric rectangles indicated at304). Facial image location cue information304is a visual indication on the document300of a location of the identification image302within the document300. For example, the concentric rectangles304that surround identification image302provide a cue to indicate the location of the identification image302within the document300. In some embodiments, facial image location cue information includes one or more marks and/or pointers. For example, facial image location cue information indicates a facial image area that is smaller than the full area of the document300and that includes the identification image302, such as a perimeter that indicates boundaries of the identification image302or otherwise surrounds the identification image302. In some embodiments, a facial image location cue is a background surrounding the identification image302(e.g., a background that has a predefined color and/or pattern). In some embodiments, a facial image location cue includes a material and/or texture of the facial image area of the document300that is different from a material and/or texture of the remainder of the document300.

FIG. 4illustrates an image capture environment400, in accordance with some embodiments. InFIG. 4, a person402holding an image capturing device200a(e.g., a mobile device). The image capturing device200ais used to capture an image of the face and/or body of person402. In some embodiments, the camera218is a front-facing camera of the image capturing device200a, allowing the person402to adjust imaging properties of the camera218(e.g., a position and/or zoom level of the camera218) while viewing the output of the camera218on a display (e.g., an output device232) of the image capturing device200ato ensure that the face of the person402is visible in an image frame captured by the camera218.

FIG. 5illustrates an image capture environment500, in accordance with some embodiments. InFIG. 5, the image capturing device200bis a kiosk (or a component of a kiosk). The kiosk200bis, for example, a security kiosk (e.g., for gaining entrance to an entertainment venue, an office, and/or a travel destination) or a commercial kiosk (e.g., a registration and/or check-out device for a commercial establishment such as a store or hotel). The kiosk200bincludes a camera218that captures an image in which the face of the person402is visible in a captured image frame. In some embodiments, the kiosk200bincludes one or more user input devices504and/or output devices502.

FIG. 6Aillustrates generation of identity chain600by a user authentication and/or enrollment in accordance with some embodiments. In some embodiment, an identity chain600is a data structure, corresponding to a unique user402(or user account), stored in database. The data structure includes image data corresponding to one or more images of the user402. As additional images are authenticated, image data for these images are added to the user's identity chain (e.g., added to the data structure). In some embodiments, the image data comprises the images themselves (e.g., the image data is a set of images included in the identity chain). In some embodiments, the image data corresponds to processed representations of the images (e.g., images of the user are passed to a hash function, the output of which is stored as the image data; images of the user are passed to a neural network, which produces vector representations of the images, etc.). In some embodiments, the image data is a set of processed representations of the images. The identity chain600is generated based on a comparison of first authentication information that includes user image data602(also referred to as a second image) of a person402(FIGS. 4 and 5) and image data608(also referred to as a first image) that includes document300and identification image302. For example, if it is determined that the comparison of user image data602of a person402and document image data608meets first matching criteria, identity chain600is generated.

In some embodiments, authentication information is a representation of an authentication request sent over an electronic connection (e.g., from an image capturing device200to a server100, via network150, tasked with performing authentication). In some embodiments, the authentication information is sent in response to the authentication request. In some embodiments, the authentication information is a data structure that is sent from the image capturing device200to the server100in response to the user submitting a request for authentication at the image capturing device200.

In some embodiments, the identity chain600is associated (e.g., rooted) to document300(e.g., via first facial image data610through the process define inFIGS. 6A-6C). In some embodiments, the identity chain600includes at least one of user image data602of a person402and/or document image data608. In some embodiments, identity chain600includes first facial image data610and/or second facial image data604that is extracted from document image data608and/or the user image data602of the person402, respectively. For example, in some embodiments, when identity chain600is generated, identity chain600may include second facial image data604and associate (e.g., root) the second facial image data604with document300(e.g., via first facial image data610) such that the second facial image data604functions as a proxy to document300. In some embodiments, each image included in the identity chain600is associated (e.g. rooted) with the image data608of the document (e.g., associating the second facial image data604and/or third facial image data652to the first facial image data606after first matching criteria and/or second criteria, respectively, has been met). For example, after comparing third facial image data652with a respective image of identity chain600and second matching criteria is met, the third facial image652is included in identity chain600and further associated (e.g., rooted) with document300such that the third facial image652functions as a proxy to document300.

In some embodiments, the identity chain600is used to authenticate subsequent transactions. For example, the new images included in the identity chain and associated with document300(e.g., via first facial image data610) are used to authenticate captured image data650for additional transactions. For purposes of this disclosure, a transaction is the execution of a particular action and/or agreement between the user and a third-party. The captured images (602,608,604, and/or610) included in the identity chain600are received by an image capturing device200such as the first image capturing device200aas described with regard toFIG. 4or the second image capturing device200bas described with regard toFIG. 5. In some embodiments, the captured images (602,608,604, and/or610) in identity chain600are image frames from video sequences. In some embodiments, the captured images (602,608,604, and/or610) in identity chain600are image frames captured as single still images.

InFIG. 6B, the one or more facial image data that are used to generate identity chain600are shown annotated. In some embodiments, user image data602includes second facial image data604and second portion606(e.g., a subset of facial features) of the second facial image data604. In some embodiments, image data608of the document that includes first facial image data610and first portion612of the first facial image610. When generating the identity chain600, the first facial image data610(e.g., of the image data of the document) is compared with the second facial image data604(e.g., of the user402) to determine whether first matching criteria (e.g., initial authentication and/or enrollment) is met. For example, the face of person402extracted from user image data602(e.g. second facial image data604) is compared with the extracted face of image data608of the document (e.g., first facial image data610). In some embodiments, the first portion612of facial image data610is compared with the second portion606of second facial image data604to determine whether first matching criteria is met. For example, a portion of respective facial image data includes eyes, nose, mouth, less than all of a full face, etc. and respective portions of the facial image data are compared to determine whether the first matching criteria is met. In some embodiments, one or more parameters (e.g., shape of face, location of facial features such as eyes, mouth, and nose relative to one another and/or relative to an outline of the face, relative sizes of facial features, and/or distances between facial features) of facial image data for a respective image (e.g., first facial image data610and second facial image data604) are determined and used to determine whether the first matching criteria are met.

While the illustrative regions indicated inFIG. 6Bare ovals, it will be recognized that the user image data602and/or the identification image302in the document300may be rectangular regions, circular regions, polygonal regions, and/or regions that conform to detected outlines of the facial image data608and602and/or specific of facial features of the facial image data608and602(e.g., eyes, nose, mouth, less than all of a full face, etc.). “Facial image,” as used herein, refers to a face of a person402, a portion of a face of the person402, and/or a face and other parts of the body of the person402(e.g., the face and the person's shoulders or the person's entire body).

Based on a determination that the first matching criteria (e.g., facial comparison between the image data) has been met, the identity chain is generated and at least one of first facial image data610and/or second facial image data604is included in the identity chain600. Based on a determination that the first matching criteria has been met, the generated identity chain associates the included facial image data (e.g., second facial image data604and/or first facial image data610) with document300. Is some embodiments, the identity chain600is continuously updated and/or includes newly-captured facial image data. Subsequently and/or newly included facial image data in the identity chain600are associated with document300(e.g., image data608of the document).

FIG. 6Cillustrates a subsequently captured image data650and third first image data652in accordance with some embodiments. Captured image data650is received after identity chain600is generated. For example, captured image data650and third first image data is captured after the initial authentication and/or enrollment (t1>t0). In some embodiments, captured image data650of a person402(FIGS. 4 and 5) includes third facial image data652and third portion654of third facial image data652. Captured image data650is received by an image capturing device200such as the first image capturing device200aas described with regard toFIG. 4or the second image capturing device200bas described with regard toFIG. 5. In some embodiments, the image data650are image frames from video sequences. In some embodiments, the image data650are image frames captured as single still images.

In some embodiments, third facial image data652is compared with respective facial image data of identity chain600to determine if second matching criteria is met. For example, third facial image data652is compared with second facial image data604(and/or first facial image data610), where second facial image data604(and/or first facial image data610) is associated with document300. In some embodiments, a portion third facial image654is compared with a respective portion (e.g., eyes, nose, mouth, less than all of a full face, etc.) of the respective facial image data of identity chain600. For example, eyes, mouth, and nose of captured image data650(portion of third facial image data654) are compared with eyes, mouth, and nose of respective facial image data of identity chain600(e.g., portion of second facial image data606(and/or a portion of first facial image data612)), where the respective facial image data of identity chain600is associated with document300. In some embodiments, third facial image data652is compared with a plurality of facial image data included in identity chain600. In some embodiments, in accordance with a determination that the second matching criteria is met, third facial image data652(or captured image data650) is included in identity chain600and associated with document300.

In some embodiments, if it is determined that invalid facial image data (e.g., facial image data that fails to meet matching criteria (e.g., first or second matching criteria) and/or other criteria) was improperly added to the identity chain600, facial image data is removed from the identity chain600. In some embodiments, if facial image data is determined to improperly meet the second matching criteria and added to the identity chain600, the each added facial image data is removed from the identity chain600(e.g., identity chain600reverted to a state when it was first generated). For example, if third facial image data610is added to identity chain600improperly, then third facial image data and/or other added facial image data is removed from identity chain600until at least one of the first facial image data610and/or the second facial image data606remain (e.g., whichever facial image data was included when identity chain600was generated). In other words, identity chain600is updated to reflect the initial state as when it was first generated (e.g. with at least one of the first facial image data610and/or the second facial image data606remain).

In some embodiments, second matching criteria is based on the first matching criteria and the identity chain600. For example, included images in the identity chain600are used to determine the second matching criteria. In some embodiments, the second matching criteria is updated for each included image in identity chain600. In some embodiments, the second matching criteria is updated periodically (e.g., daily, weekly, monthly, etc.). In some embodiments, the second matching criteria is updated when facial image data is removed from identity chain600. For example, if identity chain600is reverted back to a state when it was first generated, the second matching criteria is updated to include the changes in identity chain600.

FIG. 7Ashows first image data700that illustrates a first facial image data position702andFIG. 7Bshows second image data750that illustrates a second facial position752, in accordance with some embodiments.

InFIG. 7A, the first image data700shows the face of person402oriented toward the person's right side.) When the orientation of the face of the person402in the first image data700is different from the orientation of the face in the identity chain600(e.g., identification image302and/or user image data602), the ability of the image analysis module106to determine whether the first facial image matches the identity chain600(e.g., identification image302and/or user image data602) may be impeded. In some embodiments, the image analysis module106is configured to determine a first facial image data position702of the first facial image (e.g., the facial image that has first facial image data position702) and a facial position of the identity chain600(e.g., identification image302and/or user image data602.) In some embodiments, if the first facial image data position702is not sufficiently similar to the second facial position in the identity chain (e.g., identification image302or user image data602) for image analysis module106to determine whether matching criteria are met, the computing system100transmits a facial position matching request to the image capturing device200.

For example, in accordance with a determination by the image analysis module106that a facial position adjustment is needed, the computing system100transmits to the image capturing device200a facial position adjustment request, which includes a message such as “please turn your head to the left.” In some embodiments, in response to receiving the transmitted request, the image capturing device200displays or otherwise outputs this message (e.g., via an output device232). In some embodiments, in response to receiving the transmitted request (e.g., subsequent to displaying the received message), image capturing device200captures a new image data750, which includes new facial image data752, as shown inFIG. 7B, and sends the new image750to the computing system100. In some embodiments, the computing system100performs image analysis on the new image data750.

In some embodiments, determining whether a first facial image in a first facial image data position702and the identity chain600meet facial position matching criteria includes determining whether a location of one or more facial features (e.g., right eye, left eye, mouth, nose, and/or other identified facial curve or protrusion) detected in the identity chain600(e.g., identification image302and/or user image data602) are also detected in the first facial image in the first facial image data position702. If the one or more facial features in the second facial image are not detected in the first facial image data position702of the first image, the computing system100transmits to the image capturing device200a facial position adjustment request (e.g., including a message such as, “please turn your head to the left,” “please turn your head to the right,” “please tilt your head upward,” or “please tilt your head downward”).

In some embodiments, determining whether a first facial image in a first facial image data position702and identity chain600image meet facial position matching criteria includes determining whether a face in the first facial image data position702is at least partially obstructed (e.g., partially covered by a hat) and/or determining whether a face in the identity chain600is at least partially obstructed (e.g., covered by a finger). If an obstruction is detected, the computing system100transmits to image capturing device200a facial position adjustment request (e.g., including a message such as, “please remove your hat,” or “please move your finger so that it is not covering the picture of your face”).

FIGS. 8A-8B, 9A-9B, 10A-10B, 11A-11B, and 12A-12Billustrate user interfaces and captured images associated with liveness assessments, in accordance with some embodiments. For example a liveness assessment assesses movement of a person that occurs in response to an instruction that is displayed or output by a speaker. In some embodiments, a liveness assessment provides additional protection against unauthorized access by ensuring that the person attempting to gain authorization (e.g., the person402who is presenting a document300) is a live individual capable of particular movements in response to instructions. For example, the liveness assessment is used to ensure that a still image cannot be used to gain fraudulent access to a system. In some embodiments, the displayed instruction is randomly, pseudorandomly, or cyclically generated (e.g., so that a user must respond in real time to a prompt that is not predictable prior to the time of the access attempt).FIGS. 8A-8B, 9A-9B, and 10A-10Billustrate use of eye-tracking to for liveness assessment, andFIGS. 11A-11B, and 12A-12Billustrate use of language content in a message for liveness assessment.

FIGS. 8A and 9Aillustrate a user interface800that displays a moving target802for liveness verification, in accordance with some embodiments.FIG. 8Aillustrates a first state of the user interface800, which is displayed at a first time (t0) andFIG. 9Aillustrates a second state of the user interface800as displayed at a second time (t1), which is later than the first time. The user interface800is displayed by a display (e.g., an output device232) of the image capturing device200(e.g.,200aor200b). In some embodiments, the moving target802is an animated image, such as an animated dot. In some embodiments, the moving target802moves across the user interface800(e.g., side-to-side, as shown inFIGS. 8A and 9A, vertically, diagonally, sinusoidally, and/or along another path). In some embodiments, the path of movement of the moving target802is a pre-defined path, a randomly-generated path, a pseudorandomly generated path, or a path that is randomly, pseudorandomly, or cyclically selected from a pre-defined set of paths. In some embodiments, the user interface800displays a prompt (e.g., instructive text804) to provide instructions to a user (e.g., the person402) for moving a facial feature to satisfy the liveness criteria.

FIGS. 8B and 9Billustrate captured images (850,950) that are captured at the first time (t0) and the second time (t1), respectively, while the user interface800is displayed. In some embodiments, the captured images850and950are frames of a video or still images captured by a camera218. The captured images850and950include a first facial image852and a second facial image952, respectively, of the person402. In some embodiments, one or more facial features (e.g., one or more parts of one or both eyes856, such as pupils, retinas, and/or irises854) of the person402are tracked. For example, a change in the position the one or more facial features from the first image850to the second image950is determined and compared to a path of movement of the moving target802displayed in the user interface800. In this way, a person402provides liveness verification by moving one or more facial features (e.g., changing a direction of view of the person's eyes856) in accordance with the path of movement of the moving target802.

In some embodiments, to meet the movement criteria for a liveness assessment, movement of a facial feature must exceed a threshold distance (e.g., relative to movement of a boundary of the person's face).FIGS. 10A-10Billustrate movement of an eye (specifically, the iris854) relative to movement of a facial image852of a person402. For example, the eye movement illustrated inFIGS. 10A-10Boccurs as the user interface800displays a moving target802, as illustrated inFIGS. 8A and 9A.FIG. 10Aillustrates the first image850(also shown inFIG. 8B) including the first facial image852of the person402at the first time (t0). A facial border1002corresponds to the outline of the first facial image852(e.g., as determined using an image processing technique, such as edge detection).FIG. 10Billustrates the second image950(also shown inFIG. 9B) including the second facial image952of the person402at the second time (t1). The face of person402has moved in the time between t0and t1, by an amount illustrated by the facial border movement distance1004. In some embodiments, to satisfy the movement criteria for a liveness assessment, movement of the iris854(or movement of a determined iris border1006that corresponds to the iris854), as illustrated by the iris movement distance1008, must exceed movement of facial border1002(e.g., by at least a threshold amount).

FIGS. 11A and 12Aillustrate a user interface1100that displays language content1102for liveness verification, in accordance with some embodiments.FIG. 11Aillustrates a first state of a user interface1100that is displayed at a first time (t0) andFIG. 12Aillustrates a second state of the user interface1100as displayed at a second time (t1), which is later than the first time. The user interface1100is displayed by a display (e.g., an output device232) of an image capturing device200(e.g.,200aor200b). In some embodiments, the language content1102is a word, a set of words (e.g., a phrase and/or a sentence), a set of sentences, a letter, a set of letters, a gibberish word, and/or a set of gibberish words. In some embodiments, the language content1102is predetermined language content, randomly generated language content, and/or pseudorandomly generated language content. In some embodiments, the language content1102is cyclically, randomly, and/or pseudorandomly selected from a set of predetermined language content items. In some embodiments, respective words in a set of words are sequentially highlighted (e.g., shown with a visually distinguishing feature such as a size, font, bolding, italicizing, and/or underlining that distinguishes the respective word from other words) in order to indicate at a particular time that the person402is to read a respective word from the language content1102. In some embodiments, the user interface1100displays or outputs by an audio output a prompt (e.g., instructive text1104) to provide instructions to a user (e.g., the person402) for speaking language content1102that is displayed or otherwise output.

FIGS. 11B and 12Billustrate captured images1150and1250, which are captured at the first time (t0) and the second time (t1), respectively, while the user interface1100is displayed. In some embodiments, the captured images1150and1250are frames of a video or still images captured by a camera218. The captured images1150and1250include facial images1152and1252, respectively, of the person402. In some embodiments, a position of the mouth1154within facial image1152and/or a position of the mouth1254within the facial image1252is determined. One or more mouth shape parameters (e.g., an extent to which the mouth is open and/or a roundness of the mouth shape) in one or more captured images (e.g.,1150and1250) is determined and compared with one or more mouth shapes that correspond to the displayed language content1102. The person402provides liveness verification by speaking in response to displayed or otherwise output language content1102. As the message is spoken, the person's mouth makes mouth shapes that correspond to stored mouth shape information.

FIGS. 13A-13Dare flow diagrams illustrating a method1300for authenticating a user using facial image comparison, in accordance with some embodiments. The method1300is performed at a device, such as a computing system100. For example, instructions for performing the method1300are stored in the memory102and executed by the processor(s)136of the computing system100. InFIGS. 13A-13D, dotted outlines indicate optional operations.

System100receives (1306) first authentication information that includes first facial image data for the user and second facial image data for the user, where the first facial image data for the user is distinct from the second facial image data for the user. In some embodiments, the first facial image data is previously-authenticated image data. In some embodiments, the first facial image data for the user corresponds to (e.g., was obtained from) a government issued identification (1308) (e.g., or another issued identification). For example, a new user that seeks to register and/or authenticate themselves would provide first authentication information to begin the authentication process. In some circumstances, the first authentication information include a picture a photo identification. In some embodiments, the first facial image data is image data derived from a picture of a photo identification provided during enrollment of the user. In some embodiments, the first facial image data and the second image data are received concurrently as part of an enrollment request (e.g., a request to authenticated the first facial image data).

In some embodiments, a system100receives (1302-a) a request to perform a transaction (e.g. a second transaction) before the system100has received authentication information (e.g. first authentication information) from a user; the system100determines (1302-b) whether the user is associated with an identity chain; and in accordance with a determination that the user is not associated with the identity chain, the system100prompts (1302-c) the user to provide the authentication information (e.g. first authentication information). For example, system100receives a request from a new user to perform a transaction, the system determines that the new user is not associated with an identity chain (e.g. has not been previously authenticated) and, in turn, prompts the new user to provide the authentication information that includes facial image data of person402and an image of a document for the person402. In some embodiments, a transaction requires authorization to grant access (e.g., a data access, a device access, and/or facility) access request) and/or to execute a particular action and/or agreement. Additionally and/or alternatively, in some embodiments, prompting (1304) the user to provide the authentication information includes a request to capture, via an image capturing device200, a first facial image data for the user and a second facial image data for the user.

Returning to the process, system100compares (1310) the first facial image data610for the user with the second facial image data604for the user to determine whether first matching criteria are met. In some embodiments, system100analyzes (1312) the first facial image data for the user610and the second facial image data for the user604to determine a first portion612of the first facial image data for the user610and a second portion606of the second facial image data for the user604, where the first portion612and the second portion606corresponds to respective one or more facial features (e.g., nose, eyes, mouth, less than all of a full face, etc.). For example, system100receives an image of a government issued identification (e.g., an example of document300) that includes first facial image data for the user610and a second image of the user602that includes second facial image data for the user604, system100identifies a first portion612corresponding to one or more facial features (e.g., eyes, nose, mouth, less than all of a full face, etc.) of the first facial image data610and a second portion606corresponding to one or more facial features of the second facial image data604. In some embodiments, the first and the second portions of the respective facial image data (e.g.606and604) are used to determine whether that matching criteria is met.

System100, in accordance with a determination that the first matching criteria are met, generates (1314) an identity chain that includes at least one of the first facial image data for the user or the second facial image data for the user. In some embodiments, identity chain600is associated (e.g., rooted) to the image data608of the document (e.g., document300) such that subsequent image captures of document300are not needed and/or required. For example, the facial image data of identity chain is rooted to the image data608of the document (and document300) and allow for subsequent verification of additional facial image data received by the user without document300.

After generating the identity chain, system100receives (1316) a request to perform a first transaction and second authentication information that includes third facial image data652for the user. As illustrated inFIG. 6C, the captured image data650, captured via the image capturing device200, includes third facial image data652captured at a time t1that is distinct from a time to of the initial authentication. In some embodiments, the third facial image data652for the user includes an image frame (1318). In some embodiments, the third facial image data652for the user includes at least one of a video stream or a series of facial images (1320). In some embodiments, the request to perform the first transaction does not include an image of an identifying document (e.g., a photo identification).

System100determines (1322) whether the third facial image data652for the user meets second matching criteria by comparing the third facial image data652for the user with facial image data for a respective image of the identity chain600. For example, the third facial image data652can be compared with the second facial image data604, the first facial image data610, and/or with any other facial image data included in the identity chain.

In some embodiments, the system100determines one or more parameters (e.g., shape of face, location of facial features such as eyes, mouth, and nose relative to one another and/or relative to an outline of the face, relative sizes of facial features, and/or distances between facial features) of facial image data for a respective image of the identity chain600and uses the one or more parameters of the respective image of the identity chain600to identify corresponding parameters in the third facial image data652. In some embodiments, the one or more parameters of the respective image of the identity chain600and the corresponding parameters in the third facial image data652are used to determine if the second matching criteria is met.

In some embodiments, the second matching criteria is based at least in part on the first matching criteria and the identity chain (1324). For example, the first matching criteria is used to determine initial second matching criteria and, after the identity chain600is generated, at least a respective image of the identity chain is used to determine the second matching criteria.

In some embodiments, the system100determines (1326) whether the third facial image data652for the user meets the second matching criteria includes determining liveness of third first facial image data652for the user. For example, liveness determined by using one or more liveness challenges (e.g., as described with regard toFIGS. 8A-8B, 9A-9B, 10A-10B, 11A-11B, and 12A-12B).

In some embodiments, system100analyzes (1328) the third facial image data652for the user to determine a respective portion (e.g.,654) of the third facial image data652for the user that corresponds to one or more facial features (e.g. eyes, mouth, nose, etc.). For example, system100determines a location of a facial feature (e.g., an iris of at least one eye) within the third facial image data652of the captured image data650and within a respective image of the identity chain600(e.g., second facial image data604and/or first facial image data610), and compares a color of the facial feature (e.g., a color of at least one pixel) in the third facial image data652of the captured image data650with the color of the facial feature in the respective identity chain600(e.g., second facial image data604and/or first facial image data610) to determine whether the captured image data650and the respective identity chain600(e.g., identification image302and/or user image data602) meet the second matching criteria. In another example, system100determines a location of a first facial feature (e.g., a nose) within the third facial image data652of the captured image data650and within respective images of the identity chain (e.g., second facial image data604and/or first facial image data610of the image data that corresponds to the user image data602and/or identification image302.) In a further example, the system100determines a location of a second facial feature (e.g., a left eye) within the third facial image data652of the captured image data650and within a respective image of the identity chain600(e.g., second facial image data604and/or first facial image data610.) A first distance between the first facial feature and the second facial feature in the third facial image data652of the captured image data650is determined. A second distance between the first facial feature and the second facial feature in the respective image of the identity chain600(e.g., second facial image data604and/or first facial image data610.) The first distance (e.g., relative to the size of captured image data650in the third facial image data652) is compared with the second distance (e.g., relative to the size of the respective image of the identity chain600, e.g., first facial image data610in the identification image302and/or the second facial image data604in the user image data602) to determine whether the third facial image data652and the respective image of the identification chain600meet the second matching criteria. Although the above examples are representative of the second matching criteria, a similar process is used to determine whether the first matching criteria is met.

Additionally and/or alternatively, in some embodiments, system100determines a respective portion (e.g.654) of the third facial image data652from a plurality of image frames (e.g., image frames of a video) to compare with the respective image of the identity chain600(e.g. a respective portion such as first portion612of image data608). For example, the system uses edge detection techniques to determine a region and/or outline (e.g., third facial image portion654) of the third facial image data652and/or other techniques to determine distance, size, shape, curve features, color, and/or relative properties of one or more portions of the third facial image data652and he respective image of the identity chain600(e.g., second facial image data604and/or first facial image data610). In some embodiments, system100determines a shape of a face outline within (e.g. portion) the third facial image data652of the captured image data650and within the respective identity chain600(e.g., second facial image data604and/or first facial image data610), and compares the shape of the face in the third facial image data652of the captured image data650with the shape of the face in the respective identity chain600(e.g., second facial image data604and/or first facial image data610) to determine whether the captured image data650and the respective image of identity chain600(e.g., identification image302and/or user image data602) meet the second matching criteria.

Optionally, in some embodiments, system100generates the third facial image data652by compositing a plurality of respective portions of respective image frames from the plurality of image frames that correspond to the captured image data650. For example, if a segment of the face in the captured image data650is obstructed in a first frame and a distinct segment of the face in the captured image data650is obstructed in a second frame, the obstructed segment of the face in the second frame can be replaced with a corresponding unobstructed segment of the face from the first frame.

In accordance with a determination that the third facial image data652for the user meets the second matching criteria, the system100transmits (1330) authorization information for the first transaction. In some embodiments, in accordance with a determination that the third facial image data652for the user meets the second matching criteria, system100includes (1332) (e.g., adds) the third facial image data652for the user in the identity chain600. Including additional facial image data in the identity chain600improves the accuracy of the authentication process by making a robust set of image data available to authenticate the user.

In some embodiments, if it is determined that invalid facial image data (e.g., facial image data that fails to meet matching criteria (e.g., first or second matching criteria) and/or other criteria) was improperly added to the identity chain600, the system100removes from the identity chain600additional facial image data until at least one of the first facial image data610or the second facial image data606remain. In other words, identity chain600is updated to reflect the initial state as when it was first generated (e.g. with at least one of the first facial image data610or the second facial image data606remain). Additionally and/or alternatively, in some embodiments, in some embodiments, the system100determines that facial image data and/or image data was improperly added to the identity chain600via a quality control process. The quality control process identifies (e.g. flags) improperly added facial image data and/or image data to the identity chain600by determining, periodically (e.g. each day, each week, each month, etc.), that a respective image of the identity chain600fails to meet matching criteria (e.g. first matching criteria, second matching criteria, and/or other criteria) is flagged by a later (that determines that image data fails to meet authorization criteria, authenticated criteria, or other criteria).

In some embodiments, system100utilizes (1334) the identity chain600(e.g., identity chain600that has been updated to include additional facial image data) to update the second matching criteria. Updating the second matching criteria enables system100to improve the matching criteria, increase accuracy over time, and account for a user's changes over time. In some embodiments, the second matching criteria is updated each time the identity chain600is modified (e.g. new facial image data is added and/or the identity chain600is reset). In some embodiments, the second matching criteria is updated periodically (e.g. each day, each week, each month, etc.).

In some embodiments, system100receives (1336-a) a request to perform a third transaction after the first transaction and receives (1336-b) third authentication information that includes fourth facial image data (e.g., captured similar to captured image data650and third facial image data652) for the user. System100further determines (1336-c) whether the user is associated with the identity chain and, in accordance with a determination that the user is associated with the identity chain, determines (1336-d) whether the fourth facial image for the user data meets updated second matching criteria by comparing the fourth facial image data for the user with facial image data for a new respective image of the identity chain600. For example, the system determines whether the fourth facial image data for the user matches the third facial image data, which has been added to the identity chain. In some embodiments, the identity chain includes facial image data for a plurality of images, wherein the plurality of images were authenticated at different times. In accordance with a determination that the fourth facial image data for the user meets (1336-e) the updated second matching criteria (e.g., matches facial image data corresponding to any of the images in the plurality of images of the image chain), system100generates (1336-f) authorization information for the third transaction, includes (1336-g) (e.g., adds) the fourth facial image data for the user in the identity chain600, and updates (1336-h) the updated second matching criteria based on the identity chain600.

In some embodiments, the identity chain includes (1338-a) a plurality of facial image data. In some embodiments, determining whether the fourth facial image data for the user meets the updated second matching criteria includes (1338-b) comparing the third facial image data with a subset of facial image data of the identity chain

In some embodiments, system100receives (1340-a) a request to perform a third transaction after the first transaction, determines (1340-b) whether the user is associated with the identity chain, and, in accordance with a determination that the user is associated with the identity chain, prompts (1340-c) the user for third authentication information that includes fourth facial image data for the user (e.g., and does not include an image of a photo identification).

In some embodiments, in accordance with a determination that the captured image data650(e.g. third facial image data652or portion of third facial image data654) does not meet the second matching criteria, the device forgoes generates authorization information for the first transaction. In some embodiments, in accordance with a determination that the captured image data650(e.g. third facial image data652or portion of third facial image data654) does not meet the second matching criteria, the device transmits authorization denial information to the image capturing device200. Additionally and/or alternatively, in some embodiments, in accordance with a determination that the captured image data650(e.g. third facial image data652or portion of third facial image data654) does not meet the second matching criteria, the device transmits, to the image capturing device, a facial position adjustment request. Examples of facial position adjustment requests are discussed above with regard toFIGS. 7A and 7B.

In some embodiments, in lieu of receiving captured image data from an image capturing device200that is remote from the computing system100, the computing system100captures the captured image data. For example, the computing system100captures the captured image data using a biometric input device142, a camera (not shown) that is a component of the computing system100, or a local camera (not shown) that is a peripheral device of the computing system100. In this way, the same system that captures the image data also analyzes the image data as described with regard toFIGS. 13A-13D. For example, in some embodiments, a kiosk (e.g., similar to the kiosk200bas illustrated inFIG. 5) includes a computing system100with a camera that captures an image of the person402and the document300.

FIGS. 14A-14Bare flow diagram illustrating a method for determining whether a person is authorized based on identity chain, in accordance with some embodiments. The method is performed at a server100and/or other device. For example, instructions for performing the method are stored in the memory102and executed by the processor(s)136of the server computer system100. In some embodiments, part or all of the instructions for performing the method are stored in the memory202and executed by the processor(s)220of the image capturing device200.

As illustrated inFIG. 14Aflow diagram1400, a request to perform a transaction1402is received by a computer system100. The computer system determines whether or not the user is associated with an identity chain1404. If the system determines that the user is associated with an identity chain, the user is prompted or a request is made for authentication information and the system authentication information that includes facial image data1406. The system then compares the facial image data with the identity chain1408. The system then determines whether matching criteria has been met1410to authenticate the facial image. If the system determines that the matching criteria has been met, then the system generates authorization information for the transaction1412and includes (e.g., stores) the facial image data in the identity chain1414. The system updating matching criteria1416based on the facial image data included in the identity chain1414. The updating matching criteria1416is used for future transactions requested by a user or another person. By continuously including new image data that has been authorized by the matching criteria, the system promotes continuous learning.

If, on the other hand, the system determines that the matching criteria has not been met, a user is prompted to provide new facial image data1422. If the user agrees to provide new image data, the system repeats steps1406-1410, as discussed above, until a final determination is made. If the user decides not to provide new image data, then the system forgoes generating authorization information for the transaction1424.

If the system determined that the user is not associated with an identity chain1404, then the system prompts or requests the user to generate an identity chain1418. If the user decides not to generate the identity chain, then the system forgoes1420generating authorization information for the transaction. On the other hand, if the user decides to generate the identity chain, then the system prompts the user for authentication information1426(e.g., enrolment) as shown inFIG. 14B.

In prompting the user for authentication information1426, the system requests for at least two distinct facial images where at least one facial image is from a document. The system receives authentication information that includes at least two distinct facial images, where at least one facial image is from a document, from the user1428. The system compares the facial image data with the document image data to determine whether authentication matching criteria is met1430. If the system determines that the authentication matching criteria has been met1432, then the system authenticates the user1434and generates the identity chain1436for the user. After the identity chain is generated1436for the user, the system includes1438at least one of the two distinct facial images in the identity chain. If the system determines that the authentication matching criteria has not been met1432, then a request or prompt for new image data is made1440is made to the user. If the user decides not to provide new image data1440, then the system forgoes authenticating user1442. If the user decides to provide new image data1440, then the system repeats steps1428-1438, as described above, until a final determination is made.

Features of the present invention can be implemented in, using, or with the assistance of a computer program product, such as a storage medium (media) or computer readable storage medium (media) having instructions stored thereon/in which can be used to program a processing system to perform any of the features presented herein. The storage medium (e.g., the memory102and the memory202) can include, but is not limited to, high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices, and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. In some embodiments, the memory102and the memory202include one or more storage devices remotely located from the CPU(s)120and220. The memory102and the memory202, or alternatively the non-volatile memory device(s) within these memories, comprises a non-transitory computer readable storage medium.

Communication systems as referred to herein (e.g., the communication system141and the communication system234) optionally communicate via wired and/or wireless communication connections. Communication systems optionally communicate with networks (e.g., the networks150and152), such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices by wireless communication. Wireless communication connections optionally use any of a plurality of communications standards, protocols and technologies, including but not limited to Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), near field communication (NFC), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 102.11a, IEEE 102.11ac, IEEE 102.11ax, IEEE 102.11b, IEEE 102.11g and/or IEEE 102.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocol for e-mail (e.g., Internet message access protocol (IMAP) and/or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and/or Short Message Service (SMS), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this document.