π Product & Resources - Here
π Help Center - Here
πΌ KYC Verification Demo - Here
πββοΈ Docker Hub - Here
This repository integrates several facial recognition
technologies, including 3D passive face liveness detection
, face recognition
, automatic face capture
, and analysis of various face attributes
such as age
, gender
, face quality
, facial occlusion
, eye closure
, and mouth opening
.
The system utilizes face liveness detection
technology to generate a real-time liveness score based on a single image captured by the camera.
Additionally, the demo offers Face Recognition
capabilities, enabling enrollment from a gallery and real-time identification of faces captured by the camera.
The repository also features an automatic face capture function that verifies various facial attributes
, such as face quality
, facial orientation
(yaw
, roll
, pitch
), facial occlusion
(e.g., mask, sunglass, hand over face), eye closure
, mouth opening
, and the position of the face within the region of interest
(ROI
).
Moreover, the repository can compute scores for different face attributes from a gallery image, including liveness
, face orientation
(yaw
, roll
, pitch
), face quality
, luminance of the face
, facial occlusion
, eye closure
, mouth opening
, age
, and gender
.
In this repository, we integrated
KBY-AI
'sPremium Face Mobile SDK
intoAndroid
native platform.
Basic | Standard | π½ Premium |
---|---|---|
Face Detection | Face Detection | Face Detection |
Face Liveness Detection | Face Liveness Detection | Face Liveness Detection |
Pose Estimation | Pose Estimation | Pose Estimation |
Face Recognition | Face Recognition | |
68 points Face Landmark Detection | ||
Face Quality Calculation | ||
Face Occlusion Detection | ||
Eye Closure Detection | ||
Age, Gender Estimation |
No. | Repository | SDK Details |
---|---|---|
1 | Face Liveness Detection - Android | Basic SDK |
2 | Face Liveness Detection - iOS | Basic SDK |
3 | Face Recognition - Android | Standard SDK |
4 | Face Recognition - iOS | Standard SDK |
5 | Face Recognition - Flutter | Standard SDK |
6 | Face Recognition - Ionic-Cordova | Standard SDK |
7 | Face Recognition - React-Native | Standard SDK |
β‘οΈ | Face Attribute - Android | Premium SDK |
9 | Face Attribute - iOS | Premium SDK |
10 | Face Attribute - Flutter | Premium SDK |
To get
Face SDK(server)
, please visit products here.
The face recognition project relies on KBY-AI
's SDK, which requires a license for each application ID
.
-
The code below shows how to use the license:
-
To request a license, please contact us:
π§Email:
[email protected]
π§Telegram:
@kbyai
π§WhatsApp:
+19092802609
π§Skype:
live:.cid.66e2522354b1049b
π§Facebook:
https://www.facebook.com/KBYAI
-
Copy the SDK (
libfacesdk
folder) to theroot
folder in your project. -
Add SDK to the project in
settings.gradle
.include ':libfacesdk'
-
Add dependency to your
build.gradle
.implementation project(path: ':libfacesdk')
-
Step One
To begin, you need to activate the
SDK
using the license that you have received.FaceSDK.setActivation("...")
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.FaceSDK.init(getAssets());
If initialization is successful, the return value will be
SDK_SUCCESS
. Otherwise, an error value will be returned.
-
FaceBox
This class represents the output of the face detection function and can be utilized in template creation functions.
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 68 points facial landmark
-
FaceDetectionParam
This class serves as the input parameter for
face detection
, enabling various processing functionalities such asface liveness detection
,eye closure checking
,facial occlusion checking
,mouth opening checking
, andage 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
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:
FaceSDK.faceDetection(bitmap, param)
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.
The FaceSDK
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 image captured.
byte[] templates = FaceSDK.templateExtraction(bitmap, faceBox);
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.
The similarityCalculation
function takes a byte array of two template
s as a parameter.
float similarity = FaceSDK.similarityCalucation(templates1, templates1);
It returns the similarity value between the two template
s, which can be used to determine the level of likeness between the two individuals.
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:
Bitmap bitmap = FaceSDK.yuv2Bitmap(nv21, image.getWidth(), image.getHeight(), 7);
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:
1 2 3 4 5 6 7 8
888888 888888 88 88 8888888888 88 88 8888888888
88 88 88 88 88 88 88 88 88 88 88 88
8888 8888 8888 8888 88 8888888888 8888888888 88
88 88 88 88
88 88 888888 888888