baiduFaceLive

来自于:开发者立即使用

openFaceDetectView continueFaceDetect closeFaceDetectView

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。

概述

baiduFaceLive 模块概述

本模块封装了百度开放平台的人脸识别离线采集客户端SDK(活体检测),可以在客户端方便快捷的接入人脸识别功能。

模块使用攻略

使用之前须从百度开放平台申请开发者账号并完成企业认证,获取 LicenseID和 LicenseFileName。百度开发平台控制台

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

  • 名称:baiduFaceLive
  • 参数:LicenseID_iOS、LicenseFileName_iOS、LicenseID_Android、LicenseFileName_Android
  • 配置示例:
  1. <feature name="baiduFaceLive">
  2. <param name="LicenseID_iOS" value="test-zhaofei-face-ios"/>
  3. <param name="LicenseFileName_iOS" value="idl-license.face-ios"/>
  4. <param name="LicenseID_Android" value="test-zhaofei-face-android"/>
  5. <param name="LicenseFileName_Android" value="idl-license.face-android"/>
  6. </feature>

License文件打包模块包需注意事项请参考License打包模块包注意事项,然后将制作好的授权模块包上传到自定义模块,添加到自己的App进行使用。

固件要求

Android:4.0.3及以上 iOS:8.0及以上

模块接口

openFaceDetectView

打开人脸识别界面

openFaceDetectView({params}, callback(ret))

params

rect:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 描述:(可选项)浏览器窗口的位置和大小,设置margin后,在不同手机上面会保持与父页面的各方向边距一致,而中间区域会自动扩充。建议使用margin布局,可以完美适配带smartBar的手机。
  • 内部字段:
  1. {
  2. x:0, //左上角x坐标,默认0
  3. y:0, //左上角y坐标,默认0
  4. w:320, //宽度,默认'auto',页面从x位置开始自动充满父页面宽度
  5. h:480 //高度,默认'auto',页面从y位置开始自动充满父页面高度
  6. marginLeft:0, //相对父页面左外边距的距离,默认0
  7. marginTop:0, //相对父页面上外边距的距离,默认0
  8. marginBottom:0, //相对父页面下外边距的距离,默认0
  9. marginRight:0 //相对父页面右外边距的距离,默认0
  10. }

fixedOn:

  • 类型:字符串型
  • 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window

fixed:

  • 类型:布尔型
  • 描述:(可选项)模块是否随所属 Window 或 Frame 滚动
  • 默认值:true(不随之滚动)

defaultUI:

  • 类型:布尔型
  • 描述:(可选项)是否显示自带UI布局(true : 显示 false : 不显示)
  • 默认值:true(显示)

isShowRectLine:

  • 类型:布尔型
  • 描述:(可选项)是否隐藏识别区域的圆形边框(true : 显示 false : 隐藏)
  • 默认值:false(隐藏)

blurnessValue:

  • 类型:浮点型
  • 描述:(可选项)设置图像模糊阀值 (0-1) 推荐小于0.7
  • 默认值:0.5

brightnessValue:

  • 类型:浮点型
  • 描述:(可选项)设置亮度阀值 (0-100) 推荐大于40
  • 默认值:40

cropFaceValue:

  • 类型:数字型
  • 描述:(可选项)设置截取人脸图片大小
  • 默认值:200

headPitchValue:

  • 类型:数字型
  • 描述:(可选项)设置头部姿态角度Pitch范围(-45,45),推荐-15-15
  • 默认值:10

headRollValue:

  • 类型:数字型
  • 描述:(可选项)设置头部姿态角度Yaw范围(-45,45),推荐-15-15
  • 默认值:10

headYawValue:

  • 类型:数字型
  • 描述:(可选项)设置头部姿态角度Roll范围(-45,45),推荐-15-15
  • 默认值:10

minFaceSize:

  • 类型:数字型
  • 描述:(可选项)设置最小检测人脸阈值 (在图片人脸能够被检测到最小值)80-200, 越小越耗性能,推荐120-200
  • 默认值:200

notFaceValue:

  • 类型:浮点型
  • 描述:(可选项)设置人脸检测精度阀值(0-1)
  • 默认值:0.6

occlusionValue:

  • 类型:浮点型
  • 描述:(可选项)设置人脸遮挡阀值(0-1) 推荐小于0.5
  • 默认值:0.5

isCheckQuality:

  • 类型:布尔型
  • 描述:(可选项)设置是否进行人脸图片质量检测(true:开启 false:关闭)
  • 默认值:true(开启)

isSound:

  • 类型:布尔型
  • 描述:(可选项)设置是否开启声音播放(true:开启 false:关闭)
  • 默认值:true(开启)

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. evenType : 'Tips', // Tips 提示信息|success 识别成功
  3. message : '',//Tips 有值
  4. data : { //base64图片 //success 有值
  5. bestImage : '', //图片
  6. liveEye : '', //杂眼睛
  7. liveMouth : '', //张张嘴
  8. yawRight : '',//向右转头
  9. yawLeft : '', //向左转投
  10. pitchUp : '',//轻微抬头
  11. pitchDown : '',//轻微低头
  12. headLeftOrRight : ''//摇摇头
  13. }
  14. }

示例代码

  1. var demo = api.require('baiduFaceLive');
  2. demo.openFaceDetectView(function(ret, err){
  3. if(ret.evenType=='success'){
  4. //由于base64数据量大,请不要用JSON.stringify(ret)调试
  5. alert(ret.data.bestImage);
  6. }else{
  7. api.toast({ msg : JSON.stringify(ret) +" "+JSON.stringify(err)});
  8. }
  9. });

Tips值列表

iOSAndroid
建议略微抬头未检测到人脸
建议略微低头把脸移入框内
建议略微向右转头手机拿近一点
建议略微向左转头手机拿远一点
光线再亮些建议略微抬头
把脸移入框内建议略微低头
请保持不动建议略微向左转头
左眼有遮挡建议略微向右转头
右眼有遮挡脸部有遮挡
鼻子有遮挡光线再亮些
嘴巴有遮挡请保持不动
左脸颊有遮挡请正对手机
右脸颊有遮挡检测超时
下颚有遮挡眨眨眼
手机拿远一点请眨眨左边眼睛
手机拿近一点请眨眨右边眼睛
把脸移入框内张张嘴
眨眨眼向左缓慢转头
张张嘴向右缓慢转头
向右缓慢转头摇摇头
向左缓慢转头缓慢抬头
缓慢抬头缓慢低头
缓慢低头非常好
摇摇头
非常好
验证失败
检测超时

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

continueFaceDetect

识别结果处理后继续人脸识别(识别界面未关闭时调用)

continueFaceDetect(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code : '',
  3. msg : ''
  4. }

示例代码

  1. var demo = api.require('baiduFaceLive');
  2. demo.continueFaceDetect(function(ret, err){
  3. //alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeFaceDetectView

关闭人脸识别界面

closeFaceDetectView(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code : '',
  3. msg : ''
  4. }

示例代码

  1. var demo = api.require('baiduFaceLive');
  2. demo.closeFaceDetectView(function(ret, err){
  3. //alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本