/face/anti_hack
1. API 说明
2. 请求参数
3. 返回参数
4. 错误码
5. 示例
1. API 说明
该 API 用于检测上传的图像中是否存在攻击行为(如假人脸)。
图像要求
1. 支持格式:JPG(JPEG), PNG  
2. 图像尺寸范围:128*128 至 6000*6000 像素  
3. 文件大小:不超过 5MB
请求方式
POST
请求地址
https://cloudapi.accuauth.in/face/anti_hack
2. 请求参数
2.1 请求头
| 参数 | 类型 | 是否必需 | 描述 | 
|---|---|---|---|
| X-DF-API-ID | string | 是 | API 凭证,请访问 API Request 获取 | 
| X-DF-API-SECRET | string | 是 | API 凭证,请访问 API Request 获取 | 
2.2 请求体
| 字段 | 类型 | 是否必需 | 描述 | 
|---|---|---|---|
| file | file | 二选一必填 | 图像文件,图像的二进制数据 | 
| image_base64 | string | 二选一必填 | 图像的 Base64 编码数据 | 
| return_extra | int | 否 | 是否返回额外信息;0: 否,1: 是,默认值为 0 | 
请求参数中必须提供
file或image_base64其中之一。
使用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 'file' or 'image_base64' argument",
  "request_id": "TID8bf47ab6eda64476973cc5f5b6ebf57e"
}