iOS-FaceRecognition-FaceLivenessDetection
iOS-FaceRecognition-FaceLivenessDetection copied to clipboard
NIST_FRVT Top 1🏆 Face Recognition, Liveness Detection(Face Anti-Spoof) iOS SDK Demo ☑️ Face Recognition ☑️ Face Liveness Detection ☑️ Face Pose Estimation
Face Recognition, Liveness Detection, Pose Estimation iOS SDK Demo
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).
Our Product List for ID verification.
RECOGNITO Product Documentation
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.
Demo Video
Recognito Youtube Channel: youtube.com/@recognito-vision
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.
2. Application License (One-Time License)
-
For trial license, share your Bundle ID.
-
Add your license to
license.txt
file: https://github.com/recognito-vision/iOS-FaceRecognition-FaceLivenessDetection/blob/6e30f27487ac8eafafe122c7ab918ee6ae9eb0a7/license.txt#L1-L5 -
Initialize SDK with license. https://github.com/recognito-vision/iOS-FaceRecognition-FaceLivenessDetection/blob/6e30f27487ac8eafafe122c7ab918ee6ae9eb0a7/FaceDemo/ViewController.swift#L37-L50
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
+(int)setActivation:(NSString*)license;
Parameters
-
license
: A string representing the license key required for activation. - Return Value: An integer representing the SDK activation status code.
- Initiate SDK
+(int)initSDK;
Parameters
- Return Value: An integer representing the initialization status code.
- Detect Face
+(NSMutableArray*)faceDetection:(UIImage*)image;
Parameters
-
image
: TheUIImage
object representing the image in which faces will be detected. - Return Value: An
NSMutableArray
containingFaceBox
about the detected faces.
@interface FaceBox : NSObject
@property (nonatomic) int x1;
@property (nonatomic) int y1;
@property (nonatomic) int x2;
@property (nonatomic) int y2;
@property (nonatomic) float liveness;
@property (nonatomic) float yaw;
@property (nonatomic) float roll;
@property (nonatomic) float pitch;
@end
- Extract face feature
+(NSData*)templateExtraction:(UIImage*)image faceBox:(FaceBox*)faceBox;
Parameters
-
image
: TheUIImage
object representing the source image from which the face template will be extracted. -
faceBox
: TheFaceBox
object representing the bounding box around the detected face. - Return Value: An
NSData
object containing the extracted face template data.
- Calculate similarity between two face features
+(float)similarityCalculation:(NSData*)templates1 templates2:(NSData*)templates2;
Parameters
-
templates1
: AnNSData
object representing the first face template. -
templates2
: AnNSData
object representing the second face template. - Return Value: A float value representing the similarity score between the two face templates.
Support
For any questions, issues, or feature requests, please contact our support team.