利物乙作为成都捷德科技旗下专业扣费自动发餐盘机品牌,其人脸识别的稳定性和可靠性得到广大用户群体的认可,在疫情期间为非接触就餐管理提供了便利和专业性建设指导,为健康就餐减少交叉感染添砖加瓦。利物乙扣费自动发餐盘机是如何通过人脸识别来实现无接触就餐的呢?是如何实现戴口罩也能准确识别的呢?这就与专业的代码不可分离,下面我们一起来看下人脸识别接口代码吧。
1、接口说明
1.1 FaceAuth鉴权接口
1.1.1 鉴权-在线鉴权
说明:用户通过申请授权码,在线授权,激活设备
void initLicenseOnLine(final Context context, final String licenseKey, final AuthCallback callback)
参数名 | 含义 |
---|---|
context | 当前上下文 |
licenseKey | AIPE 鉴权码 |
callback | 鉴权结果 void onResponse(int code, String response) code 0 : 成功;code 1 加载失败 response 结果信息 |
1.1.2 鉴权-离线授权
说明:用户申请鉴权文件,放在SD 卡下,点击按钮直接鉴权
void initLicenseOffLine(final Context context, final Callback callback)
参数名 | 含义 |
---|---|
context | 当前上下文 |
callback | 鉴权结果 void onResponse(int code, String response) code 0 : 成功;code 1 加载失败 response 结果信息 |
1.1.3 鉴权-在线按应用批量授权
说明:用户通过申请在线licenseID,不需要输入任何信息,直接网络请求获取鉴权文件
void initLicenseBatchLine(final Context context, final String licenseKey, final Callback callback)
参数名 | 含义 |
---|---|
context | 当前上下文 |
licenseKey | 鉴权文件Key |
callback | 鉴权结果 void onResponse(int code, String response) code 0 : 成功;code 1 加载失败 response 结果信息 |
1.1.4 开启底层Log输出
说明:用于Debug时候输出Log详细信息
void setActiveLog(BDFaceLogInfo logInfo)
参数名 | 含义 |
---|---|
BDFaceLogInfo | 底层log 打印 BDFACE_LOG_VALUE_MESSAGE, // 打印输出值日志 BDFACE_LOG_ERROR_MESSAGE, // 打印输出错误日志 BDFACE_LOG_ALL_MESSAGE, // 打印所有日志 |
1.1.5 设置核数
说明:根据开发板类型,设置加速对CPU核数依赖,调整参数,提高性能
setAnakinConfigure(BDFaceSDKCommon.BDFaceCoreRunMode runMode, int coreNum)
参数名 | 含义 |
---|---|
runMode | 推荐使用0, 1, 3;如果有需要绑核的话,用0和1;如果不需要绑核,系统自动调度的话,用3 BDFACE_LITE_POWER_HIGH=0, 绑定大核运行模式。如果ARM CPU支持big.LITTLE,则优先使用并绑定Big cluster。如果设置的线程数大于大核数量,则会将线程数自动缩放到大核数量。如果系统不存在大核或者在一些手机的低电量情况下会出现绑核失败,如果失败则进入不绑核模式。 BDFACE_LITE_POWER_LOW=1,绑定小核运行模式。如果ARM CPU支持big.LITTLE,则优先使用并绑定Little cluster。如果设置的线程数大于小核数量,则会将线程数自动缩放到小核数量。如果找不到小核,则自动进入不绑核模式。 BDFACE_LITE_POWER_FULL=2,大小核混用模式。线程数可以大于大核数量。当线程数大于核心数量时,则会自动将线程数缩放到核心数量。 BDFACE_LITE_POWER_NO_BIND=3,不绑核运行模式(推荐)。系统根据负载自动调度任务到空闲的CPU核心上。 BDFACE_LITE_POWER_RAND_HIGH=4,轮流绑定大核模式。如果Big cluster有多个核心,则每预测10次后切换绑定到下一个核心。 BDFACE_LITE_POWER_RAND_LOW=5,轮流绑定小核模式。如果Little cluster有多个核心,则每预测10次后切换绑定到下一个核心。 |
coreNum | 根据如下命令,查看cpu 核数,选择线程数 adb shell cat /proc/cpuinfo |
1.1.6 Code返回值
说明: 根据code返回值来判断返回错误信息
参数名 | 含义 |
---|---|
code | code == 0 成功; code == 1 context 为null; code == -1 非法的参数; code == -2 内存分配失败; code == -3 实例对象为空; code == -4 模型内容为空;code == -5 不支持的能力类型; code == -6 不支持预测类型;code == -7 预测库对象创建失败; code == -8 预测库初始化失败;code == -9 图像数据为空; code == -10 人脸能力初始化失败;code == -11 能力未加载 ; code == -12 人脸能力已加载;code == -13 未授权; code == -14 人脸能力运行异常 ;code == -15 不支持的图像类型; code == -16 图像转换失败; |