faceAnalysis(人脸分析)
faceAnalysis:人脸分析
要点:https://openapi.lechange.cn/openapi/faceAnalysis · 见 错误码
上传一张人脸图片,从指定的检测目标库中检索是否有匹配的人脸信息。
请求参数
| 参数名 | 参数类型 | 是否必填 | 默认值 | 合法值 | 参数说明 | |
|---|---|---|---|---|---|---|
| token | String | 是 | 管理员accessToken | |||
| type | String | 是 | 数据类型,0-图片URL,1-Base64编码的二进制图片数据 | |||
| content | String | 是 | 图片数据,Base64编码的图片数据 或 图片URL。和type对应 | |||
| operation | Integer | 是 | 操作类型,1:纯属性分析,2:从目标库检索匹配,3:属性分析+检索匹配 | |||
| detectRegion | Array | 否 | 检测区域列表,最多 **3** 区;每区为 **3–6** 个 `{"x","y"}` 点(归一化 0–1)组成的数组。`operation` 为 2 或 3 时必填,且区内须有一张可检人脸 | |||
| repositoryInfo | Array | 否 | 目标库列表(可多库),`operation` 为 2 或 3 时必填。元素含 `repositoryId`、`threshold`(0~1)、`topNum`(1–5) | |||
关于detectRegion参数:
检测区域点位集合,最多3个检测区域。每个检测区域3到6个点,会转换成最大外接矩形再进行检测
请求示例
{
"id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"system":{
"ver":"1.0",
"appId":"lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time": 1706511734,
"nonce": "f5a1ae2d-c09c-4d39-a744-83a5c2c653c2"
},
"params":{
"token": "<yourAccessToken>",
"type":"0",
"content": "https://xxx.xx.xx/111.png",
"operation": 3,
"detectRegion":[
[
{"x": 0.2, "y": 0.4},
{"x": 0.3, "y": 0.5},
{"x": 0.25, "y": 0.45}
]
],
"repositoryInfo":[{
"repositoryId": "xxxxxxxxxxxxxx",
"threshold": 0.8,
"topNum": 3
}]
}
}
响应字段
| 字段名 | 字段类型 | 字段说明 | ||
|---|---|---|---|---|
| faces | targetRegion | x | Float | 人脸框左上角的横坐标,单位px,坐标原点为原图左上角 |
| y | Float | 人脸框左上角的纵坐标,单位px,坐标原点为原图左上角 | ||
| width | Float | 人脸框的宽度,单位px | ||
| height | Float | 人脸框的高度,单位px | ||
| age | range | Integer | 年龄浮动范围,-1表示未知 | |
| value | Integer | 年龄 | ||
| sex | rate | Double | 准确率,取值范围为[0,100],-1表示未知 | |
| value | String | 性别,-1:不确定,0:男,1:女 | ||
| glass | rate | Double | 准确率,取值范围为[0,100],-1表示未知 | |
| value | String | 戴眼镜,-1:不确定,0:无眼镜,1:太阳镜,2:黑框眼镜,3:半框眼镜,4:半框眼镜,5:普通眼镜 | ||
| matchResult | Array | 匹配结果列表,条数不超过请求中对应库的 `topNum`;元素含 `repositoryId`、`url`、`targetKey`、`score` | ||
响应示例
{
"result": {
"msg": "",
"code": "",
"data": {
"faces": [{
"targetRegion": {
"x": 0.5,
"y": 0.6,
"width": 10.2,
"height": 10.8
},
"age": {
"range": 2,
"value": 30
},
"sex": {
"rate": 80.5,
"value": "1"
},
"glass": {
"rate": 80.5,
"value": "1"
},
"matchResult": [{
"repositoryId": "xxxxxxxxxxxxxxxx",
"url": "https://xxx.xx.xx/111.png",
"targetKey": "xxxxxx",
"score": 80.4
}]
}]
}
},
"id": ""
}
错误码
本接口可能返回下列码;完整分组见 错误码。
网关与鉴权(SN / TK / OP)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SN1001 | 签名异常 | 按 签名 核对 sign |
TK1002 | token 无效或过期 | 重新获取 token |
OP1002 | 缺少必填参数 | 补必填字段 |
OP1003 | 参数不合法 | 按本页参数表核对 |
OP1039 | 分钟级限流 | 等到下一分钟再试 |
OP1040 | 调用超限 | 降低频率 |
DV1007 | 设备离线或超时 | 等设备上线 |
子账号(SUB)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SUB1001 | 子账号无指定权限 | 在 子账号策略 中补权限 |
SUB1002 | 子账号无任何设备权限 | 授权设备或调整策略 |
SUB1005 | 子账号 token 过期 | 重新 获取子账号 token |
SUB1006 | 子账号与设备无授权关系 | 核对 Resource 与设备序列号 |
SUB1008 | 子账号未绑定当前应用 | 先创建并绑定子账号 |
SUB1007 | 创建子账号失败 | 核对参数后重试 |
SUB1009 | 子账号创建失败,账号格式错误 | account 须为手机号或邮箱 |
SUB1010 | 子账号创建失败,账号已存在 | 勿重复绑定同一子账号到应用 |
更多见 错误码 · SUB。
AI 检测(PF)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
PF6010 | 未检测到目标 | 调整图片/检测区域后重试 |
PF6030 | 检测库名称已存在 | 换库名 |
PF6031 | 目标 key 不存在 | 核对 targetKey |
PF6032 | 检测目标库不存在 | 核对 repositoryId |
PF6033 | 库内目标数已达上限 | 删目标或换库 |
PF6034 | 算法未配置检测策略 | 检查算法/套餐配置 |
PF6035–PF6040 | 图片大小或尺寸不合规 | 按接口要求调整图片 |
PF6027–PF6029 | 图片解码/下载失败 | 检查 URL 与图片格式 |
更多见 错误码 · PF。
说明
仅支持管理员 accessToken;子账号不可调用本接口。operation 必填(1 属性 / 2 检索 / 3 组合);缺省可能导致参数校验失败,勿省略。