动作活体检测
接口描述
用户通过发送HTTP POST请求方式提交数据至公有云服务器,上传相应的动作视频进行活体检测。
接口说明
请求URL:http://api.exocr.com/face/v3/actionlive
请求方式:HTTP Post
返回格式:json
Header
参数 | 值 |
---|---|
Content-Type | 使用二进制方式时,为multipart/form-data;使用base64方式时,为application/x-www-form-urlencoded |
请求参数
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
app_key | 是 | String | 请在控制台->我的应用中获取 |
app_secret | 是 | String | 请在控制台->我的应用中获取 |
video_base64 | 否 | String | 图像base64编码。video_base64、video_binary两个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上两个参数,则以video_base64图像为准。 |
video_binary | 否 | String | 图像二进制。video_base64、video_binary两个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上两个参数,则以video_base64图像为准。 |
detect_type | 是 | String | 要检测的动作类型。取值为:blink, nod, mouth, shake,分别代表的动作为眨眼,点头,张嘴,摇头 |
return_best_frame | 否 | String | 是否返回最佳帧。1=返回;0=不返回 |
调用示例
java(相关依赖库下载)
public static void main(String[] args) {
String url = "http://api.exocr.com/face/v3/actionlive";
Map<String, String> params = new HashMap<>();
params.put("app_key", "#####");
params.put("app_secret", "#####");
params.put("video_base64", "video_base64_str");
params.put("detect_type", "blink");
params.put("return_best_frame", "1");
String result = HttpClientUtils.doPost(url, params);
System.out.println(result);
}
返回示例
{
"result": {
"result": "true",
"best_frame": ""
},
"error_code": 0,
"description": "检测成功",
"request_id": "60C67640DD384D9FA53BAAD37822227D",
"recognize_time": 1395,
"available_count": 9,
}
返回说明
通用参数
参数 | 类型 | 备注 |
---|---|---|
error_code | Int | 错误码。0:正确,1:无法识别,2:图像格式错误 |
description | String | 识别结果描述 |
request_id | String | 请求唯一标识符 |
recognize_time | Int | 识别所用时间,毫秒为单位 |
available_count | Int | 剩余可用次数 |
result | List | 返回结果数组,包括所有字段的识别信息 |
动作活体检测特有参数
参数 | 类型 | 备注 |
---|---|---|
result/result | String | 活体检测结果。true为通过,false为不通过 |
result/base_frame | String | 最佳帧图像。以base64格式编码 |