/face/liveness_anti_hack
1. API 说明
2. 请求参数
3. 返回参数
4. 错误码
5. 示例
1. API 说明
该API的功能是验证采集的用户活体信息是否存在hack行为,需要结合移动端SDK使用
图像要求
1. 支持格式:JPG(JPEG), PNG
2. 图像尺寸范围:128*128 至 6000*6000 像素
3. 文件大小:不超过 5MB
请求方式
POST
请求地址
https://cloudapi.peru.accuauth.com/face/anti_hack
2. 请求参数
2.1 请求头
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
X-DF-API-ID | string | 是 | API 凭证,请访问 API Request 获取 |
X-DF-API-SECRET | string | 是 | API 凭证,请访问 API Request 获取 |
2.2 请求体
字段 | 类型 | 是否必需 | 描述 |
---|---|---|---|
liveness_data_file | file | 是 | 活体protobuf文件 |
image_id | string | 否 | H5活体SDK的Image ID |
return_image | int | 否 | 是否返回图片; 0: 否, 1: 是, 默认为0 |
return_extra | int | 否 | 是否返回额外信息;0: 否,1: 是,默认值为 0 |
请求参数
liveness_data_file
或image_id
必须二选一。
使用liveness_data_file
参数时,必须将图像流添加至 POST 请求的 multipart/form-data 部分。
3. 返回参数
参数 | 类型 | 描述 |
---|---|---|
request_id | string | 每个请求的唯一标识符 |
status | string | 响应状态,成功时为 OK ,失败时返回其他状态,详情见错误码 |
score | float | 攻击评分,范围为 [0.0-1.0],分值越高,越可能为非真人图像 |
extra | object | 额外信息,详见 extra 字段说明 |
推荐的攻击检测阈值为 0.98,低于该值通常表示是真人。
3.1 extra 字段说明
参数 | 类型 | 描述 |
---|---|---|
mask_proba | float | 戴口罩的概率,建议阈值为 0.5 |
quality_score | float | 图像质量评分,建议阈值为 0.5 |
quality_too_low | bool | 图像质量是否过低 |
blur_or_dark | bool | 图像是否模糊或过暗 |
has_no_face | bool | 图像中是否检测到人脸 |
face_too_small | bool | 人脸是否过小 |
image_too_small | bool | 图像是否过小 |
masked | bool | 是否戴口罩 |
face_quality_low | bool | 人脸质量是否过低 |
face_quality_score | float | 人脸质量评分,建议阈值为 0.5 |
is_live | bool | 是否为活体人脸 |
live_proba | float | 活体评分,建议阈值为 0.5 |
eye_closed | bool | 眼睛是否闭合 |
eye_score | float | 眼睛睁开的概率,默认阈值为 0.5 |
img_ort | int | 检测到的图像方向:0 表示头部向上,1 表示逆时针旋转90度(头部向左),2 表示180度(头部向下),3 表示270度(头部向右) |
face_count | int | 检测到的人脸数量 |
返回示例
{
"request_id": "TID8bf47ab6eda64476973cc5f5b6ebf57e",
"status": "OK",
"score":"0.13119",
"extra": {
"mask_proba": 0.001,
"quality_score": 0.961,
"quality_too_low": false,
"blur_or_dark": false,
"has_no_face": false,
"face_too_small": false,
"image_too_small": false,
"masked": false,
"face_quality_low": false,
"face_quality_score": 0.9981434181918459,
"is_live": true,
"live_proba": 0.9967548623045266,
"eye_closed": false,
"eye_score": 0.9786062829240756
}
}
4. 错误码
错误码 | 状态值 | 描述 |
---|---|---|
400 |
INVALID_ARGUMENT | 请求参数错误 |
400 |
DETECTION_FAILED | 图像检测失败 |
400 |
DOWNLOAD_ERROR | 图像下载失败 |
401 |
UNAUTHORIZED | 未授权或访问被拒绝 |
401 |
KEY_EXPIRED | API ID 已过期 |
403 |
NO_PERMISSION | 无权限使用该接口 |
403 |
OUT_OF_QUOTA | 超出 API 调用配额 |
403 |
RATE_LIMIT_EXCEEDED | 调用频率超限 |
404 |
NOT_FOUND | 请求路径不存在 |
500 |
INTERNAL_ERROR | 服务器处理失败 |
错误返回示例
{
"status": "INVALID_ARGUMENT",
"reason": "must specify liveness_data_file' argument",
"request_id": "TID8bf47ab6eda64476973cc5f5b6ebf57e"
}