STFace

来自于:开发者立即使用

init liveFaceDetect endLiveFaceDetect getImageByData faceVerify detectFaceFromArray getImageFeature detectFaceFromFeature 附录

概述

此模块封装了汤商人脸识别sdk,可实现对人脸追踪、搜索、比对等功能。授权方式为根据设备uuid获取lic使用手动授权。

模块接口

init

使用获取的lic初始化

init({params}, callback(ret))

params

lic:

  • 类型:字符串类型
  • 描述:设定定位精度

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true //布尔类型;操作成功状态值
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode:, //数字类型;错误码,详情请看附录
  3. msg:'', //字符串类型;错误信息
  4. }

示例代码

  1. var STFace = api.require('STFace');
  2. STFace.init({
  3. lic: ''
  4. }, function(ret, err) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

Android系统

可提供的1.0.0及更高版本

liveFaceDetect

活体人脸检测

liveFaceDetect({params}, callback(ret))

params

rect:

  • 类型:JSON对象
  • 描述:显示控件位置
  • 内部字段:

    1. {
    2. x:, //数字类型;控件左上角x坐标
    3. y:, //数字类型;控件左上角y坐标
    4. w:, //数字类型;控件宽
    5. h:, //数字类型;控件高
    6. }

rotation

  • 类型:数字类型
  • 描述:(可选项)摄像头角度
  • 默认值:90

livence

  • 类型:数字类型
  • 描述:(可选项)设置活体检测还是人脸识别
  • 默认值:0
  • 取值范围:0/活体检测,1/人脸识别

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块视图添加到指定 frame 的名字(ios:只指 frame,传 window 无效)(android可以是frame或者Window,但是在全屏的时候,需要挂在Window上或者frame是全屏)
  • 默认:模块依附于当前 window

fixed:

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

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;操作成功状态值
  3. result:{ //JSON对象类型;扫描结果
  4. type:1, //数字类型;类型;取值范围:0/检测到hack、1/检测到真人,2/检测到人脸
  5. feature:'', //字符串类型;人脸特征值
  6. data:'', //字符串类型;图片数据,base64字符串
  7. faceData:'', //字符串类型;图片中人脸数据,base64字符串
  8. width:, //数字类型;图片宽度
  9. height:, //数字类型;图片高度
  10. facePar:{ //JSON对象类型;检测到人脸参数;仅livence为1时返回
  11. faceWidth:, //数字类型;人脸宽度
  12. faceHeight:, //数字类型;人脸高度
  13. centerx:, //数字类型;人脸中心x坐标
  14. centery:, //数字类型;人脸中心y坐标
  15. raw:, //小数类型;水平旋转角度
  16. roll:, //小数类型;旋转角度
  17. }
  18. },
  19. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode:, //数字类型;错误码,详情请看附录
  3. msg:'', //字符串类型;错误信息
  4. }

示例代码

  1. var STFace = api.require('STFace');
  2. STFace.liveFaceDetect({
  3. rect: {
  4. x:,
  5. y:,
  6. w:,
  7. h:,
  8. },
  9. }, function(ret, err) {
  10. alert(JSON.stringify(ret));
  11. });

可用性

Android系统

可提供的1.0.0及更高版本

endLiveFaceDetect

结束活体人脸检测

endLiveFaceDetect({params}, callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true //布尔类型;操作成功状态值
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode:, //数字类型;错误码,详情请看附录
  3. msg:'', //字符串类型;错误信息
  4. }

示例代码

  1. var STFace = api.require('STFace');
  2. STFace.endLiveFaceDetect({
  3. }, function(ret, err) {
  4. alert(JSON.stringify(ret));
  5. });

可用性

Android系统

可提供的1.0.0及更高版本

getImageByData

根据liveFaceDetect接口返回的数据获取图片

getImageByData({params}, callback(ret))

parameter

data:

  • 类型:字符串类型
  • 描述:图片数据,liveFaceDetect接口返回的data

