本文介绍人脸人体(facebody)类目下的人脸搜索SearchFace的语法及示例。
功能描述
人脸搜索能力可以根据输入图片,在数据库中搜索并返回相似的人脸图片数据。单次搜索的人脸总数最多20万张,单次搜索最多可支持10个人脸数据库的同时搜索(跨库搜索)。该能力根据人脸特征来进行识别,通过把人脸图像特征化,然后比较人脸特征的相似程度。
特色优势
- 识别精度高:人脸检测识别等算法精度处于业内领先水平。
- 识别效率高:毫秒级响应,支持实时识别。
接入指引
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 | 数据库名称。 说明 DbName与DbNames二选一,如果同时配置了两个参数,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个数据库。 说明 DbName与DbNames二选一,如果同时配置了两个参数,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)联系我们。