public class FaceEngine
extends java.lang.Object
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
ASF_AGE
初始化和调用引擎的属性,年龄检测
|
static long |
ASF_DETECT_MODE_IMAGE
IMAGE检测模式,用于处理单张的图像数据
|
static long |
ASF_DETECT_MODE_VIDEO
VIDEO检测模式,用于处理连续帧的图像数据
|
static int |
ASF_FACE_DETECT
初始化和调用引擎的属性,人脸检测
|
static int |
ASF_FACE_RECOGNITION
初始化和调用引擎的属性,人脸识别
|
static int |
ASF_FACE3DANGLE
初始化和调用引擎的属性,人脸三维角度检测
|
static int |
ASF_GENDER
初始化和调用引擎的属性,性别检测
|
static int |
ASF_IR_LIVENESS
初始化和调用引擎的属性,IR活体检测
|
static int |
ASF_LIVENESS
初始化和调用引擎的属性,RGB活体检测
|
static int |
ASF_NONE
初始化和调用引擎的属性,不初始化或调用任何引擎
|
static int |
ASF_OC_0
检测结果中的人脸角度,逆时针0度
|
static int |
ASF_OC_120
检测结果中的人脸角度,逆时针120度
|
static int |
ASF_OC_150
检测结果中的人脸角度,逆时针150度
|
static int |
ASF_OC_180
检测结果中的人脸角度,逆时针180度
|
static int |
ASF_OC_210
检测结果中的人脸角度,逆时针210度
|
static int |
ASF_OC_240
检测结果中的人脸角度,逆时针240度
|
static int |
ASF_OC_270
检测结果中的人脸角度,逆时针270度
|
static int |
ASF_OC_30
检测结果中的人脸角度,逆时针30度
|
static int |
ASF_OC_300
检测结果中的人脸角度,逆时针300度
|
static int |
ASF_OC_330
检测结果中的人脸角度,逆时针330度
|
static int |
ASF_OC_60
检测结果中的人脸角度,逆时针60度
|
static int |
ASF_OC_90
检测结果中的人脸角度,逆时针90度
|
static int |
ASF_OP_0_HIGHER_EXT
人脸检测角度,各个角度尝试检测,在IMAGE模式(
ASF_DETECT_MODE_IMAGE)下为了提高检测识别率,不支持该属性 |
static int |
ASF_OP_0_ONLY
人脸检测角度,逆时针0度
|
static int |
ASF_OP_180_ONLY
人脸检测角度,逆时针180度
|
static int |
ASF_OP_270_ONLY
人脸检测角度,逆时针270度
|
static int |
ASF_OP_90_ONLY
人脸检测角度,逆时针90度
|
static int |
CP_PAF_BGR24
图像格式,BGR格式,RGB 分量交织,按 B, G, R, B 字节序排布,且宽度必须为 4 的倍数
|
static int |
CP_PAF_DEPTH_U16
图像格式,DEPTH_U16格式,16-bit IR图像
|
static int |
CP_PAF_GRAY
图像格式,GRAY格式,8-bit IR图像
|
static int |
CP_PAF_NV21
图像格式,NV21格式,8-bit Y 通道,8-bit 2x2 采样 V 与 U 分量交织通道,且宽度必须为 4 的倍数,高度必须为 2 的倍数
|
| 构造器和说明 |
|---|
FaceEngine() |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
active(android.content.Context context,
java.lang.String appId,
java.lang.String sdkKey)
激活SDK,与
activeOnline(Context, String, String)接口功能相同,
activeOnline(Context, String, String)接口做了优化,推荐使用activeOnline(Context, String, String)接口 |
int |
activeOnline(android.content.Context context,
java.lang.String appId,
java.lang.String sdkKey)
在线激活SDK
|
int |
compareFaceFeature(FaceFeature feature1,
FaceFeature feature2,
FaceSimilar faceSimilar)
比对人脸特征数据获取相似度
|
int |
detectFaces(byte[] data,
int width,
int height,
int format,
java.util.List<FaceInfo> faceInfoList)
人脸检测
|
int |
extractFaceFeature(byte[] data,
int width,
int height,
int format,
FaceInfo faceInfo,
FaceFeature feature)
提取人脸特征数据
|
int |
getActiveFileInfo(android.content.Context context,
ActiveFileInfo activeFileInfo)
获取激活文件信息
|
int |
getAge(java.util.List<AgeInfo> ageInfoList)
获取年龄信息,需要在调用
process(byte[], int, int, int, List, int)后调用 |
int |
getFace3DAngle(java.util.List<Face3DAngle> face3DAngleList)
获取人脸三维角度信息,需要在调用
process(byte[], int, int, int, List, int)后调用 |
int |
getGender(java.util.List<GenderInfo> genderInfoList)
获取性别信息,需要在调用
process(byte[], int, int, int, List, int)后调用 |
int |
getIrLiveness(java.util.List<LivenessInfo> irLivenessInfoList)
获取IR活体检测信息,需要在调用
processIr(byte[], int, int, int, List, int) 后调用 |
int |
getLiveness(java.util.List<LivenessInfo> livenessInfoList)
获取RGB活体检测信息,需要在调用
process(byte[], int, int, int, List, int)后调用 |
int |
getVersion(VersionInfo versionInfo)
获取版本信息
|
int |
init(android.content.Context context,
long detectMode,
int detectFaceOrientPriority,
int detectFaceScaleVal,
int detectFaceMaxNum,
int combinedMask)
初始化人脸引擎
|
int |
process(byte[] data,
int width,
int height,
int format,
java.util.List<FaceInfo> faceInfoList,
int combineMask)
RGB活体、年龄、性别、三维角度检测,在调用该函数后,可以调用
getLiveness(List) ,getAge(List),getGender(List),getFace3DAngle(List)分别获取
RGB活体、年龄、性别、三维角度的检测结果;
RGB活体最多支持 1 个人脸信息的检测,超过部分返回未知;
年龄、性别、三维角度最多支持4个人脸信息的检测,超过部分返回未知 |
int |
processIr(byte[] data,
int width,
int height,
int format,
java.util.List<FaceInfo> faceInfoList,
int combineMask)
IR活体检测,在调用该函数后,可以调用
getIrLiveness(List) 获取IR活体检测结果 |
int |
setLivenessParam(LivenessParam livenessParam)
修改活体阈值
|
int |
unInit()
销毁引擎
|
public static final int ASF_NONE
public static final int ASF_FACE_DETECT
public static final int ASF_FACE_RECOGNITION
public static final int ASF_AGE
public static final int ASF_GENDER
public static final int ASF_FACE3DANGLE
public static final int ASF_LIVENESS
public static final int ASF_IR_LIVENESS
public static final long ASF_DETECT_MODE_VIDEO
public static final long ASF_DETECT_MODE_IMAGE
public static final int CP_PAF_NV21
public static final int CP_PAF_BGR24
public static final int CP_PAF_GRAY
public static final int CP_PAF_DEPTH_U16
public static final int ASF_OP_0_ONLY
public static final int ASF_OP_90_ONLY
public static final int ASF_OP_270_ONLY
public static final int ASF_OP_180_ONLY
public static final int ASF_OP_0_HIGHER_EXT
ASF_DETECT_MODE_IMAGE)下为了提高检测识别率,不支持该属性public static final int ASF_OC_0
public static final int ASF_OC_90
public static final int ASF_OC_270
public static final int ASF_OC_180
public static final int ASF_OC_30
public static final int ASF_OC_60
public static final int ASF_OC_120
public static final int ASF_OC_150
public static final int ASF_OC_210
public static final int ASF_OC_240
public static final int ASF_OC_300
public static final int ASF_OC_330
public int active(android.content.Context context,
java.lang.String appId,
java.lang.String sdkKey)
activeOnline(Context, String, String)接口功能相同,
activeOnline(Context, String, String)接口做了优化,推荐使用activeOnline(Context, String, String)接口context - 上下文对象appId - 官网申请的APP_IDsdkKey - 官网申请的SDK_KEYErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int activeOnline(android.content.Context context,
java.lang.String appId,
java.lang.String sdkKey)
context - 上下文对象appId - 官网申请的APP_IDsdkKey - 官网申请的SDK_KEYErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int getActiveFileInfo(android.content.Context context,
ActiveFileInfo activeFileInfo)
context - 上下文对象activeFileInfo - 激活文件信息对象,用于输出激活文件信息数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int init(android.content.Context context,
long detectMode,
int detectFaceOrientPriority,
int detectFaceScaleVal,
int detectFaceMaxNum,
int combinedMask)
context - 上下文对象detectMode - 检测模式,支持VIDEO模式(ASF_DETECT_MODE_VIDEO)和IMAGE模式(ASF_DETECT_MODE_IMAGE)detectFaceOrientPriority - 人脸检测角度,支持0度(ASF_OP_0_ONLY),90度(ASF_OP_90_ONLY),180度(ASF_OP_180_ONLY),270度(ASF_OP_270_ONLY),全角度检测(ASF_OP_0_HIGHER_EXT),建议使用单一指定角度检测,性能比全角度检测更佳,IMAGE模式(ASF_DETECT_MODE_IMAGE)为了提高检测识别率不支持全角度(ASF_OP_0_HIGHER_EXT)检测detectFaceScaleVal - 识别的最小人脸比例(图片长边与人脸框长边的比值),在VIDEO模式(ASF_DETECT_MODE_VIDEO)下有效值范围[2,32],推荐值16;在IMAGE模式(ASF_DETECT_MODE_IMAGE)下有效值范围[2,32],推荐值30detectFaceMaxNum - 引擎最多能检测出的人脸数,有效值范围[1,50]combinedMask - 需要启用的功能组合,可多选ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int unInit()
ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int detectFaces(byte[] data,
int width,
int height,
int format,
java.util.List<FaceInfo> faceInfoList)
data - 输入的图像数据width - 图像的宽度,为4的倍数height - 图像的高度,NV21(CP_PAF_NV21)格式为2的倍数;BGR24(CP_PAF_BGR24)、GRAY(CP_PAF_GRAY)、DEPTH_U16(CP_PAF_DEPTH_U16)格式无限制format - 图像的颜色空间格式,支持NV21(CP_PAF_NV21)、BGR24(CP_PAF_BGR24)、GRAY(CP_PAF_GRAY)、DEPTH_U16(CP_PAF_DEPTH_U16)faceInfoList - 人脸列表,传入后赋值ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int process(byte[] data,
int width,
int height,
int format,
java.util.List<FaceInfo> faceInfoList,
int combineMask)
getLiveness(List) ,getAge(List),getGender(List),getFace3DAngle(List)分别获取
RGB活体、年龄、性别、三维角度的检测结果;
RGB活体最多支持 1 个人脸信息的检测,超过部分返回未知;
年龄、性别、三维角度最多支持4个人脸信息的检测,超过部分返回未知data - 图像数据width - 图像的宽度,为4的倍数height - 图像的高度,NV21(CP_PAF_NV21)格式为2的倍数,BGR24(CP_PAF_BGR24)格式无限制format - 图像的颜色空间格式,支持NV21(CP_PAF_NV21)、BGR24(CP_PAF_BGR24)faceInfoList - 人脸列表combineMask - 检测的属性(ASF_AGE、ASF_GENDER、ASF_FACE3DANGLE、ASF_LIVENESS),支持多选,注:检测的属性须在引擎初始化接口(init(Context, long, int, int, int, int))的combinedMask参数中启用ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int processIr(byte[] data,
int width,
int height,
int format,
java.util.List<FaceInfo> faceInfoList,
int combineMask)
getIrLiveness(List) 获取IR活体检测结果data - 图像数据width - 图像的宽度,为4的倍数height - 图像的高度,NV21(CP_PAF_NV21)格式为2的倍数,GRAY(CP_PAF_GRAY)、DEPTH_U16(CP_PAF_DEPTH_U16)格式无限制format - 图像的颜色空间格式,支持NV21(CP_PAF_NV21)、GRAY(CP_PAF_GRAY)、DEPTH_U16(CP_PAF_DEPTH_U16)faceInfoList - 人脸列表combineMask - 检测的属性(ASF_IR_LIVENESS),注:检测的属性须在引擎初始化接口(init(Context, long, int, int, int, int))的combinedMask参数中启用ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int extractFaceFeature(byte[] data,
int width,
int height,
int format,
FaceInfo faceInfo,
FaceFeature feature)
data - 图像数据width - 图像的宽度,为4的倍数height - 图像的高度,NV21(CP_PAF_NV21)格式为2的倍数,BGR24(CP_PAF_BGR24)、GRAY(CP_PAF_GRAY) 格式无限制format - 图像的颜色空间格式,支持NV21(CP_PAF_NV21)、BGR24(CP_PAF_BGR24)、GRAY(CP_PAF_GRAY)faceInfo - 人脸信息feature - 人脸特征对象,用于输出人脸特征数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int compareFaceFeature(FaceFeature feature1, FaceFeature feature2, FaceSimilar faceSimilar)
feature1 - 人脸特征对象feature2 - 人脸特征对象faceSimilar - 相似度信息,用于输出相似度数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int getAge(java.util.List<AgeInfo> ageInfoList)
process(byte[], int, int, int, List, int)后调用ageInfoList - 年龄信息列表,用于输出年龄信息数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int getGender(java.util.List<GenderInfo> genderInfoList)
process(byte[], int, int, int, List, int)后调用genderInfoList - 性别信息列表,用于输出性别信息数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int getFace3DAngle(java.util.List<Face3DAngle> face3DAngleList)
process(byte[], int, int, int, List, int)后调用face3DAngleList - 人脸三维角度信息列表,用于输出人脸三维角度信息数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int setLivenessParam(LivenessParam livenessParam)
livenessParam - 活体阈值信息,SDK默认LivenessParam.rgbThreshold为0.75,LivenessParam.irThreshold为0.7ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int getLiveness(java.util.List<LivenessInfo> livenessInfoList)
process(byte[], int, int, int, List, int)后调用livenessInfoList - RGB活体检测信息列表,用于输出RGB活体检测信息结果数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int getIrLiveness(java.util.List<LivenessInfo> irLivenessInfoList)
processIr(byte[], int, int, int, List, int) 后调用irLivenessInfoList - IR活体检测信息列表,用于输出IR活体检测信息结果数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int getVersion(VersionInfo versionInfo)
versionInfo - 版本信息对象,用于输出版本信息数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义