本文提供了调用图片异步检测任务进行敏感人脸识别的具体接口和参数说明,旨在帮助您编写程序构建HTTP调用请求。

  • 关于如何构造HTTP请求,请参考请求结构
  • 您也可以直接选用已构造好的HTTP请求,具体请参考SDK参考

提交图片异步检测任务

描述

业务接口:/green/image/asyncscan

提交图片异步检测任务,识别图片中的一个或多个敏感人脸信息。

异步检测需要通过查询敏感人脸识别结果接口查询检测结果或通过callback的方式接收异步检测结果,检测结果最多保留1个小时。

该接口不支持对您设置的自定义人脸进行检测,如果需要从自定义人脸库中检索人脸,使用自定义人脸检索功能。
说明

关于检测时长

同步检测允许的最长检测时间是6秒,如果检测在该时间限制内没有完成,系统会强制返回超时错误码。如果您对实时性要求不高,可以选择异步检测;其它情况下,请选择同步检测,同步检测接口的调用相对简单些。对于同步检测接口的调用,建议您将超时时间设置为6秒。

关于图片的限制
  • 图片链接支持以下协议:HTTP和HTTPS。
  • 图片支持以下格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
  • 图片大小限制为10MB以内。如您有特殊需求(大图片),可以提工单进行调整。
  • 图片下载时间限制为3s内,如果下载时间超过3s,将返回下载超时。
  • 图片像素建议不低于256*256,像素过低可能会影响识别效果。
  • 图片检测接口响应时间依赖图片的下载时间。请保证被检测图片所在的存储服务稳定可靠,建议您使用阿里云OSS存储或者CDN缓存等。

请求参数

关于在请求中必须包含的公共请求参数,请参考公共参数

请求body是一个JSON对象,字段说明如下:
名称 类型 是否必需 描述
bizType 字符串 自定义业务类型,由业务方提供。
每个bizType对应不同的算法/模型,运维人员可以为某一bizType动态地增加、删除要检测的风险场景。通过配置,后端根据该字段对请求做不同处理。
说明 该字段优先级高于 scenes字段。
scenes 字符串数组 指定图片检测的应用场景,取值:sface
callback 字符串 异步检测结果回调通知您的URL,支持HTTP/HTTPS。该字段为空时,您必须定时检索检测结果。
seed 字符串 随机字符串,该值用于回调通知请求中的签名。当使用callback时,该字段必须提供。
tasks JSON数组 检测对象,JSON数组中的每个元素是一个图片检测任务结构体(image表)。每个元素的具体结构描述见task
表 1. task
名称 类型 是否必需 描述
dataId 字符串 数据Id。需要保证在一次请求中所有的Id不重复。
url 字符串 待检测图像的URL。

结果回调通知参数(callback、seed)

使用说明

如果您在请求参数中指定了回调通知参数callback,被回调callback值,即一个http(s)协议接口的URL,则需要支持POST方法,传输数据编码采用utf-8,并且支持两个表单参数checksumcontent。系统将按以下描述的生成规则和格式设置checksum和content的值,调用您的callback接口返回检测内容。

您服务端接收到我们推送的结果后,返回的HTTP状态码为200时,表示推送成功,其他的HTTP状态码均视为您接收失败,我们将最多重复推送16次。

回调结果参数的生成规则
名称 类型 描述
checksum String 用户uid + seed + content拼成字符串,通过SHA256算法生产。用户UID即账号ID,您可在阿里云控制台上查询。为防篡改,您可以在获取到推送结果时,按此算法生成字符串,与checksum做一次校验。
content String JSON字符串格式,请自行解析反转成JSON对象。content结果格式参见下文。
content结果格式
{
      "code":200,
      "msg":"OK",
      "dataId":"imageId xxx",
      "taskId":"taskId xxx",
      "results":[
        {
          "label":"sface",
          "rate":99.2,
          "scene":"sface",
          "suggestion":"block"
        }
      ]
}

返回参数

返回结果说明,参见返回结果

返回body中的data字段是JSON数组,每一个元素包含如下字段:
名称 类型 是否必需 描述
code 整型 错误码,和HTTP的status code一致。
msg 字符串 错误描述信息。
dataId 字符串 对应请求中的dataId
taskId 字符串 该检测任务的ID。
url 字符串 对应请求中的URL。

示例

