人脸检测任务状态查询

最近更新时间:2024-08-15 12:13:01

我的收藏
通过 TaskId 来查询人脸检测任务的进度和结果。

调用协议

HTTPS + JSON
POST /v2/ivh/facedetectserver/facedetectservice/getfacedetectstate
Header Content-Type: application/json;charset=utf-8

请求参数

参数
类型
必须
说明
TaskId
string
人脸检测任务创建接口返回的 TaskId

返回参数

参数
类型
必须
说明
TaskId
string
音频ID
TaskState
string
任务状态:
WAITING: 任务等待中
PROCESSING: 任务执行中
SUCCESS: 任务执行成功
FAILED: 任务执行失败
ErrorCode
int
任务执行失败时有值,错误码,可参考附录
ErrorMsg
string
任务执行失败时有值,错误信息
IsPassDetect
bool
任务执行成功时有值,是否通过人脸检测
Faces
Array of FaceInfo
任务执行成功时有值,检测到的人脸框

FaceInfo

参数
类型
必须
说明
Box
BoxInfo
检测到的人脸框
Rotation
float
人脸的角度
Score
float
人脸置信度 *
AreaRatio
float
人脸区域占比 *
FaceRadio
float
脸部遮挡比例 0~1,越大遮挡越大 *
FeatureRadio
float
五官遮挡比例 0~1,越大遮挡越大 *
Yaw
float
yaw角度,-90~90 表明侧脸程度,越大姿态越大 *
Pitch
float
pitch角度, -90~90 表明俯仰程度,越大姿态越大 *
MaxCrop
BoxInfo
建议的最大裁剪区域 *
MinCrop
BoxInfo
建议的最小裁剪区域 *
说明:
表格中带 * 的参数只有创建时 CheckerVersion=2 的任务才会有检测结果。

BoxInfo

参数
类型
必须
说明
Left
int
左上角的x坐标点
Top
int
左上角的y坐标点
Width
int
宽度
Height
int
高度

请求示例

{
"Header": {},
"Payload": {
"TaskId": "666"
}
}

返回示例

{
"Header": {
"RequestID": "xxx",
"SessionID": "xxx",
"DialogID": "",
"Code": 0,
"Message": "ok"
},
"Payload": {
"ErrorCode": 0,
"IsPassDetect": true,
"Faces": [
{
"Yaw": 11.440315246582,
"Pitch": -3.8738098144531,
"MaxCrop": {
"Top": 0,
"Height": 512,
"Width": 512,
"Left": 0
},
"MinCrop": {
"Top": 0,
"Height": 512,
"Width": 512,
"Left": 0
},
"Box": {
"Top": 103,
"Height": 406,
"Width": 320,
"Left": 85
},
"Rotation": -7,
"Score": 1,
"AreaRatio": 0.49560546875,
"FaceRadio": 0,
"FeatureRadio": 0
}
],
"TaskState": "SUCCESS",
"ErrorMsg": "",
"TaskId": "xxx"
}
}

附录一: 错误码字典

代码
含义
处理方式
100001
请求参数错误
修正请求入参
100002
参数取值错误
修正请求入参
100003
图片格式不支持
选择新的图片
100004
图片尺寸不支持
调整图片尺寸重新检测
100005
图片比例不支持
调整图片比例重新检测
200001
内部错误
联系管理员
200002
文件下载失败
联系管理员
200003
任务不存在
联系管理员
300001
图片中没有检测到人脸
更换新的图片
300002
图片中检测到多个人脸
更换新的图片
300003
人脸框不满足要求,可能过大或者过小
更换新的图片