STFace

来自于:开发者立即使用

概述

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

模块接口

init

使用获取的lic初始化

init({params}, callback(ret))

params

lic:

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

callback(ret)

ret:

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

err:

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

示例代码

var STFace = api.require('STFace');
STFace.init({
    lic: ''
}, function(ret, err) {
   alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

liveFaceDetect

活体人脸检测

liveFaceDetect({params}, callback(ret))

params

rect:

  • 类型:JSON对象
  • 描述:显示控件位置
  • 内部字段:
    {
     x:,       //数字类型;控件左上角x坐标
     y:,      //数字类型;控件左上角y坐标
     w:,     //数字类型;控件宽
     h:,     //数字类型;控件高
    }
    

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 对象
  • 内部字段:
{
    status:true,                //布尔类型;操作成功状态值
    result:{                       //JSON对象类型;扫描结果
      type:1,                     //数字类型;类型;取值范围:0/检测到hack、1/检测到真人,2/检测到人脸
      feature:'',             //字符串类型;人脸特征值
      data:'',                     //字符串类型;图片数据,base64字符串
      faceData:'',             //字符串类型;图片中人脸数据,base64字符串
      width:,                     //数字类型;图片宽度
      height:,                    //数字类型;图片高度
      facePar:{                //JSON对象类型;检测到人脸参数;仅livence为1时返回
          faceWidth:,         //数字类型;人脸宽度
        faceHeight:,       //数字类型;人脸高度
        centerx:,              //数字类型;人脸中心x坐标
        centery:,             //数字类型;人脸中心y坐标
        raw:,                    //小数类型;水平旋转角度
        roll:,                    //小数类型;旋转角度
      }
    },
}

err:

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

示例代码

var STFace = api.require('STFace');
STFace.liveFaceDetect({
    rect: {
    x:,
    y:,
    w:,
    h:,
    },
}, function(ret, err) {
   alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

endLiveFaceDetect

结束活体人脸检测

endLiveFaceDetect({params}, callback(ret))

callback(ret)

ret:

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

err:

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

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

getImageByData

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

getImageByData({params}, callback(ret))

parameter

data:

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

width:

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

height:

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

callback(ret)

ret:

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

err:

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

示例代码

var STFace = api.require('STFace');
STFace.getImageByData({
data:'',
width:,
height:,
}, function(ret, err) {
   alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

faceVerify

人脸图片比对相似度

faceVerify({params}, callback(ret))

parameter

firImagePath:

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

secImagePath:

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

callback(ret)

ret:

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

err:

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

示例代码

var STFace = api.require('STFace');
STFace.faceVerify({
firImagePath:'',
secImagePath:,
}, function(ret, err) {
   alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

detectFaceFromArray

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

detectFaceFromArray({params}, callback(ret))

parameter

imagePath:

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

imageArray:

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

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

    maxCount:

  • 类型:数字类型

  • 描述:(可选)最大返回数
  • 默认值:3

callback(ret)

ret:

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

err:

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

示例代码

var STFace = api.require('STFace');
STFace.detectFaceFromArray({
imagePath:'',
imageArray:[],
}, function(ret, err) {
   alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

getImageFeature

获取人脸特征

getImageFeature({params}, callback(ret))

parameter

imagePath:

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

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,          //布尔类型;操作成功状态值
    hasFace:,             //布尔类型;图片中是否有人脸
    featureStr:'',       //字符串类型;人脸特征字符串
    feature:[             //JSON数组;人脸特征,hasFAce为true时返回
    {                   //JSON对象;图片人脸特征
    id:,           //数字类型;人脸id
     eyeDist:,          //小数类型;两眼间距离
     pitch:,              //小数类型;俯仰角,真实度量的上负下正。
     pointCount:     //数字类型;获取人脸关键点数量
     pointsArray:[            //JSON数组;关键点数组
     {
       x:,              //数字类型;关键点x坐标
       y:,              //数字类型;关键点y坐标
     }
     ],
     roll:,                   //小数类型;旋转角,真实度量的左负右正。
     yaw:,                  //小数类型;水平旋转角,真实度量的左负右正。
     score:,               //小数类型;人脸检测分数。
     rect:{                 //JSON对象类型;人脸位置
      bottom:,      //数字类型;人脸下边位置
      left:,            //数字类型;人脸左边位置
      right:,           //数字类型;人脸右边位置
      top:,              //数字类型;人脸上边位置
     },

    } ],

err:

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

示例代码

var STFace = api.require('STFace');
STFace.getImageFeature({
imagePath:'',
}, function(ret, err) {
   alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

detectFaceFromFeature

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

detectFaceFromFeature({params}, callback(ret))

parameter

baseFeature:

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

featureArray:

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

    [{
    name:'',            //字符串类型;特征值名称
    feature:''            //字符串类型;特征值
    },
    ]
    

    maxCount:

  • 类型:数字类型

  • 描述:(可选)最大返回数
  • 默认值:3

callback(ret)

ret:

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

err:

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

示例代码

var STFace = api.require('STFace');
STFace.detectFaceFromFeature({
baseFeature:'',
featureArray:[],
}, function(ret, err) {
   alert(JSON.stringify(ret));
});

可用性

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 参数错误