人脸对比


一、接口描述

1. 功能描述

人脸 1比1 比对 API 主要用于对传入的两张图的人脸进行比较,得到两张脸的相似度。

2. 接口使用

平台为每个API提供试用体验服务,您在AI市场选择“免费试用”规格下单后,即可开始体验业内领先的人工智能API服务。 免费试用服务具有调用量、QPS限制,如需更高性能的API服务,可以提交咨询工单,联系京东AI扩容购买。

在获得使用权限后,您可使用已经封装好的SDK/参照接口鉴权规则进行相应开发,整体流程详见 接入流程

3. 图片要求

  1. 图片格式:bmp, jpg, jpeg, png, jfif
  2. 图片像素尺寸:最小 48*48 像素,最大 2048*2048 像素
  3. 图片 Base64 大小:小于2MB

二、请求说明

1. 接口地址:

https://aiapi.jd.com/jdai/faceCompareV1

2. 请求方式:

POST

3. 请求参数

(1)query请求参数

公共请求参数

名称 类型 必填 示例值 描述
appkey string 80d2b762ecb86593f9668526920f46c 您的appkey,可在买家中心控制台中获取
timestamp long 1541491668060 请求的时间戳,精确到毫秒,timestamp有效期5分钟
sign string 2e148773a0337a8f2200ba90d445f083 签名,根据规则MD5(sectetkey+timestamp)

(2)body请求参数

业务请求参数

名称 类型 必填 示例值 描述
imgBase64A string 图像Base64编码值,去掉图片头"data:image/png;base64,",imgBase64A=iVBORw0K...(由于过长,不给出示例) 第一张图片Base64编码
imgBase64B string 图像Base64编码值,去掉图片头"data:image/png;base64,",imgBase64B=iVBORw0K...(由于过长,不给出示例) 第二张图片Base64编码

三、返回说明

1、返回参数

(1)公共返回参数

名称 类型 示例值 描述
code string 1000 参见下方错误码-系统级错误码
charge boolean false 或 true false:不扣费, true:扣费
remainTimes long 1305 剩余调用次数;免费api:每天剩余调用次数;收费api:剩余次数;无限制时为-1
remainSeconds long 1223456 剩余调用时间(s);免费api:-1;收费api:剩余调用时间;无限制时为-1
msg string 查询成功 参见下方错误码-系统级错误码
result object {...} 查询结果

(2)业务返回参数

名称 类型 示例值 描述
code int 0 状态码,0 为成功,非 0 请参考以下 业务错误码
msg string Accept 状态码对应的说明
processTimeInMs long 34 从接收请求到处理结束的耗时,毫秒
timestamp long 1576728627956 返回时的时间戳
score float 0.65 人脸相似度,范围为: [-1, 1];万分之一误识率下阈值: 0.49, 十万分之一误识率下阈值: 0.54, 百万分之一误识率下阈值:0.58
faceItemsA array [] 每个人脸的检测结果;具体类型请参考下方
faceItemsB array [] 每个人脸的检测结果;具体类型请参考下方

faceItems 数组中单个元素的结构:

名称 类型 示例值 描述
boundingBox object { "left" : 490.11, "top" : 85.42, "width" : 108.84, "height" : 143.84 } 人脸识别矩形框的位置,包括以下属性值:
left:矩形框左上角像素点的横坐标
top:矩形框左上角像素点的纵坐标
width:矩形框的宽度
height:矩形框的高度
posture object { "yaw" : -11.58, "pitch" : -4.56, "roll" : -2.37 } 人脸角度,包括以下属性值:
yaw:人脸旋转角度,偏航角(Y轴),单位 度
pitch:人脸旋转角度,俯仰角(X轴),单位 度
roll:人脸旋转角度,翻滚角(Z轴),单位 度
isValidPosture bool true 人脸角度是否在合理的阈值内
ptScore float 0.3 人脸关键点置信度;默认阈值为 20,小于该阈值的人脸才会返回

2、返回示例

{
  "code": "10000",
  "charge": false,
  "remain": 97,
  "msg": "查询成功",
  "result": {
      "code" : 0,
      "msg" : "Accept",
      "processTimeInMs" : 552,
      "timestamp" : 1576729150797,
      "faceItemsA" : [
         {
            "boundingBox" : {
               "height" : 143.56,
               "left" : 490.29,
               "top" : 85.31,
               "width" : 108.70
            },
            "isValidPosture" : true,
            "posture" : {
               "pitch" : -4.60,
               "roll" : -2.37,
               "yaw" : -11.59
            }
         }
      ],
      "faceItemsB" : [
         {
            "boundingBox" : {
               "height" : 559.81,
               "left" : 375.71,
               "top" : 109.00,
               "width" : 406.53
            },
            "isValidPosture" : true,
            "posture" : {
               "pitch" : -9.99,
               "roll" : -1.56,
               "yaw" : 13.43
            }
         },
         {
            "boundingBox" : {
               "height" : 554.01,
               "left" : 849.03,
               "top" : 98.94,
               "width" : 392.19
            },
            "isValidPosture" : true,
            "posture" : {
               "pitch" : -10.72,
               "roll" : 0.68,
               "yaw" : -1.38
            }
         }
      ],
    "score": 1.00
  }
}

四、错误码

1.系统级错误码

详见返回码

2.业务错误码

业务错误码(status) 对应msg 说明
1 NoRequiredFields 参数缺失
2 ImageIsTooSmall 图片太小
3 ImageIsTooLarge 图片太大
4 Base64IsInvalid 图片 Base64 不合法
5 Base64IsTooLarge 图片 Base64 大小超过 2MB
10 NoFaceDetected 没有检测到人脸
11 InvalidFaceQuality 人脸不够清晰,质量分小于阈值
12 InvalidFacePosture 人脸角度太大,大于阈值
15 FeatureCompareFail 人脸比对失败,比对分小于阈值
31 RequestBodyIsNotJson 请求的 body 需要 json 字符串
41 TimeoutException 处理超时(> 10秒的处理立即返回)
Copyright © JD AI Platform all right reserved,powered by GitbookFile Modify: 2021-05-21 22:10:38

results matching ""

    No results matching ""