Technical specifications
1. Introduction
This document describes the technical requirements to incorporate FacePhi SelphID SDK into your systems.
Below are the provided components and the steps required to install the SDK on the operating systems Windows and Linux.
2. Technical specifications
The following sections show the recommended hardware and software requirements to install the SDK on the server side.
2.1 Hardware requirements
The following tables show the recommended hardware requirements to install SelphID SDK on different operating systems:
2.1.1. CPU version requirements
Recommended hardware requirements for SelphID SDK, equivalent to AWS c5.4xlarge:
16 vCPU Intel Xeon Platinum 3.6 GHz
32 GB
20 GB SSD
IMPORTANT: SelphID-SDK does not store data or test results on disk. The SDK installation itself takes approximately 2 GB. Plan for additional storage for extra business logic operations.
2.1.2. GPU version requirements
Recommended hardware requirements for SelphID SDK with GPU acceleration, equivalent to AWS g4dn.4xlarge:
16 vCPU Intel Xeon 2.5 GHz
1x NVIDIA T4 (16 GB GDDR6)
64 GB
20 GB SSD
IMPORTANT: As with the CPU version, SelphID-SDK does not store data or test results on disk. The GPU SDK installation itself takes approximately 3 GB, plus another approx. 2 GB required by the NVidia and CUDA drivers. Plan for additional storage for extra business logic operations.
IMPORTANT: GPU acceleration only affects the performance of operations of passive liveness check. For facial extraction, Matching 1:1 and Matching 1:n operations, the GPU is not used.
IMPORTANT: According to the tests performed, the GPU version can achieve 60% more performance in passive liveness checks compared to the 8-core CPU version (see Performance statistics). We are talking about the SDK-C++'s "pure" computation times measured on the server. Additional logic such as orchestrators, web servers, or load balancers may obscure these metrics, reducing the perceived performance gain.
IMPORTANT: For the GPU version of SelphID-SDK to work correctly, the NVidia/CUDA drivers must be correctly installed and configured on the server. Follow the official guide for this purpose: https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/latest/index.html.
IMPORTANT: The GPU version is an optimization over the CPU version, but it does not offer additional functionality. At the operational level, the CPU/GPU versions are completely equivalent.
2.2 Software requirements
The following tables show the minimum software requirements to install SelphID SDK on different operating systems:
2.2.1 SelphID SDK software requirements
Windows 11 / Windows Server 2025
Visual C++ 2026 x64
Java 1.8 (Oracle JDK is recommended)
.Net Framework 4.0
2.2.2 SelphID SDK software requirements (Linux Ubuntu)
Ubuntu 18.04 or compatible
Glib 2.27
GCC 7.5.0 (only for the SDK version in C++)
Java 1.8 (Oracle JDK is recommended)
2.3 Reliability statistics of the Facial Recognition algorithm
Below are several tests to evaluate the reliability of SelphID SDK 6.21.0. The goal is to understand the operation and behavior of the SDK by obtaining objective measurements of the reliability and accuracy of the facial recognition software. For this, experiments have been carried out with a widely used public database: NIST Face Recognition Grand Challenge ( FRGC ) [1].
The experiments performed show results in authentication or verification processes:
Verification (1:1): 'Are you who you say you are?': Determines whether, when comparing two biometric samples (facial templates), a score above a threshold is generated, implying that the system has positively verified that you are who you say you are. These systems are known as 1:1, since the facial pattern to be evaluated is compared only with your facial template, obtaining a 'yes' or 'no' response.
Verification (1:N): 'Who are you?': In this operating mode, the biometric sample is compared with a list of patterns stored in a database. It is also known as 1:N because the identity must be correctly located among a number N of patterns with different identities against which it will be compared.
Two sets of images are used to evaluate these operating modes: a test set (Query set) that simulates unknown users attempting to access the system, and a registration set with previously registered legitimate users (Target set) against which the comparison is made.
The results obtained in these experiments follow the standard measures defined in the international standard ISO 19795-1 [2].
2.3.1 Verification 1:1
2.3.1.1 Uncontrolled conditions (FRGC Exp 4)
This experiment measures the robustness of the technology against images captured under uncontrolled conditions. The image sets used are extracted from the database FRGC v2.0 [3]. The evaluation consists of a 'target set' of images under controlled conditions and a 'query set' of images captured under uncontrolled conditions. These are the same sets used in the Experiment 4 defined in the aforementioned database [4]:
The 'Target Set' of FRGC-Experiment 4 is composed of 16,028 images belonging to 466 users.
The 'Query Set' of FRGC corresponds to a test set with a total of 8,014 images.
The total number of comparisons performed exceeds 128 million.
The following table shows the most important aspects of the experiment, as well as the True Match Rate (TMR) fixing the False Match Rate (FMR) at 0.1%:
ROC I
99.9999%
ROC II
99.9999%
ROC III
99.9999%
Table 1. Results of the experiment using images under uncontrolled conditions.
The following chart shows the results obtained in the experiment through ROC curves (Receiver Operating Characteristic). Three ROC curves are shown that evaluate the performance of the algorithm using images obtained over time. In addition to the TMR with FMR=0.1%, additional markers have been added for each ROC curve highlighting the high-security operating points.
ROC I: Target and Query images obtained within the same semester.
ROC II: Target and Query images obtained within the same year.
ROC III: Target and Query images obtained at least one year apart.

