人脸检测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)