Different liveness detection functionalities are included to implement anti-spoofing mechanism with the possibility of configuring the balance between security and usability of the application.
Features and Capabilities
 
- Compact library for deployment on mobile devices.
- Based on VeriLook technology with millions of deployments worldwide.
- Live face detection prevents spoofing.
- Android, iOS, Microsoft Windows, Mac OS X and Linux supported.
- Programming samples in multiple languages included.
- Reasonable prices, flexible licensing and free customer support.
The Face Verification SDK is intended for developing applications which perform end-user identity verification in mass scale systems like:
- social networks and media sharing services.
- online banking and e-shops;
- government e-services;
The Face Verification SDK is based on the VeriLook algorithm, which provides advanced face localization, enrollment and matching using robust digital image processing algorithms based on deep neural networks. The SDK offers these features for large-scale identity verification systems:
- Live face detection. A conventional face identification system can be tricked by placing a photo in front of the camera. Face Verification SDK is able to prevent this kind of security breach by determining whether a face in a video stream is "live" or a photograph. The liveness detection can be performed in passive mode, when the engine evaluates certain facial features, and in active mode, when the engine evaluates user's response to perform actions like blinking or head movements.
- Face image quality determination. A quality threshold can be used during face enrollment to ensure that only the best quality face template will be stored into database.
- Tolerance to face position. The Face Verification SDK allows head roll, pitch and yaw variation up to 15 degrees in each direction from the frontal position.
- Multiple samples of the same face. Biometric template record can contain multiple face samples belonging to the same person. These samples can be enrolled from different sources and at different times, thus allowing improvement in matching quality. For example a person might be enrolled with and without beard or mustache, etc.
- Features generalization mode. This mode generates the collection of the generalized face features from several images of the same subject. Then, each face image is processed, features are extracted, and the collections of features are analyzed and combined into a single generalized features collection, which is written to the database. This way, the enrolled feature template is more reliable and the face recognition quality increases considerably.
The Face Verification SDK package includes:
- 1000 PRT licenses;
- 1000 LIT licenses;
- 3 dongles for license management.
- Larger quantities of transaction licenses can be also ordered
Tech Specs
 
General Specifications
The Face Verification SDK architecture requires to account the performed operations on integrator's or end-user's server:
- Integrators should ensure that encrypted connection is used for communications with the server.
- No face images or templates are sent to the server during all operations, which require communication with the server. The biometric data is kept on the client-side, only transaction accounting information is sent to and received from the server.
The following operations are available via the high-level API:
-
Face template creation – a face is captured from camera and the face template is extracted for further usage in the face verification operation.
- The server returns proprietary encrypted data as a result of an enrolment transaction that has been completed successfully.
- Face liveness can be optionally checked during this operation. ICAO compliance check can be optionally used to strengthen the liveness check.
- A token image of the enrolled face in accordance with ISO 19794-5 criteria can be optionally generated.
- The template may be saved to any storage (database, file etc) together with custom metainformation (like person's name etc.). Note that the storage functionality is not part of the Face Verification SDK, although the programming samples include an example of such implementation).
-
Face verification – a face is captured from the camera and is verified against the face template which was created during the face template creation operation.
- Face liveness can be optionally checked during this operation. ICAO compliance check can be optionally used to strengthen the liveness check.
- Template import – a face template, which was created with VeriLook algorithm, can be imported into the application, based on Face Verification SDK. Later this template can be used for face verification operation in the same way, as the native templates from the face template creation operation.
-
Liveness check – this operation perform only liveness check of the provided face and only returns the result of the check. See the recommendations for the liveness check below on this page.
- If the liveness check succeed, a token image of the enrolled face in accordance with ISO 19794-5 criteria can be optionally generated.
- ICAO compliance check can be optionally used to strengthen the liveness check.
Basic Recommendations for Facial Image and Posture
The face recognition accuracy heavily depends on the quality of a face image. Image quality during enrollment is important, as it influences the quality of the face template.
- 32 pixels is the recommended minimal distance between eyes for a face on a video stream to perform face template extraction reliably. 64 pixels or more recommended for better face recognition results. Note that this distance should be native, not achieved by resizing the video frames.
- Several face enrollments are recommended for better facial template quality which results in improvement of recognition quality and reliability.
- Additional enrollments may be needed when facial hair style changes, especially when beard or mustache is grown or shaved off.
- The face recognition engine is intended for usage with near-frontal face images and has certain tolerance to face posture:
- head roll (tilt) – ±15 degrees;
- head pitch (nod) – ±15 degrees from frontal position.
- head yaw (bobble) – ±15 degrees from frontal position.
Live Face Detection
A live video stream from a camera is required for face liveness check:
- When the liveness check is enabled, it is performed by the face engine before feature extraction. If the face in the stream fails to qualify as "live", the features are not extracted.
- Only one face should be visible in these frames.
- Optionally, ICAO compliance check can be used to strengthen the liveness check.
- Users can enable these liveness check modes:
-
Active – the engine requests the user to perform certain actions like blinking or moving one's head.
- 5 frames per second or better frame rate required.
- This mode can work with both colored and grayscale images.
- This mode requires the user to perform all requested actions to pass the liveness check.
-
Passive – the engine analyzes certain facial features while the user stays still in front of the camera for a short period of time.
- Colored images are required for this mode.
- 10 frames per second or better frame rate required.
- Better score is achieved when users do not move at all.
- Passive then active - the engine first tries the passive liveness check, and if it fails, tries the active check. This mode requires colored images.
-
Simple – the engine analyzes certain facial features while the user stays still in front of the camera for a short period of time.
- Colored images are required for this mode.
- 10 frames per second or better frame rate required.
-
Custom – the engine requires user to turn head in four directions (up, down, left, right), in a random order.
- 5 frames per second or better frame rate required.
- This mode can work with both colored and grayscale images.
- This mode requires the user to perform all requested actions to pass the liveness check.
-
Active – the engine requests the user to perform certain actions like blinking or moving one's head.