人脸检测SDK使用文档
本文档主要针对Android 端调用者, 创迹AI开放平台需要购买后, 下载SDK进行使用。本文以“人脸检测”能力为例,指引您开启开发之旅 。
1、人脸检测SDK配置文档
1.1、SDK下载
具体操作请参照[SDK下载-SDK下载],根据指南进行SDK下载。
1.2、SDK接入配置
1.2.1 aar放入libs文件夹
将SDK下载到本地后将文件解压,找到里面的.arr文件,将其放入项目中的libs文件中:
1.2.2 在build.gradle中加入代码:
在build.gradle dependency中加入代码: implementation(name: 'FaceDetectionSDK_1.0.0', ext: 'aar') implementation 'com.squareup.okhttp3:okhttp:3.12.1' implementation 'com.google.code.gson:gson:2.8.5' 在gradle文件中“Android{}”内添加 repositories { flatDir { dirs 'libs' } }
1.2.3 添加对应的权限:
1.2.4 代码调用说明:
因为权限认证、检测等API操作是耗时操作,在调用SDK的API接口时,须要创建子线程,在子线程中使用例子如下,Face detect Demo代码:
1.3、SDK使用流程
1.严格按照操作流程来,此三步中后一步对前一步有依赖,未认证、未初始化调用检测将会导致程序报错。
注意点:
①鉴权完毕后再进行初始化,初始化完毕后进行检测(可以循环调用检测),初始化一次即可,初始化多次会导致异常,且此操作存在内存泄漏。检测完毕后,最后进行模型关闭操作。
②模型初始化一次、关闭也是一次,初始化后不要重复初始化,模型关闭后不要重复关闭。
1.4、注意事项
1.SDK是按照设备数来购买的,当一个设备使用成功后就减少一台次数,所以请合理安排设备,避免造成购买次数的浪费。
2、人脸检测SDK使用文档
2.1、能力介绍
检测给定图片中的人脸的位置,对应的性别,年龄,是否活体和人脸3D旋转角度。
2.2、调用方式
该SDK 主要用于android端,服务授权请参考[接入指南-SDK接入指南],根据指南进行服务授权,授权后进行SDK使用。
2.3、调用说明
点击下载,人脸检测SDK。
下载完成后解压,对应文档目录:
|---libs | |---FaceDetectionSDK-1.0.0.arr 人属性的SDK |---explanatoryDocument.txt 说明文件
建议硬件信息:
Android版本:6.0 + 内存:2G +
详细调用:
记录下网站下的appkey,appsecret,servicekey。
2.4、接口说明
authorizationOnline(appkey,appsecret,servicekey,appContext)
功能:调用验证接口,进行权限认证。
参数详解:
参数名称 | 是否必选 | 数据类型 | 说明 |
---|---|---|---|
appkey | 是 | string | 官网获取的APP_KEY |
appSecret | 是 | string | 官网获取的APP_SECRET |
serviceKey | 是 | string | 官网获取的SERVICE_KEY |
appContext | 是 | string | 上下文传递 |
initEngine(appContext,maxFace)
功能:调用初始化接口,进行模型初始化。
参数详解:
参数名称 | 是否必选 | 数据类型 | 说明 |
---|---|---|---|
appContext | 是 | string | 上下文 |
maxFace | 是 | int | 最大人脸数 |
faceDetect(originalBitmap)
功能:识别图片中 的人脸属性并返回结果。
参数详解:
参数名称 | 是否必选 | 数据类型 | 说明 |
---|---|---|---|
originalBitmap | 是 | string | 图片的bitma |
closeEngine()
功能:关闭检测器(关闭一次即可,开启模型与关闭模型一一对应)。
注意:
1.权限认证通过之后,先初始化模型,再进行图片检测;权限认证不通过,初始化模型会失败;
2.权限认证、模型初始化、模型检测、模型关闭,必须按照顺序执行,否则可能会产生错误,或者程序崩溃。
2.5、返回码
功能 | Code返回码 | 返回码含义 |
---|---|---|
授权功能 | 11 | 授权失败 |
1 | 授权成功 | |
初始化功能 | 12 | 初始化失败 |
1 | 初始化成功 | |
13 | 关闭模型失败 | |
14 | 输入参数错误 |
2.6、检测结果
[ { "gender": 1, "liveness": 1, "angle": { "roll": 20.682161, "pitch": -10.808005, "yaw": 18.300426, "status": 0 }, "faceInfo": { "orient": 1, "top": 58, "left": 255, "bottom": 245, "right": 442 }, "age": 22 } ]
2.7、返回字段详解
名称 | 说明 |
---|---|
faceInfo | 人脸信息 orient:检测结果人脸角度 ( 逆时针0度:1 逆时针90度:2 逆时针270度:3 逆时针180度:4 逆时针30度:5 逆时针60度:6 逆时针120度:7 逆时针150度:8 逆时针210度:9 逆时针240度:10 逆时针300度:11 逆时针330度:12 ) left:人脸位置:左上x top:人脸位置:左上y right:人脸位置:右下x bottom:人脸位置:右下y |
gender | 性别(未知性别=-1 、男性=0 、女性=1) |
age | 年龄 |
angle | 人脸旋转角度参数 pitch:俯仰角(三维绕X轴旋转 俯仰角度[-90(上), 90(下)]) yaw:偏航角(三维绕Y轴旋转 旋转角[-90(左), 90(右)]) roll:横滚角(三维 绕Z轴旋转 旋转角度[-180(逆时针), 180(顺时针)]) status:0: 正常 非0: 异常 |
liveness | 活体值(未知=-1 、非活体=0 、活体=1) |