ArcSoftFaceEngine.h

Includes:
<Foundation/Foundation.h>
"ArcSoftFaceEngineDefine.h"

Introduction

人脸引擎



Methods

+activeWithAppId:SDKKey:

引擎激活

+compareFaceWithFeature:feature2:confidenceLevel:

人脸特征比对

+detectFacesWithWidth:height:data:format:faceRes:

人脸检测

+extractFaceFeatureWithWidth:height:data:format:faceInfo:feature:

单人脸特征提取

+getAge:

获取年龄信息

+getFace3DAngle:

获取3D角度信息

+getGender:

获取性别信息

+getVersion

获取版本信息

+initFaceEngineWithDetectMode:orientPriority:scale:maxFaceNum:combinedMask:

引擎初始化 *

+processWithWidth:height:data:format:faceRes:mask:

人脸信息检测(年龄/性别/人脸3D角度),最多支持4张人脸信息检测,超过部分返回未知

+unInitFaceEngine

销毁引擎


activeWithAppId:SDKKey:


引擎激活

- (MRESULT)activeWithAppId:(NSString *)appId SDKKey:(NSString *)sdkkey;  
Parameters
appId

官网获取的APPID

sdkkey

官网获取的SDKKEY

Return Value

成功返回ASF_MOK或MERR_ASF_ALREADY_ACTIVATED,否则返回失败code


compareFaceWithFeature:feature2:confidenceLevel:


人脸特征比对

- (MRESULT)compareFaceWithFeature:(LPASF_FaceFeature)feature1 
        feature2:(LPASF_FaceFeature)feature2 confidenceLevel:(MFloat*)confidenceLevel;  
Parameters
feature1

待比对的人脸特征

feature2

待比对的人脸特征

confidenceLevel

比较结果,置信度数值

Return Value

成功返回ASF_MOK,否则返回失败code


detectFacesWithWidth:height:data:format:faceRes:


人脸检测

- (MRESULT)detectFacesWithWidth:(MInt32)width height:(MInt32)height 
        data:(MUInt8*)data format:(MInt32)format faceRes:(LPASF_MultiFaceInfo)detectedFaces;  
Parameters
width

图像数据宽度,为4的倍数且大于0

height

图像数据高度,NV12格式的图片高度为2的倍数,BGR24格式的图片高度不限制

data

图像数据

format

颜色空间格式

detectedFaces

检测到的人脸信息

Return Value

成功返回ASF_MOK,否则返回失败code


extractFaceFeatureWithWidth:height:data:format:faceInfo:feature:


单人脸特征提取

- (MRESULT)extractFaceFeatureWithWidth:(MInt32)width height:(MInt32)height 
        data:(MUInt8*)data format:(MInt32)format faceInfo:(LPASF_SingleFaceInfo)faceInfo 
        feature:(LPASF_FaceFeature)feature;  
Parameters
width

图像数据宽度,为4的倍数且大于0

height

图像数据高度,NV12格式的图片高度为2的倍数,BGR24格式的图片高度不限制

data

图像数据

format

颜色空间格式

faceInfo

单张人脸位置和角度信息

feature

人脸特征

Return Value

成功返回ASF_MOK,否则返回失败code


getAge:


获取年龄信息

- (MRESULT)getAge:(LPASF_AgeInfo)ageInfo;  
Parameters
ageInfo

检测到的年龄信息

Return Value

成功返回ASF_MOK,否则返回失败code


getFace3DAngle:


获取3D角度信息

- (MRESULT)getFace3DAngle:(LPASF_Face3DAngle)face3DAngle;  
Parameters
face3DAngle

检测到的脸部3D角度信息

Return Value

成功返回ASF_MOK,否则返回失败code


getGender:


获取性别信息

- (MRESULT)getGender:(LPASF_GenderInfo)genderInfo;  
Parameters
genderInfo

检测到的性别信息

Return Value

成功返回ASF_MOK,否则返回失败code


getVersion


获取版本信息

- (NSString*)getVersion;  
Return Value

成功返回版本信息,否则返回MNull


initFaceEngineWithDetectMode:orientPriority:scale:maxFaceNum:combinedMask:


引擎初始化 *

- (MRESULT)initFaceEngineWithDetectMode:(MLong)detectMode 
        orientPriority:(ASF_OrientPriority)detectFaceOrientPriority 
        scale:(MInt32)detectFaceScaleVal maxFaceNum:(MInt32)detectFaceMaxNum 
        combinedMask:(MInt32)combinedMask;  
Parameters
detectMode

检测模式(ASF_DETECT_MODE_VIDEO或ASF_DETECT_MODE_IMAGE模式) *

detectFaceOrientPriority

检测脸部的角度优先值,推荐仅检测单一角度,效果更优 *

detectFaceScaleVal

用于数值化表示的最小人脸尺寸,该尺寸代表人脸尺寸相对于图片边长的对比; video模式有效范围[2,16],image模式有效范围[2,32],推荐值为16 *

detectFaceMaxNum

最大需要检测的人脸个数[1,50] *

combinedMask

用户选择需要检测的功能组合,可单个或多个 *

Return Value

成功返回ASF_MOK,否则返回失败code


processWithWidth:height:data:format:faceRes:mask:


人脸信息检测(年龄/性别/人脸3D角度),最多支持4张人脸信息检测,超过部分返回未知

- (MRESULT)processWithWidth:(MInt32)width height:(MInt32)height 
        data:(MUInt8*)data format:(MInt32)format faceRes:(LPASF_MultiFaceInfo)detectedFaces 
        mask:(MInt32)combinedMask;  
Parameters
width

图像数据宽度,为4的倍数且大于0

height

图像数据高度,NV12格式的图片高度为2的倍数,BGR24格式的图片高度不限制

data

图像数据

format

颜色空间格式

detectedFaces

检测到的人脸信息

combinedMask

初始化中参数combinedMask与ASF_AGE|ASF_GENDER|ASF_FACE3DANGLE的交集的子集

Return Value

成功返回ASF_MOK,否则返回失败code


unInitFaceEngine


销毁引擎

- (MRESULT)unInitFaceEngine;  
Return Value

成功返回ASF_MOK,否则返回失败code