From 6e30f27487ac8eafafe122c7ab918ee6ae9eb0a7 Mon Sep 17 00:00:00 2001 From: Hassan-Recognito <153883841+Hassan-Recognito@users.noreply.github.com> Date: Tue, 9 Apr 2024 08:31:01 +0800 Subject: [PATCH] Update README.md --- README.md | 188 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 187 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index aa5685b..2062e1a 100644 --- a/README.md +++ b/README.md @@ -1 +1,187 @@ -# Face-SDK-iOS-Demo + + +
+ +# Face Recognition, Liveness Detection, Pose Estimation iOS SDK Demo +

+ +

+

+ + Latest NIST FRVT Report + +

+ + +This repository contains a demonstration of Recognito's face recognition SDK for iOS. +The SDK includes advanced features such as face recognition, liveness detection, and pose estimation. +Recognito's face recognition algorithm has been ranked as the **Top 1 in the NIST FRVT** (Face Recognition Vendor Test). + +For more details and documentation, visit [https://docs.recognito.vision/](https://docs.recognito.vision/). + +## feature Features +- **Face Recognition:** Identify and verify individuals by comparing their facial features. +- **Liveness Detection:** Determine whether a face is live or spoofed to prevent fraud in authentication processes. +- **Pose Estimation:** Estimate the pose of a detected face, including Yaw, Roll, Pitch + +### - Additional Features +- **NIST FRVT Top 1 Algorithm:** Utilize the top-ranked face recognition algorithm from the NIST FRVT for accurate and reliable results. +- **On-premise:** Operate entirely within your infrastructure, ensuring data privacy and security. +- **Real-time:** Perform face recognition, liveness detection, and pose estimation with minimal latency. +- **Fully-offline:** Function without the need for an internet connection, ensuring reliability and data privacy. + +## youtube Demo Video +[](https://www.youtube.com/watch?v=9HM70PFa4lQ) + +Recognito Youtube Channel: [youtube.com/@Recognito-Ltd](https://www.youtube.com/@Recognito-Ltd) +

+ + + + + + +

+ +## SDK API SDK Integration +To use the Recognito SDK in your iOS project, follow these steps: +#### 1. Add `facesdk.framework` into the project +- Copy and add the SDK framework to your iOS project. + +- Add the following dependency to your `build.gradle` and `settings.gradle` files: + https://github.com/Recognito-Vision/Face-SDK-Android-Demo/blob/601379c51970400b5c90972854b3468beef683ea/app/build.gradle#L50-L52 + https://github.com/Recognito-Vision/Face-SDK-Android-Demo/blob/601379c51970400b5c90972854b3468beef683ea/settings.gradle#L17-L19 + +#### 2. Application License (One-Time License) +- For trial license, share your application ID. + https://github.com/Recognito-Vision/Face-SDK-Android-Demo/blob/601379c51970400b5c90972854b3468beef683ea/app/build.gradle#L6-L15 +
+ www.recognito.vision +     www.recognito.vision +     www.recognito.vision +     www.recognito.vision +
+ +- Add your license to `assets/license` file: + https://github.com/Recognito-Vision/Face-SDK-Android-Demo/blob/601379c51970400b5c90972854b3468beef683ea/app/src/main/assets/license?plain=1#L1-L5 +- Initialize SDK with license. + https://github.com/Recognito-Vision/Face-SDK-Android-Demo/blob/601379c51970400b5c90972854b3468beef683ea/app/src/main/java/com/bio/facerecognition/MainActivity.kt#L39-L47 + + Initialization status codes: + + | Code | Status | + |:------:|------| + |0|Activate SDK successfully| + |-1|License Key Error| + |-2|License AppID Error| + |-3|License Expired| + |-4|Activate Error| + |-5|Init SDK Error| +#### 3. APIs of SDK +##### - Activate SDK +```java +public static native int setActivation(String var0); +``` +Parameters +- `var0`: The license string. +- Return Value: An integer representing the SDK activation status code. +
+ +##### - Initiate SDK +```java +public static native int init(AssetManager var0); +``` +Parameters +- `var0`: An instance of AssetManager used to access application assets. +- Return Value: An integer representing the initialization status code. +
+ +##### - Convert YUV camera frame to Bitmap image +```java +public static native Bitmap yuv2Bitmap(byte[] nv21, int width, int height, int orientation); +``` +Parameters +- `nv21`: Byte array representing the YUV image data in NV21 format. +- `width`: Width of the image. +- `height`: Height of the image. +- `orientation`: Orientation of the image + + | Value | Orientation | + |:----:|----| + |1|No processing| + |2|Flip horizontally| + |3|Flip horizontally first and then flip vertically| + |4|vertical flip| + |5|transpose| + |6|Rotate 90° clockwise| + |7|Horizontal and vertical flip --> transpose| + |8|Rotate 90° counterclockwise| +- Return Value: A Bitmap object representing the converted image. +
+ +##### - Detect Face +```java +public static native List faceDetection(Bitmap var0, FaceDetectionParam var1); +``` +Parameters +- `var0`: The Bitmap image. +- `var1`: Parameters for face detection +```java +public class FaceDetectionParam { + public boolean check_liveness = false; + public int check_liveness_level = 0; // 0: more accurate model, 1: lighter model +} +``` +- Return Value: A list of FaceBox objects representing the detected faces. +```java +public class FaceBox { + public int x1; + public int y1; + public int x2; + public int y2; + public float liveness; + public float yaw; + public float roll; + public float pitch; +} +``` +
+ +##### - Extract face feature +```java +public static native byte[] templateExtraction(Bitmap var0, FaceBox var1); +``` +Parameters +- `var0`: The Bitmap image +- `var1`: The bounding box (`FaceBox`) of the detected face. +- Return Value: A byte array representing the extracted template from the face. +
+ +##### - Calculate similarity between two face features +```java +public static native float similarityCalculation(byte[] var0, byte[] var1); +``` +Parameters +- `var0`: The byte array representing the first face template. +- `var1`: The byte array representing the second face template. +- Return Value: A float value representing the similarity score between the two face templates. +
+ +## contact Support +For any questions, issues, or feature requests, please contact our support team. + +
+ www.recognito.vision +     www.recognito.vision +     www.recognito.vision +     www.recognito.vision +
+
+

+    +      +      +      +      +      +