使用Azure Face API从本地存储中的面孔列表中找到匹配的面孔

时间:2019-02-17 13:01:32

标签: c# face-recognition azure-cognitive-services face face-api

我正在从Azure页面中阅读文档和API,但是我仍然不确定我是否正确。

场景

我们的本地存储中有大约100万张ID照片。每个ID仅包含一个人。

我们希望在拍摄证件照片时实施基本验证。.然后,小型应用程序将使用Azure Face API来浏览我们拥有的那100万张证件照片,并返回已替换的照片;如果拥有相同的照片,则返回人员是否在我们的ID存储库中。

要做到这一点,我相信我们需要编写软件来做下面的事情

  1. 将所有照片上传到Azure
  2. 创建大型FaceList?
  3. 训练模型
  4. 然后我们可以识别面部或面部相似

以上步骤正确吗?

如果我使用上述方法,那意味着我需要对持久性人脸ID使用“人脸存储”吗?

1。有没有办法避免脸部存储成本呢?保留一百万张图片会花费很多钱

  1. 当我确认要计算多少笔交易时?算作1吗?

我也在考虑使用Container Cognitive,以便它可以在本地运行并改为使用本地存储。

这将有助于我节省面​​部存储成本吗?当我运行容器时,不需要支付存储费用。我只需要支付检测,验证之类的交易费用

欢迎您对此领域内的任何新评论提出意见

1 个答案:

答案 0 :(得分:0)

您的工作流程总体上是正确的:

  • 创建一个大人物组
  • 将每个带有个人头像的照片ID添加到带有面部的组中(这是两个API调用:Create Person + Add Person Face)
  • 培训人员小组(并会花费很长时间,因此不时检查培训状态)
  • 使用标识进行搜索

您唯一应该考虑的是大型人员小组的体系结构。当您需要添加/删除/更新组时,为100万人员使用单个整体式LPG将是一个杀手。每次更改的培训时间将非常长。一种策略(用于添加新人)是添加“事务” LPG-一个较小的LPG,其中包括所有每小时,每天/每周(无论您的工作方式)的添加,以便您可以快速培训变更。您将在“主要”和“交易” LPG上都进行搜索(识别),然后一次将事务“提交”到主要LPG中。 see here in the Face API docs

对于您的其他问题:

  • 无法避免派生的面部数据的存储成本
  • 每个API调用都是一项事务:创建LPG,创建人,添加人脸,训练,获取训练状态等
  • 我没有使用认知容器功能的经验,但我相信API调用的定价完全相同。