wangguolei

fix

No preview for this file type
... ... @@ -25,6 +25,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, copy) NSString * faceLivenessRightCheekOccludedText; //右脸颊有遮挡
@property (nonatomic, copy) NSString * faceLivenessChinOccludedText; //下巴有遮挡
@property (nonatomic, copy) NSString * faceLivenessIlliumPoorText; //请使环境光线再亮些
@property (nonatomic, copy) NSString * faceLivenessIlliumMuchText; //请使环境光线再暗些
@property (nonatomic, copy) NSString * faceLivenessblurredText; //请握稳手机,视线正对屏幕
@property (nonatomic, copy) NSString * faceLivenessLeftEyeNotOpenText; //左眼未睁开
@property (nonatomic, copy) NSString * faceLivenessRightEyeNotOpenText; //右眼未睁开
... ... @@ -34,6 +35,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, copy) NSString * faceLivenessActionHeadRightText; //向右缓慢转头
@property (nonatomic, copy) NSString * faceLivenessActionHeadUpText; //缓慢抬头
@property (nonatomic, copy) NSString * faceLivenessActionHeadDownText; //缓慢低头
@property (nonatomic, copy) NSString * faceLivenessActionUpDownText; //上下点头
@property (nonatomic, copy) NSString * faceLivenessActionYawText; //左右摇头
@property (nonatomic, copy) NSString * faceLivenessScreenWillFlash; //屏幕即将闪烁,请保持正脸
@property (nonatomic, copy) NSString * faceLivenessScreenColorChanging; //变光中,请保持正脸
@property (nonatomic, copy) NSString * faceLivenessCompletionText; //非常好
... ... @@ -42,6 +45,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, copy) NSString * faceLivenessVerifyFailedText; //验证失败
@property (nonatomic, copy) NSString * faceLivenessKeepFace; //请保持正脸
@property (nonatomic, copy) NSString * faceLivenessFaceCovered; //脸部有遮挡
@property (nonatomic, copy) NSString * faceLivenessFaceMoreThan; //检测多个人脸
/*
初始化方法
... ...
... ... @@ -70,6 +70,11 @@ NS_ASSUME_NONNULL_BEGIN
- (int)uninitCollect;
/**
* 数据埋点通知中心
*/
- (NSString *)eventTrackerNotification;
@end
NS_ASSUME_NONNULL_END
... ...
... ... @@ -76,14 +76,15 @@ typedef NS_ENUM(NSInteger, BDFaceColorSelectType) {
@property (nonatomic, assign) float leftCheekOcclus; //左脸遮挡置信度
@property (nonatomic, assign) float rightCheekOcclus; //右脸遮挡置信度
@property (nonatomic, assign) float chinOcclus; //下巴遮挡置信度
@property (nonatomic, assign) float eyeCloseValue; //质量检测眼睛闭合阈值
/*
【活体阈值】设置范围0-1,推荐阈值0.80
阈值越小:较好通过率
阈值越大:较好防御率
*/
@property (nonatomic, assign) float silentLiveThr; // 静默活体阈值
@property (nonatomic, assign) float LivenessThr; // 动作活体阈值
@property (nonatomic, assign) float colorLiveThr; // 炫瞳活体阈值
@property (nonatomic, assign) float silentLiveThr; // 静默活体阈值(废弃)
@property (nonatomic, assign) float LivenessThr; // 动作活体阈值(废弃)
@property (nonatomic, assign) float colorLiveThr; // 炫瞳活体阈值(废弃)
@property (nonatomic, assign) float imageScale; // 原始图缩放比例
@property (nonatomic, assign) int maxCropImageNum; // 设置照片采集张数
@property (nonatomic, assign) BOOL isCheckMouthMask; // 口罩开关 (此版本没有该功能)
... ... @@ -100,34 +101,40 @@ typedef NS_ENUM(NSInteger, BDFaceColorSelectType) {
设置界面参数
*/
@property (nonatomic, assign) BOOL isSoundMode; // 声音开关
@property (nonatomic, assign) BDFaceLiveSelectType liveSelectMode; // 活体方案
@property (nonatomic, assign) BDFaceColorSelectType colorSelectMode; // 界面外观
@property (nonatomic, assign) BOOL checkAgreeBtn; // 隐私协议开关
@property (nonatomic, assign) int numOfLiveness; // 活体动作池中有几个动作 (动作选取)
@property (nonatomic, assign) int actionLiveSelectNum; // 需要从动作活体动作池中抽取几个动作(动作数量)
@property (nonatomic, assign) int colorLiveSelectNum; // 需要从炫瞳活体动作池中抽取几个动作(动作数量)
@property (nonatomic, strong) NSMutableArray *liveActionArray; // 动作活体列表
@property (nonatomic, strong) NSMutableArray *colorActionArray; // 炫瞳动作列表
@property (nonatomic, strong) NSMutableArray *randomActionLiveActionArray; // 随机动作列表
@property (nonatomic, strong) NSMutableArray *randomColorLiveActionArray; // 随机动作列表
@property (nonatomic, assign) BOOL colorLiveMode; // 炫彩动作活体开关
/*
功能模块
*/
@property (nonatomic, assign) BOOL isCheckColorfulLive; // 炫彩活体
@property (nonatomic, assign) CGFloat conditionTimeout; // 超时时间
@property (nonatomic, assign) CGFloat intervalOfVoiceRemind; // 语音超时
@property (nonatomic, assign) int imageNum; // 输出图像个数
@property (nonatomic, assign) float minRectScale; // 人脸过远框比例 默认:0.4
@property (nonatomic, assign) float minRectScale; // 人脸过远框比例 默认:0.3
@property (nonatomic, assign) float maxRectScale; // 人脸过近框比例 默认:0.5
@property (nonatomic, assign) BOOL recordAbility; // 视频录制能力
@property (nonatomic, assign) BOOL colorJudgeAbility; // 炫彩颜色判断能力
@property (nonatomic, assign) BOOL colorJudgeAbility; // 炫彩颜色判断能力(废弃)
@property (nonatomic, assign) BOOL isIntoResultView; // 进入结果页面开关
@property (nonatomic, assign) BOOL isOpenRearCamera; // 后置摄像头开关
@property (nonatomic, assign) BOOL isCompressImage; // 是否压缩图片 默认:不压缩
@property (nonatomic, assign) int compressValue; // 压缩图片大小 默认:0kb
@property (nonatomic, assign) BOOL isCompressImage; // 是否压缩图片 默认:压缩
@property (nonatomic, assign) int compressValue; // 压缩图片大小 默认:300kb
@property (nonatomic, assign) BOOL isPopWindow; // 是否超时弹窗 默认:弹窗
@property (nonatomic, assign) int outputImageType; // 返回图片类型 默认:0(原图) 1(抠图)
@property (nonatomic, assign) BOOL enableUseDefinedCamera; // iOS13及以下版本,是否开启自定义配置,默认NO
@property (nonatomic, assign) BOOL isStrict; // 眨眼、张嘴动作添加遮挡判断 默认:不严格
@property (nonatomic, assign) BOOL isLivenessType; // 是否开启动作活体 默认:打开
@property (nonatomic, assign) BOOL isColorType; // 是否开启炫彩活体 默认:打开
@property (nonatomic, assign) BOOL isChangeAction; // 是否开启动作失败切换动作 默认:关闭
@property (nonatomic, assign) BOOL isSaveEventLogs; // 是否开启数据埋点 默认:不开启
@property (nonatomic, assign) int recordingDuration; // 录制长度,默认60s,范围1~60
@property (nonatomic, strong) NSString * encryptKeyStr; // 安全加密key设置 默认:idl-key.face-ios
@property (nonatomic, assign) BOOL enableVideoFileEmpty; // 是否允许录制的视频文件不存在,默认false
@property (nonatomic, assign) BOOL enableFaceFailVideo; // 是否支持保存检测异常时的视频文件,默认false
@property (nonatomic, strong) NSString *liveness_languageType; // 初始化语言 默认ZH_CN 目前支持EN英文显示
@property (nonatomic, assign) BOOL isShowIDCard; // 是否显示个人传入信息 默认不传入
/*
初始化方法
... ...
... ... @@ -20,6 +20,8 @@ typedef NS_ENUM(NSInteger, BDFaceCompletionStatusCode) {
BDFaceStatusCameraError = -302, // 没有授权镜头
BDFaceStatusVideoRecordingFail = -303, // 视频录制错误
BDFaceStatusCropImageError = -305, // 抠图失败
BDFaceStatusEncryptFail = -311, // 加密失败
BDFaceStatusSystemVideoFail = -313, // 视频录制失败-系统异常
BDFaceStatusTimeout = -401, // 超时
BDFaceStatusColorMatchFailed = -402, // 炫彩色彩错误
BDFaceStatusVideoColorScoreFailed = -403, // 炫彩分数错误
... ...
//
// BDFaceDef.h
// IDLFaceSDK
//
// Created by v_renshaolei on 2023/9/11.
// Copyright © 2023 Baidu. All rights reserved.
//
typedef NS_ENUM(NSInteger, FaceLivenessActionType) {
FaceLivenessActionTypeLiveEye = 0,
FaceLivenessActionTypeLiveMouth = 1,
FaceLivenessActionTypeLiveYawRight = 2,
FaceLivenessActionTypeLiveYawLeft = 3,
FaceLivenessActionTypeLivePitchUp = 4,
FaceLivenessActionTypeLivePitchDown = 5,
FaceLivenessActionTypeLiveUpDown = 6, //向下低头
FaceLivenessActionTypeShakeHead = 7,
FaceLivenessActionTypeNoAction = 8,
};
typedef NS_ENUM(NSUInteger, ResultCode) {
ResultCodeOK,
ResultCodePitchOutofDownRange, //头部偏低
ResultCodePitchOutofUpRange, //头部偏高
ResultCodeYawOutofLeftRange, //头部偏左
ResultCodeYawOutofRightRange, //头部偏右
ResultCodeTooBrightIllumination, // 光线过亮
ResultCodePoorIllumination, //光照不足
ResultCodeNoFaceDetected, //没有检测到人脸
ResultCodeFaceMoreThanOneDetected, //检测到多个人脸
ResultCodeDataHitOne, //采集到一张照片
ResultCodeDataHitLast, //采集到最后一张照片
ResultCodeImageBlured, //图像模糊
ResultCodeOcclusionLeftEye, //左眼有遮挡
ResultCodeOcclusionRightEye, //右眼有遮挡
ResultCodeOcclusionNose, //鼻子有遮挡
ResultCodeOcclusionMouth, //嘴巴有遮挡
ResultCodeOcclusionLeftContour, //左脸颊有遮挡
ResultCodeOcclusionRightContour, //右脸颊有遮挡
ResultCodeOcclusionChinCoutour, //下颚有遮挡
ResultCodeVerifyInitError, //鉴权失败
ResultCodeVerifyDecryptError,
ResultCodeVerifyInfoFormatError,
ResultCodeVerifyExpired,
ResultCodeVerifyMissRequiredInfo,
ResultCodeVerifyInfoCheckError,
ResultCodeVerifyLocalFileError,
ResultCodeVerifyRemoteDataError,
ResultCodeLeftEyeClosed,
ResultCodeRightEyeClosed,
ResultCodeUnknowType //未知类型
};
typedef NS_ENUM(NSUInteger, TrackResultCode) {
TrackResultCodeOK,
TrackResultCodeImageBlured, // 图像模糊
TrackResultCodePoorIllumination, // 光照不行
TrackResultCodeNoFaceDetected, //没有检测到人脸
TrackResultCodeOcclusionLeftEye, //左眼有遮挡
TrackResultCodeOcclusionRightEye, //右眼有遮挡
TrackResultCodeOcclusionNose, //鼻子有遮挡
TrackResultCodeOcclusionMouth, //嘴巴有遮挡
TrackResultCodeOcclusionLeftContour, //左脸颊有遮挡
TrackResultCodeOcclusionRightContour, //右脸颊有遮挡
TrackResultCodeOcclusionChinCoutour, //下颚有遮挡
TrackResultCodeVerifyInitError, //鉴权失败
TrackResultCodeVerifyDecryptError,
TrackResultCodeVerifyInfoFormatError,
TrackResultCodeVerifyExpired,
TrackResultCodeVerifyMissRequiredInfo,
TrackResultCodeVerifyInfoCheckError,
TrackResultCodeVerifyLocalFileError,
TrackResultCodeVerifyRemoteDataError,
TrackResultCodeUnknowType //未知类型
};
... ...
... ... @@ -17,7 +17,7 @@
@property (nonatomic, readwrite, assign) BOOL isByOrder;
@property (nonatomic, readwrite, assign) NSInteger numOfLiveness;
@property (nonatomic, readwrite, strong) NSMutableArray *liveActionArray;
@property (nonatomic, readwrite, strong) NSMutableArray *colorActionArray;
//@property (nonatomic, readwrite, strong) NSMutableArray *colorActionArray;
- (void)resetState;
... ...
//
// BDFaceSaveFile.h
// IDLFaceSDK
//
// Created by 之哥 on 2022/10/18.
// Copyright © 2022 Baidu. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface BDFaceSaveFile : NSObject
//-(BOOL)saveStringToFile:(NSString *)str;
+(void)saveStringToFile:(NSString *)string;
@end
NS_ASSUME_NONNULL_END
... ...
... ... @@ -97,5 +97,7 @@ is_IphoneXseries; \
#endif
#define TS_NOW [[NSDate date] timeIntervalSince1970]
#endif /* BDUIConstant_h */
... ...
... ... @@ -8,74 +8,7 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
typedef NS_ENUM(NSInteger, FaceLivenessActionType) {
FaceLivenessActionTypeLiveEye = 0,
FaceLivenessActionTypeLiveMouth = 1,
FaceLivenessActionTypeLiveYawRight = 2,
FaceLivenessActionTypeLiveYawLeft = 3,
FaceLivenessActionTypeLivePitchUp = 4,
FaceLivenessActionTypeLivePitchDown = 5,
FaceLivenessActionTypeNoAction = 6,
};
typedef NS_ENUM(NSUInteger, ResultCode) {
ResultCodeOK,
ResultCodePitchOutofDownRange, //头部偏低
ResultCodePitchOutofUpRange, //头部偏高
ResultCodeYawOutofLeftRange, //头部偏左
ResultCodeYawOutofRightRange, //头部偏右
ResultCodeTooBrightIllumination, // 光线过亮
ResultCodePoorIllumination, //光照不足
ResultCodeNoFaceDetected, //没有检测到人脸
ResultCodeDataHitOne, //采集到一张照片
ResultCodeDataHitLast, //采集到最后一张照片
ResultCodeImageBlured, //图像模糊
ResultCodeOcclusionLeftEye, //左眼有遮挡
ResultCodeOcclusionRightEye, //右眼有遮挡
ResultCodeOcclusionNose, //鼻子有遮挡
ResultCodeOcclusionMouth, //嘴巴有遮挡
ResultCodeOcclusionLeftContour, //左脸颊有遮挡
ResultCodeOcclusionRightContour, //右脸颊有遮挡
ResultCodeOcclusionChinCoutour, //下颚有遮挡
ResultCodeVerifyInitError, //鉴权失败
ResultCodeVerifyDecryptError,
ResultCodeVerifyInfoFormatError,
ResultCodeVerifyExpired,
ResultCodeVerifyMissRequiredInfo,
ResultCodeVerifyInfoCheckError,
ResultCodeVerifyLocalFileError,
ResultCodeVerifyRemoteDataError,
ResultCodeLeftEyeClosed,
ResultCodeRightEyeClosed,
ResultCodeUnknowType //未知类型
};
typedef NS_ENUM(NSUInteger, TrackResultCode) {
TrackResultCodeOK,
TrackResultCodeImageBlured, // 图像模糊
TrackResultCodePoorIllumination, // 光照不行
TrackResultCodeNoFaceDetected, //没有检测到人脸
TrackResultCodeOcclusionLeftEye, //左眼有遮挡
TrackResultCodeOcclusionRightEye, //右眼有遮挡
TrackResultCodeOcclusionNose, //鼻子有遮挡
TrackResultCodeOcclusionMouth, //嘴巴有遮挡
TrackResultCodeOcclusionLeftContour, //左脸颊有遮挡
TrackResultCodeOcclusionRightContour, //右脸颊有遮挡
TrackResultCodeOcclusionChinCoutour, //下颚有遮挡
TrackResultCodeVerifyInitError, //鉴权失败
TrackResultCodeVerifyDecryptError,
TrackResultCodeVerifyInfoFormatError,
TrackResultCodeVerifyExpired,
TrackResultCodeVerifyMissRequiredInfo,
TrackResultCodeVerifyInfoCheckError,
TrackResultCodeVerifyLocalFileError,
TrackResultCodeVerifyRemoteDataError,
TrackResultCodeUnknowType //未知类型
};
#import "BDFaceDef.h"
@class FaceInfo;
@class FaceLivenessState;
... ... @@ -96,6 +29,8 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
@property (nonatomic, assign) int imageEncrypteType;
/* 人脸过远框比例 默认:0.3 */
@property (nonatomic, assign) float minRectScale;
/* 人脸过近框比例 默认:0.5 */
@property (nonatomic, assign) float maxRectScale;
/* 视频录制能力 */
@property (nonatomic, assign) BOOL recordAbility;
/* 炫彩颜色判断能力 */
... ... @@ -108,6 +43,27 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
@property (nonatomic, assign) float livenessThresholdValue;
/* 活体检测阈值 默认:0.8 */
@property (nonatomic, assign) float colorLiveThresholdValue;
/* 是否压缩图片 默认:压缩 */
@property (nonatomic, assign) BOOL isCompressImage;
/* 压缩图片大小 默认:300kb */
@property (nonatomic, assign) int compressValue;
/* 是否超时弹窗 默认:弹窗 */
@property (nonatomic, assign) BOOL isPopWindow;
/* 眨眼、张嘴动作添加遮挡判断 默认:不严格 */
@property (nonatomic, assign) BOOL isStrict;
/* 数据埋点 默认:不开启 */
@property (nonatomic, assign) BOOL isSaveEventLogs;
/* 是否开启动作失败切换动作 默认:关闭 */
@property (nonatomic, assign) BOOL isChangeAction;
/* 动作失败后可以随机一个动作替换失败动作的活体动作列表 */
@property (nonatomic, strong) NSMutableArray *canRandomLiveActionArray;
/* 安全加密key 默认:idl-key.face-ios */
@property (nonatomic ,strong) NSString *encryptKey;
/* 活体、炫彩剩余时间*/
@property (nonatomic, assign) CGFloat livenessColorTime;
+ (instancetype)sharedInstance;
... ... @@ -187,6 +143,12 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
-(void)setOccluLeftEyeThreshold:(CGFloat)thr ;
/**
* 眼睛闭合置信度
* 默认0.7
*/
-(void)setEyeCloseThreshold:(CGFloat)thr ;
/**
* 质量检测遮挡阈值- 右眼遮挡置信度
* 默认0.31
*/
... ... @@ -323,6 +285,10 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
* 人脸过远框比例 默认:0.4
*/
- (void)setMinRect:(float) minRectScale;
/**
* 人脸过近框比例 默认:0.5
*/
- (void)setMaxRect:(float) maxRectScale;
/**
* 活体检测阈值 默认:0.8
... ... @@ -350,7 +316,7 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
- (void)setColorJudgeAbility:(BOOL) colorJudgeAbility;
/**
* 图片是否压缩 默认:压缩
* 图片是否压缩 默认:压缩
*/
- (void)setIsCompressImage:(BOOL)isCompressImage;
... ... @@ -365,6 +331,24 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
- (void)setIsPopWindow:(BOOL) isPopWindow;
/**
* 质量检测闭眼阈值设置 默认:0.8
*/
- (void)setEyeCloseValue:(float) eyeCloseValue;
/**
* 眨眼、张嘴动作添加遮挡判断 默认:不严格
*/
- (void)setIsStrict:(BOOL) isStrict;
/**
* 数据埋点 默认:不开启
*/
-(void)setIsSaveEventLogs:(BOOL) isSaveEventLogs;
/**
* 安全加密key 默认:idl-key.face-ios
*/
-(void)setEncryptKey:(NSString *) encryptKey;
/**
* 采集动作验证
* @param image 检测的图片
* @param isOriginal 是否返回原始图片
... ... @@ -390,11 +374,19 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
- (void)colorWithImage:(UIImage *)image isRreturnOriginalValue:(BOOL) isOriginal isColorQuality:(BOOL)colorQuality completion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion;
/**
* 炫彩颜色验证
* @param image 已经成功采集对应颜色的图片
* @param completion 判断采集是否完成,人脸信息状态是否正常
* 六颜色炫彩图片得分接口
* @param image 当前采集图片
* @param color 当前采集图片对应颜色
* @param completion 返回错误码,0为成功
*/
- (void)colorWithImage:(UIImage *)image color:(NSString *)color completion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion;
- (void)colorLiveGetDataCompletion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion;
/*
图片压缩
*/
- (void)colorWithImage:(UIImage *)image anotherImage:(UIImage *)anotherImage color:(NSString *)color anotherColor:(NSString *)anotherColor completion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion;
- (UIImage *)compressImageDataWithMaxLength:(NSUInteger)maxLength image:(UIImage *)image;
@end
... ... @@ -423,6 +415,14 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
* 动作活体-低头
*/
@property(nonatomic, assign) BOOL isLivePitchDown;
/**
* 动作活体-摇摇头
*/
@property(nonatomic, assign) BOOL isLiveShakeHead;
/**
* 动作活体-点点头
*/
@property(nonatomic, assign) BOOL isLiveUpDown;
@end
@interface FaceCropImageInfo : NSObject
... ... @@ -542,6 +542,11 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
@property (nonatomic,assign) float outPutColorScore;
/**
* 炫彩活体RGB 炫彩活体结果
*/
@property (nonatomic,assign) float outPutColorResult;
/**
* 炫彩活体RGB 炫彩活体得分
*/
@property (nonatomic,assign) float colorAuraliveScore;
... ...
... ... @@ -23,7 +23,10 @@ typedef NS_ENUM(NSInteger, SSFaceProcessStatus) {
SSFaceProcessStatusResultFail = -301, // 构建数据异常
SSFaceProcessStatusCameraError = -302, // 没有授权镜头
SSFaceProcessStatusVideoRecordingFail = -303, // 视频录制失败
SSFaceProcessStatusCropImageError = -305, // 抠图失败
SSFaceProcessStatusEncryptFail = -311, // 加密失败
SSFaceProcessStatusSystemVideoFail = -313, // 视频录制失败-系统异常
SSFaceProcessStatusTimeout = -401, // 超时
SSFaceProcessStatusColorMatchFailed = -402, // 炫彩色彩错误
... ... @@ -31,7 +34,7 @@ typedef NS_ENUM(NSInteger, SSFaceProcessStatus) {
SSFaceProcessStatusDetectSilentNoPass = -404, // 静默活体分数未通过
SSFaceProcessStatusLivenessSilentNoPass = -405, // 动作活体分数未通过
};
/**
* 活体检测过程中,返回活体总数,当前成功个数,当前活体类型
*/
... ... @@ -95,6 +98,19 @@ __attribute__((visibility("default")))
// BDFaceDetectionTypeColorfulLiveness流程中是否开启动作活体
@property (nonatomic, assign) BOOL enableLivenessInColorfulFlow;
// 录制长度,默认60s,范围1~60
@property (nonatomic, assign) NSInteger recordingDuration;
// iOS13及以下版本,是否开启自定义配置,默认NO
@property (nonatomic, assign) BOOL enableUseDefinedCameraL13;
// 是否允许录制的视频文件不存在,默认false
@property (nonatomic, assign) BOOL enableVideoFileEmpty;
// 是否支持保存检测异常时的视频文件
@property (nonatomic, assign) BOOL enableFaceFailVideo;
+ (instancetype)sharedInstance;
... ... @@ -130,7 +146,6 @@ __attribute__((visibility("default")))
*/
- (void)startRecordingVideo;
/**
* 活体检测过程中,返回活体总数,当前成功个数,当前活体类型
*/
... ...
... ... @@ -5,10 +5,10 @@
// Created by Tong,Shasha on 2017/5/15.
// Copyright © 2017年 Baidu. All rights reserved.
//
#import <UIKit/UIKit.h>
#define ATTR_VISIBILITY __attribute__((visibility("default")))
//
///**
... ... @@ -21,9 +21,11 @@ typedef NS_ENUM(NSInteger, LivenessActionType) {
LivenessActionTypeLiveYawLeft = 3,
LivenessActionTypeLivePitchUp = 4,
LivenessActionTypeLivePitchDown = 5,
LivenessActionTypeNoAction = 6,
LivenessActionTypeLiveUpDown = 6,
LivenessActionTypeShakeHead = 7,
LivenessActionTypeNoAction = 8,
};
///**
// * 活体检测的返回状态
// */
... ... @@ -31,6 +33,7 @@ typedef NS_ENUM(NSUInteger, LivenessRemindCode) {
LivenessRemindCodeOK = 0, //成功
LivenessRemindCodeBeyondPreviewFrame, //出框
LivenessRemindCodeNoFaceDetected, //没有检测到人脸
LivenessRemindCodeFaceMoreThanOneDetected,
LivenessRemindCodeMuchIllumination,
LivenessRemindCodePoorIllumination, //光照不足
LivenessRemindCodeImageBlured, //图像模糊
... ... @@ -56,6 +59,7 @@ typedef NS_ENUM(NSUInteger, LivenessRemindCode) {
LivenessRemindCodeLivePitchUp, //向上抬头
LivenessRemindCodeLivePitchDown, //向下低头
LivenessRemindCodeLiveYaw, //摇摇头
LivenessRemindCodeLiveUpDown, // 点点头
LivenessRemindCodeSingleLivenessFinished, //完成一个活体动作
LivenessRemindActionCodeTimeout, // 当前活体动作超时
LivenessRemindCodeLeftEyeClosed, //左眼关闭
... ... @@ -64,8 +68,8 @@ typedef NS_ENUM(NSUInteger, LivenessRemindCode) {
LivenessRemindCodeFaceIdChanged, // faceid 发生变化
LivenessRemindCodeSilentNoPass //静默活体分数未通过
};
///**
// * 人脸探测的返回状态
// */
... ... @@ -73,6 +77,7 @@ typedef NS_ENUM(NSUInteger, DetectRemindCode) {
DetectRemindCodeOK = 0, //成功
DetectRemindCodeBeyondPreviewFrame, //出框
DetectRemindCodeNoFaceDetected, //没有检测到人脸
DetectRemindCodeFaceMoreThanOneDetected, //检测到多个人脸
DetectRemindCodeMuchIllumination,
DetectRemindCodePoorIllumination, //光照不足
DetectRemindCodeImageBlured, //图像模糊
... ... @@ -115,12 +120,13 @@ typedef NS_ENUM(NSUInteger, TrackDetectRemindCode) {
TrackDetectRemindCodeBeyondPreviewFrame //出框
};
typedef NS_ENUM(NSUInteger, ColorRemindCode) {
ColorRemindCodeOK = 0, //成功
ColorRemindCodeBeyondPreviewFrame, //出框
ColorRemindCodeNoFaceDetected, //没有检测到人脸
ColorRemindCodeFaceMoreThanOneDetected, //没有检测到人脸
ColorRemindCodeMuchIllumination,
ColorRemindCodePoorIllumination, //光照不足
ColorRemindCodeImageBlured, //图像模糊
... ... @@ -137,18 +143,17 @@ typedef NS_ENUM(NSUInteger, ColorRemindCode) {
ColorRemindCodeOcclusionLeftContour, //左脸颊有遮挡
ColorRemindCodeOcclusionRightContour, //右脸颊有遮挡
ColorRemindCodeOcclusionChinCoutour, //下颚有遮挡
// ColorRemindCodeOcclusioneyebrow, //眉毛有遮挡
ColorRemindCodeTimeout, //超时
ColorRemindCodeVerifyInitError, //鉴权失败
ColorRemindCodeSuccess, //炫彩活体采集成功
ColorRemindCodeColorMatchFailed, //炫彩活体采集失败颜色匹配失败
ColorRemindCodeScoreFailed, //炫彩活体采集失败分数过低
ColorRemindCodeColorMatchFailed, //炫彩活体采集失败
ColorRemindCodeScreenWillFlash, //屏幕即将闪烁
ColorRemindCodeBreak, //炫彩中途失败,由于当前颜色没有拿到质量满足的图片
ColorRemindCodeComplete, //炫彩活体完成
ColorRemindCodeChangeColor,//炫彩颜色变换
ColorRemindCodeChangeColor,
ColorRemindCodeFaceIdChanged // faceid 发生变化
};
/**
* 证件类型
*/
... ... @@ -157,7 +162,7 @@ FOUNDATION_EXPORT ATTR_VISIBILITY FaceIdCardType const KFaceIdCardTypeDefault; /
FOUNDATION_EXPORT ATTR_VISIBILITY FaceIdCardType const KFaceIdCardTypeMTPIDCard; // 港澳居民来往内地通行证
FOUNDATION_EXPORT ATTR_VISIBILITY FaceIdCardType const KFaceIdCardTypeFPRIDCard; // 外国人永久居留身份证
FOUNDATION_EXPORT ATTR_VISIBILITY FaceIdCardType const KFaceIdCardTypePassport; // 定居国外的中国公民护照
/**
* 活体控制
*/
... ... @@ -166,7 +171,7 @@ FOUNDATION_EXPORT ATTR_VISIBILITY FaceLivenessControlType const FaceLivenessCont
FOUNDATION_EXPORT ATTR_VISIBILITY FaceLivenessControlType const FaceLivenessControlTypeLow;
FOUNDATION_EXPORT ATTR_VISIBILITY FaceLivenessControlType const FaceLivenessControlTypeNormal;
FOUNDATION_EXPORT ATTR_VISIBILITY FaceLivenessControlType const FaceLivenessControlTypeHeight;
/**
* 合成图控制
*/
... ... @@ -175,7 +180,7 @@ FOUNDATION_EXPORT ATTR_VISIBILITY FaceSpoofingControlType const FaceSpoofingCont
FOUNDATION_EXPORT ATTR_VISIBILITY FaceSpoofingControlType const FaceSpoofingControlTypeLow;
FOUNDATION_EXPORT ATTR_VISIBILITY FaceSpoofingControlType const FaceSpoofingControlTypeNormal;
FOUNDATION_EXPORT ATTR_VISIBILITY FaceSpoofingControlType const FaceSpoofingControlTypeHeight;
/**
* 质量控制
*/
... ... @@ -184,7 +189,7 @@ FOUNDATION_EXPORT ATTR_VISIBILITY FaceQualityControlType const FaceQualityContro
FOUNDATION_EXPORT ATTR_VISIBILITY FaceQualityControlType const FaceQualityControlTypeLow;
FOUNDATION_EXPORT ATTR_VISIBILITY FaceQualityControlType const FaceQualityControlTypeNormal;
FOUNDATION_EXPORT ATTR_VISIBILITY FaceQualityControlType const FaceQualityControlTypeHeight;
/**
* 上传图片信息类型
*/
... ... @@ -192,7 +197,7 @@ typedef NSString *FaceRegisterImageType NS_STRING_ENUM;
FOUNDATION_EXPORT ATTR_VISIBILITY FaceRegisterImageType const FaceRegisterImageTypeBase64;
FOUNDATION_EXPORT ATTR_VISIBILITY FaceRegisterImageType const FaceRegisterImageTypeURL;
FOUNDATION_EXPORT ATTR_VISIBILITY FaceRegisterImageType const FaceRegisterImageTypeFaceToken;
/**
* 人脸图片类型
*/
... ... @@ -202,7 +207,7 @@ FOUNDATION_EXPORT ATTR_VISIBILITY FaceFaceType const FaceFaceTypeIDCard;
FOUNDATION_EXPORT ATTR_VISIBILITY FaceFaceType const FaceFaceTypeWaterMark;
FOUNDATION_EXPORT ATTR_VISIBILITY FaceFaceType const FaceFaceTypeCert;
FOUNDATION_EXPORT ATTR_VISIBILITY FaceFaceType const FaceFaceTypeInfred;
/**
* 人脸检测排序类型
*/
... ... @@ -210,7 +215,7 @@ typedef NS_ENUM(NSInteger, FaceSortype) {
FaceSortypeAreaFromBigToSmall = 0,
FaceSortypeDistanceNearToFar = 1
};
/**
* 人脸采集结果参与业务流程
*/
... ... @@ -239,3 +244,4 @@ typedef NS_ENUM(NSInteger, SSFaceProcessImageType) {
#import "FaceSDKManager.h"
#import "SSFaceProcessManager.h"
#import "BDFaceSaveFile.h"
... ...
... ... @@ -10,19 +10,19 @@
</data>
<key>Headers/BDFaceBaseKitLivenessTipCustomConfigItem.h</key>
<data>
8pIZRMHWLEVOuaBwj5MRKE+ISXQ=
M+pAl5+Uv7UAhme2DkHjI1sZdZ0=
</data>
<key>Headers/BDFaceBaseKitManager.h</key>
<data>
3seyh4Ix1e6BAVSBa7Sz1bv3fv0=
RjaUicxqCIziq2Oku0bZcQAUwSE=
</data>
<key>Headers/BDFaceBaseKitParamsCustomConfigItem.h</key>
<data>
zqhzsbFtoFfIUN2YFcjKR2SeJzk=
/ui8B4EJwz+O1OqaLv08DBoLJc4=
</data>
<key>Headers/BDFaceBaseKitRemindErrorCode.h</key>
<data>
LTatOxvX6RdhURgVIZPRkDJ/CGI=
PtxoKpp2klRmGDaN8LxBcNNEpp0=
</data>
<key>Headers/BDFaceBaseKitUICustomConfigItem.h</key>
<data>
... ... @@ -32,9 +32,17 @@
<data>
gMUhthd3kgZKeyMcVjZ+WxU1Vg0=
</data>
<key>Headers/BDFaceDef.h</key>
<data>
6qnGkxZqZD6d1XnEHoGTuou/Ph8=
</data>
<key>Headers/BDFaceLivingConfigModel.h</key>
<data>
c/ooSPcNAsMLPh+Iw0iJb94KvFg=
7UwA12sj4HdyAiKW13rurQPEaMA=
</data>
<key>Headers/BDFaceSaveFile.h</key>
<data>
hiXEM8d1zBNEe8wyikrUshUu5gw=
</data>
<key>Headers/BDFaceToastView.h</key>
<data>
... ... @@ -46,19 +54,19 @@
</data>
<key>Headers/BDUIConstant.h</key>
<data>
VSPnA5vCoOoRPV0crHz28uxo2OU=
ZxOkhbI1cJphEkob7tUbszgoNOA=
</data>
<key>Headers/FaceSDKManager.h</key>
<data>
5exgbDkpmJ9DNy5fSQesJLuwwo0=
igFNJyK1GcAlDnuUuNVjv6FiN9Q=
</data>
<key>Headers/SSFaceProcessManager.h</key>
<data>
n0+7eYH4iu4TmKSxPx/ykWNvhPs=
9mW27YcNeUYW7PhC0xnKSuuaFCY=
</data>
<key>Headers/SSFaceSDK.h</key>
<data>
tRdTJj66lLL33V/L2GkdNC1PT20=
zZOwMzJ8/Ywqd1e/C/8J32F6T90=
</data>
<key>Headers/UIColor+BDFaceColorUtils.h</key>
<data>
... ... @@ -70,7 +78,7 @@
</data>
<key>Info.plist</key>
<data>
zDBrqpvhq1n/g+8W+HqTzMPeBgM=
BIiL1gGA9KGvldxNEejKcq8FSAg=
</data>
<key>Modules/module.modulemap</key>
<data>
... ... @@ -94,44 +102,44 @@
<dict>
<key>hash</key>
<data>
8pIZRMHWLEVOuaBwj5MRKE+ISXQ=
M+pAl5+Uv7UAhme2DkHjI1sZdZ0=
</data>
<key>hash2</key>
<data>
9Yvhvkj3eMSu7wOfUX3R43PgEAcSbaMqpFZ2y8/I3do=
PS6uEGLcl2FXhfaJqMUdkovL3h2Q0oCHzREkr+lqUj4=
</data>
</dict>
<key>Headers/BDFaceBaseKitManager.h</key>
<dict>
<key>hash</key>
<data>
3seyh4Ix1e6BAVSBa7Sz1bv3fv0=
RjaUicxqCIziq2Oku0bZcQAUwSE=
</data>
<key>hash2</key>
<data>
aby/Lv2740ftaKfie83NDCVEaKaYKN0GXscvkmsLXcc=
IHLr1lfIV43Nu9dIjz488vyU7UiUbC1h/vluAZdmn2Y=
</data>
</dict>
<key>Headers/BDFaceBaseKitParamsCustomConfigItem.h</key>
<dict>
<key>hash</key>
<data>
zqhzsbFtoFfIUN2YFcjKR2SeJzk=
/ui8B4EJwz+O1OqaLv08DBoLJc4=
</data>
<key>hash2</key>
<data>
dsuZK3Oq3wZFJgtW5UTc4ppEqSSWhGQmos9OFT9gqNI=
toV1iMEoe9J2jCoOPoeWmwlnic7VU4STukVU5c38BI0=
</data>
</dict>
<key>Headers/BDFaceBaseKitRemindErrorCode.h</key>
<dict>
<key>hash</key>
<data>
LTatOxvX6RdhURgVIZPRkDJ/CGI=
PtxoKpp2klRmGDaN8LxBcNNEpp0=
</data>
<key>hash2</key>
<data>
Ro0Gmzz5ZdVA/XhtRlZCdUd/vj9D9oNfkVLIT9whc/0=
8V/s+0bbUp1noREu9Scf452MTor3h6QOvZka2+By238=
</data>
</dict>
<key>Headers/BDFaceBaseKitUICustomConfigItem.h</key>
... ... @@ -156,15 +164,37 @@
SxDByYLFmbey4hydcFjjNRYdbfwRlQmjP/L4D7D6Dic=
</data>
</dict>
<key>Headers/BDFaceDef.h</key>
<dict>
<key>hash</key>
<data>
6qnGkxZqZD6d1XnEHoGTuou/Ph8=
</data>
<key>hash2</key>
<data>
1cVeGWGj1sk9r5XmE9agNIkHYFMQKmgK7Ji46MrBAuo=
</data>
</dict>
<key>Headers/BDFaceLivingConfigModel.h</key>
<dict>
<key>hash</key>
<data>
c/ooSPcNAsMLPh+Iw0iJb94KvFg=
7UwA12sj4HdyAiKW13rurQPEaMA=
</data>
<key>hash2</key>
<data>
BBg+7IVCXIjcb4S+yQEq3WL2jeiXbFZK7wf+pA98l1c=
</data>
</dict>
<key>Headers/BDFaceSaveFile.h</key>
<dict>
<key>hash</key>
<data>
hiXEM8d1zBNEe8wyikrUshUu5gw=
</data>
<key>hash2</key>
<data>
P6PmHDQO9vKJqzBXKCyezELShKqvo6/jIhUxB1rrRXs=
AzaRwYeUK52fUAhZJktOSXYGg7pkrhBRHjrrSp42cqU=
</data>
</dict>
<key>Headers/BDFaceToastView.h</key>
... ... @@ -193,44 +223,44 @@
<dict>
<key>hash</key>
<data>
VSPnA5vCoOoRPV0crHz28uxo2OU=
ZxOkhbI1cJphEkob7tUbszgoNOA=
</data>
<key>hash2</key>
<data>
1ITrrmZPtCCNVNioGNCg/SkF8JN12bD/lIqpYEJFwPc=
DfE6qi0rFlsqt7GAKY+V4x2TA6G970Xfqp5ZtUTBr34=
</data>
</dict>
<key>Headers/FaceSDKManager.h</key>
<dict>
<key>hash</key>
<data>
5exgbDkpmJ9DNy5fSQesJLuwwo0=
igFNJyK1GcAlDnuUuNVjv6FiN9Q=
</data>
<key>hash2</key>
<data>
ayCFmyfsUrBZiS8RY7CzdDbDz5HzjSnRWnBBhRTfHKI=
W5ZL/fcXq2WhpRAXFNATpZTsOGfemDWb8aZYtNFBGzM=
</data>
</dict>
<key>Headers/SSFaceProcessManager.h</key>
<dict>
<key>hash</key>
<data>
n0+7eYH4iu4TmKSxPx/ykWNvhPs=
9mW27YcNeUYW7PhC0xnKSuuaFCY=
</data>
<key>hash2</key>
<data>
izfr7WmLCKztmg3IaZ1bY9bfEXkaObsQ089alXBDDOA=
88yrULGz7O/rEVlSkHTi1AtiY9RQEJHfnvFGqfEOX1M=
</data>
</dict>
<key>Headers/SSFaceSDK.h</key>
<dict>
<key>hash</key>
<data>
tRdTJj66lLL33V/L2GkdNC1PT20=
zZOwMzJ8/Ywqd1e/C/8J32F6T90=
</data>
<key>hash2</key>
<data>
qUj2zdk03N5gZyRBeIlF6IxesOlG1AwFLZVLlImgzbM=
ZjFhI2NmQbT8PgAyTXL50t0O6S+H40Ww97ilJBeDC34=
</data>
</dict>
<key>Headers/UIColor+BDFaceColorUtils.h</key>
... ...
{"onlineImageQuality":"NORMAL","onlineLivenessQuality":"NORMAL","version":"3.0.0","solutionType":"2","planId":"18602","faceActionNum":2,"faceLivenessType":1,"faceVerifyAction":["mouth","eye"],"livenessThreshold":0.8,"collection":2,"policeCheck":0,"policeThreshold":80,"localImageQuality":{"loose":{},"normal":{"minIllum":40,"maxIllum":220,"leftEyeOcclusion":0.8,"rightEyeOcclusion":0.8,"noseOcclusion":0.8,"mouseOcclusion":0.8,"leftContourOcclusion":0.8,"rightContourOcclusion":0.8,"chinOcclusion":0.8,"pitch":20,"yaw":18,"roll":20,"blur":0.6},"strict":{}}}
{"onlineImageQuality":"NORMAL","onlineLivenessQuality":"LOW","version":"3.0.0","solutionType":"2","planId":"18602","faceActionNum":2,"faceLivenessType":0,"faceVerifyAction":["eye","mouth"],"livenessThreshold":0.8,"collection":1,"policeCheck":0,"policeThreshold":80,"localImageQuality":{"loose":{},"normal":{"minIllum":40,"maxIllum":220,"leftEyeOcclusion":0.8,"rightEyeOcclusion":0.8,"noseOcclusion":0.8,"mouseOcclusion":0.8,"leftContourOcclusion":0.8,"rightContourOcclusion":0.8,"chinOcclusion":0.8,"pitch":20,"yaw":18,"roll":20,"blur":0.6},"strict":{}}}
\ No newline at end of file
... ...