FaceRecognition - React-Native

This demo app demonstrates face recognition and face liveness detection by mitigating biometric fraud based on React-Native framework for both Android and iOS.

Overview

The demo project demonstrates both Face Liveness Detection and Face Recognition Technology.

It stands for face recognition React-Native, facial recognition React-Native, face liveness check React-Native, spoofing prevention React-Native, face matching React-Native, face comparison React-Native, face search engine React-Native, face identification React-Native.

SDK

Standard SDK - AndroidStandard SDK - iOS

Github

Google Play

YouTube

Screenshots

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:

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 Usage

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();
    }

Last updated