Active Liveness Detection

The Active liveness detection is a method of Presentation attack detection (PAD) 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.

Innovatrics IDV Toolkit provides these types of active liveness:

  • Smile liveness - challenges the user to smile
  • Multi-Range liveness - challenges the user to take selfies at various ranges from the camera
  • MagnifEye liveness (deprecated) - challenges the user to focus camera on his eye
  • Eye-gaze liveness (deprecated) - challenges the user to follow a dot on the screen with their eyes

The Smile liveness is a semi-passive method of liveness and provides excellent user experience with a positive emotion and fast time to capture. The Multi-Range liveness provides higher level of security with a randomness factor that might be required by legislation.

Multi-Range livenessMagnifEye livenessSmile liveness
Multi-Range LivenessMagnifEye LivenessSmile Liveness
Android Multi-Range Liveness UI FragmentAndroid MagnifEye Liveness UI FragmentAndroid Smile Liveness UI Fragment
iOS Multi-Range Liveness View ControlleriOS MagnifEye Liveness View ControlleriOS Smile Liveness View Controller
Multi-Range Liveness Web ComponentMagnifEye Liveness Web ComponentSmile Liveness Web Component

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

Smile liveness

The Smile liveness collects the selfie of a person with different face expressions. It guides the user to position his face properly, and then to change the face expression. The client component collects multiple photos and puts them into a proprietary file format for safe transfer to the server. This allows also the Video Injection Detection to be evaluated.

The threshold for Smile liveness has to be set up in the same way as for Passive Liveness.

Multi-Range liveness

The Multi-Range liveness asks the user to capture multiple selfies. Before the client capture component is used, it is necessary to initiate the client-server session by generating the challenge on the server. The component also puts multiple images into a proprietary file format for the Video Injection Detection.

The threshold for Multi-Range liveness has to be set up in the same way as for Passive Liveness too.

MagnifEye liveness (Deprecated)

The MagnifEye liveness is a UI component that collects one selfie of the person and then guides to take a closeup photo of the person’s eye. The component returns a selfie, so there is no need to run a face auto capture separately.

The additional photo data are returned in a proprietary binary format, which needs to be transferred to Digital Identity Server for evaluation. This liveness cannot be evaluated on client side.

The MagnifEye liveness UI component is available for all client technologies. It is supported by mobile libraries Android Face, Android Face Lite, iOS Face and iOS Face Lite. For web development, there is a dedicated component Dot Web MagnifEye Liveness.

MagnifEye liveness thresholds

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. Please, read the Passive liveness page for explanation of the scores and thresholds.

MagnifEye liveness threshold for versions DIS 1.43 and above (updated 2024-06 dataset)

Use case typeThresholdPerformance
Convenience (minimum rejected attempts)0.8032.8% APCER @ 1% BPCER
Balanced (equal error rate)0.8291.8% both APCER & BPCER
Security (minimum accepted frauds)0.8583.7% BPCER @ 1% APCER

In the version DIS 1.43, we recommend following threshold:

  • 0.83 Optimized for security

MagnifEye liveness threshold for versions from DIS 1.19 till 1.42

APCER levelsAPCER [%]BPCER [%]Score threshold
1:5020.60.872
1:1001.10.90.875
1:10000.011.30.880

In the version DIS 1.19, we recommend following threshold:

  • 0.88 Optimized for security

Eye-gaze liveness (Deprecated)

This method of active liveness is advised to be replaced by one of Smile or MagnifEye liveness as these provide far better user experience.

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 available 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.

APCER levelsAPCER [%]BPCER [%]Score threshold
1:10105.60.9671
1:2058.30.9985
1:50210.20.9994
1:100117.60.9999
eer7.9558.30.9900

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