STFace
来自于:开发者立即使用
init liveFaceDetect endLiveFaceDetect getImageByData faceVerify detectFaceFromArray getImageFeature detectFaceFromFeature 附录
概述
此模块封装了汤商人脸识别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 参数错误