人脸搜索

最近更新时间:2019-08-01 17:28:21

1. 接口描述

接口请求域名: iai.tencentcloudapi.com 。

用于对一张待识别的人脸图片,在一个或多个人员库中识别出最相似的 TopN 人员,识别结果按照相似度从大到小排序。单次搜索的人员库人脸总数量不得超过 100 万张。 此接口需与人员库管理相关接口结合使用。

  • 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。

默认接口请求频率限制:50次/秒。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:SearchFaces
Version String 公共参数,本接口取值:2018-03-01
Region String 公共参数,本接口不需要传递此参数。
GroupIds.N Array of String 希望搜索的人员库列表,上限100个。
Image String 图片 base64 数据。支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
Url String 图片的 Url、Image必须提供一个,如果都提供,只使用 Url。
图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
非腾讯云存储的Url速度和稳定性可能受一定影响。
支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
MaxFaceNum Integer 最多识别的人脸数目。默认值为1(仅检测图片中面积最大的那张人脸),最大值为10。
MaxFaceNum用于,当输入的待识别图片包含多张人脸时,设定要搜索的人脸的数量。
例:输入的Image或Url中的图片包含多张人脸,设MaxFaceNum=5,则会识别图片中面积最大的5张人脸。
MinFaceSize Integer 人脸长和宽的最小尺寸,单位为像素。默认为80。低于40的人脸图片无法被识别。建议设置为80。
MaxPersonNum Integer 单张被识别的人脸返回的最相似人员数量。默认值为5,最大值为100。
例,设MaxFaceNum为1,MaxPersonNum为8,则返回Top8相似的人员信息。
值越大,需要处理的时间越长。建议不要超过10。
NeedPersonInfo Integer 是否返回人员具体信息。0 为关闭,1 为开启。默认为 0。其他非0非1值默认为0

3. 输出参数

参数名称 类型 描述
Results Array of Result 识别结果。
FaceNum Integer 搜索的人员库中包含的人脸数。
RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 人脸搜索接口

输入示例

https://iai.tencentcloudapi.com/?Action=SearchFaces
&Url=http://test.image.myqcloud.com/testA.jpg
&MaxFaceNum=1
&MinFaceSize=40
&MaxPersonNum=5
&GroupIds.0=TencentShenZhenEmployee
&Version=2018-03-01
&<公共请求参数>

输出示例

{
  "Response": {
    "Results": [
      {
        "Candidates": [
          {
            "PersonId": "1001",
            "FaceId": "2875093635484912302",
            "PersonName": "Jerry",
            "Gender": 0,
            "Score": 100,
            "PersonGroupInfos": [
              {
                "GroupId": "abc",
                "PersonExDescriptions": [
                  "description1",
                  "description2"
                ]
              }
            ]
          }
        ],
        "FaceRect": {
          "X": 370,
          "Y": 46,
          "Width": 75,
          "Height": 75
        }
      }
    ],
    "FaceNum": 1,
    "RequestId": "57b42b73-b978-45b9-8095-8f50e9642d35"
  }
}

示例2 错误示例

图片URL错误

输入示例

https://iai.tencentcloudapi.com/?Action=SearchFaces
&Url=http://test.image.myqcloud.com/testA
&GroupIds.0=TencentShenZhenEmployee
&Version=2018-03-01
&<公共请求参数>

输出示例

{
  "Response": {
    "Error": {
      "Code": "FailedOperation.ImageDownloadError",
      "Message": "图片下载错误。"
    },
    "RequestId": "527ecffe-4c6a-47c9-8217-4dd2e3f018da"
  }
}

示例3 错误示例

MaxFaceNum不能大于10

输入示例

https://iai.tencentcloudapi.com/?Action=SearchFaces
&Url=http://test.image.myqcloud.com/testA.jpg
&MaxFaceNum=11
&GroupIds.0=TencentShenZhenEmployee
&Version=2018-03-01
&<公共请求参数>

输出示例

{
  "Response": {
    "Error": {
      "Code": "FailedOperation.SearchFacesExceed",
      "Message": "检索人脸个数超过限制。"
    },
    "RequestId": "f04ba2f3-532c-4207-9caa-6e818ded7fb9"
  }
}

5. 开发者资源

API Explorer