width:

  • 类型:数字类型
  • 描述:图片宽度

height:

  • 类型:数字类型
  • 描述:图片高度

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;操作成功状态值
  3. imagePath:'', //字符串类型;图片路径
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode:, //数字类型;错误码,详情请看附录
  3. msg:'', //字符串类型;错误信息
  4. }

示例代码

  1. var STFace = api.require('STFace');
  2. STFace.getImageByData({
  3. data:'',
  4. width:,
  5. height:,
  6. }, function(ret, err) {
  7. alert(JSON.stringify(ret));
  8. });

可用性

Android系统

可提供的1.0.0及更高版本

faceVerify

人脸图片比对相似度

faceVerify({params}, callback(ret))

parameter

firImagePath:

  • 类型:字符串类型
  • 描述:第一个图片路径,支持widget、fs路径

secImagePath:

  • 类型:字符串类型
  • 描述:第二个图片路径,支持widget、fs路径

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;操作成功状态值
  3. similarity:, //小数类型;两张图片中人脸相似度,取值范围0-1,-1/第一个图片未识别到人脸,-2/第二个图片未识别到人脸
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode:, //数字类型;错误码,详情请看附录
  3. msg:'', //字符串类型;错误信息
  4. }

示例代码

  1. var STFace = api.require('STFace');
  2. STFace.faceVerify({
  3. firImagePath:'',
  4. secImagePath:,
  5. }, function(ret, err) {
  6. alert(JSON.stringify(ret));
  7. });

可用性

Android系统

可提供的1.0.0及更高版本

detectFaceFromArray

一对多检测人脸,返回相似度最高几张

detectFaceFromArray({params}, callback(ret))

parameter

imagePath:

  • 类型:字符串类型
  • 描述:需要比对的图片路径,支持widget、fs路径

imageArray:

  • 类型:JSON数组
  • 描述:被比对的图片集合路径
  • 内部字段

    1. [{
    2. name:'', //字符串类型;图片名称,用来标记图片
    3. path:'' //字符串类型;图片路径,支持widget、fs路径
    4. },
    5. ]

    maxCount:

  • 类型:数字类型

  • 描述:(可选)最大返回数

  • 默认值:3

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;操作成功状态值
  3. sameImages:[ //JSON数组类型;比对后相同的图片名称
  4. {
  5. name:'', //字符串类型;图片名称
  6. score:, //小数类型;相似分数
  7. },
  8. ]
  9. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode:, //数字类型;错误码,详情请看附录
  3. msg:'', //字符串类型;错误信息
  4. }

示例代码

  1. var STFace = api.require('STFace');
  2. STFace.detectFaceFromArray({
  3. imagePath:'',
  4. imageArray:[],
  5. }, function(ret, err) {
  6. alert(JSON.stringify(ret));
  7. });

可用性

Android系统

可提供的1.0.0及更高版本

getImageFeature

获取人脸特征

getImageFeature({params}, callback(ret))

parameter

imagePath:

  • 类型:字符串类型
  • 描述:需要比对的图片路径,支持widget、fs路径

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;操作成功状态值
  3. hasFace:, //布尔类型;图片中是否有人脸
  4. featureStr:'', //字符串类型;人脸特征字符串
  5. feature:[ //JSON数组;人脸特征,hasFAce为true时返回
  6. { //JSON对象;图片人脸特征
  7. id:, //数字类型;人脸id
  8. eyeDist:, //小数类型;两眼间距离
  9. pitch:, //小数类型;俯仰角,真实度量的上负下正。
  10. pointCount: //数字类型;获取人脸关键点数量
  11. pointsArray:[ //JSON数组;关键点数组
  12. {
  13. x:, //数字类型;关键点x坐标
  14. y:, //数字类型;关键点y坐标
  15. }
  16. ],
  17. roll:, //小数类型;旋转角,真实度量的左负右正。
  18. yaw:, //小数类型;水平旋转角,真实度量的左负右正。
  19. score:, //小数类型;人脸检测分数。
  20. rect:{ //JSON对象类型;人脸位置
  21. bottom:, //数字类型;人脸下边位置
  22. left:, //数字类型;人脸左边位置
  23. right:, //数字类型;人脸右边位置
  24. top:, //数字类型;人脸上边位置
  25. },
  26. } ],

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode:, //数字类型;错误码,详情请看附录
  3. msg:'', //字符串类型;错误信息
  4. }

