DFLivenessSDK Class Description
DFActionLivenessDetector
DFActionLivenessDetector is the instance for detect input image data.
Init
/**
* Initialization method
*
* @param dDurationPerModel The maximum detection time allowed for each module. When the value is less than or equal to 0, the timeout period is not set.
* @param strBundlePath Resource path
* @param strLicensePath License path
*
* @return detector instance
*/
- (instancetype)initWithDuration:(double)dDurationPerModel
resourcesBundlePath:(NSString *)strBundlePath
licensePath:(NSString *)strLicensePath;
Parameter config
/**
* Detector configuration method
*
* @param delegate Callback delegate
* @param queue Callback queue
* @param arrDetection Action sequence, such as @[@(LIVE_HOLDSTILL), @(LIVE_BLINK), @(LIVE_MOUTH), @(LIVE_NOD), @(LIVE_YAW)], refer to DFLivenessEnumType.h
* @param arrThreshold Threshold, such as @[@(0.7), @(0.7), @(0.7), @(0.7), @(0.7)]
*/
- (void)setDelegate:(id <DFActionLivenessDetectorDelegate>)delegate
callBackQueue:(dispatch_queue_t)queue
detectionSequence:(NSArray *)arrDetection
detectionThreshold:(NSArray *)arrThreshold;
/**
Setting configuration
@param region face detected regon
@param faceMaxSizeRatio face size ratio percentage
*/
- (void)setFaceDetectedRegion:(CGRect)region faceMaxSizeRatio:(float)faceMaxSizeRatio;
/**
*
* @param iOutputType The output scheme after the successful detection, must be LIVE_OUTPUT_MULTI_IMAGE, Others do not support
*/
- (void)setOutputType:(LivefaceOutputType)iOutputType;
Detect
/**
* Continuous detection
*
* @param sampleBuffer sampleBuffer of camera
* @param faceOrientation face orientation
*/
- (void)trackAndDetectWithCMSampleBuffer:(CMSampleBufferRef)sampleBuffer
faceOrientation:(LivefaceOrientation)faceOrientation;
Start detection
/**
* Start detection
*/
- (void)startDetection;
Cancel detection
/**
* Cancel detection
*/
- (void)cancelDetection;
Version
/**
* Obtain the version of SDK
*
* @return SDK Version
*/
+ (NSString *)getSDKVersion;
DFActionLivenessDetectorDelegate
Callback of detection
/**
* the callback of silent liveness detection
*/
@protocol DFActionLivenessDetectorDelegate <NSObject>
@optional
/**
* Callback method for each detection module
*
* @param iDetectionType The type of module that is currently being detecting
* @param iDetectionIndex The index of the module currently starting to be detected in the action sequence starts at 0.
*/
- (void)livenessDidStartDetectionWithDetectionType:(LivefaceDetectionType)iDetectionType
detectionIndex:(int)iDetectionIndex;
/**
* Each frame of data is called back once, and the current module has been used for the time and the maximum processing time allowed by the current module
*
* @param dPast Current module detects elapsed time
* @param dDurationPerModel Current module detection total time
*/
- (void)livenessTimeDidPast:(double)dPast
durationPerModel:(double)dDurationPerModel;
/** Frame rate */
- (void)videoFrameRate:(int)rate;
/**
The number of faces per frame in silent live detection
@param faceCount Face count
@param faceRectStatus Face status
@param iDetectionType Detection module type
*/
- (void)livenessDectectingFaceCount:(int)faceCount faceRectStatus:(LivefaceRectStatus)faceRectStatus detectionType:(LivefaceDetectionType)iDetectionType;
@required
Action detecting successfully
/**
* Action detecting successfully callback
*
* @param data Pass back the encrypted binary data
* @param arrDFImage Return the DFImage array according to the specified output scheme. See DFImage.h for the DFImage property
* @param dfVideoData Return NSData video data according to the specified output scheme(nil)
*/
- (void)livenessDidSuccessfulGetData:(nullable NSData *)data
dfImages:(nullable NSArray *)arrDFImage
dfVideoData:(nullable NSData *)dfVideoData;
Action detecting failed callback
/**
* Action detecting failed callback
*
* @param iErrorType Type of failure
* @param iDetectionType Detection module type on failure
* @param iDetectionIndex The index of the detection module in the action sequence when it fails, starting from 0
* @param data Pass back the encrypted binary data
* @param arrDFImage Return the DFImage array according to the specified output scheme. See DFImage.h for the DFImage property
* @param dfVideoData Return NSData video data according to the specified output scheme(nil)
*/
- (void)livenessDidFailWithErrorType:(LivefaceErrorType)iErrorType
detectionType:(LivefaceDetectionType)iDetectionType
detectionIndex:(int)iDetectionIndex
data:(nullable NSData *)data
dfImages:(nullable NSArray *)arrDFImage
dfVideoData:(nullable NSData *)dfVideoData;
Action detecting cancelled callback
/**
* Action detecting canceled callback
*
* @param iDetectionType Detection module type when detection is canceled
* @param iDetectionIndex The index of the detection module in the action sequence when the detection is canceled, starting from 0
*/
- (void)livenessDidCancelWithDetectionType:(LivefaceDetectionType)iDetectionType
detectionIndex:(int)iDetectionIndex;
LivefaceErrorType
Error type enumeration
type |
description |
LIVENESS_INIT_FAILD |
Init error |
LIVENESS_CAMERA_ERROR |
Camera authority error |
LIVENESS_FACE_CHANGED |
Face change error |
LIVENESS_TIMEOUT |
Detection timeout error |
LIVENESS_WILL_RESIGN_ACTIVE |
App enters background |
LIVENESS_INTERNAL_ERROR |
Inner error |
LIVENESS_BUNDLEID_ERROR |
BundleID error |
LIVENESS_AUTH_EXPIRE |
License error |
LIVENESS_SEQUENCE_ERROR |
Action sequence error (starting with silence and only one silent action) error |
LIVENESS_FACE_MORE_THAN_ONE_ERROR |
Face more than one error |
LivefaceDetectionType
Detection type enumeration
type |
description |
LIVE_BLINK |
Blink detection |
LIVE_MOUTH |
Open mouth detection |
LIVE_YAW |
Left and right rotor detection |
LIVE_NOD |
Up and down nodding detection |
LIVE_HOLDSTILL |
Silent liveness detection |
LivefaceOrientation
Face direction enumeration
type |
description |
LIVE_FACE_UP |
Up |
LIVE_FACE_LEFT |
Left |
LIVE_FACE_DOWN |
Down |
LIVE_FACE_RIGHT |
Right |
LivefaceOutputType
Output type enumeration
type |
description |
LIVE_OUTPUT_MULTI_IMAGE |
Multi image type |
LivefaceRectStatus
Face state enumeration
type |
description |
LivefaceRectStatusNone |
None |
LivefaceRectStatusSuccess |
Success |
LivefaceRectStatusLarge |
Face size is large |