faceID

来自于:AC模块工作室立即使用

概述

faceID 封装了FACE++SDK的活体检测功能,FACE++SDK 集成了 Face++ 人脸识别技术的活体验证算法。算法通过动作指令,要求用户完成特定的点头、摇头、眨眼或者张嘴的动作,达到活体检测的目的。算法可以有效的防止各种安全性攻击,包括但不限于换人、视频、面具、翻拍等攻击手段。模块同时集成了 Face++ 图像识别技术的身份证采集算法。算法采集并分析身份证的文字清晰度、光斑、阴影等质量信息,给出调整的提示,确保最终采集到质量高,利于留存验证的身份证图像。平台地址FaceID平台

注意:该模块封装的是老版本的SDK

模块的人脸识别过程

识别模式一:传入身份证信息

1,调用识别接口同时传入身份证号

2,根据身份证号去中国公安系统获取照片

3,摄像头捕捉的人脸和从中国公安系统获取的照片对比

4,若对比成功则返回识别成功的信息,若失败则返回识别的信息

识别模式二:不传入身份证信息

1.授权后,直接进行人脸识别

2.可获取到一张人脸最好的照片

3.需要开发者自己利用得到的照片和身份证上的图片去对比(开发者可通过旷视的身份证API去实现(https://faceid.com/pages/documents/10881005))

兼容性

FACE++ iOS 系列SDK 支持 iOS7及以上操作系统,为了提高效果,推荐使用iPhone4S 以上机器,不包含iPhone4S。

注意:客户端SDK需要授权才能使用,我们需要您绑定您客户端APP的Bundle ID,以便FaceID识别您的客户端应用。 目前,客户端 SDK 通过联网进行授权,需要将您的APP的 Bundle ID 与 SDK 绑定以进行授权识别 。

在iOS端需勾选相机、相册、麦克风的权限,否则会导致崩溃。

模块使用攻略

使用此模块之前需先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:

  • 名称:faceID
  • 参数:apiKey、apiSecret
  • 配置示例:
 <feature name="faceID">
   <param name="apiKey" value="" />
   <param name="apiSecret" value="" />
 </feature>
  • 字段描述:

    apiKey:从FACE++平台获取得apiKey apiSecret:从FACE++平台获取得apiSecret

auth

SDK网络授权

auth(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
   status: true      //数字类型;授权成功
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    code: 1     //数字类型;
                //1(授权失败)
}

示例代码

var faceID = api.require('faceID');
faceID.auth(function(ret, err){
    if(ret){
        alert("SDK网络授权成功");
    }else{
        alert('SDK网络授权失败');
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

opencustomDetect

打开人脸活体检测

openCustomDetect({params}, callback(ret, err))

params

name:

  • 类型:字符串
  • 描述:(可选项)身份证姓名 注意:如果该参数为空,可以不关联身份证进行人脸识别,安全性较低

identity:

  • 类型:字符串
  • 描述:(可选项)身份证号 注意:如果该参数为空,可以不关联身份证进行人脸识别,安全性较低

actionArray:

  • 类型:活体数组
  • 描述:活体动作
  • 默认:[1]
  • 取值范围:[1-4]
    • 1 (眨眼)
    • 2 (张嘴)
    • 3 (左右转头)
    • 4 (上下点头)

thresholds:

  • 类型:字符串
  • 描述:(可选项) 一组用于参考的置信度阈值 值越高检测越准确
  • 默认:1e-4
  • 取值范围:

    • '1e-3'(误识率为千分之一的置信度阈值)
    • '1e-4'(误识率为万分之一的置信度阈值)
    • '1e-5'(误识率为十万分之一的置信度阈值)
    • '1e-6'(误识率为百万分之一的置信度阈值)

    cheakImg:

  • 类型:字符串

  • 描述:(可选项)检测区域的背景图,支持gif图

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'show',             //字符串类型;
                                   //取值范围:
                                   //show(模块打开成功)
                                   //succeed(检测成功)
                                   //unrecognized(未识别出来)
}

示例代码

var faceID = api.require('faceID');
faceID.openCustomDetect({
  name:'',
  identity:'',
  thresholds:'1e-4'
},function(ret, err) {
    if (ret) {
       alert(JSON.stringify(ret));
    } else {
       alert(JSON.stringify(err));
    }            
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getImagePath

活体检测成功后获取图片

getImagePath(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    imagePath: '',             //字符串类型;返回图片路径                           
}

示例代码

var faceID = api.require('faceID'); 
faceID.getImagePath(function(ret){
   alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本