2.3.2 Identification 1:N
2.3.2.1 Searching for subjects in a list
In this experiment, the reliability of the SDK will be evaluated for an application of Closed-Set Identification (see note below). For this, the Experiment 1 of the FRGC 2.0 database will be used. In this case, a single image will be used to create the biometric pattern. The size of the Test and Enrollment is 16,028 samples each (257 million comparisons).
For each example in the test set, the system will be asked to return the N biometric samples from the enrollment set that show the greatest similarity. Two conditions must be met for the system to correctly identify the user:
The correct identity must be positioned at rank R (Rank) of the Candidate List L (Candidate List).
The similarity must be greater than the security threshold T (Threshold). These thresholds correspond to the Security Thresholds provided by FacePhi.
To make the test more demanding, Rank has been reduced to the minimum (R=1) and the largest possible list has been used, that is, L=16,028 (searching against the entire database). In short, to be considered a success, the person must be positioned within the Candidate List rank across the entire database, which is more widely known as Rank 1 Hit Rate 4 (Rank One is defined in reference [4]).
The reliability measures are based on obtaining the True Positive Identification Rate (TPIR) for different security levels established by the threshold.
Size of the biometric template
1322 bytes
TPIR(R=1), Rank1
NIST FRGC Exp 1
98.7272%
Table 2. Rank 1 of the identification experiment.
Closed set: The marker corresponds to an FMR of 0.000001 (999,999 correctly denied accesses out of 1 million attack attempts). Even in this case, the TMR is around 99% for ROC I.
2.4 Performance statistics
The following figure shows the performance statistics obtained for SelphID SDK, in terms of the times obtained in the following modules:
Passive liveness
Biometric template extraction.
Facial Matching (1:1) with templates and images.
Facial Matching (1:N) with templates.
Important: For these tests, the SDK C++ version operating sequentially was used. Therefore, we present 'pure' performance metrics of the solution. The time consumed by orchestrators, web servers, high-concurrency cloud environments, and latencies is not taken into account.
Important: The SDK has been configured to use 8 concurrent threads for extraction or liveness operations. FACEPHI_SELPHID_FACIALEXTRACTOR_NUM_THREADS=8, FACEPHI_SELPHID_FACIALLIVENESS_NUM_THREADS=8. See Environment variables.
To carry out the liveness, extraction, 1:1 comparison, and 1:N comparison measurements, a device with the following characteristics was used:
Intel Xeon Platinum 3.6 GHz
16-core processor
32 GB of RAM
Linux Ubuntu 18.04.6 LTS
Biometric extraction (640x480 image)
Comparison (1:1) with raw templates
Comparison (1:1) with images (640x480)
Performance
65 ms
129 ms
121 ms
Figure 1. Data obtained with SelphID SDK Linux.
On a Windows server, the data obtained may vary by +-10%
Below are the performance statistics for the liveness check:
Image 640x480
192 ms
165 ms
Image 1280x720
400 ms
249 ms
Figure 3. Data obtained with the Linux version of SelphID SDK.
Below are the performance data for gallery creation and 1:N identification.
templates/second
65.000
6.500.000
Figure 4. Data obtained with SelphID SDK Linux.
On a Windows server, the data obtained may vary by +-10%
3. Passive liveness check detection
The techniques used by fraudsters to impersonate legitimate users are constantly growing and are known as attacks. Since these applications are integrated into critical security systems, it is necessary to provide them with security measures for Presentation Attack Detection (PAD) and Manipulation Attack Detection (MAD), since it is vital to determine whether the biometric patterns presented to the application come from a genuine user ('bona fide') or not. (A genuine user would be a legitimate user of the system who is present in front of the camera at the time of biometric measurement).
IMPORTANT: For the passive liveness check functionality of SelphID SDK, the images used must have a minimum resolution of 720p (HD resolution), so that the results match the metrics shown below.
The main objective is to provide facial recognition algorithms with the necessary level of security to prevent the fraudulent use of a user's facial features obtained from photographs and/or videos during identification, and thus prevent mass fraud.
Facephi technology ensures that the biometric pattern obtained from the user's face has been extracted from a bona fide biometric presentation, discarding those obtained from an attacker presenting paper, photographs, videos, masks and/or injects manipulated images into the capture system.
Facephi has implemented a secure and easy-to-use system to be able to access the system in less than a second with total security, faster and easier than memorizing a password and a username. The perfect balance between security and ease of access.


