Active Liveness Detection

The Active Liveness Detection is the process of determining whether the presented face is a real person, by requiring the user perform a challenge.

This check is recommended for applications where the security is paramount or where legislation obliges the user to respond to a challenge. It is recommended as an additional step after performing the passive liveness detection.

Innovatrics DOT provides two types of active liveness:

  • Smile liveness - challenges the user to smile
  • Eye-gaze liveness - challenges the user to follow a dot on the screen with their eyes

The Smile liveness is recommended as it has better user experience, quicker time to capture, and better completion rate.

Smile livenessEye-gaze liveness
Smile Liveness DetectionActive Liveness Detection
Android Smile Liveness Detection FragmentAndroid Eye-gaze Liveness Detection Fragment
iOS Smile Liveness Detection View ControlleriOS Eye-gaze Liveness Detection View Controller

Digital Identity Service provides the server-side passive liveness detection with the Liveness functionality.

Smile liveness

The Smile liveness is a UI component that collects the selfie of a person with different face expressions. It guides the user to position his/her face properly, and to change face expression. This component can also be used for capturing a selfie, the first face image from it can be used for avatar and face matching. Thus there is no need to run face auto capture separately.

The mobile component does not evaluate Smile liveness, it only collects the two photos. The result of the Smile liveness on the server is genuine or fraud, based on the thresholds configuration.

The smile liveness UI component is currently avaliable only in Android Face and iOS Face libraries in version 4.8.0 and later.

Eye-gaze liveness

The Eye-gaze liveness is a UI component that collects the required data and calculates the active liveness score. It displays instructions to the user, and requires appropriate positioning. An object is displayed on the screen, and when it starts moving the user must follow this movement with their eyes. This process is completed when a sufficient number of frames have been collected, and a liveness score can be evaluated. It is terminated when face tracking has been lost and must be restarted.

The Eye-gaze liveness UI component is currently avaliable only in Android Face and iOS Face libraries in version 3.0.0 and later.

Eye-gaze liveness threshold

The final decision if the face is real or a spoof is determined by the active liveness score and the threshold. If the score is above the threshold this can be interpreted as accepted, while if the score is below the threshold it is rejected.

FAR levelsFAR [%]FRR [%]Score threshold

Maximum security is reached when the threshold at FAR 1:100 is selected (0.9999).