人脸搜索

本文介绍人脸人体(facebody)类目下的人脸搜索SearchFace的语法及示例。

功能描述

人脸搜索能力可以根据输入图片,在数据库中搜索并返回相似的人脸图片数据。单次搜索的人脸总数最多20万张,单次搜索最多可支持10个人脸数据库的同时搜索(跨库搜索)。该能力根据人脸特征来进行识别,通过把人脸图像特征化,然后比较人脸特征的相似程度。

说明
  • 您可以进入在线咨询获取在线人工帮助。
  • 当前能力可在视觉智能开放平台有完整的免费产品体验,您可以单击立即试用对该能力进行更直观试用以及在线购买。
  • 阿里云视觉智能开放平台视觉AI能力API接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。

特色优势

  • 识别精度高:人脸检测识别等算法精度处于业内领先水平。
  • 识别效率高:毫秒级响应,支持实时识别。

接入指引

1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。

2. 开通能力:请确保您已开通人脸人体服务,若未开通服务请立即开通

重要
  • 本能力支持企业或个人认证用户开通。更多实名认证操作信息,请参见实名认证
  • 如果您是已经在使用的老客户,需要使用海量人脸建库和搜索的能力,请通过钉钉群(23109592)联系我们。

3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权

4. 前提条件:

  • 已通过创建人脸数据库(CreateFaceDb)接口创建了数据库名称(DbName)。
  • 已通过添加人脸样本(AddFaceEntity)接口创建了实体ID(EntityId)。
  • 已通过添加人脸数据(AddFace)接口给数据库(DbName)下的实体ID(EntityId)添加了人脸图片。

5. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。

6. 开发接入步骤:

  • SDK总览中选择您要接入使用的SDK语言。
  • 在对应语言的SDK文档中找到AI类目为人脸人体(facebody)的SDK包进行安装。
  • 参考文档中提供的示例代码进行适当修改后调用。

7. 示例代码:该能力常用语言的示例代码,请参见人脸搜索示例代码

8. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。

输入限制

  • 图像格式:JPG、JPEG、PNG。
  • 图像大小:不超过5 MB。
  • 图像分辨率:大于32×32像素,小于4096×4096像素。人脸占比不低于64×64像素。
  • URL地址中不能包含中文字符。
  • 支持图片中包含最多10个人脸,超过部分会被忽略。

    说明 当图像分辨率超过最大限制时,请先将图片进行缩放,调整图片大小,具体请参见图片缩放

计费说明

关于人脸搜索1:N的计费方式及报价,请参见计费介绍。人脸搜索1:N能力中仅本接口(SearchFace)收费,其他接口可免费调用。

说明 下方调试接口为付费接口,如需免费体验调试请前往体验中心

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String SearchFace

系统规定参数。取值:SearchFace

DbName String default

数据库名称。

说明 DbNameDbNames二选一,如果同时配置了两个参数,DbNames优先级高于DbName
ImageUrl String http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/SearchFace/SearchFace1.png

图像URL地址。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理

Limit Integer 2

单个人脸列表中搜索人脸结果数量限制,取值范围1~100。

DbNames String test1,test2,test3

数据库名称列表,以英文逗号(,)分割,可以实现跨库查询,最大支持10个数据库。

说明 DbNameDbNames二选一,如果同时配置了两个参数,DbNames优先级高于DbName
QualityScoreThreshold Float 50.0

质量分阈值。对人脸图片进行质量分析判断,得到的质量分小于该阈值则表示人脸图片质量不符合要求,比对失败。取值范围[0.0,100.0]。0.0或空则表示不做质量分判断逻辑。

MaxFaceNum Long 5

对输入图像中多少个人脸进行检索比对,控制人脸样本列表个数,取值范围1~10,默认为5。

返回数据

名称

类型

示例值

描述

RequestId String 4159e64a-0fe8-436c-a8de-ee531555db3c

请求ID。

Data Object

返回的结果数据内容。

MatchList Array of MatchList

匹配的结果列表,如果输入图像中多个人脸,则这里会返回多个数据。

