人脸检索

最近更新时间:2025-06-17 20:13:53

我的收藏

简介

本文档提供关于人脸检索的相关 API 概览以及 SDK 示例代码。
API
操作描述
人脸检索

功能说明

从数据集中搜索与指定图片最相似的前 N 张图片并返回人脸坐标可对数据集内文件进行一个或多个人员的人脸识别。

示例代码

from qcloud_cos import CosConfig
from qcloud_cos import MetaInsightClient
import os
import sys

# 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_id = os.environ["SECRETID"]
# 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = os.environ["SECRETKEY"]
# 替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
region = ('ap-beijing')
# COS 支持的所有 region 列表参见 https://www.qcloud.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入 token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见 https://cloud.tencent.com/document/product/436/14048
# 用户 appid 请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
appid = '1250000000'

config = CosConfig(Appid=appid, Region=region, SecretId=secret_id,
SecretKey=secret_key,
Token=token) # 获取配置对象
client = MetaInsightClient(config)

def ci_dataset_face_search():
# 人脸检索
body = {
# 数据集名称,同一个账户下唯一。
# 是否必传:是
'DatasetName': "test",
# 资源标识字段,表示需要建立索引的文件地址。
# 是否必传:是
'URI': "cos://examplebucket-1250000000/test.jpg",
# 输入图片中检索的人脸数量,默认值为1(传0或不传采用默认值),最大值为10。
# 是否必传:否
'MaxFaceNum': 1,
# 检索的每张人脸返回相关人脸数量,默认值为10,最大值为100。
# 是否必传:否
'Limit': 10,
# 限制返回人脸的最低相关度分数,只有超过 MatchThreshold 值的人脸才会返回。默认值为0,推荐值为80。 例如:设置 MatchThreshold 的值为80,则检索结果中仅会返回相关度分数大于等于80分的人脸。
# 是否必传:否
'MatchThreshold': 10,
}
response, data = client.ci_dataset_face_search(
Body=body,
ContentType="application/json"
)
print(response)
print(data)
return response, data

参数说明

调用 ci_dataset_face_search 函数,具体请求参数如下:
参数名称
参数描述
类型
是否必填
Body
人脸检索请求参数。
Container
Body 节点内容:
参数名称
参数描述
类型
是否必填
DatasetName
数据集名称,同一个账户下唯一。
String
URI
资源标识字段,表示需要建立索引的文件地址。
String
MaxFaceNum
输入图片中检索的人脸数量,默认值为1(传0或不传采用默认值),最大值为10。
Integer
Limit
检索的每张人脸返回相关人脸数量,默认值为10,最大值为100。
Integer
MatchThreshold
限制返回人脸的最低相关度分数,只有超过 MatchThreshold 值的人脸才会返回。默认值为0,推荐值为80。
例如:设置 MatchThreshold 的值为80,则检索结果中仅会返回相关度分数大于等于80分的人脸。
Integer

返回结果说明

response 为响应头,data 为响应结果,数据类型都为 dict。

response 内容

返回公共响应头部,详情请参见 公共响应头部 文档。

响应体 data

响应体具体数据内容如下:
参数名称
参数描述
类型
FaceResult
人脸检索识别结果信息列表。
Container Array
RequestId
请求 ID。
String
FaceResult 节点内容:
参数名称
参数描述
类型
FaceInfos
相关人脸信息列表。
Container Array
InputFaceBoundary
输入图片的人脸框位置。
Container
FaceInfos 节点内容:
参数名称
参数描述
类型
PersonId
自定义人物 ID。
String
FaceBoundary
相关人脸框位置。
Container
FaceId
人脸 ID。
String
Score
相关人脸匹配得分。
Integer
URI
资源标识字段,表示需要建立索引的文件地址。
String
FaceBoundary 节点内容:
参数名称
参数描述
类型
Height
人脸高度。
Integer
Width
人脸宽度。
Integer
Left
人脸框左上角横坐标。
Integer
Top
人脸框左上角纵坐标。
Integer
InputFaceBoundary 节点内容:
参数名称
描述
类型
Height
人脸高度。
Integer
Width
人脸宽度。
Integer
Left
人脸框左上角横坐标。
Integer
Top
人脸框左上角纵坐标。
Integer