0

我应该如何检查这个检测到的人脸是否存在于人脸 API 存储中,否则将检测到的人脸添加到人员组的特定 personId 中?

人员组中的人员列表示例(JSON 格式):

[{
  "personId": "1234",
  "persistedFaceIds": ["0987"],
  "name": "Mary",
  "userData": null
}, {
  "personId": "5678",
  "persistedFaceIds": ["6543", "2109"],
  "name": "John",
  "userData": null
}]

我尝试先检测人脸,然后使用验证。但是,它仅验证检测到的人脸 id 和人员组中的人员 ID。有没有办法在检测到的人脸 ID 与驻留在 personId 中的每个持久人脸 ID 之间进行验证,因此置信度得分为 1?否则,根据名称将检测到的人脸添加到人员组中。

4

1 回答 1

0

我想你应该看看Find similar. Face API此方法执行以下操作:

给定查询人脸的 faceId,从 faceId 数组或 faceListId 中搜索相似的人脸。faceId 数组包含 Face - Detect 创建的人脸,创建后 24 小时过期。虽然“faceListId”是由人脸列表创建的 - 创建一个包含不会过期的persistedFaceIds的人脸列表。根据输入,返回的相似面孔列表包含按相似度排序的 faceIds 或 persistedFaceIds。

在您的情况下,我会执行以下操作:

  • 使用Detect方法在图像中查找人脸
  • 使用Identify方法来查找检测到的人脸是否与您的人组中的人匹配
  • 然后使用:使用来自人员的“persistedFaceIds”的值Find similar设置参数faceId

使用最后一种方法,您将获得以下格式的结果:

[
    {
        "persistedFaceId" : "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",    
        "confidence" : 0.82
    },
    ...
]

因此,很容易检查置信度是否为 1 或更小,以了解是否要将人脸添加到人脸列表中。

Find SimilarAPI 管理中的官方文档可在此处获得

于 2018-02-14T10:03:43.330 回答