FaceItems Array of FaceItems

匹配的人脸数据列表。

EntityId String U1

实体ID,用来标识用户的唯一性,如用户ID、员工ID等。每个实体可包含多张人脸图片。支持大小写字母、数字、下划线和减号的组合,长度为2~64。

FaceId String 001

人脸图片数据ID,需要全局唯一,不可重复。支持小写字母、数字和下划线的组合。长度为1~64。

Score Float 0.892133

人脸的相似度,取值范围-1.0~1.0,取小数点后6位,数值越大相似度越高。建议的三个参考阈值为0.35,0.45和0.6,分别对应千分之一,万分之一和十万分之一的误识率。阈值设置越高,误识率越低,通过率也越低,对安全性要求越高的场合,可以设置越高的阈值。

ExtraData String 王小二

自定义信息(字符串)。支持字母、数字、标点符号和汉字。不超过512个字符。

DbName String default

数据库名称。

Confidence Float 36.820168

转换后的置信度 ,取值范围0.0~100.0,数值越大相似度越高,建议的三个参考阈值为60.48,67.87和72.62,分别对应千分之一,万分之一和十万分之一的误识率,阈值设置越高,误识率越低,通过率也越低,对安全性要求越高的场合,可以设置越高的阈值。

Location Object

输入图像中的人脸坐标信息。

Width Integer 200

宽度,单位像素。

Height Integer 200

高度,单位像素。

Y Integer 6

左上角y坐标。

X Integer 5

左上角x坐标。

QualitieScore Float 71.7349

输入图像中的人脸质量分。

SDK参考

阿里云视觉AI人脸人体类目下的人脸搜索能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为人脸人体(facebody)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览

示例代码

该能力常用语言的示例代码,请参见人脸搜索示例代码

示例

请求示例

http(s)://facebody.cn-shanghai.aliyuncs.com/?Action=SearchFace      //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&DbName=default
&ImageUrl=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/SearchFace/SearchFace1.png
&Limit=2
&DbNames=test1,test2,test3
&QualityScoreThreshold=50.0
&MaxFaceNum=5
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<SearchFaceResponse>
    <RequestId>4159e64a-0fe8-436c-a8de-ee531555db3c</RequestId>
    <Data>
        <MatchList>
            <FaceItems>
                <EntityId>U1</EntityId>
                <FaceId>001</FaceId>
                <Score>0.892133</Score>
                <ExtraData>王小二</ExtraData>
                <DbName>default</DbName>
                <Confidence>36.820168</Confidence>
            </FaceItems>
            <Location>
                <Width>200</Width>
                <Height>200</Height>
                <Y>6</Y>
                <X>5</X>
            </Location>
            <QualitieScore>71.7349</QualitieScore>
        </MatchList>
    </Data>
</SearchFaceResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "4159e64a-0fe8-436c-a8de-ee531555db3c",
  "Data" : {
    "MatchList" : [ {
      "FaceItems" : [ {
        "EntityId" : "U1",
        "FaceId" : "001",
        "Score" : 0.892133,
        "ExtraData" : "王小二",
        "DbName" : "default",
        "Confidence" : 36.820168
      } ],
      "Location" : {
        "Width" : 200,
        "Height" : 200,
        "Y" : 6,
        "X" : 5
      },
      "QualitieScore" : 71.7349
    } ]
  }
}

错误码

关于人脸搜索的错误码,详情请参见常见错误码

开源模型体验

更多开源免费模型体验及下载,详见魔搭社区:人脸识别OOD模型ArcFace人脸识别模型IR人脸识别模型FRIR口罩人脸识别模型FRFM-large口罩人脸识别模型FaceMask

安全声明

  • 请确保上传的图片或文件来源符合相应的法律法规。
  • 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。
  • 平台不存储用户在使用服务过程中涉及的原始人脸图片或文件信息。
  • 平台针对超过6个月及以上没有API服务调用的用户的人脸特征向量数据进行冻结,确保无服务调用的客户信息安全。如需解冻,请通过钉钉群(23109592)联系我们。