/face/liveness_anti_hack
1.接口描述
该API的功能是验证采集的用户活体信息是否存在hack行为,需要结合移动端SDK使用
- 图片要求
- 格式为 JPG(JPEG),BMP,PNG,GIF,TIFF
- 宽和高大于 128px,小于等于4000px
- 小于等于 5 MB
请求方式:
POST
请求URL:
http://cloudapi.cn.accuauth.com/face/liveness_anti_hack
调试工具
2.请求参数
2.1 请求头域
字段 | 类型 | 必需 | 描述 |
---|---|---|---|
X-DF-API-ID | string | 是 | API调用凭证信息,详细信息请参考API调用 |
X-DF-API-SECRET | string | 是 | API调用凭证信息,详细信息请参考API调用 |
2.2 请求体
字段 | 类型 | 必需 | 描述 |
---|---|---|---|
liveness_data_file | file | 见下方注释 | 活体protobuf文件 |
liveness_data_url | string | 见下方注释 | 活体文件的url,从网络获取时选取此参数 |
return_image | int | No | 是否返回图片; 0: 否, 1: 是, 默认0 |
return_extra | int | 否 | 是否返回额外信息字段extra; 0: 否, 1: 是, 默认为0 |
注释:
请求参数
liveness_data_file
,liveness_data_url
与liveness_data_id
三选一。参数
liveness_data_file
需把图片文件以 multipart/form-data 的形式放到 POST 消息体中。
3.返回参数
正常响应 (200
)
字段 | 类型 | 描述 |
---|---|---|
request_id | string | 本次请求的 id |
status | string | 状态。正常为 OK ,其他值表示失败。详见错误码 |
score | float | hack检测分数。取值范围是0~1。值越大,表示被hack的可能性越大 |
image_base64 | string | Base64编码的图片, 仅当return_image字段为1时返回 |
extra | object | 额外的信息, 仅当return_extra字段为1时返回, 详情参考extra |
> 备注:hack score阈值为0.98,由行业大数据训练得到,大于0.98是hack行为,小于等于0.98是正常活人
3.1 extra字段内容
Parameter | Type | Description |
---|---|---|
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 | bool | 人脸质量分数, 推荐阈值0.5 |
is_live | bool | 人脸是否是活体 |
live_proba | bool | 活体阈值, 推荐阈值0.5 |
eye_closed | bool | 眼睛是否闭着 |
eye_score | bool | 眼睛睁着的置信度, 推荐阈值0.5 |
输出示例:
{
"request_id": "TID8bf47ab6eda64476973cc5f5b6ebf57e",
"status": "OK",
"score": 0.999316,
"image_base64": "*****",
"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.错误码
状态码 | status 字段 |
说明 |
---|---|---|
400 |
INVALID_ARGUMENT | 请求参数错误 |
400 |
DETECTION_FAILED | 图片检测失败 |
400 |
DOWNLOAD_ERROR | 网络地址图片获取失败 |
401 |
UNAUTHORIZED | 未授权或授权失败 |
401 |
KEY_EXPIRED | 账号过期 |
403 |
NO_PERMISSION | 无调用权限 |
403 |
OUT_OF_QUOTA | 调用次数超出限额 |
403 |
RATE_LIMIT_EXCEEDED | 调用频率超出限额 |
404 |
NOT_FOUND | 请求路径错误 |
500 |
INTERNAL_ERROR | 服务器内部错误 |
输出示例:
{
"status": "DOWNLOAD_TIMEOUT",
"request_id": "TID8bf47ab6eda64476973cc5f5b6ebf57e"
}