示例代码

  1. var STFace = api.require('STFace');
  2. STFace.getImageFeature({
  3. imagePath:'',
  4. }, function(ret, err) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

Android系统

可提供的1.0.0及更高版本

detectFaceFromFeature

通过比对人脸特征一对多检测人脸,返回相似度最高几张

detectFaceFromFeature({params}, callback(ret))

parameter

baseFeature:

  • 类型:字符串类型
  • 描述:需要比对的图片特征值

featureArray:

  • 类型:JSON数组
  • 描述:被比对的图片特征数组
  • 内部字段

    1. [{
    2. name:'', //字符串类型;特征值名称
    3. feature:'' //字符串类型;特征值
    4. },
    5. ]

    maxCount:

  • 类型:数字类型

  • 描述:(可选)最大返回数

  • 默认值:3

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, //布尔类型;操作成功状态值
  3. sameImages:[ //JSON数组类型;比对后相同的图片名称
  4. {
  5. name:'', //字符串类型;图片名称
  6. score:, //小数类型;相似分数
  7. },
  8. ]
  9. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode:, //数字类型;错误码,详情请看附录
  3. msg:'', //字符串类型;错误信息
  4. }

示例代码

  1. var STFace = api.require('STFace');
  2. STFace.detectFaceFromFeature({
  3. baseFeature:'',
  4. featureArray:[],
  5. }, function(ret, err) {
  6. alert(JSON.stringify(ret));
  7. });

可用性

Android系统

可提供的1.0.0及更高版本

错误码

-1 无效参数,请检查各输入参数的值是否正确 -2 句柄错误,请检查输入句柄是否已经被初始化 -3 内存不足 -4 运行失败,内部错误,请联系sensetime解决 -6 不支持的图像格式,详细请参考接口说明确认接口支持的图像格式 -7 文件不存在,请检查传入路径是否正确ect -8 模型格式不正确导致加载失败 -9 模型文件过期,请检查系统时间是否在模型有效期内 -13 license不合法(license不正确或license未加载) -14 包名错误,请检查packagename(android)和bundle -15 SDK过期,请检查系统时间是否在sdk有效期内 -16 UUID不匹配,license绑定的硬件指纹和当前设备的硬件指纹不一致 -17 在线验证连接失败,请检查设备是否可以正确连接互联网 -18 在线验证超时,请检查设备是否可以正确连接互联网 -19 在线校验失败 -20 license不可激活 -21 license激活失败 -22 激活码无效 -23 产品代码版本不一致 -24 不支持的平台 -25 模型解压缩失败 -26 子模型不存在 -27 不需要在线激活 -28 在线激活失败 -29 在线激活码无效 -30 在线激活连接失败 -32 加密芯片验证初始化错误 -33 加密芯片验证失败 -34 设置指令集错误 -993 硬狗数据不支持远程登陆读取 -994 机器cpu核心数大于授权核心数 -995 网络连接异常 -996 超出限制的句柄数量 -997 无法写入本地文件系统 -998 本地socket初始化失败(socket版本需要2.2以上) -999 文件无法访问 -1000 不支持的函数调用方式 -1001 设备无法获取硬件指纹,请联系sensetime获取帮助 -1002 证书内容非法 -1003 证书类型错误 -1004 超过限制签发数量 -1005 授权不包含该功能 -1006 授权不支持的模型版本 -1007 超出最大支持搜索数 -1009 激活次数已用完 -1010 重复授权 -1011 找不到所需功能 -1019 无法识别指定的文件ID -2000 未知错误 -2001 参数错误