请求示例
{
"scenes":["sface"],
"tasks":[
  {
    "dataId":"test6I@p7TwAKV7eGUR3ONfS$-1n@wr9",
    "url":"https://img.alicdn.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.png"
  }
]
}
返回示例
{
  "code": 200, 
  "msg": "OK", 
  "requestId": "95AD868A-F5D2-4AEA-96D4-E0273B8E074C",
  "data": [
    {
      "code": 200, 
      "msg": "OK", 
      "dataId": "test4lNSMdggA0c56MMvfYoh4e-1mwxpx", 
      "taskId": "fdd25f95-4892-4d6b-aca9-7939bc6e9baa-1486198766695",
      "url": "https://img.alicdn.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.png"
    }
  ]
}

查询异步检测结果

描述

业务接口/green/image/results

查询图片异步检测结果。建议您将查询间隔设置为30秒,最长不能超出1个小时,否则结果将会丢失。
说明 该接口为免费接口。

请求参数

关于在请求中必须包含的公共请求参数,请参考公共参数

请求body是一个JSON数组,字段说明如下:
名称 类型 是否必需 描述
body JSON数组 要查询的taskId列表。最大长度不超过1,000。

返回参数

返回结果说明,参见返回结果

返回body中的Data字段是JSON数组,每一个元素包含如下字段:
名称 类型 是否必需 描述
code 整型 错误码,和HTTP的status code一致。
msg 字符串 错误描述信息。
dataId 字符串 对应的请求中的dataId
taskId 字符串 该检测任务的ID。
url 字符串 对应的请求中的URL。
extras Map 额外调用参数。
说明 该参数可能会被调整,目前请勿依赖该参数的返回值。
results 数组 返回结果。调用成功时(code=200),返回结果中包含一个或多个元素。每个元素是个结构体,具体结构描述见result
表 2. result
名称 类型 是否必需 描述
scene 字符串 图片检测场景,取值:sface
label 字符串 检测结果的分类,取值:
  • normal:正常图片,不含敏感人脸
  • sface:含敏感人脸的图片
suggestion 字符串 建议用户执行的操作,取值范围:
  • pass:图片正常,无需进行其余操作
  • review:检测结果不确定,需要进行人工审核
  • block:图片违规,建议执行进一步操作(如直接删除或做限制处理)
rate 浮点数 结果为该分类的概率,取值范围为[0.00-100.00]。值越高,表示越有可能属于该分类。
sfaceData 数组 识别出来的人脸信息列表,具体结构描述见sfaceData
表 3. sfaceData
名称 类型 是否必需 描述
x 浮点数 以图片左上角为坐标原点,人脸区域左上角到y轴距离。
y 浮点数 以图片左上角为坐标原点,人脸区域左上角到x轴距离。
w 浮点数 人脸区域宽度。
h 浮点数 人脸区域高度。
age 浮点数 年龄。
smileRate 浮点数 微笑的概率。
gender 字符串 性别。
glasses 布尔 是否戴眼镜。
faces 数组 识别出的人脸信息,具体结构描述见face
minority 布尔 是否是少数民族。
asian 布尔 是否是亚裔。
表 4. face
名称 类型 是否必需 描述
name 字符串 相似人物的名称。
rate 浮点数 相似概率。
id 字符串 人脸Id。
detail 字符串 人脸附加信息。

示例

请求示例
[
  "taskId xxx"
]
返回示例
{
   "code":   200 ,
   "data":  [
    {
       "code":   200 ,
       "dataId":   "68b531a8-9568-423b-957e-43b1c5119fac" ,
       "extras":  {},
       "msg":   "OK" ,
       "results":  [
        {
           "label":   "sface" ,
           "rate":   97.03 ,
           "scene":   "sface" ,
           "sfaceData":  [
            {
               "age":   52.2 ,
               "faces":  [
                {
                   "detail":   "基地首领" ,
                   "id":   "AliFace_0018177" ,
                   "name":   "奥萨马.本.拉登" ,
                   "rate":   97.03 
                }
              ],
               "gender":   "Male" ,
               "glasses":   false ,
               "h":   467 ,
               "smileRate":   0 ,
               "w":   467 ,
               "x":   444 ,
               "y":   174 ,
               "minority":   false ,
               "asian":   false
            }
          ],
           "suggestion":   "review" 
        }
      ],
       "taskId":   "taskId xxx" ,
       "url":   "https://img.alicdn.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.png" 
    }
  ],
   "msg":   "OK" ,
   "requestId":   "D03E3DD6-756C-44D1-813C-E2775A711A34" 
}