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.

Github

Google Play

App Store

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