Using Facephi's Deep Learning techniques, this new tool determines whether the image comes from genuine user access or, on the contrary, from a reproduction via printed photos, manipulated images, from a mobile device, tablet, or PC. This tool is complemented by the robust facial recognition system provided in Selphi and SelphID. The main advantage of this tool is that it greatly improves the user experience, since the user only has to stand in front of the camera and take a selfie, without any additional collaboration.
FaceLiveness is based on Machine Learning algorithms trained to extract the features contained in a selfie image (for example, artifacts, deformations, texture, depth, light reflectance, resolution inconsistencies, blood pulse, etc.) that allow the classification module to discriminate between a bona fide presentation (also known as genuine) and an attack (for example, paper, photo, selfie/video replay, mask, etc.).
A passive attack detection system does not require any action on the part of the user and is based entirely on Deep Learning techniques. Therefore, it does not introduce additional friction into the verification and authentication process, is faster than active systems and, at the same time, with the capture of a simple selfie (or a few frames extracted from a short video), introduces additional complexity into the system that translates into a greater ability to detect a wide range of attacks, whether handcrafted or digitally manipulated.
3.1 Presentation attack detection
The passive Presentation Attack Detection (PAD) system of Facephi (FaceLiveness) determines whether access is being performed by a genuine user (bona fide) or whether access is being performed by an attacker presenting a paper, photo, video, or mask that represents the biometric characteristics of the target they are trying to impersonate.
3.2. Manipulation attack detection
The Manipulation Attack Detection (MAD) system of Facephi (FaceLiveness) determines whether access is being performed by a genuine user (bona fide) or whether access is being performed by an attacker who injects into the system a manipulated image that has been altered.
The new Facephi technology is capable of preventing:
Face Swap manipulation: Overlaying one person's face onto another person's photo or video.
Synthetic face (deepfake): Synthetic face generated using deep learning methods, such as generative adversarial networks (GANs) or diffusion networks.
3.3. Coercion attack detection
Starting with version 6.20.0, the liveness check engine includes support for coercion attack detection. This includes threats with weapons (guns, knives), as well as forcing the eyes open with the hands.
Initially, this is an experimental support, performed in addition to the FMAD and FPAD tests, but which does not affect the final result (Live, NoLive). For now, coercion must be checked through NoLiveDetails::CoercionScore.
3.4. Metrics based on ISO/IEC 30107
The ISO/IEC 30107-1:2023 (Information technology — Biometric presentation attack detection — Part 1: Framework) and ISO/IEC 30107-3:2023 (Part 3: Testing and reporting) establish the standards for determining the specifications, characterizations and evaluations of presentation attacks (Type 1) that occur at the sensor (whether on a smartphone or desktop camera) during the collection of biometric features (for example, a selfie or a video). The most important metrics for evaluating the performance of a Presentation Attack Detection (PAD) system are:
APCER - Attack Presentation Classification Error Rate: the proportion of attack presentations using the same type of presentation attack instrument (PAI) incorrectly classified as bona fide presentations by a presentation attack detection (PAD) subsystem in a specific scenario.
BPCER - Bona Fide Presentation Classification Error Rate: the proportion of bona fide presentations incorrectly classified as presentation attacks in a specific scenario.
PAIs - Presentation Attack Instrument: biometric characteristic or object used in a biometric presentation attack.
Presentation Bona fide: biometric presentation without the aim of interfering with the operation of the biometric system.
Presentation Attack: presentation to the biometric capture subsystem with the aim of interfering with the operation of the biometric system.
Paper print
109637
0.40 %
Screen replay
304582
0.12 %
Simple mask
46503
0.01 %
Advanced mask
5184
0.75 %
Attack and Manipulation Presentation Classification Error Rate (APCER) with paper, mask and device (screen photo) test samples. Metrics obtained as the average between internal and public datasets.
bona fide accesses
396230
1.10 %
Bona Fide Presentation and Manipulation Classification Error Rate (BPCER) with genuine test samples
bona fide accesses
370671
6.85 %
Bona Fide Coercion Detector Error Rate (BPCER) with genuine test samples
4. Technology usage requirements
Resolution
1080P
-
-
IOD
IOD>80
IOD>60
IOD > 30px
Compression
Uncompressed format
JPEG with low compression (70%) (*)
-
Color
Color
Color
Grayscale
Pose
< 5° (Yaw, Pitch, Roll)
< 15° (Yaw, Pitch, Roll)
< 45° (Yaw, Pitch, Roll)
Face position relative to the background
Full frontal Token image
> 5% of face width
> 8% of face width
(*) Estimated values
5. References
[1] B. P. J. Phillips, P. J. Rauss, and S. Z. Der, 'FERET (Face Recognition Technology) Recognition Algorithm Development and Test Results', October 1996. Army Research Lab technical report 995.
[2] ISO/IEC 19795-1 standard: 'Information technology – Biometric performance testing and reporting – Part 1: Principles and framework', 2006
[3] P. J. Phillips, P. J. Flynn, T. Scruggs, K. W. Bowyer, J. Chang, K. Hoffman, J. Marques, J. Min, and W. Worek, ' Overview of the Face Recognition Grand Challenge' , 2005. IEEE Conference on Computer Vision and Pattern Recognition.
[4] PJ Phillips, et al. 'Preliminary Face Recognition Grand Challenge Results' , 2006 - 7th International Conference on Automatic Face and Gesture Recognition.
Last updated