Face Liveness Detection SDK - Server
This stands for face liveness check, face liveness detection, face anti-spoofing, 3D passive liveness, face fraudulent checker, fraud prevention on server
We implemented face liveness detection SDK via docker container in Python language
We provide the Face Liveness Detection SDK for both Windows and Linux.
Features
License
We offer lifetime license
based on machine ID
from Servers (Windows, Linux).
To request a license, please contact us:
Email: contact@kby-ai.com
Telegram: @kbyai
WhatsApp: +19092802609
Skype: live:.cid.66e2522354b1049b
System Requirements
1. Windows
CPU: 2 cores or more (Recommended: 8 cores)
RAM: 4 GB or more (Recommended: 8 GB)
HDD: 4 GB or more (Recommended: 8 GB)
OS: Windows 7 or later
Architecture: x64
Dependency: OpenVINO™ Runtime (Version: 2022.3), ncnn Runtime(20220721), Vulkan SDK Runtime(1.3.250)
2. Linux
CPU: 2 cores or more (Recommended: 8 cores)
RAM: 4 GB or more (Recommended: 8 GB)
HDD: 4 GB or more (Recommended: 8 GB)
OS: Ubuntu 20.04 or later
Architecture: x64
Dependency: OpenVINO™ Runtime (Version: 2022.3)
Import SDK
Python
C++
Initializing SDK
Step one
First, obtain the
machine code
for activation and request a license based on themachine code
.
Step Two
Next, activate the SDK using the received license.
If activation is successful, the return value will be
SDK_SUCCESS
. Otherwise, an error value will be returned.
Step Three
After activation, call the initialization function of the SDK.
The first parameter is the path to the model.
If initialization is successful, the return value will be
SDK_SUCCESS
. Otherwise, an error value will be returned.
Enums and Structure
1. SDK_ERROR
This enumeration represents the return value of the initSDK
and setActivation
functions.
Feature | Value | Name |
---|---|---|
Successful activation or initialization | 0 | SDK_SUCCESS |
License key error | -1 | SDK_LICENSE_KEY_ERROR |
AppID error (Not used in Server SDK) | -2 | SDK_LICENSE_APPID_ERROR |
License expiration | -3 | SDK_LICENSE_EXPIRED |
Not activated | -4 | SDK_NO_ACTIVATED |
Failed to initialize SDK | -5 | SDK_INIT_ERROR |
2. FaceBox
This class represents the output of the face detection
function that contains the detected face rectangle
, liveness score
, and facial angle
s such as yaw
, roll
, and pitch
.
Feature | Type | Name |
---|---|---|
Face rectangle | int | x1, y1, x2, y2 |
Liveness score (0 ~ 1) | float | liveness |
Face angles (-45 ~ 45) | float | yaw, roll, pitch |
Face quality (0 ~ 1) | float | face_quality |
Face luminance (0 ~ 255) | float | face_luminance |
Eye distance (pixels) | float | eye_dist |
Eye closure (0 ~ 1) | float | left_eye_closed, right_eye_closed |
Face occlusion (0 ~ 1) | float | face_occlusion |
Mouth opening (0 ~ 1) | float | mouth_opened |
68 points facial landmark | float[68 * 2 ] | landmarks_68 |
APIs
1. getMachineCode
First, obtain the machine code
for activation and request a license based on the machine code
.
2. setActivation
Next, activate the SDK using the received license.
If activation is successful, the return value will be SDK_SUCCESS
. Otherwise, an error value will be returned.
3. initSDK
After activation, call the initialization function of the SDK.
The first parameter is the path to the model.
When using Windows, it is necessary to provide the complete file path for the model.
For Example:
model_path = "C:\path\to\model"
If initialization is successful, the return value will be SDK_SUCCESS
. Otherwise, an error value will be returned.
4. faceDetection
The Face SDK
provides a single API
for detecting faces
, performing liveness detection
, determining face orientation (yaw, roll, pitch)
, assessing face quality
, detecting facial occlusion
, eye closure
, mouth opening
, and identifying facial landmark
s.
The function can be used as follows:
This function requires 5 parameters.
The first parameter: the byte array of the
RGB image buffer
.The second parameter: the width of the image.
The third parameter: the height of the image.
The fourth parameter: the
FaceBox
array allocated withmaxFaceCount
for storing the detected faces.The fifth parameter: the count allocated for the maximum
FaceBox
objects.
The function returns the count of the detected face.
Default Thresholds
If the liveness score exceeds
0.7
, the face is areal face
.If the absolute values of the face angles are less than
10.0
, the face is identified as a fronted face.If the occlusion value is higher than
0.9
, the face is occluded.If the eye close value is higher than
0.8
, it indicates that the eyes are closed.If the eye's distance is less than
100
, it indicates that the face is too small.
Last updated