调用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地址规则为 |
| Project | String | 是 | immimagetest |
项目名称。 |
| SetId | String | 是 | set001 |
媒体集的唯一标识。 |
| RegionId | String | 否 | cn-hangzhou |
项目所在地域的ID。 地域Endpoint格式为 |
| 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"
}
]
}