Standard SDK - Android
Face Recognition with Face Liveness Detection
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: 100MB or more
OS: Android 4.4 or later
Architecture: arm64-v8a, armeabi-v7a
Setup
Copy the SDK (
libfacesdk
folder) to theroot
folder in 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 |
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 SDK offers a single function for detecting face and liveness detection, which can be used as follows:
This function takes a single parameter, which is a bitmap
object.
The return value of the function is 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 template
s 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
, theface matching
is successful.
Last updated