Showing
22 changed files
with
300 additions
and
124 deletions
No preview for this file type
This file is too large to display.
| @@ -25,6 +25,7 @@ NS_ASSUME_NONNULL_BEGIN | @@ -25,6 +25,7 @@ NS_ASSUME_NONNULL_BEGIN | ||
| 25 | @property (nonatomic, copy) NSString * faceLivenessRightCheekOccludedText; //右脸颊有遮挡 | 25 | @property (nonatomic, copy) NSString * faceLivenessRightCheekOccludedText; //右脸颊有遮挡 |
| 26 | @property (nonatomic, copy) NSString * faceLivenessChinOccludedText; //下巴有遮挡 | 26 | @property (nonatomic, copy) NSString * faceLivenessChinOccludedText; //下巴有遮挡 |
| 27 | @property (nonatomic, copy) NSString * faceLivenessIlliumPoorText; //请使环境光线再亮些 | 27 | @property (nonatomic, copy) NSString * faceLivenessIlliumPoorText; //请使环境光线再亮些 |
| 28 | +@property (nonatomic, copy) NSString * faceLivenessIlliumMuchText; //请使环境光线再暗些 | ||
| 28 | @property (nonatomic, copy) NSString * faceLivenessblurredText; //请握稳手机,视线正对屏幕 | 29 | @property (nonatomic, copy) NSString * faceLivenessblurredText; //请握稳手机,视线正对屏幕 |
| 29 | @property (nonatomic, copy) NSString * faceLivenessLeftEyeNotOpenText; //左眼未睁开 | 30 | @property (nonatomic, copy) NSString * faceLivenessLeftEyeNotOpenText; //左眼未睁开 |
| 30 | @property (nonatomic, copy) NSString * faceLivenessRightEyeNotOpenText; //右眼未睁开 | 31 | @property (nonatomic, copy) NSString * faceLivenessRightEyeNotOpenText; //右眼未睁开 |
| @@ -34,6 +35,8 @@ NS_ASSUME_NONNULL_BEGIN | @@ -34,6 +35,8 @@ NS_ASSUME_NONNULL_BEGIN | ||
| 34 | @property (nonatomic, copy) NSString * faceLivenessActionHeadRightText; //向右缓慢转头 | 35 | @property (nonatomic, copy) NSString * faceLivenessActionHeadRightText; //向右缓慢转头 |
| 35 | @property (nonatomic, copy) NSString * faceLivenessActionHeadUpText; //缓慢抬头 | 36 | @property (nonatomic, copy) NSString * faceLivenessActionHeadUpText; //缓慢抬头 |
| 36 | @property (nonatomic, copy) NSString * faceLivenessActionHeadDownText; //缓慢低头 | 37 | @property (nonatomic, copy) NSString * faceLivenessActionHeadDownText; //缓慢低头 |
| 38 | +@property (nonatomic, copy) NSString * faceLivenessActionUpDownText; //上下点头 | ||
| 39 | +@property (nonatomic, copy) NSString * faceLivenessActionYawText; //左右摇头 | ||
| 37 | @property (nonatomic, copy) NSString * faceLivenessScreenWillFlash; //屏幕即将闪烁,请保持正脸 | 40 | @property (nonatomic, copy) NSString * faceLivenessScreenWillFlash; //屏幕即将闪烁,请保持正脸 |
| 38 | @property (nonatomic, copy) NSString * faceLivenessScreenColorChanging; //变光中,请保持正脸 | 41 | @property (nonatomic, copy) NSString * faceLivenessScreenColorChanging; //变光中,请保持正脸 |
| 39 | @property (nonatomic, copy) NSString * faceLivenessCompletionText; //非常好 | 42 | @property (nonatomic, copy) NSString * faceLivenessCompletionText; //非常好 |
| @@ -42,6 +45,7 @@ NS_ASSUME_NONNULL_BEGIN | @@ -42,6 +45,7 @@ NS_ASSUME_NONNULL_BEGIN | ||
| 42 | @property (nonatomic, copy) NSString * faceLivenessVerifyFailedText; //验证失败 | 45 | @property (nonatomic, copy) NSString * faceLivenessVerifyFailedText; //验证失败 |
| 43 | @property (nonatomic, copy) NSString * faceLivenessKeepFace; //请保持正脸 | 46 | @property (nonatomic, copy) NSString * faceLivenessKeepFace; //请保持正脸 |
| 44 | @property (nonatomic, copy) NSString * faceLivenessFaceCovered; //脸部有遮挡 | 47 | @property (nonatomic, copy) NSString * faceLivenessFaceCovered; //脸部有遮挡 |
| 48 | +@property (nonatomic, copy) NSString * faceLivenessFaceMoreThan; //检测多个人脸 | ||
| 45 | 49 | ||
| 46 | /* | 50 | /* |
| 47 | 初始化方法 | 51 | 初始化方法 |
| @@ -70,6 +70,11 @@ NS_ASSUME_NONNULL_BEGIN | @@ -70,6 +70,11 @@ NS_ASSUME_NONNULL_BEGIN | ||
| 70 | - (int)uninitCollect; | 70 | - (int)uninitCollect; |
| 71 | 71 | ||
| 72 | 72 | ||
| 73 | +/** | ||
| 74 | + * 数据埋点通知中心 | ||
| 75 | + */ | ||
| 76 | +- (NSString *)eventTrackerNotification; | ||
| 77 | + | ||
| 73 | @end | 78 | @end |
| 74 | 79 | ||
| 75 | NS_ASSUME_NONNULL_END | 80 | NS_ASSUME_NONNULL_END |
| @@ -76,14 +76,15 @@ typedef NS_ENUM(NSInteger, BDFaceColorSelectType) { | @@ -76,14 +76,15 @@ typedef NS_ENUM(NSInteger, BDFaceColorSelectType) { | ||
| 76 | @property (nonatomic, assign) float leftCheekOcclus; //左脸遮挡置信度 | 76 | @property (nonatomic, assign) float leftCheekOcclus; //左脸遮挡置信度 |
| 77 | @property (nonatomic, assign) float rightCheekOcclus; //右脸遮挡置信度 | 77 | @property (nonatomic, assign) float rightCheekOcclus; //右脸遮挡置信度 |
| 78 | @property (nonatomic, assign) float chinOcclus; //下巴遮挡置信度 | 78 | @property (nonatomic, assign) float chinOcclus; //下巴遮挡置信度 |
| 79 | +@property (nonatomic, assign) float eyeCloseValue; //质量检测眼睛闭合阈值 | ||
| 79 | /* | 80 | /* |
| 80 | 【活体阈值】设置范围0-1,推荐阈值0.80 | 81 | 【活体阈值】设置范围0-1,推荐阈值0.80 |
| 81 | 阈值越小:较好通过率 | 82 | 阈值越小:较好通过率 |
| 82 | 阈值越大:较好防御率 | 83 | 阈值越大:较好防御率 |
| 83 | */ | 84 | */ |
| 84 | -@property (nonatomic, assign) float silentLiveThr; // 静默活体阈值 | ||
| 85 | -@property (nonatomic, assign) float LivenessThr; // 动作活体阈值 | ||
| 86 | -@property (nonatomic, assign) float colorLiveThr; // 炫瞳活体阈值 | 85 | +@property (nonatomic, assign) float silentLiveThr; // 静默活体阈值(废弃) |
| 86 | +@property (nonatomic, assign) float LivenessThr; // 动作活体阈值(废弃) | ||
| 87 | +@property (nonatomic, assign) float colorLiveThr; // 炫瞳活体阈值(废弃) | ||
| 87 | @property (nonatomic, assign) float imageScale; // 原始图缩放比例 | 88 | @property (nonatomic, assign) float imageScale; // 原始图缩放比例 |
| 88 | @property (nonatomic, assign) int maxCropImageNum; // 设置照片采集张数 | 89 | @property (nonatomic, assign) int maxCropImageNum; // 设置照片采集张数 |
| 89 | @property (nonatomic, assign) BOOL isCheckMouthMask; // 口罩开关 (此版本没有该功能) | 90 | @property (nonatomic, assign) BOOL isCheckMouthMask; // 口罩开关 (此版本没有该功能) |
| @@ -100,34 +101,40 @@ typedef NS_ENUM(NSInteger, BDFaceColorSelectType) { | @@ -100,34 +101,40 @@ typedef NS_ENUM(NSInteger, BDFaceColorSelectType) { | ||
| 100 | 设置界面参数 | 101 | 设置界面参数 |
| 101 | */ | 102 | */ |
| 102 | @property (nonatomic, assign) BOOL isSoundMode; // 声音开关 | 103 | @property (nonatomic, assign) BOOL isSoundMode; // 声音开关 |
| 103 | -@property (nonatomic, assign) BDFaceLiveSelectType liveSelectMode; // 活体方案 | ||
| 104 | @property (nonatomic, assign) BDFaceColorSelectType colorSelectMode; // 界面外观 | 104 | @property (nonatomic, assign) BDFaceColorSelectType colorSelectMode; // 界面外观 |
| 105 | @property (nonatomic, assign) BOOL checkAgreeBtn; // 隐私协议开关 | 105 | @property (nonatomic, assign) BOOL checkAgreeBtn; // 隐私协议开关 |
| 106 | @property (nonatomic, assign) int numOfLiveness; // 活体动作池中有几个动作 (动作选取) | 106 | @property (nonatomic, assign) int numOfLiveness; // 活体动作池中有几个动作 (动作选取) |
| 107 | @property (nonatomic, assign) int actionLiveSelectNum; // 需要从动作活体动作池中抽取几个动作(动作数量) | 107 | @property (nonatomic, assign) int actionLiveSelectNum; // 需要从动作活体动作池中抽取几个动作(动作数量) |
| 108 | -@property (nonatomic, assign) int colorLiveSelectNum; // 需要从炫瞳活体动作池中抽取几个动作(动作数量) | ||
| 109 | @property (nonatomic, strong) NSMutableArray *liveActionArray; // 动作活体列表 | 108 | @property (nonatomic, strong) NSMutableArray *liveActionArray; // 动作活体列表 |
| 110 | -@property (nonatomic, strong) NSMutableArray *colorActionArray; // 炫瞳动作列表 | ||
| 111 | @property (nonatomic, strong) NSMutableArray *randomActionLiveActionArray; // 随机动作列表 | 109 | @property (nonatomic, strong) NSMutableArray *randomActionLiveActionArray; // 随机动作列表 |
| 112 | -@property (nonatomic, strong) NSMutableArray *randomColorLiveActionArray; // 随机动作列表 | ||
| 113 | -@property (nonatomic, assign) BOOL colorLiveMode; // 炫彩动作活体开关 | ||
| 114 | /* | 110 | /* |
| 115 | 功能模块 | 111 | 功能模块 |
| 116 | */ | 112 | */ |
| 117 | @property (nonatomic, assign) BOOL isCheckColorfulLive; // 炫彩活体 | 113 | @property (nonatomic, assign) BOOL isCheckColorfulLive; // 炫彩活体 |
| 118 | @property (nonatomic, assign) CGFloat conditionTimeout; // 超时时间 | 114 | @property (nonatomic, assign) CGFloat conditionTimeout; // 超时时间 |
| 119 | @property (nonatomic, assign) CGFloat intervalOfVoiceRemind; // 语音超时 | 115 | @property (nonatomic, assign) CGFloat intervalOfVoiceRemind; // 语音超时 |
| 120 | -@property (nonatomic, assign) int imageNum; // 输出图像个数 | ||
| 121 | -@property (nonatomic, assign) float minRectScale; // 人脸过远框比例 默认:0.4 | 116 | +@property (nonatomic, assign) float minRectScale; // 人脸过远框比例 默认:0.3 |
| 117 | +@property (nonatomic, assign) float maxRectScale; // 人脸过近框比例 默认:0.5 | ||
| 122 | @property (nonatomic, assign) BOOL recordAbility; // 视频录制能力 | 118 | @property (nonatomic, assign) BOOL recordAbility; // 视频录制能力 |
| 123 | -@property (nonatomic, assign) BOOL colorJudgeAbility; // 炫彩颜色判断能力 | 119 | +@property (nonatomic, assign) BOOL colorJudgeAbility; // 炫彩颜色判断能力(废弃) |
| 124 | @property (nonatomic, assign) BOOL isIntoResultView; // 进入结果页面开关 | 120 | @property (nonatomic, assign) BOOL isIntoResultView; // 进入结果页面开关 |
| 125 | @property (nonatomic, assign) BOOL isOpenRearCamera; // 后置摄像头开关 | 121 | @property (nonatomic, assign) BOOL isOpenRearCamera; // 后置摄像头开关 |
| 126 | -@property (nonatomic, assign) BOOL isCompressImage; // 是否压缩图片 默认:不压缩 | ||
| 127 | -@property (nonatomic, assign) int compressValue; // 压缩图片大小 默认:0kb | 122 | +@property (nonatomic, assign) BOOL isCompressImage; // 是否压缩图片 默认:压缩 |
| 123 | +@property (nonatomic, assign) int compressValue; // 压缩图片大小 默认:300kb | ||
| 128 | @property (nonatomic, assign) BOOL isPopWindow; // 是否超时弹窗 默认:弹窗 | 124 | @property (nonatomic, assign) BOOL isPopWindow; // 是否超时弹窗 默认:弹窗 |
| 129 | - | ||
| 130 | - | 125 | +@property (nonatomic, assign) int outputImageType; // 返回图片类型 默认:0(原图) 1(抠图) |
| 126 | +@property (nonatomic, assign) BOOL enableUseDefinedCamera; // iOS13及以下版本,是否开启自定义配置,默认NO | ||
| 127 | +@property (nonatomic, assign) BOOL isStrict; // 眨眼、张嘴动作添加遮挡判断 默认:不严格 | ||
| 128 | +@property (nonatomic, assign) BOOL isLivenessType; // 是否开启动作活体 默认:打开 | ||
| 129 | +@property (nonatomic, assign) BOOL isColorType; // 是否开启炫彩活体 默认:打开 | ||
| 130 | +@property (nonatomic, assign) BOOL isChangeAction; // 是否开启动作失败切换动作 默认:关闭 | ||
| 131 | +@property (nonatomic, assign) BOOL isSaveEventLogs; // 是否开启数据埋点 默认:不开启 | ||
| 132 | +@property (nonatomic, assign) int recordingDuration; // 录制长度,默认60s,范围1~60 | ||
| 133 | +@property (nonatomic, strong) NSString * encryptKeyStr; // 安全加密key设置 默认:idl-key.face-ios | ||
| 134 | +@property (nonatomic, assign) BOOL enableVideoFileEmpty; // 是否允许录制的视频文件不存在,默认false | ||
| 135 | +@property (nonatomic, assign) BOOL enableFaceFailVideo; // 是否支持保存检测异常时的视频文件,默认false | ||
| 136 | +@property (nonatomic, strong) NSString *liveness_languageType; // 初始化语言 默认ZH_CN 目前支持EN英文显示 | ||
| 137 | +@property (nonatomic, assign) BOOL isShowIDCard; // 是否显示个人传入信息 默认不传入 | ||
| 131 | 138 | ||
| 132 | /* | 139 | /* |
| 133 | 初始化方法 | 140 | 初始化方法 |
| @@ -20,6 +20,8 @@ typedef NS_ENUM(NSInteger, BDFaceCompletionStatusCode) { | @@ -20,6 +20,8 @@ typedef NS_ENUM(NSInteger, BDFaceCompletionStatusCode) { | ||
| 20 | BDFaceStatusCameraError = -302, // 没有授权镜头 | 20 | BDFaceStatusCameraError = -302, // 没有授权镜头 |
| 21 | BDFaceStatusVideoRecordingFail = -303, // 视频录制错误 | 21 | BDFaceStatusVideoRecordingFail = -303, // 视频录制错误 |
| 22 | BDFaceStatusCropImageError = -305, // 抠图失败 | 22 | BDFaceStatusCropImageError = -305, // 抠图失败 |
| 23 | + BDFaceStatusEncryptFail = -311, // 加密失败 | ||
| 24 | + BDFaceStatusSystemVideoFail = -313, // 视频录制失败-系统异常 | ||
| 23 | BDFaceStatusTimeout = -401, // 超时 | 25 | BDFaceStatusTimeout = -401, // 超时 |
| 24 | BDFaceStatusColorMatchFailed = -402, // 炫彩色彩错误 | 26 | BDFaceStatusColorMatchFailed = -402, // 炫彩色彩错误 |
| 25 | BDFaceStatusVideoColorScoreFailed = -403, // 炫彩分数错误 | 27 | BDFaceStatusVideoColorScoreFailed = -403, // 炫彩分数错误 |
| 1 | +// | ||
| 2 | +// BDFaceDef.h | ||
| 3 | +// IDLFaceSDK | ||
| 4 | +// | ||
| 5 | +// Created by v_renshaolei on 2023/9/11. | ||
| 6 | +// Copyright © 2023 Baidu. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +typedef NS_ENUM(NSInteger, FaceLivenessActionType) { | ||
| 10 | + FaceLivenessActionTypeLiveEye = 0, | ||
| 11 | + FaceLivenessActionTypeLiveMouth = 1, | ||
| 12 | + FaceLivenessActionTypeLiveYawRight = 2, | ||
| 13 | + FaceLivenessActionTypeLiveYawLeft = 3, | ||
| 14 | + FaceLivenessActionTypeLivePitchUp = 4, | ||
| 15 | + FaceLivenessActionTypeLivePitchDown = 5, | ||
| 16 | + FaceLivenessActionTypeLiveUpDown = 6, //向下低头 | ||
| 17 | + FaceLivenessActionTypeShakeHead = 7, | ||
| 18 | + FaceLivenessActionTypeNoAction = 8, | ||
| 19 | +}; | ||
| 20 | + | ||
| 21 | +typedef NS_ENUM(NSUInteger, ResultCode) { | ||
| 22 | + ResultCodeOK, | ||
| 23 | + ResultCodePitchOutofDownRange, //头部偏低 | ||
| 24 | + ResultCodePitchOutofUpRange, //头部偏高 | ||
| 25 | + ResultCodeYawOutofLeftRange, //头部偏左 | ||
| 26 | + ResultCodeYawOutofRightRange, //头部偏右 | ||
| 27 | + ResultCodeTooBrightIllumination, // 光线过亮 | ||
| 28 | + ResultCodePoorIllumination, //光照不足 | ||
| 29 | + ResultCodeNoFaceDetected, //没有检测到人脸 | ||
| 30 | + ResultCodeFaceMoreThanOneDetected, //检测到多个人脸 | ||
| 31 | + ResultCodeDataHitOne, //采集到一张照片 | ||
| 32 | + ResultCodeDataHitLast, //采集到最后一张照片 | ||
| 33 | + ResultCodeImageBlured, //图像模糊 | ||
| 34 | + ResultCodeOcclusionLeftEye, //左眼有遮挡 | ||
| 35 | + ResultCodeOcclusionRightEye, //右眼有遮挡 | ||
| 36 | + ResultCodeOcclusionNose, //鼻子有遮挡 | ||
| 37 | + ResultCodeOcclusionMouth, //嘴巴有遮挡 | ||
| 38 | + ResultCodeOcclusionLeftContour, //左脸颊有遮挡 | ||
| 39 | + ResultCodeOcclusionRightContour, //右脸颊有遮挡 | ||
| 40 | + ResultCodeOcclusionChinCoutour, //下颚有遮挡 | ||
| 41 | + ResultCodeVerifyInitError, //鉴权失败 | ||
| 42 | + ResultCodeVerifyDecryptError, | ||
| 43 | + ResultCodeVerifyInfoFormatError, | ||
| 44 | + ResultCodeVerifyExpired, | ||
| 45 | + ResultCodeVerifyMissRequiredInfo, | ||
| 46 | + ResultCodeVerifyInfoCheckError, | ||
| 47 | + ResultCodeVerifyLocalFileError, | ||
| 48 | + ResultCodeVerifyRemoteDataError, | ||
| 49 | + ResultCodeLeftEyeClosed, | ||
| 50 | + ResultCodeRightEyeClosed, | ||
| 51 | + ResultCodeUnknowType //未知类型 | ||
| 52 | +}; | ||
| 53 | + | ||
| 54 | + | ||
| 55 | +typedef NS_ENUM(NSUInteger, TrackResultCode) { | ||
| 56 | + TrackResultCodeOK, | ||
| 57 | + TrackResultCodeImageBlured, // 图像模糊 | ||
| 58 | + TrackResultCodePoorIllumination, // 光照不行 | ||
| 59 | + TrackResultCodeNoFaceDetected, //没有检测到人脸 | ||
| 60 | + TrackResultCodeOcclusionLeftEye, //左眼有遮挡 | ||
| 61 | + TrackResultCodeOcclusionRightEye, //右眼有遮挡 | ||
| 62 | + TrackResultCodeOcclusionNose, //鼻子有遮挡 | ||
| 63 | + TrackResultCodeOcclusionMouth, //嘴巴有遮挡 | ||
| 64 | + TrackResultCodeOcclusionLeftContour, //左脸颊有遮挡 | ||
| 65 | + TrackResultCodeOcclusionRightContour, //右脸颊有遮挡 | ||
| 66 | + TrackResultCodeOcclusionChinCoutour, //下颚有遮挡 | ||
| 67 | + TrackResultCodeVerifyInitError, //鉴权失败 | ||
| 68 | + TrackResultCodeVerifyDecryptError, | ||
| 69 | + TrackResultCodeVerifyInfoFormatError, | ||
| 70 | + TrackResultCodeVerifyExpired, | ||
| 71 | + TrackResultCodeVerifyMissRequiredInfo, | ||
| 72 | + TrackResultCodeVerifyInfoCheckError, | ||
| 73 | + TrackResultCodeVerifyLocalFileError, | ||
| 74 | + TrackResultCodeVerifyRemoteDataError, | ||
| 75 | + TrackResultCodeUnknowType //未知类型 | ||
| 76 | +}; | ||
| 77 | + | ||
| 78 | + | ||
| 79 | + |
| @@ -17,7 +17,7 @@ | @@ -17,7 +17,7 @@ | ||
| 17 | @property (nonatomic, readwrite, assign) BOOL isByOrder; | 17 | @property (nonatomic, readwrite, assign) BOOL isByOrder; |
| 18 | @property (nonatomic, readwrite, assign) NSInteger numOfLiveness; | 18 | @property (nonatomic, readwrite, assign) NSInteger numOfLiveness; |
| 19 | @property (nonatomic, readwrite, strong) NSMutableArray *liveActionArray; | 19 | @property (nonatomic, readwrite, strong) NSMutableArray *liveActionArray; |
| 20 | -@property (nonatomic, readwrite, strong) NSMutableArray *colorActionArray; | 20 | +//@property (nonatomic, readwrite, strong) NSMutableArray *colorActionArray; |
| 21 | 21 | ||
| 22 | - (void)resetState; | 22 | - (void)resetState; |
| 23 | 23 |
| 1 | +// | ||
| 2 | +// BDFaceSaveFile.h | ||
| 3 | +// IDLFaceSDK | ||
| 4 | +// | ||
| 5 | +// Created by 之哥 on 2022/10/18. | ||
| 6 | +// Copyright © 2022 Baidu. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +#import <Foundation/Foundation.h> | ||
| 10 | + | ||
| 11 | +NS_ASSUME_NONNULL_BEGIN | ||
| 12 | + | ||
| 13 | +@interface BDFaceSaveFile : NSObject | ||
| 14 | + | ||
| 15 | +//-(BOOL)saveStringToFile:(NSString *)str; | ||
| 16 | + | ||
| 17 | ++(void)saveStringToFile:(NSString *)string; | ||
| 18 | + | ||
| 19 | +@end | ||
| 20 | + | ||
| 21 | +NS_ASSUME_NONNULL_END |
| @@ -8,74 +8,7 @@ | @@ -8,74 +8,7 @@ | ||
| 8 | 8 | ||
| 9 | #import <Foundation/Foundation.h> | 9 | #import <Foundation/Foundation.h> |
| 10 | #import <UIKit/UIKit.h> | 10 | #import <UIKit/UIKit.h> |
| 11 | - | ||
| 12 | - | ||
| 13 | -typedef NS_ENUM(NSInteger, FaceLivenessActionType) { | ||
| 14 | - FaceLivenessActionTypeLiveEye = 0, | ||
| 15 | - FaceLivenessActionTypeLiveMouth = 1, | ||
| 16 | - FaceLivenessActionTypeLiveYawRight = 2, | ||
| 17 | - FaceLivenessActionTypeLiveYawLeft = 3, | ||
| 18 | - FaceLivenessActionTypeLivePitchUp = 4, | ||
| 19 | - FaceLivenessActionTypeLivePitchDown = 5, | ||
| 20 | - FaceLivenessActionTypeNoAction = 6, | ||
| 21 | -}; | ||
| 22 | - | ||
| 23 | -typedef NS_ENUM(NSUInteger, ResultCode) { | ||
| 24 | - ResultCodeOK, | ||
| 25 | - ResultCodePitchOutofDownRange, //头部偏低 | ||
| 26 | - ResultCodePitchOutofUpRange, //头部偏高 | ||
| 27 | - ResultCodeYawOutofLeftRange, //头部偏左 | ||
| 28 | - ResultCodeYawOutofRightRange, //头部偏右 | ||
| 29 | - ResultCodeTooBrightIllumination, // 光线过亮 | ||
| 30 | - ResultCodePoorIllumination, //光照不足 | ||
| 31 | - ResultCodeNoFaceDetected, //没有检测到人脸 | ||
| 32 | - ResultCodeDataHitOne, //采集到一张照片 | ||
| 33 | - ResultCodeDataHitLast, //采集到最后一张照片 | ||
| 34 | - ResultCodeImageBlured, //图像模糊 | ||
| 35 | - ResultCodeOcclusionLeftEye, //左眼有遮挡 | ||
| 36 | - ResultCodeOcclusionRightEye, //右眼有遮挡 | ||
| 37 | - ResultCodeOcclusionNose, //鼻子有遮挡 | ||
| 38 | - ResultCodeOcclusionMouth, //嘴巴有遮挡 | ||
| 39 | - ResultCodeOcclusionLeftContour, //左脸颊有遮挡 | ||
| 40 | - ResultCodeOcclusionRightContour, //右脸颊有遮挡 | ||
| 41 | - ResultCodeOcclusionChinCoutour, //下颚有遮挡 | ||
| 42 | - ResultCodeVerifyInitError, //鉴权失败 | ||
| 43 | - ResultCodeVerifyDecryptError, | ||
| 44 | - ResultCodeVerifyInfoFormatError, | ||
| 45 | - ResultCodeVerifyExpired, | ||
| 46 | - ResultCodeVerifyMissRequiredInfo, | ||
| 47 | - ResultCodeVerifyInfoCheckError, | ||
| 48 | - ResultCodeVerifyLocalFileError, | ||
| 49 | - ResultCodeVerifyRemoteDataError, | ||
| 50 | - ResultCodeLeftEyeClosed, | ||
| 51 | - ResultCodeRightEyeClosed, | ||
| 52 | - ResultCodeUnknowType //未知类型 | ||
| 53 | -}; | ||
| 54 | - | ||
| 55 | - | ||
| 56 | -typedef NS_ENUM(NSUInteger, TrackResultCode) { | ||
| 57 | - TrackResultCodeOK, | ||
| 58 | - TrackResultCodeImageBlured, // 图像模糊 | ||
| 59 | - TrackResultCodePoorIllumination, // 光照不行 | ||
| 60 | - TrackResultCodeNoFaceDetected, //没有检测到人脸 | ||
| 61 | - TrackResultCodeOcclusionLeftEye, //左眼有遮挡 | ||
| 62 | - TrackResultCodeOcclusionRightEye, //右眼有遮挡 | ||
| 63 | - TrackResultCodeOcclusionNose, //鼻子有遮挡 | ||
| 64 | - TrackResultCodeOcclusionMouth, //嘴巴有遮挡 | ||
| 65 | - TrackResultCodeOcclusionLeftContour, //左脸颊有遮挡 | ||
| 66 | - TrackResultCodeOcclusionRightContour, //右脸颊有遮挡 | ||
| 67 | - TrackResultCodeOcclusionChinCoutour, //下颚有遮挡 | ||
| 68 | - TrackResultCodeVerifyInitError, //鉴权失败 | ||
| 69 | - TrackResultCodeVerifyDecryptError, | ||
| 70 | - TrackResultCodeVerifyInfoFormatError, | ||
| 71 | - TrackResultCodeVerifyExpired, | ||
| 72 | - TrackResultCodeVerifyMissRequiredInfo, | ||
| 73 | - TrackResultCodeVerifyInfoCheckError, | ||
| 74 | - TrackResultCodeVerifyLocalFileError, | ||
| 75 | - TrackResultCodeVerifyRemoteDataError, | ||
| 76 | - TrackResultCodeUnknowType //未知类型 | ||
| 77 | -}; | ||
| 78 | - | 11 | +#import "BDFaceDef.h" |
| 79 | 12 | ||
| 80 | @class FaceInfo; | 13 | @class FaceInfo; |
| 81 | @class FaceLivenessState; | 14 | @class FaceLivenessState; |
| @@ -96,6 +29,8 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | @@ -96,6 +29,8 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | ||
| 96 | @property (nonatomic, assign) int imageEncrypteType; | 29 | @property (nonatomic, assign) int imageEncrypteType; |
| 97 | /* 人脸过远框比例 默认:0.3 */ | 30 | /* 人脸过远框比例 默认:0.3 */ |
| 98 | @property (nonatomic, assign) float minRectScale; | 31 | @property (nonatomic, assign) float minRectScale; |
| 32 | +/* 人脸过近框比例 默认:0.5 */ | ||
| 33 | +@property (nonatomic, assign) float maxRectScale; | ||
| 99 | /* 视频录制能力 */ | 34 | /* 视频录制能力 */ |
| 100 | @property (nonatomic, assign) BOOL recordAbility; | 35 | @property (nonatomic, assign) BOOL recordAbility; |
| 101 | /* 炫彩颜色判断能力 */ | 36 | /* 炫彩颜色判断能力 */ |
| @@ -108,6 +43,27 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | @@ -108,6 +43,27 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | ||
| 108 | @property (nonatomic, assign) float livenessThresholdValue; | 43 | @property (nonatomic, assign) float livenessThresholdValue; |
| 109 | /* 活体检测阈值 默认:0.8 */ | 44 | /* 活体检测阈值 默认:0.8 */ |
| 110 | @property (nonatomic, assign) float colorLiveThresholdValue; | 45 | @property (nonatomic, assign) float colorLiveThresholdValue; |
| 46 | +/* 是否压缩图片 默认:压缩 */ | ||
| 47 | +@property (nonatomic, assign) BOOL isCompressImage; | ||
| 48 | +/* 压缩图片大小 默认:300kb */ | ||
| 49 | +@property (nonatomic, assign) int compressValue; | ||
| 50 | +/* 是否超时弹窗 默认:弹窗 */ | ||
| 51 | +@property (nonatomic, assign) BOOL isPopWindow; | ||
| 52 | +/* 眨眼、张嘴动作添加遮挡判断 默认:不严格 */ | ||
| 53 | +@property (nonatomic, assign) BOOL isStrict; | ||
| 54 | +/* 数据埋点 默认:不开启 */ | ||
| 55 | +@property (nonatomic, assign) BOOL isSaveEventLogs; | ||
| 56 | + | ||
| 57 | +/* 是否开启动作失败切换动作 默认:关闭 */ | ||
| 58 | +@property (nonatomic, assign) BOOL isChangeAction; | ||
| 59 | + | ||
| 60 | +/* 动作失败后可以随机一个动作替换失败动作的活体动作列表 */ | ||
| 61 | +@property (nonatomic, strong) NSMutableArray *canRandomLiveActionArray; | ||
| 62 | + | ||
| 63 | +/* 安全加密key 默认:idl-key.face-ios */ | ||
| 64 | +@property (nonatomic ,strong) NSString *encryptKey; | ||
| 65 | +/* 活体、炫彩剩余时间*/ | ||
| 66 | +@property (nonatomic, assign) CGFloat livenessColorTime; | ||
| 111 | 67 | ||
| 112 | + (instancetype)sharedInstance; | 68 | + (instancetype)sharedInstance; |
| 113 | 69 | ||
| @@ -187,6 +143,12 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | @@ -187,6 +143,12 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | ||
| 187 | -(void)setOccluLeftEyeThreshold:(CGFloat)thr ; | 143 | -(void)setOccluLeftEyeThreshold:(CGFloat)thr ; |
| 188 | 144 | ||
| 189 | /** | 145 | /** |
| 146 | + * 眼睛闭合置信度 | ||
| 147 | + * 默认0.7 | ||
| 148 | + */ | ||
| 149 | +-(void)setEyeCloseThreshold:(CGFloat)thr ; | ||
| 150 | + | ||
| 151 | +/** | ||
| 190 | * 质量检测遮挡阈值- 右眼遮挡置信度 | 152 | * 质量检测遮挡阈值- 右眼遮挡置信度 |
| 191 | * 默认0.31 | 153 | * 默认0.31 |
| 192 | */ | 154 | */ |
| @@ -323,6 +285,10 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | @@ -323,6 +285,10 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | ||
| 323 | * 人脸过远框比例 默认:0.4 | 285 | * 人脸过远框比例 默认:0.4 |
| 324 | */ | 286 | */ |
| 325 | - (void)setMinRect:(float) minRectScale; | 287 | - (void)setMinRect:(float) minRectScale; |
| 288 | +/** | ||
| 289 | + * 人脸过近框比例 默认:0.5 | ||
| 290 | + */ | ||
| 291 | +- (void)setMaxRect:(float) maxRectScale; | ||
| 326 | 292 | ||
| 327 | /** | 293 | /** |
| 328 | * 活体检测阈值 默认:0.8 | 294 | * 活体检测阈值 默认:0.8 |
| @@ -350,7 +316,7 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | @@ -350,7 +316,7 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | ||
| 350 | - (void)setColorJudgeAbility:(BOOL) colorJudgeAbility; | 316 | - (void)setColorJudgeAbility:(BOOL) colorJudgeAbility; |
| 351 | 317 | ||
| 352 | /** | 318 | /** |
| 353 | - * 图片是否压缩 默认:不压缩 | 319 | + * 图片是否压缩 默认:压缩 |
| 354 | */ | 320 | */ |
| 355 | - (void)setIsCompressImage:(BOOL)isCompressImage; | 321 | - (void)setIsCompressImage:(BOOL)isCompressImage; |
| 356 | 322 | ||
| @@ -365,6 +331,24 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | @@ -365,6 +331,24 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | ||
| 365 | - (void)setIsPopWindow:(BOOL) isPopWindow; | 331 | - (void)setIsPopWindow:(BOOL) isPopWindow; |
| 366 | 332 | ||
| 367 | /** | 333 | /** |
| 334 | + * 质量检测闭眼阈值设置 默认:0.8 | ||
| 335 | + */ | ||
| 336 | +- (void)setEyeCloseValue:(float) eyeCloseValue; | ||
| 337 | + | ||
| 338 | +/** | ||
| 339 | + * 眨眼、张嘴动作添加遮挡判断 默认:不严格 | ||
| 340 | + */ | ||
| 341 | +- (void)setIsStrict:(BOOL) isStrict; | ||
| 342 | +/** | ||
| 343 | + * 数据埋点 默认:不开启 | ||
| 344 | + */ | ||
| 345 | +-(void)setIsSaveEventLogs:(BOOL) isSaveEventLogs; | ||
| 346 | +/** | ||
| 347 | + * 安全加密key 默认:idl-key.face-ios | ||
| 348 | + */ | ||
| 349 | +-(void)setEncryptKey:(NSString *) encryptKey; | ||
| 350 | + | ||
| 351 | +/** | ||
| 368 | * 采集动作验证 | 352 | * 采集动作验证 |
| 369 | * @param image 检测的图片 | 353 | * @param image 检测的图片 |
| 370 | * @param isOriginal 是否返回原始图片 | 354 | * @param isOriginal 是否返回原始图片 |
| @@ -390,11 +374,19 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | @@ -390,11 +374,19 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | ||
| 390 | - (void)colorWithImage:(UIImage *)image isRreturnOriginalValue:(BOOL) isOriginal isColorQuality:(BOOL)colorQuality completion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion; | 374 | - (void)colorWithImage:(UIImage *)image isRreturnOriginalValue:(BOOL) isOriginal isColorQuality:(BOOL)colorQuality completion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion; |
| 391 | 375 | ||
| 392 | /** | 376 | /** |
| 393 | - * 炫彩颜色验证 | ||
| 394 | - * @param image 已经成功采集对应颜色的图片 | ||
| 395 | - * @param completion 判断采集是否完成,人脸信息状态是否正常 | 377 | + * 六颜色炫彩图片得分接口 |
| 378 | + * @param image 当前采集图片 | ||
| 379 | + * @param color 当前采集图片对应颜色 | ||
| 380 | + * @param completion 返回错误码,0为成功 | ||
| 381 | + */ | ||
| 382 | +- (void)colorWithImage:(UIImage *)image color:(NSString *)color completion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion; | ||
| 383 | + | ||
| 384 | +- (void)colorLiveGetDataCompletion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion; | ||
| 385 | + | ||
| 386 | +/* | ||
| 387 | + 图片压缩 | ||
| 396 | */ | 388 | */ |
| 397 | -- (void)colorWithImage:(UIImage *)image anotherImage:(UIImage *)anotherImage color:(NSString *)color anotherColor:(NSString *)anotherColor completion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion; | 389 | +- (UIImage *)compressImageDataWithMaxLength:(NSUInteger)maxLength image:(UIImage *)image; |
| 398 | 390 | ||
| 399 | @end | 391 | @end |
| 400 | 392 | ||
| @@ -423,6 +415,14 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | @@ -423,6 +415,14 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | ||
| 423 | * 动作活体-低头 | 415 | * 动作活体-低头 |
| 424 | */ | 416 | */ |
| 425 | @property(nonatomic, assign) BOOL isLivePitchDown; | 417 | @property(nonatomic, assign) BOOL isLivePitchDown; |
| 418 | +/** | ||
| 419 | + * 动作活体-摇摇头 | ||
| 420 | + */ | ||
| 421 | +@property(nonatomic, assign) BOOL isLiveShakeHead; | ||
| 422 | +/** | ||
| 423 | + * 动作活体-点点头 | ||
| 424 | + */ | ||
| 425 | +@property(nonatomic, assign) BOOL isLiveUpDown; | ||
| 426 | @end | 426 | @end |
| 427 | 427 | ||
| 428 | @interface FaceCropImageInfo : NSObject | 428 | @interface FaceCropImageInfo : NSObject |
| @@ -542,6 +542,11 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | @@ -542,6 +542,11 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { | ||
| 542 | @property (nonatomic,assign) float outPutColorScore; | 542 | @property (nonatomic,assign) float outPutColorScore; |
| 543 | 543 | ||
| 544 | /** | 544 | /** |
| 545 | + * 炫彩活体RGB 炫彩活体结果 | ||
| 546 | + */ | ||
| 547 | +@property (nonatomic,assign) float outPutColorResult; | ||
| 548 | + | ||
| 549 | +/** | ||
| 545 | * 炫彩活体RGB 炫彩活体得分 | 550 | * 炫彩活体RGB 炫彩活体得分 |
| 546 | */ | 551 | */ |
| 547 | @property (nonatomic,assign) float colorAuraliveScore; | 552 | @property (nonatomic,assign) float colorAuraliveScore; |
| @@ -23,7 +23,10 @@ typedef NS_ENUM(NSInteger, SSFaceProcessStatus) { | @@ -23,7 +23,10 @@ typedef NS_ENUM(NSInteger, SSFaceProcessStatus) { | ||
| 23 | 23 | ||
| 24 | SSFaceProcessStatusResultFail = -301, // 构建数据异常 | 24 | SSFaceProcessStatusResultFail = -301, // 构建数据异常 |
| 25 | SSFaceProcessStatusCameraError = -302, // 没有授权镜头 | 25 | SSFaceProcessStatusCameraError = -302, // 没有授权镜头 |
| 26 | + SSFaceProcessStatusVideoRecordingFail = -303, // 视频录制失败 | ||
| 26 | SSFaceProcessStatusCropImageError = -305, // 抠图失败 | 27 | SSFaceProcessStatusCropImageError = -305, // 抠图失败 |
| 28 | + SSFaceProcessStatusEncryptFail = -311, // 加密失败 | ||
| 29 | + SSFaceProcessStatusSystemVideoFail = -313, // 视频录制失败-系统异常 | ||
| 27 | 30 | ||
| 28 | SSFaceProcessStatusTimeout = -401, // 超时 | 31 | SSFaceProcessStatusTimeout = -401, // 超时 |
| 29 | SSFaceProcessStatusColorMatchFailed = -402, // 炫彩色彩错误 | 32 | SSFaceProcessStatusColorMatchFailed = -402, // 炫彩色彩错误 |
| @@ -95,6 +98,19 @@ __attribute__((visibility("default"))) | @@ -95,6 +98,19 @@ __attribute__((visibility("default"))) | ||
| 95 | // BDFaceDetectionTypeColorfulLiveness流程中是否开启动作活体 | 98 | // BDFaceDetectionTypeColorfulLiveness流程中是否开启动作活体 |
| 96 | @property (nonatomic, assign) BOOL enableLivenessInColorfulFlow; | 99 | @property (nonatomic, assign) BOOL enableLivenessInColorfulFlow; |
| 97 | 100 | ||
| 101 | +// 录制长度,默认60s,范围1~60 | ||
| 102 | +@property (nonatomic, assign) NSInteger recordingDuration; | ||
| 103 | + | ||
| 104 | +// iOS13及以下版本,是否开启自定义配置,默认NO | ||
| 105 | +@property (nonatomic, assign) BOOL enableUseDefinedCameraL13; | ||
| 106 | + | ||
| 107 | +// 是否允许录制的视频文件不存在,默认false | ||
| 108 | +@property (nonatomic, assign) BOOL enableVideoFileEmpty; | ||
| 109 | + | ||
| 110 | +// 是否支持保存检测异常时的视频文件 | ||
| 111 | +@property (nonatomic, assign) BOOL enableFaceFailVideo; | ||
| 112 | + | ||
| 113 | + | ||
| 98 | 114 | ||
| 99 | + (instancetype)sharedInstance; | 115 | + (instancetype)sharedInstance; |
| 100 | 116 | ||
| @@ -130,7 +146,6 @@ __attribute__((visibility("default"))) | @@ -130,7 +146,6 @@ __attribute__((visibility("default"))) | ||
| 130 | */ | 146 | */ |
| 131 | - (void)startRecordingVideo; | 147 | - (void)startRecordingVideo; |
| 132 | 148 | ||
| 133 | - | ||
| 134 | /** | 149 | /** |
| 135 | * 活体检测过程中,返回活体总数,当前成功个数,当前活体类型 | 150 | * 活体检测过程中,返回活体总数,当前成功个数,当前活体类型 |
| 136 | */ | 151 | */ |
| @@ -21,7 +21,9 @@ typedef NS_ENUM(NSInteger, LivenessActionType) { | @@ -21,7 +21,9 @@ typedef NS_ENUM(NSInteger, LivenessActionType) { | ||
| 21 | LivenessActionTypeLiveYawLeft = 3, | 21 | LivenessActionTypeLiveYawLeft = 3, |
| 22 | LivenessActionTypeLivePitchUp = 4, | 22 | LivenessActionTypeLivePitchUp = 4, |
| 23 | LivenessActionTypeLivePitchDown = 5, | 23 | LivenessActionTypeLivePitchDown = 5, |
| 24 | - LivenessActionTypeNoAction = 6, | 24 | + LivenessActionTypeLiveUpDown = 6, |
| 25 | + LivenessActionTypeShakeHead = 7, | ||
| 26 | + LivenessActionTypeNoAction = 8, | ||
| 25 | }; | 27 | }; |
| 26 | 28 | ||
| 27 | ///** | 29 | ///** |
| @@ -31,6 +33,7 @@ typedef NS_ENUM(NSUInteger, LivenessRemindCode) { | @@ -31,6 +33,7 @@ typedef NS_ENUM(NSUInteger, LivenessRemindCode) { | ||
| 31 | LivenessRemindCodeOK = 0, //成功 | 33 | LivenessRemindCodeOK = 0, //成功 |
| 32 | LivenessRemindCodeBeyondPreviewFrame, //出框 | 34 | LivenessRemindCodeBeyondPreviewFrame, //出框 |
| 33 | LivenessRemindCodeNoFaceDetected, //没有检测到人脸 | 35 | LivenessRemindCodeNoFaceDetected, //没有检测到人脸 |
| 36 | + LivenessRemindCodeFaceMoreThanOneDetected, | ||
| 34 | LivenessRemindCodeMuchIllumination, | 37 | LivenessRemindCodeMuchIllumination, |
| 35 | LivenessRemindCodePoorIllumination, //光照不足 | 38 | LivenessRemindCodePoorIllumination, //光照不足 |
| 36 | LivenessRemindCodeImageBlured, //图像模糊 | 39 | LivenessRemindCodeImageBlured, //图像模糊 |
| @@ -56,6 +59,7 @@ typedef NS_ENUM(NSUInteger, LivenessRemindCode) { | @@ -56,6 +59,7 @@ typedef NS_ENUM(NSUInteger, LivenessRemindCode) { | ||
| 56 | LivenessRemindCodeLivePitchUp, //向上抬头 | 59 | LivenessRemindCodeLivePitchUp, //向上抬头 |
| 57 | LivenessRemindCodeLivePitchDown, //向下低头 | 60 | LivenessRemindCodeLivePitchDown, //向下低头 |
| 58 | LivenessRemindCodeLiveYaw, //摇摇头 | 61 | LivenessRemindCodeLiveYaw, //摇摇头 |
| 62 | + LivenessRemindCodeLiveUpDown, // 点点头 | ||
| 59 | LivenessRemindCodeSingleLivenessFinished, //完成一个活体动作 | 63 | LivenessRemindCodeSingleLivenessFinished, //完成一个活体动作 |
| 60 | LivenessRemindActionCodeTimeout, // 当前活体动作超时 | 64 | LivenessRemindActionCodeTimeout, // 当前活体动作超时 |
| 61 | LivenessRemindCodeLeftEyeClosed, //左眼关闭 | 65 | LivenessRemindCodeLeftEyeClosed, //左眼关闭 |
| @@ -73,6 +77,7 @@ typedef NS_ENUM(NSUInteger, DetectRemindCode) { | @@ -73,6 +77,7 @@ typedef NS_ENUM(NSUInteger, DetectRemindCode) { | ||
| 73 | DetectRemindCodeOK = 0, //成功 | 77 | DetectRemindCodeOK = 0, //成功 |
| 74 | DetectRemindCodeBeyondPreviewFrame, //出框 | 78 | DetectRemindCodeBeyondPreviewFrame, //出框 |
| 75 | DetectRemindCodeNoFaceDetected, //没有检测到人脸 | 79 | DetectRemindCodeNoFaceDetected, //没有检测到人脸 |
| 80 | + DetectRemindCodeFaceMoreThanOneDetected, //检测到多个人脸 | ||
| 76 | DetectRemindCodeMuchIllumination, | 81 | DetectRemindCodeMuchIllumination, |
| 77 | DetectRemindCodePoorIllumination, //光照不足 | 82 | DetectRemindCodePoorIllumination, //光照不足 |
| 78 | DetectRemindCodeImageBlured, //图像模糊 | 83 | DetectRemindCodeImageBlured, //图像模糊 |
| @@ -121,6 +126,7 @@ typedef NS_ENUM(NSUInteger, ColorRemindCode) { | @@ -121,6 +126,7 @@ typedef NS_ENUM(NSUInteger, ColorRemindCode) { | ||
| 121 | ColorRemindCodeOK = 0, //成功 | 126 | ColorRemindCodeOK = 0, //成功 |
| 122 | ColorRemindCodeBeyondPreviewFrame, //出框 | 127 | ColorRemindCodeBeyondPreviewFrame, //出框 |
| 123 | ColorRemindCodeNoFaceDetected, //没有检测到人脸 | 128 | ColorRemindCodeNoFaceDetected, //没有检测到人脸 |
| 129 | + ColorRemindCodeFaceMoreThanOneDetected, //没有检测到人脸 | ||
| 124 | ColorRemindCodeMuchIllumination, | 130 | ColorRemindCodeMuchIllumination, |
| 125 | ColorRemindCodePoorIllumination, //光照不足 | 131 | ColorRemindCodePoorIllumination, //光照不足 |
| 126 | ColorRemindCodeImageBlured, //图像模糊 | 132 | ColorRemindCodeImageBlured, //图像模糊 |
| @@ -137,15 +143,14 @@ typedef NS_ENUM(NSUInteger, ColorRemindCode) { | @@ -137,15 +143,14 @@ typedef NS_ENUM(NSUInteger, ColorRemindCode) { | ||
| 137 | ColorRemindCodeOcclusionLeftContour, //左脸颊有遮挡 | 143 | ColorRemindCodeOcclusionLeftContour, //左脸颊有遮挡 |
| 138 | ColorRemindCodeOcclusionRightContour, //右脸颊有遮挡 | 144 | ColorRemindCodeOcclusionRightContour, //右脸颊有遮挡 |
| 139 | ColorRemindCodeOcclusionChinCoutour, //下颚有遮挡 | 145 | ColorRemindCodeOcclusionChinCoutour, //下颚有遮挡 |
| 140 | -// ColorRemindCodeOcclusioneyebrow, //眉毛有遮挡 | ||
| 141 | ColorRemindCodeTimeout, //超时 | 146 | ColorRemindCodeTimeout, //超时 |
| 142 | ColorRemindCodeVerifyInitError, //鉴权失败 | 147 | ColorRemindCodeVerifyInitError, //鉴权失败 |
| 143 | ColorRemindCodeSuccess, //炫彩活体采集成功 | 148 | ColorRemindCodeSuccess, //炫彩活体采集成功 |
| 144 | - ColorRemindCodeColorMatchFailed, //炫彩活体采集失败颜色匹配失败 | ||
| 145 | - ColorRemindCodeScoreFailed, //炫彩活体采集失败分数过低 | 149 | + ColorRemindCodeColorMatchFailed, //炫彩活体采集失败 |
| 150 | + ColorRemindCodeScreenWillFlash, //屏幕即将闪烁 | ||
| 146 | ColorRemindCodeBreak, //炫彩中途失败,由于当前颜色没有拿到质量满足的图片 | 151 | ColorRemindCodeBreak, //炫彩中途失败,由于当前颜色没有拿到质量满足的图片 |
| 147 | ColorRemindCodeComplete, //炫彩活体完成 | 152 | ColorRemindCodeComplete, //炫彩活体完成 |
| 148 | - ColorRemindCodeChangeColor,//炫彩颜色变换 | 153 | + ColorRemindCodeChangeColor, |
| 149 | ColorRemindCodeFaceIdChanged // faceid 发生变化 | 154 | ColorRemindCodeFaceIdChanged // faceid 发生变化 |
| 150 | }; | 155 | }; |
| 151 | 156 | ||
| @@ -239,3 +244,4 @@ typedef NS_ENUM(NSInteger, SSFaceProcessImageType) { | @@ -239,3 +244,4 @@ typedef NS_ENUM(NSInteger, SSFaceProcessImageType) { | ||
| 239 | 244 | ||
| 240 | #import "FaceSDKManager.h" | 245 | #import "FaceSDKManager.h" |
| 241 | #import "SSFaceProcessManager.h" | 246 | #import "SSFaceProcessManager.h" |
| 247 | +#import "BDFaceSaveFile.h" |
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
| @@ -10,19 +10,19 @@ | @@ -10,19 +10,19 @@ | ||
| 10 | </data> | 10 | </data> |
| 11 | <key>Headers/BDFaceBaseKitLivenessTipCustomConfigItem.h</key> | 11 | <key>Headers/BDFaceBaseKitLivenessTipCustomConfigItem.h</key> |
| 12 | <data> | 12 | <data> |
| 13 | - 8pIZRMHWLEVOuaBwj5MRKE+ISXQ= | 13 | + M+pAl5+Uv7UAhme2DkHjI1sZdZ0= |
| 14 | </data> | 14 | </data> |
| 15 | <key>Headers/BDFaceBaseKitManager.h</key> | 15 | <key>Headers/BDFaceBaseKitManager.h</key> |
| 16 | <data> | 16 | <data> |
| 17 | - 3seyh4Ix1e6BAVSBa7Sz1bv3fv0= | 17 | + RjaUicxqCIziq2Oku0bZcQAUwSE= |
| 18 | </data> | 18 | </data> |
| 19 | <key>Headers/BDFaceBaseKitParamsCustomConfigItem.h</key> | 19 | <key>Headers/BDFaceBaseKitParamsCustomConfigItem.h</key> |
| 20 | <data> | 20 | <data> |
| 21 | - zqhzsbFtoFfIUN2YFcjKR2SeJzk= | 21 | + /ui8B4EJwz+O1OqaLv08DBoLJc4= |
| 22 | </data> | 22 | </data> |
| 23 | <key>Headers/BDFaceBaseKitRemindErrorCode.h</key> | 23 | <key>Headers/BDFaceBaseKitRemindErrorCode.h</key> |
| 24 | <data> | 24 | <data> |
| 25 | - LTatOxvX6RdhURgVIZPRkDJ/CGI= | 25 | + PtxoKpp2klRmGDaN8LxBcNNEpp0= |
| 26 | </data> | 26 | </data> |
| 27 | <key>Headers/BDFaceBaseKitUICustomConfigItem.h</key> | 27 | <key>Headers/BDFaceBaseKitUICustomConfigItem.h</key> |
| 28 | <data> | 28 | <data> |
| @@ -32,9 +32,17 @@ | @@ -32,9 +32,17 @@ | ||
| 32 | <data> | 32 | <data> |
| 33 | gMUhthd3kgZKeyMcVjZ+WxU1Vg0= | 33 | gMUhthd3kgZKeyMcVjZ+WxU1Vg0= |
| 34 | </data> | 34 | </data> |
| 35 | + <key>Headers/BDFaceDef.h</key> | ||
| 36 | + <data> | ||
| 37 | + 6qnGkxZqZD6d1XnEHoGTuou/Ph8= | ||
| 38 | + </data> | ||
| 35 | <key>Headers/BDFaceLivingConfigModel.h</key> | 39 | <key>Headers/BDFaceLivingConfigModel.h</key> |
| 36 | <data> | 40 | <data> |
| 37 | - c/ooSPcNAsMLPh+Iw0iJb94KvFg= | 41 | + 7UwA12sj4HdyAiKW13rurQPEaMA= |
| 42 | + </data> | ||
| 43 | + <key>Headers/BDFaceSaveFile.h</key> | ||
| 44 | + <data> | ||
| 45 | + hiXEM8d1zBNEe8wyikrUshUu5gw= | ||
| 38 | </data> | 46 | </data> |
| 39 | <key>Headers/BDFaceToastView.h</key> | 47 | <key>Headers/BDFaceToastView.h</key> |
| 40 | <data> | 48 | <data> |
| @@ -46,19 +54,19 @@ | @@ -46,19 +54,19 @@ | ||
| 46 | </data> | 54 | </data> |
| 47 | <key>Headers/BDUIConstant.h</key> | 55 | <key>Headers/BDUIConstant.h</key> |
| 48 | <data> | 56 | <data> |
| 49 | - VSPnA5vCoOoRPV0crHz28uxo2OU= | 57 | + ZxOkhbI1cJphEkob7tUbszgoNOA= |
| 50 | </data> | 58 | </data> |
| 51 | <key>Headers/FaceSDKManager.h</key> | 59 | <key>Headers/FaceSDKManager.h</key> |
| 52 | <data> | 60 | <data> |
| 53 | - 5exgbDkpmJ9DNy5fSQesJLuwwo0= | 61 | + igFNJyK1GcAlDnuUuNVjv6FiN9Q= |
| 54 | </data> | 62 | </data> |
| 55 | <key>Headers/SSFaceProcessManager.h</key> | 63 | <key>Headers/SSFaceProcessManager.h</key> |
| 56 | <data> | 64 | <data> |
| 57 | - n0+7eYH4iu4TmKSxPx/ykWNvhPs= | 65 | + 9mW27YcNeUYW7PhC0xnKSuuaFCY= |
| 58 | </data> | 66 | </data> |
| 59 | <key>Headers/SSFaceSDK.h</key> | 67 | <key>Headers/SSFaceSDK.h</key> |
| 60 | <data> | 68 | <data> |
| 61 | - tRdTJj66lLL33V/L2GkdNC1PT20= | 69 | + zZOwMzJ8/Ywqd1e/C/8J32F6T90= |
| 62 | </data> | 70 | </data> |
| 63 | <key>Headers/UIColor+BDFaceColorUtils.h</key> | 71 | <key>Headers/UIColor+BDFaceColorUtils.h</key> |
| 64 | <data> | 72 | <data> |
| @@ -70,7 +78,7 @@ | @@ -70,7 +78,7 @@ | ||
| 70 | </data> | 78 | </data> |
| 71 | <key>Info.plist</key> | 79 | <key>Info.plist</key> |
| 72 | <data> | 80 | <data> |
| 73 | - zDBrqpvhq1n/g+8W+HqTzMPeBgM= | 81 | + BIiL1gGA9KGvldxNEejKcq8FSAg= |
| 74 | </data> | 82 | </data> |
| 75 | <key>Modules/module.modulemap</key> | 83 | <key>Modules/module.modulemap</key> |
| 76 | <data> | 84 | <data> |
| @@ -94,44 +102,44 @@ | @@ -94,44 +102,44 @@ | ||
| 94 | <dict> | 102 | <dict> |
| 95 | <key>hash</key> | 103 | <key>hash</key> |
| 96 | <data> | 104 | <data> |
| 97 | - 8pIZRMHWLEVOuaBwj5MRKE+ISXQ= | 105 | + M+pAl5+Uv7UAhme2DkHjI1sZdZ0= |
| 98 | </data> | 106 | </data> |
| 99 | <key>hash2</key> | 107 | <key>hash2</key> |
| 100 | <data> | 108 | <data> |
| 101 | - 9Yvhvkj3eMSu7wOfUX3R43PgEAcSbaMqpFZ2y8/I3do= | 109 | + PS6uEGLcl2FXhfaJqMUdkovL3h2Q0oCHzREkr+lqUj4= |
| 102 | </data> | 110 | </data> |
| 103 | </dict> | 111 | </dict> |
| 104 | <key>Headers/BDFaceBaseKitManager.h</key> | 112 | <key>Headers/BDFaceBaseKitManager.h</key> |
| 105 | <dict> | 113 | <dict> |
| 106 | <key>hash</key> | 114 | <key>hash</key> |
| 107 | <data> | 115 | <data> |
| 108 | - 3seyh4Ix1e6BAVSBa7Sz1bv3fv0= | 116 | + RjaUicxqCIziq2Oku0bZcQAUwSE= |
| 109 | </data> | 117 | </data> |
| 110 | <key>hash2</key> | 118 | <key>hash2</key> |
| 111 | <data> | 119 | <data> |
| 112 | - aby/Lv2740ftaKfie83NDCVEaKaYKN0GXscvkmsLXcc= | 120 | + IHLr1lfIV43Nu9dIjz488vyU7UiUbC1h/vluAZdmn2Y= |
| 113 | </data> | 121 | </data> |
| 114 | </dict> | 122 | </dict> |
| 115 | <key>Headers/BDFaceBaseKitParamsCustomConfigItem.h</key> | 123 | <key>Headers/BDFaceBaseKitParamsCustomConfigItem.h</key> |
| 116 | <dict> | 124 | <dict> |
| 117 | <key>hash</key> | 125 | <key>hash</key> |
| 118 | <data> | 126 | <data> |
| 119 | - zqhzsbFtoFfIUN2YFcjKR2SeJzk= | 127 | + /ui8B4EJwz+O1OqaLv08DBoLJc4= |
| 120 | </data> | 128 | </data> |
| 121 | <key>hash2</key> | 129 | <key>hash2</key> |
| 122 | <data> | 130 | <data> |
| 123 | - dsuZK3Oq3wZFJgtW5UTc4ppEqSSWhGQmos9OFT9gqNI= | 131 | + toV1iMEoe9J2jCoOPoeWmwlnic7VU4STukVU5c38BI0= |
| 124 | </data> | 132 | </data> |
| 125 | </dict> | 133 | </dict> |
| 126 | <key>Headers/BDFaceBaseKitRemindErrorCode.h</key> | 134 | <key>Headers/BDFaceBaseKitRemindErrorCode.h</key> |
| 127 | <dict> | 135 | <dict> |
| 128 | <key>hash</key> | 136 | <key>hash</key> |
| 129 | <data> | 137 | <data> |
| 130 | - LTatOxvX6RdhURgVIZPRkDJ/CGI= | 138 | + PtxoKpp2klRmGDaN8LxBcNNEpp0= |
| 131 | </data> | 139 | </data> |
| 132 | <key>hash2</key> | 140 | <key>hash2</key> |
| 133 | <data> | 141 | <data> |
| 134 | - Ro0Gmzz5ZdVA/XhtRlZCdUd/vj9D9oNfkVLIT9whc/0= | 142 | + 8V/s+0bbUp1noREu9Scf452MTor3h6QOvZka2+By238= |
| 135 | </data> | 143 | </data> |
| 136 | </dict> | 144 | </dict> |
| 137 | <key>Headers/BDFaceBaseKitUICustomConfigItem.h</key> | 145 | <key>Headers/BDFaceBaseKitUICustomConfigItem.h</key> |
| @@ -156,15 +164,37 @@ | @@ -156,15 +164,37 @@ | ||
| 156 | SxDByYLFmbey4hydcFjjNRYdbfwRlQmjP/L4D7D6Dic= | 164 | SxDByYLFmbey4hydcFjjNRYdbfwRlQmjP/L4D7D6Dic= |
| 157 | </data> | 165 | </data> |
| 158 | </dict> | 166 | </dict> |
| 167 | + <key>Headers/BDFaceDef.h</key> | ||
| 168 | + <dict> | ||
| 169 | + <key>hash</key> | ||
| 170 | + <data> | ||
| 171 | + 6qnGkxZqZD6d1XnEHoGTuou/Ph8= | ||
| 172 | + </data> | ||
| 173 | + <key>hash2</key> | ||
| 174 | + <data> | ||
| 175 | + 1cVeGWGj1sk9r5XmE9agNIkHYFMQKmgK7Ji46MrBAuo= | ||
| 176 | + </data> | ||
| 177 | + </dict> | ||
| 159 | <key>Headers/BDFaceLivingConfigModel.h</key> | 178 | <key>Headers/BDFaceLivingConfigModel.h</key> |
| 160 | <dict> | 179 | <dict> |
| 161 | <key>hash</key> | 180 | <key>hash</key> |
| 162 | <data> | 181 | <data> |
| 163 | - c/ooSPcNAsMLPh+Iw0iJb94KvFg= | 182 | + 7UwA12sj4HdyAiKW13rurQPEaMA= |
| 183 | + </data> | ||
| 184 | + <key>hash2</key> | ||
| 185 | + <data> | ||
| 186 | + BBg+7IVCXIjcb4S+yQEq3WL2jeiXbFZK7wf+pA98l1c= | ||
| 187 | + </data> | ||
| 188 | + </dict> | ||
| 189 | + <key>Headers/BDFaceSaveFile.h</key> | ||
| 190 | + <dict> | ||
| 191 | + <key>hash</key> | ||
| 192 | + <data> | ||
| 193 | + hiXEM8d1zBNEe8wyikrUshUu5gw= | ||
| 164 | </data> | 194 | </data> |
| 165 | <key>hash2</key> | 195 | <key>hash2</key> |
| 166 | <data> | 196 | <data> |
| 167 | - P6PmHDQO9vKJqzBXKCyezELShKqvo6/jIhUxB1rrRXs= | 197 | + AzaRwYeUK52fUAhZJktOSXYGg7pkrhBRHjrrSp42cqU= |
| 168 | </data> | 198 | </data> |
| 169 | </dict> | 199 | </dict> |
| 170 | <key>Headers/BDFaceToastView.h</key> | 200 | <key>Headers/BDFaceToastView.h</key> |
| @@ -193,44 +223,44 @@ | @@ -193,44 +223,44 @@ | ||
| 193 | <dict> | 223 | <dict> |
| 194 | <key>hash</key> | 224 | <key>hash</key> |
| 195 | <data> | 225 | <data> |
| 196 | - VSPnA5vCoOoRPV0crHz28uxo2OU= | 226 | + ZxOkhbI1cJphEkob7tUbszgoNOA= |
| 197 | </data> | 227 | </data> |
| 198 | <key>hash2</key> | 228 | <key>hash2</key> |
| 199 | <data> | 229 | <data> |
| 200 | - 1ITrrmZPtCCNVNioGNCg/SkF8JN12bD/lIqpYEJFwPc= | 230 | + DfE6qi0rFlsqt7GAKY+V4x2TA6G970Xfqp5ZtUTBr34= |
| 201 | </data> | 231 | </data> |
| 202 | </dict> | 232 | </dict> |
| 203 | <key>Headers/FaceSDKManager.h</key> | 233 | <key>Headers/FaceSDKManager.h</key> |
| 204 | <dict> | 234 | <dict> |
| 205 | <key>hash</key> | 235 | <key>hash</key> |
| 206 | <data> | 236 | <data> |
| 207 | - 5exgbDkpmJ9DNy5fSQesJLuwwo0= | 237 | + igFNJyK1GcAlDnuUuNVjv6FiN9Q= |
| 208 | </data> | 238 | </data> |
| 209 | <key>hash2</key> | 239 | <key>hash2</key> |
| 210 | <data> | 240 | <data> |
| 211 | - ayCFmyfsUrBZiS8RY7CzdDbDz5HzjSnRWnBBhRTfHKI= | 241 | + W5ZL/fcXq2WhpRAXFNATpZTsOGfemDWb8aZYtNFBGzM= |
| 212 | </data> | 242 | </data> |
| 213 | </dict> | 243 | </dict> |
| 214 | <key>Headers/SSFaceProcessManager.h</key> | 244 | <key>Headers/SSFaceProcessManager.h</key> |
| 215 | <dict> | 245 | <dict> |
| 216 | <key>hash</key> | 246 | <key>hash</key> |
| 217 | <data> | 247 | <data> |
| 218 | - n0+7eYH4iu4TmKSxPx/ykWNvhPs= | 248 | + 9mW27YcNeUYW7PhC0xnKSuuaFCY= |
| 219 | </data> | 249 | </data> |
| 220 | <key>hash2</key> | 250 | <key>hash2</key> |
| 221 | <data> | 251 | <data> |
| 222 | - izfr7WmLCKztmg3IaZ1bY9bfEXkaObsQ089alXBDDOA= | 252 | + 88yrULGz7O/rEVlSkHTi1AtiY9RQEJHfnvFGqfEOX1M= |
| 223 | </data> | 253 | </data> |
| 224 | </dict> | 254 | </dict> |
| 225 | <key>Headers/SSFaceSDK.h</key> | 255 | <key>Headers/SSFaceSDK.h</key> |
| 226 | <dict> | 256 | <dict> |
| 227 | <key>hash</key> | 257 | <key>hash</key> |
| 228 | <data> | 258 | <data> |
| 229 | - tRdTJj66lLL33V/L2GkdNC1PT20= | 259 | + zZOwMzJ8/Ywqd1e/C/8J32F6T90= |
| 230 | </data> | 260 | </data> |
| 231 | <key>hash2</key> | 261 | <key>hash2</key> |
| 232 | <data> | 262 | <data> |
| 233 | - qUj2zdk03N5gZyRBeIlF6IxesOlG1AwFLZVLlImgzbM= | 263 | + ZjFhI2NmQbT8PgAyTXL50t0O6S+H40Ww97ilJBeDC34= |
| 234 | </data> | 264 | </data> |
| 235 | </dict> | 265 | </dict> |
| 236 | <key>Headers/UIColor+BDFaceColorUtils.h</key> | 266 | <key>Headers/UIColor+BDFaceColorUtils.h</key> |
No preview for this file type
No preview for this file type
No preview for this file type
| 1 | -{"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":{}}} | 1 | +{"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":{}}} |
-
Please register or login to post a comment