人像属性检测
本接口用于证件照制作前检测人像是否符合制作标准
接口鉴权
接口地址
【POST】https://open-api.gaoding.com/api/call/portraitdetection
请求头(request header)
字段 | 类型 | 是否必填 | 字段描述 |
app_id | string | 是 | 应用ID,获取方式:应用列表 -> 应用详情 -> APP ID |
请求体(request body)
字段 | 类型 | 是否必填 | 字段描述 |
url | string | 二个必填一个 | 原图url,支持JPG、PNG格式 仅保留1个月,请及时转储 (无文件大小限制) |
file_base64 | string | 原图的base64码 (最大支持3M文件) |
请求体示例(url):
{
"url":"https://matting-batch.dancf.com/cloths/20220825_173220_gaoding_imagematting_humanhead.jpg"
}
请求体示例(base64):
{
"file_base64":"图片的base64编码"
}
响应体(response body)
字段 | 类型 | 是否必存在 | 字段描述 | 图例 |
attribute | object | 人像的属性参数 | ||
attribute.face_point | string | 是 | 提供68个人脸关键点信息 68个人脸关键点顺序拼装,拼装规则是“x y,”,x与y通过空格分隔,点以逗号分隔 | |
attribute.wear_glasses | int | 是 | 检测人物是否存在佩戴眼镜问题 0-否, 1-是 | |
attribute.wear_hat | int | 是 | 检测人物是否存在佩戴帽子问题 0-否, 1-是 | |
attribute.wear_jewelry | int | 是 | 检测人物是否存在佩戴首饰问题 0-否, 1-是 | |
attribute.face_count | int | 是 | 检测人脸个数 | |
attribute.direction | int | 是 | 检测人脸主方向 返回值:逆时针,0/90/180/270度 | |
attribute.face_rect | str | 是 | 检测脸部大小使用 脸部框' x1 y1 x2 y2,' 返回的是绝对值 比如: '127 123 456 655,' 左上角坐标点为x:127, y123,右下角坐标 x:456, y:655 返回值之间以空格隔开,最后存在逗号 | |
attribute.face_ratio | int | 是 | 检测脸部是否存在占整个图片过小或过大问题 0 正常,1-过小,2-过大 | |
attribute.integrated_head | int | 是 | 检测人物头部是否存在不完整问题 0 完整,1 不完整 | |
attribute.integrated_face | int | 是 | 检测人物是否存在人脸不完整问题 0 完整,1 不完整 | |
attribute.is_gray | int | 是 | 检测照片是否存在黑白照问题 0 否,1 是 | |
attribute.definition | int | 是 | 检测人脸是否存在模糊问题 0 清晰,1 模糊,-1 异常 | |
attribute.face_yinyang | int | 是 | 检测人脸是否存在阴阳脸问题 0 否,1 是,-1 异常 | |
attribute.face_bright | int | 是 | 检测脸部亮度值是否正常 0 正常,1 过亮,2 过暗,-1 异常 | |
attribute.face_contrast | int | 是 | 检测脸部对比度是否正常 0 正常,1 过高,2 过低,-1 异常 | |
attribute.skew_angle | int | 是 | 检测脸部是否存在歪斜问题 0 正常,1 右斜,2 左斜,-1 异常 | |
attribute.side_face | int | 是 | 检测脸部是否存在左右转头问题 0 正常,1 右转,2 左转,-1 异常 | |
attribute.up_down_face | int | 是 | 检测脸部抬头低头问题 0 正常,1 上转,2 下转,-1 异常 | |
attribute.brow_occulation | int | 是 | 检测眉毛是否存在被遮挡问题 0 无遮挡,1 有遮挡,-1 异常 | |
attribute.eye_occulation | int | 是 | 检测眼睛是否存在被遮挡问题 0 无遮挡,1 有遮挡,-1 异常 | |
attribute.mouth_occulation | int | 是 | 检测嘴巴是否存在被遮挡问题 0 无遮挡,1 有遮挡,-1 异常 | |
attribute.cheek_occulation | int | 是 | 检测脸颊是否存在被遮挡问题 0 无遮挡,1 有遮挡,-1 异常 | |
attribute.ear_visible | int | 是 | 检测双耳朵是否同时可见 0 可见,1-不可见,-1 异常 | |
attribute.eye_closed | int | 是 | 检测眼睛是否被存在闭眼问题 0-闭眼,1-睁眼,-1 异常 | |
attribute.mouth_closed | int | 是 | 检测嘴巴状态 0-闭嘴巴,1-开嘴巴,-1 异常 | |
attribute.top_margin | float | 是 | 检测人物头顶到上边界距离占整体照片高度的百分比 比如:百分比=0.12 则: height:整张图片高度 距离=0.12 * height -1 异常 | |
attribute.bottom_margin | float | 是 | 检测人物下巴到下边界距离占整体照片高度的绝对值 比如:128 -1 异常 | |
attribute.left_margin | float | 是 | 检测人物右脸颊到左边界距离占整体照片高度的百分比 比如:128 -1 异常 | |
attribute.right_margin | float | 是 | 检测人物右脸颊到左边界距离占整体照片高度的百分比 比如:128 -1 异常 | |
attribute.upper_part_of_body | int | 是 | 检测人物上半身是否完整 0 完整,1 不完整,-1 异常 | |
attribute.integrated_shoulder | int | 是 | 检测肩膀是否完整 0 完整,1 不完整,-1 异常 | |
attribute.parallel_shoulder | int | 是 | 检测肩膀是否存在肩膀不齐平问题 0正常,1高低肩,-1 异常 | |
attribute.forehead_occulation | int | 是 | 检测额头是否存在被遮挡问题 0未遮挡,1遮挡,-1异常 | |
attribute.hand_over_shoulder | int | 是 | 检测手部是否存在超过肩膀问题 0:否,1:是,-1:异常 需要肩膀可见,否则为-1 | |
attribute.cloth_color_depth | int | 是 | 判断衣服颜色深浅 -1:没有衣服,0:浅色,1:深色 | |
attribute.watermark | int | 是 | 判断图片是否存在水印问题 目前仅支持重复次数超过4次水印进行检测 0:否,1:是,-1:异常 | |
attribute.bare_shouldered | int | 是 | 光膀检测 0:光膀,1:非光膀,-1:异常 | |
attribute.face_mask | int | 是 | 佩戴口罩检测 0:未佩戴,1:佩戴,-1:异常 |
响应示例1(模拟正常请求):
http_status:200
response body:
{
"uuid": "fcd9184d-9bf6-4459-b1d0-fa60a7970c70",
"code": 0,
"message": "success",
"attribute": {
"face_count": 1,
"face_point": "332 415,334 474,342 525,349 575,367 624,396 665,432 705,474 731,517 741,567 736,613 706,650 670,680 627,699 579,708 526,716 470,718 417,362 377,389 358,418 353,451 359,486 375,551 374,585 358,623 352,654 357,679 378,517 416,518 450,517 486,516 521,481 543,498 553,518 558,536 552,556 548,402 415,421 401,446 404,469 422,444 429,421 426,573 423,594 404,618 405,641 418,621 429,595 427,446 612,471 600,499 593,519 598,535 594,563 598,593 611,564 633,536 645,518 643,495 644,470 634,458 613,497 612,517 614,536 614,577 613,538 616,517 616,498 617,",
"direction": 0,
"integrated_head": 0,
"integrated_face": 0,
"definition": 0,
"face_ratio": 0,
"skew_angle": 0,
"side_face": 0,
"up_down_face": 0,
"is_gray": 0,
"brow_occulation": 0,
"eye_occulation": 0,
"mouth_occulation": 0,
"cheek_occulation": 0,
"forehead_occulation": 0,
"ear_visible": 0,
"face_rect": "337 262 712 733,",
"face_bright": 0,
"face_contrast": 1,
"eye_closed": 1,
"mouth_closed": 0,
"top_margin": 69,
"bottom_margin": 470,
"left_margin": 337,
"right_margin": 355,
"upper_part_of_body": 1,
"parallel_shoulder": 0,
"integrated_shoulder": 0,
"face_yinyang": 0,
"wear_hat": 0,
"wear_glasses": 0,
"wear_jewelry": 0,
"hand_over_shoulder": 0,
"cloth_color_depth": 1,
"watermark": 0
}
}
响应示例2(模拟参数非法请求):
http_status:400
response body:
{
"code": -10003,
"message": "InvalidArgsError"
}
错误码
HTTP状态码 | 业务错误码 | 含义 |
400 | -10003 | 参数非法 |
400 | -10024 | 通过指定的upload_address 上传的的时候失败 |
400 | -10001 | 下载失败,可能是用户传的url非法,或者网络异常等原因导致下载失败 |
400 | -10002 | 解码图片失败,可能是某些格式比较特殊的图片暂时还不支持,或者图片url下载下来根本不是图像数据 |
400 | -10007 | 图片数据过大,无法处理 |
500 | 服务器错误 | |
422 | 接口入参错误 |