Premium SDK - Android
Face anti-spoofing, liveness check, face recognition, age/gender estimation, face landmark extraction, face occlusion detection, face quality calculation, eye closure detection, post estimation
Features
License
We offer lifetime license(perpetual license)
based on application ID
for Android SDKs. The license is available for one-time payment
. In other words, once you purchase license from me, you can use our SDK permanently.
To request a license, please contact us:
Email: contact@kby-ai.com
Telegram: @kbyai
WhatsApp: +19092802609
Skype: live:.cid.66e2522354b1049b
System Requirements
CPU: 2 cores or more
RAM: 150MB or more
OS: Android 4.4 or later
Architecture: arm64-v8a, armeabi-v7a
Setup
Copy the SDK (
libfacesdk
folder) to theroot
folder of your project.Add SDK to the project in
settings.gradle
Add dependency to your
build.gradle
Initializing SDK
Step one
To begin, you need to activate the SDK using the license that you have received.
If activation is successful, the return value will be
SDK_SUCCESS
. Otherwise, an error value will be returned.
Step Two
After activation, call the SDK's initialization function.
If initialization is successful, the return value will be
SDK_SUCCESS
. Otherwise, an error value will be returned.
Enums and Classes
1. SDK_ERROR
This enumeration represents the return value of the init
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 angles
such as yaw
, roll
, and pitch
.
Feature | Type | Name |
---|---|---|
Face rectangle | int | x1, y1, x2, y2 |
Face angles (-45 ~ 45) | float | yaw, roll, pitch |
Liveness score (0 ~ 1) | float | liveness |
Face quality (0 ~ 1) | float | face_quality |
Face luminance (0 ~ 255) | float | face_luminance |
Face occlusion (0 ~ 1) | float | face_occlusion |
Eye closure (0 ~ 1) | float | left_eye_closed, right_eye_closed |
Mouth opening (0 ~ 1) | float | mouth_opened |
Age, Gender | int | age, gender |
68 points facial landmark | float[] | landmarks_68 |
3. FaceDetectionParam
This class serves as the input parameter for face detection, enabling various processing functionalities such as face liveness detection
, eye closure checking
, facial occlusion checking
, mouth opening checking
, and age and gender estimation
.
Feature | Type | Name |
---|---|---|
Check liveness | boolean | check_liveness |
Check eye closure | boolean | check_eye_closeness |
Check face occlusion | boolean | check_face_occlusion |
Check mouth opening | boolean | check_mouth_opened |
Estimate age, gender | boolean | estimate_age_gender |
APIs
1. setActivation
To begin, you need to activate the SDK using the license that you have received.
If activation is successful, the return value will be SDK_SUCCESS
. Otherwise, an error value will be returned.
2. init
After activation, call the SDK's initialization function.
If initialization is successful, the return value will be SDK_SUCCESS
. Otherwise, an error value will be returned.
3. faceDetection
The Face SDK provides a unified function for detecting faces, enabling multiple functionalities such as liveness detection
, face orientation (yaw, roll, pitch)
, face quality
, facial occlusion
, eye closure
, mouth opening
, age
, gender
, and facial landmarks
.
The function can be used as follows:
This function requires two parameters: a Bitmap
object and a FaceDetectionParam
object that enables various processing functionalities.
The function returns a list of FaceBox
objects.
4. templateExtraction
The SDK provides a function that can generate a template
from a bitmap
image.
This template
can then be used to verify the identity of the individual captured in the image.
The SDK's template extraction
function takes two parameters: a bitmap
object and an object of FaceBox
.
The function returns a byte array, which contains the template that can be used for person verification.
5. similarityCalucation
The similarityCalculation
function takes a byte array of two templates as a parameter.
It returns the similarity value between the two templates, which can be used to determine the degree of similarity between the two individuals.
6. yuv2Bitmap
The SDK provides a function called yuv2Bitmap
, which converts a yuv
frame to a bitmap
.
Since camera frames are typically in yuv
format, this function is necessary to convert them to bitmap
.
The usage of this function is as follows:
The first parameter is an nv21
byte array containing the yuv
data.
The second parameter is the width of the yuv
frame, and the third parameter is its height.
The fourth parameter is the conversion mode
, which is determined by the camera orientation.
To determine the appropriate conversion mode
, the following method can be used:
Default Thresholds
If the liveness score exceeds
0.7
, the face is areal face
.If the similarity between two faces is higher than
0.8
, the face matching is successful.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.5
, the face is occluded.If the eye close value is higher than
0.8
, it indicates that the eyes are closed.If the mouth opening value is higher than
0.5
, it indicates that the mouth is open.
Last updated