Passive Liveness Detection - Presentation Attack Detection
This presentation attack detection method is recommended for applications where the user's experience and seamless app flow is paramount.
Innovatrics' passive liveness detection was certified according to standard ISO 30107-03. See the confirmation letter. More on the test specification.
Presentation Attack Detection Types
Our algorithm has been trained to detect real faces and also various kinds of presentation attacks. These include:
- Screen replay - faces presented to camera on a screen
- Printed faces on a paper presented to camera
- 2D masks - faces printed on a cardboard with cut-outs and worn by a person's face
- 3D masks - silicone masks, dolls and mannequins
(Synthetic face images and photo manipulation can be detected with Video Injection Detection)
We recognize that new attacks might emerge, so we regularly retrain the models to incorporate new attack vectors. It is also important that our customers keep the installed components up to date as we are releasing them.
To find out about protection from video injection and from deepfakes, visit Video Injection Prevention.
Evasion Attack Detection
Evasion attack is if a person tries to obstruct his face in front of the camera to not get identified. The liveness detection can detect following evasion attack:
- Face partially covered - some important parts of the face (eyes, nose, mouth) are covered, e.g. by sunglasses, mask or simply by a hand
The result of this detection is as a separate value faceNotCovered in the liveness evaluation endpoint response and is of a Boolean type.
Passive Liveness Image Requirements
It is important for the image to fulfill quality requirements in order to detect the face and to determine the liveness. Requirements for the image are:
- image size at least 600x600 pixels
- distance between the eyes at least 120 pixels
- shorter side of the image should be at least 4 times the distance between the eyes in pixels
- face should be near the center of the image
- not too strong backlight or sidelight
- no overexposed or underexposed images
- ICAO attributes are recommended to be compliant with the table at the bottom
- JPEG capture quality should be at least 80%
- image should not be cropped or manipulated between the capture and the processing step
Evaluating Passive Liveness Scores - Setting a Correct Threshold
The result of the passive liveness detection algorithm is a score. This is a value in the range 0 to 1. (Not to be mistaken with probability percentage, the behaviour here is nonlinear.)
The result whether a face photo is a bona-fide presentation (genuine face) or an attack presentation is decided by comparison of the passive liveness score and the threshold. If the score is above the threshold, it is classified as genuine and thus accepted. If the score is below the threshold, it is classified as a fraud and thus rejected.
Passive Liveness Scores, Error Rates and Accuracy
- APCER: Attack presentation images that are classified as bona-fide presentations are false accepts. The percental rate of such error on a given dataset and given threshold represents the Attack Presentation Classification Error Rate (APCER, formerly FAR).
- BPCER: Bona-fide presentation images that are classified as attacks are false rejects. The percental rate of such error on a given dataset and given threshold represents the Bona-fide Presentation Classification Error Rate (BPCER, formerly FRR).
Example:
Imagine a dataset of 10,000 bona-fide presentation photos (real faces) and 1,000 attack presentation photos, where measurements were made. Threshold of 0.895, which is at working point of 1% APCER results in 3.7% BPCER. That means there are 10 attack presentation photos marked as bona-fide (false accepts) and 370 bona-fide photos are marked as attacks (false rejects).
Datasets and Extrapolating Measurements to Real World Usage
The measured results and accuracy of the liveness detection depend on the dataset used to calculate them. If such dataset is large and representative for required use case, the measurement results can be extrapolated for real world conditions.
However, the real world conditions and thus the accuracy of the algorithm differ from project to project. The behavior and accuracy of liveness algorithm may be affected by the demographics of the user population, prevailing daylight conditions when it is used, quality of the phones used by the population and configuration of the autocapture components in the client app.
Recommendations for Passive Liveness Deployment in Projects
It is recommended for the pilot phase of the project to set the threshold according to our measurements below. If there is available helpdesk personnel and implementation allows it, there could be 2 thresholds set, one for automatic rejection and one for automatic acceptance. The photos between these two thresholds could be evaluated manually by personnel. Having processed thousands of photos, an accuracy measurement should be made on the collected dataset to adjust the used thresholds.
For onboarding and login use cases, the passive liveness detection ensures that the presented face in the face comparison is of a present person.
Thresholds for Passive Liveness
The tables below provide measured threshold for defined performance on the Innovatrics' 2026-06 dataset, which was updated again to include more complicated images.
ACCURATE-SERVER model
- The IDV Platform contains two models:
accurateandaccurate-server, the latter has longer latency but is more accurate.
| Use case type | Threshold | Performance |
|---|---|---|
| Convenience (minimum rejected attempts) | 0.779 | 1.8% APCER @ 1% BPCER |
| Balanced (equal error rate) | 0.795 | 1.3% both APCER & BPCER |
| Security (minimum accepted frauds) | 0.838 | 2.6% BPCER @ 0.5% APCER |
ACCURATE model
| Use case type | Threshold | Performance |
|---|---|---|
| Convenience (minimum rejected attempts) | 0.757 | 4.7% APCER @ 2% BPCER |
| Balanced (equal error rate) | 0.795 | 3.0% both APCER & BPCER |
| Security (minimum accepted frauds) | 0.826 | 4.7% BPCER @ 2% APCER |