如何检查这个检测到的面部是否存在于面部API存储中,否则将检测到的面部添加到人物组的特定personId?
人员组中的列表人员示例(JSON格式):
[{
"personId": "1234",
"persistedFaceIds": ["0987"],
"name": "Mary",
"userData": null
}, {
"personId": "5678",
"persistedFaceIds": ["6543", "2109"],
"name": "John",
"userData": null
}]
我先尝试检测脸部,然后使用验证。但是,它仅验证检测到的人脸ID和人员组中的personId。有没有办法验证检测到的面部ID与每个持久面部id驻留在personId中,所以置信度得分为1?否则,根据名称将检测到的面部添加到人员组。
答案 0 :(得分:0)
我认为您应该查看Find similar
的{{1}}方法。此方法执行以下操作:
给定查询面部的faceId,从a中搜索相似的面部 faceId数组或faceListId。 faceId数组包含创建的面 by Face - Detect,将在创建后24小时到期。而 “faceListId”由面部列表创建 - 创建一个包含的面部列表 persistedFaceIds不会过期。根据输入而定 返回的相似面部列表包含faceIds或persistedFaceIds 按相似性排列。
在你的情况下,我会做以下事情:
Face API
方法查找图片中的面孔Detect
方法查找检测到的面孔是否与您的人员组中的某人匹配Identify
:使用来自此人的“persistedFaceIds”值设置参数Find similar
使用最后一种方法,您将获得具有以下格式的结果:
faceId
因此,如果您想要将面部添加到此人的面部列表中,则可以轻松检查置信度是否为1或更低。
API管理中[
{
"persistedFaceId" : "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",
"confidence" : 0.82
},
...
]
的官方文档可用here