/FaceRecognition-React-Native

Face Recognition, Face Livness Detection React-Native Demo

Primary LanguageTypeScriptMIT LicenseMIT

📚 Product & Resources - Here

🛟 Help Center - Here

💼 KYC Verification Demo - Here

🙋‍♀️ Docker Hub - Here

FaceRecognition-React-Native

Overview

This project is a Face Recognition and Face Liveness Detection project for Flutter.

The demo is integrated with KBY-AI's Standard Face Mobile SDK.

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

Face Liveness Detection - Android(Basic SDK)
Face Liveness Detection - iOS(Basic SDK)
Face Recognition - Android(Standard SDK)
Face Recognition - iOS(Standard SDK)
Face Recognition - Flutter(Standard SDK)
Face Recognition - React-Native(Standard SDK)
Face Attribute - Android(Premium SDK)
Face Attribute - iOS(Premium SDK)

Try the APK

Google Play

Google Drive

https://drive.google.com/file/d/1cn_89fYDYhq8ANXs2epO-KBv7p5ZnWcA/view?usp=sharing

Screenshots

SDK License

The face recognition project relies on kby-ai's SDK, which requires a license for each application ID.

Email: contact@kby-ai.com

Telegram: @kbyai

WhatsApp: +19092802609

Skype: live:.cid.66e2522354b1049b

Facebook: https://www.facebook.com/KBYAI

How To Run

1. React-Native Setup

Make sure you have React-Native installed.

If you don't have React-Native installed, please follow the instructions provided in the official React-Native documentation: https://reactnative.dev/docs/environment-setup

2. Running the App

Run the following commands:

yarn
yarn example android

About SDK

1. Setup

1.1 'Face SDK' Setup

Android

  • Copy the SDK (libfacesdk folder) to the 'android' folder of your project.

  • Add SDK to the project in settings.gradle

include ':libfacesdk'

2 API Usages

2.1 FaceSDKModule

  • Activate the 'FaceSDKModule' by calling the 'setActivation' method:
      var ret = await FaceSDKModule.setActivation("...");
      console.log("set activation:", ret);
  • Initialize the 'FaceSDKModule' by calling the 'initSDK' method:
    var ret = await FaceSDKModule.initSDK();
  • Set parameters using the 'setParam' method:
  var ret = await FaceSDKModule.setParam(checkLivenessLevel);
  • Extract faces using the 'extractFaces' method:
  var faceBoxes = await FaceSDKModule.extractFaces(uri);
  • Calculate similarity between faces using the 'similarityCalculation' method:
  const similarity = await FaceSDKModule.similarityCalculation(
      face.templates,
      person.templates
  );

2.2 FaceRecognitionSdkView

  <FaceRecognitionSdkView style={styles.box} livenessLevel={1} cameraLens={1} />
  • To obtain the face detection results, use the following code:
      const eventEmitter = new NativeEventEmitter(FaceSDKModule);
      let eventListener = eventEmitter.addListener('onFaceDetected', (event) => {
          setFaces(event);
          if (recognized == false) {
              identifyPerson(event);
          }
      });
  • To start and stop the camera, use the following code:
    //Start Camera
    const startCamera = async () => {
        await FaceSDKModule.startCamera();
    }

    //Stop Camera
    const stopCamera = async () => {
        await FaceSDKModule.stopCamera();
    }