该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.ConflictOperation 操作冲突,请勿同时操作相同的Person。
FailedOperation.DuplicatedGroupDescription 同一人员库中自定义描述字段不可重复。
FailedOperation.GroupInDeletedState 当前组正处于删除状态,请等待。
FailedOperation.GroupPersonMapExist 组中已包含对应的人员Id。
FailedOperation.GroupPersonMapNotExist 组中不包含对应的人员Id。
FailedOperation.ImageDecodeFailed 图片解码失败。
FailedOperation.ImageDownloadError 图片下载错误。
FailedOperation.ImageFacedetectFailed 人脸检测失败。
FailedOperation.ImageSizeExceed base64编码后的图片数据大小不超过5M。
FailedOperation.RequestTimeout 后端服务超时。
FailedOperation.SearchFacesExceed 检索人脸个数超过限制。
FailedOperation.ServerError 算法服务异常,请重试。
InternalError 内部错误。
InvalidParameter.InvalidParameter 参数不合法。
InvalidParameterValue.AccountFaceNumExceed 账号脸数量超出限制。1个APPID下最多有1000W张人脸。
InvalidParameterValue.DeleteFaceNumExceed 删除人脸数量超出限制。每个人员至少需要包含一张人脸。
InvalidParameterValue.GroupExDescriptionsExceed 人员库自定义描述字段数组长度超过限制。最多可以创建5个。
InvalidParameterValue.GroupExDescriptionsNameIdentical 人员库自定义描述字段名称不可重复。
InvalidParameterValue.GroupExDescriptionsNameIllegal 人员库自定义描述字段名称包含非法字符。人员库自定义描述字段名称只支持中英文、-、_、数字。
InvalidParameterValue.GroupExDescriptionsNameTooLong 人员库自定义描述字段名称长度超出限制。
InvalidParameterValue.GroupFaceNumExceed 人员库人脸数量超出限制。单个人员库最多可以包含一百万张人脸。
InvalidParameterValue.GroupIdAlreadyExist 人员库ID已经存在。人员库ID不可重复。
InvalidParameterValue.GroupIdIllegal 人员库ID包含非法字符。人员库ID只支持英文、数字、-%@#&_。
InvalidParameterValue.GroupIdNotExist 人员库ID不存在。
InvalidParameterValue.GroupIdTooLong 人员库ID超出长度限制。
InvalidParameterValue.GroupIdsExceed 传入的人员库列表超过限制。
InvalidParameterValue.GroupNameAlreadyExist 人员库名称已经存在。人员库名称不可重复。
InvalidParameterValue.GroupNameIllegal 人员库名称包含非法字符。人员库名称只支持中英文、-、_、数字。
InvalidParameterValue.GroupNameTooLong 人员库名称超出长度限制。
InvalidParameterValue.GroupNumExceed 人员库数量超出限制。人员库最多可以创建2万个,如需增加,请联系我们。
InvalidParameterValue.GroupNumPerPersonExceed 人员库数量超出限制。单个人员最多可被添加至100个人员库。
InvalidParameterValue.GroupTagIllegal 人员库备注包含非法字符。人员库备注只支持中英文、-、_、数字。
InvalidParameterValue.GroupTagTooLong 人员库备注超出长度限制。
InvalidParameterValue.ImageEmpty 图片为空。
InvalidParameterValue.LimitExceed 返回数量超出限制。
InvalidParameterValue.NoFaceInGroups 指定分组中没有人脸。
InvalidParameterValue.NoFaceInPhoto 图片中没有人脸。
InvalidParameterValue.OffsetExceed 起始序号过大。请检查需要请求的数组长度。
InvalidParameterValue.PersonExDescriptionInfosExceed 人员自定义描述字段数组长度超过限制。最多5个。
InvalidParameterValue.PersonExDescriptionsNameIdentical 人员自定义描述字段名称不可重复。
InvalidParameterValue.PersonExDescriptionsNameIllegal 人员自定义描述字段名称包含非法字符。人员自定义描述字段名称只支持中英文、-、_、数字。
InvalidParameterValue.PersonExDescriptionsNameTooLong 人员自定义描述字段名称长度超出限制。
InvalidParameterValue.PersonExistInGroup 组中已包含对应的人员Id。
InvalidParameterValue.PersonFaceNumExceed 人员人脸数量超出限制。单个人员最多可以包含五张人脸。
InvalidParameterValue.PersonGenderIllegal 人员性别设置出错。0代表未填写,1代表男性,2代表女性。
InvalidParameterValue.PersonIdAlreadyExist 人员ID已经存在。人员ID不可重复。
InvalidParameterValue.PersonIdIllegal 人员ID包含非法字符。人员ID只支持英文、数字、-%@#&_。
InvalidParameterValue.PersonIdNotExist 人员ID不存在。
InvalidParameterValue.PersonIdTooLong 人员ID超出长度限制。
InvalidParameterValue.PersonNameIllegal 人员名称包含非法字符。人员名称只支持中英文、-、_、数字。
InvalidParameterValue.PersonNameTooLong 人员名称超出长度限制。
InvalidParameterValue.SearchPersonsExceed 搜索的人员数目超过限制。
InvalidParameterValue.UploadFaceNumExceed 一次最多上传四张人脸。
InvalidParameterValue.UrlIllegal URL格式不合法。
LimitExceeded.ErrorFaceNumExceed 人脸个数超过限制。
MissingParameter.ErrorParameterEmpty 必选参数为空。
ResourceUnavailable.Delivering 资源正在发货中。
ResourceUnavailable.Freeze 帐号已被冻结。
ResourceUnavailable.InArrears 帐号已欠费。
ResourceUnavailable.NotExist 计费状态未知,请确认是否已在控制台开通服务。
ResourceUnavailable.Recover 资源已被回收。
ResourceUnavailable.StopUsing 帐号已停服。
ResourceUnavailable.UnknownStatus 计费状态未知。
ResourcesSoldOut.ChargeStatusException 计费状态异常。
UnsupportedOperation.UnknowMethod 未知方法名。