调用FindSimilarFaces接口从媒体集中搜索与指定图片或人脸ID最相似的前N张图片,并返回相应人脸ID及边界框,返回结果按照相似度降序排列。

背景信息

您可以使用如下两种方式从媒体集中搜索与人脸最相似的前N张图片。

  • 通过传入媒体集中人脸ID进行搜索,具体步骤如下:
    说明 返回值中Faces的首个元素一定是传入的FaceId,系统不会对结果进行过滤。

    1. 调用CreateSet接口创建媒体集。

    2. 调用IndexImage接口将图片索引到媒体集。

    3. 调用ListImages或GetImage接口获取需要进行搜索的人脸ID。

    4. 使用媒体集中的人脸ID,将人脸ID作为输入值,从媒体集中搜索与人脸ID对应人脸最相似的前N张图片。

  • 通过传入图片的OSS URI进行搜索,具体步骤如下:
    说明 当传入的ImageUri在媒体集中存在时,则返回值中Faces的首个元素一定是传入的ImageUri内的同一个人脸,系统不会对结果进行过滤。

    1. 将图片上传到OSS。

    2. 使用图片的OSS URI,将图片中的人脸作为输入值,从媒体集中搜索与图片中人脸最相似的前N张图片。

注意事项

  • 当两个人脸的相似度Similarity>0.8时,两个人脸基本可以判断为同一人物。
  • 搜索结果依赖索引的建立,返回结果与实际值可能有数秒的数据延迟。

调试

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

请求参数

名称 类型 是否必选 示例值 描述
Action String FindSimilarFaces

操作接口名称,固定取值为FindSimilarFaces。

ImageUri String oss://imm-test/testcases/face1.jpg

图片的OSS URI。

OSS地址规则为oss://bucket/object,其中bucket为和当前项目处于同一区域的OSS Bucket名称,object为文件路径。

Project String immimagetest

项目名称。

SetId String set001

媒体集的唯一标识。

RegionId String cn-hangzhou

项目所在地域的ID。

地域Endpoint格式为imm.RegionId.aliyuncs.com,例如当RegionId为cn-hangzhou时,地域Endpoint为imm.cn-hangzhou.aliyuncs.com。

FaceId String 59edc040d0a8f4952b183d1b5044913a0ccd8739500ee2705ffe4965a0406a51

媒体集中已存在的人脸ID。

Limit Integer 5

返回最相似图片的最大个数,默认值为10,取值范围为1~100。

MinSimilarity Float 0.8

过滤返回结果中相似度低于该值的图片。

ResponseFormat String v2

返回值的格式版本,不设置此参数则返回值的格式为旧版本,推荐设置此参数为v2。

返回数据

名称 类型 示例值 描述
Faces Array of Faces

人脸信息。

ExternalId String external001

外部ID,用于和您的应用层的ID(如果有)进行绑定。

如果图片加入媒体集时未设置此参数,则返回值为空。

FaceAttributes Struct

人脸属性。

FaceBoundary Struct

人脸位置框。

Height Integer 252

人脸位置框高度。

Left Integer 95

顶点X坐标,距离左端距离。

Top Integer 191

顶点Y坐标,距离顶端距离。

Width Integer 269

人脸位置框宽度。

FaceId String 59edc040d0a8f4952b183d1b5044913a0ccd8739500ee2705ffe4965a0406a51

人脸ID。

ImageUri String oss://imm-test/testcases/face1.jpg

图片的OSS URI。

SimilarFaces Array of SimilarFaces

相似人脸信息。

ExternalId String external003

外部ID,用于和您的应用层的ID(如果有)进行绑定。

如果图片加入媒体集时未设置此参数,则返回值为空。

FaceAttributes Struct

相似人脸属性。

FaceBoundary Struct

人脸位置框。

Height Integer 141

人脸位置框高度。

Left Integer 267

顶点X坐标,距离左端距离。

Top Integer 152

顶点Y坐标,距离顶端距离。

Width Integer 139

人脸位置框宽度。

FaceId String 98ae3c032337161f997a92f8ab9ac9624113368b9e4f93f6143d54a16e51b623

相似人脸ID。

ImageUri String oss://imm-test/testcases/face3.jpg

图片的OSS URI。

Similarity Float 0.8609305739402771

人脸相似度,该值越大则人脸相似度越高,取值范围为0~1。

Similarity Float 0.8609305739402771

人脸相似度,该值越大则人脸相似度越高,取值范围为0~1。

RequestId String 31A201C4-6824-4A8F-81FE-E0659FDDF1D7

当次请求的Request ID。

示例

请求示例

- 通过传入媒体集中人脸ID进行搜索的请求示例
  http(s)://[Endpoint]/?Action=FindSimilarFaces
  &FaceId=59edc040d0a8f4952b183d1b5044913a0ccd8739500ee2705ffe4965a0406a51
  &Project=immimagetest
  &SetId=set001
  &<公共请求参数>


- 通过传入图片的OSS URI进行搜索的请求示例
  http(s)://[Endpoint]/?Action=FindSimilarFaces
  &ImageUri=oss://imm-test/testcases/face1.jpg
  &Project=immimagetest
  &SetId=set001
  &<公共请求参数>

正常返回示例

XML 格式

<RequestId>31A201C4-6824-4A8F-81FE-E0659FDDF1D7</RequestId>
<Faces>
    <FaceId>59edc040d0a8f4952b183d1b5044913a0ccd8739500ee2705ffe4965a0406a51</FaceId>
    <FaceAttributes>
        <FaceBoundary>
            <Left>95</Left>
            <Top>191</Top>
            <Height>252</Height>
            <Width>269</Width>
        </FaceBoundary>
    </FaceAttributes>
    <Similarity>0.9999998807907104</Similarity>
    <ExternalId/>
    <ImageUri>oss://imm-test/testcases/face1.jpg</ImageUri>
</Faces>
<Faces>
    <FaceId>98ae3c032337161f997a92f8ab9ac9624113368b9e4f93f6143d54a16e51b623</FaceId>
    <FaceAttributes>
        <FaceBoundary>
            <Left>267</Left>
            <Top>152</Top>
            <Height>141</Height>
            <Width>139</Width>
        </FaceBoundary>
    </FaceAttributes>
    <Similarity>0.6609989404678345</Similarity>
    <ExternalId/>
    <ImageUri>oss://imm-test/testcases/face3.jpg.jpg</ImageUri>
</Faces>

JSON 格式

{
	"RequestId": "31A201C4-6824-4A8F-81FE-E0659FDDF1D7",
	"Faces": [
		{
			"FaceId": "59edc040d0a8f4952b183d1b5044913a0ccd8739500ee2705ffe4965a0406a51",
			"FaceAttributes": {
				"FaceBoundary": {
					"Left": 95,
					"Top": 191,
					"Height": 252,
					"Width": 269
				}
			},
			"Similarity": "0.9999998807907104",
			"ExternalId": "",
			"ImageUri": "oss://imm-test/testcases/face1.jpg"
		},
		{
			"FaceId": "98ae3c032337161f997a92f8ab9ac9624113368b9e4f93f6143d54a16e51b623",
			"FaceAttributes": {
				"FaceBoundary": {
					"Left": 267,
					"Top": 152,
					"Height": 141,
					"Width": 139
				}
			},
			"Similarity": "0.6609989404678345",
			"ExternalId": "",
			"ImageUri": "oss://imm-test/testcases/face3.jpg.jpg"
		}
	]
}