Concepts and Terminologies
This page provides explanations and links to concepts and terminologies used in the Liveness to help users better understand the service.
Liveness Detection
A liveness detection, similar to a Turing test, uses the AI algorithm to determine whether the service receiver interacts with a live human. If the service decides it is not interacting with a live human, it regards the input source as a spoofing. A spoof attack happens when an attacker intends to pretend as another user by faking the input media. Some common spoof attacks are as follows.
- Prints attack: Use a printed paper to display a face photo of someone else.
- Replay attack: Use a high-resolution smartphone or tablet to display a face photo of someone else.
- 2D mask attack: Use a cropped printed paper of someone else to the same size of the attacker. This also includes taking out some face parts, like eyes and mouths.
- 3D mask attack: Use a three-dimensional face mask that covers at least the nose and chin.
Liveness detection is an extremely important step in facial recognition solutions. Without liveness detection, the attacker would easily impersonate as another identity and use it to retrieve data or perform transactions even if he/she does not have the authorization.
Liveness detection can be categorized by various perspectives. By the component it is processed, there can be client-side and server-side liveness. By the interaction with users, there are passive and interactive liveness. By the input media, there are image and video liveness. By the camera types, there are monocular and binocular or 3D structured light liveness. Here is the usual expectation of different liveness detection methods to compare the accuracy.
- Passive liveness < Interactive liveness
- Image liveness < Video liveness
- Monocular liveness < Binocular liveness < 3D structured light liveness
Another challenge of liveness detection is to ensure the images are the same for both the liveness detection and the facial recognition. Some attackers swap the image after passing the liveness detection to fake another person's identity for facial recognition. Server liveness could help to reduce this risk as only one image will be collected and used in both processes.
Single Image Liveness Detection
A Single Image Liveness (or 2D Liveness) Detection is a passive, image-based, monocular liveness check which uses only one RBG image as the input media. As is introduced in the previous section, 2D liveness detection is the least accurate method of liveness detection compared to others. But it is also the fastest and the most convenient method for a simple liveness detection. It is up to the users to decide whether to be more towards security or user experience.
Models
A model is an enumerated string to specify an AI computer vision model to process the uploaded media. On the other hand, it is a composition of a few modules, each dealing with a specific function during image processing. The process starts with the detection and alignment module and go through several internal sub modules to finally get the output. For security reasons, the details of the liveness module are not published.
All models on Liveness are pre-trained static ones, which do not use the input images from users to re-train. Users should specify the model when calling an API to upload the media.
In most cases, one model can handle only one liveness detection method. Specifying the wrong model will usually lead to an error. But even if it succeeds, its accuracy cannot be guaranteed.
Each model has different requirements for the input image. Refer to the detail page of each liveness detection method.
Updated almost 2 years ago