H5动作活体(视频文件)
接口描述
根据传入的视频,进行视频内活体的动作检测。
请求说明
HTTP 方法:
POST
请求 URL:
/ai-cloud-face/liveness/action/video
Header 如下:
参数名称 | 值 |
---|---|
Content-Type | application/json;charset=UTF-8 |
Body 中放置请求参数,参数详情如下:
请求参数:
参数名称 | 数据类型 | 参数描述 |
---|---|---|
appKey | String | 应用生成的appkey |
sign | String | 签名 |
nonceStr | String | 随机字符串 |
video | String | 视频数据(base64 编码) |
action | String | 1 为眨眼,2 为张嘴,5 为转头,如传1,2,5 按照顺序先检测眨眼再张嘴再转头,传2,1,5 按照顺序先检测张嘴再检测眨眼再转头 |
thresholds 可选 | Integer | 策略等级 默认使用 medium.txt |
filterType 可选 | Integer | 图片质量过滤掩码,打开多个过滤功能,filterType 为各过滤数值相加,如打开口罩、遮挡和墨镜过滤,filterType=2+4+8=14);1:人行人脸识别质量标准过滤;2:戴口罩过滤;4:遮挡过滤;8:墨镜过滤;16:confidence 0.35 过滤;32:best_score 0.3 过滤;64:质量分过滤 |
deviceType 可选 | Integer | 设备信息: 0 未知,1 android,2 ios,3 windows |
返回说明
返回参数:
返回值名称 | 类型 | 描述 |
---|---|---|
code | int | 返回结果,0 表示成功,非 0 为对应错误号 |
success | Boolean | 是否成功 |
message | String | 返回描述 |
data | Object | 返回的数据如下 |
isAlive | Boolean | 活体标签(true:活体;false:非活体) |
image | String | 从视频中选出的最佳人脸图像(base64 编码) |
confidence | Number | 置信分 |
attackType | Number | 攻击类型(isAlive 为 false 时才返回) 2:判断为扣眼攻击;3:判断为扣嘴攻击;4:判断为半张脸攻击;5:判断为视频回放攻击;6:判断为黑白图片;7:判断为纸面攻击;8:判断为边框(包括纸面、手机等边框);9:判断为摩尔纹攻击;10:判断为脸优攻击;11:判断为纸面攻击(光流);12:判断为面具攻击;13:判断为证卡攻击;14:判断为3D面具攻击;16:动作活体未检测到动作;20:判断为不满足人行人脸识别图片质量要求;21:判断为戴口罩/遮挡或者墨镜;22:判断为未检测到人脸;23:人脸检测或质量分或活体分模块运行异常;30: 动作活体判定为换人,提示请不要剧烈晃动屏幕;31: 动作活体判定为环境光太暗,提示增加环境光;32: 动作活体判定为环境光太亮,提示降低环境光;33: 动作活体判定没有正对屏幕,提示需要正对屏幕;34: 动作活体判定清晰度不够,提示确保光线自然,无晃动屏幕;35: 动作活体未检测到动作;50: 判断为合成图像攻击;51: 判断为合成图像攻击;52: 判断为黑产软件攻击;53: 判断为 T 型面具攻击;54: 判断为黑白照片;55: 判断为模糊图片;56: 补充攻击模型1;57: 补充攻击模型2;58: 补充攻击模型3;59: 补充攻击模型4 |
返回示例:
{
"message": "success",
"code": 0,
"success": true,
"data": {
"result": 0,
"info": "success",
"isAlive": true,
"confidence": 0.996242,
"image": "图片BASE64编码",
"attackType": null
}
}