【问题标题】:Can Google Cloud Vision API label faces?Google Cloud Vision API 可以标注人脸吗?
【发布时间】:2019-04-08 07:02:17
【问题描述】:

我目前正在为一个项目使用 google cloud-vision api。我想为一张脸分配一个唯一的 ID,以便它自动检测任何图像包含的 ID。这样我就可以知道图片中的人是谁了。

cloud-vision 能否区分人脸并返回人脸的唯一 ID?

【问题讨论】:

    标签: image-processing google-cloud-platform face-detection google-cloud-vision


    【解决方案1】:

    Vision API 服务提供Face Detection 功能,可用于检测图像中的多张面孔以及相关的关键面部属性,例如情绪状态或佩戴头饰。基于此,您可以得到人脸周围的边界多边形、地标、滚动角、检测置信度,其中other properties;但是,请务必注意,此功能不支持面部识别,这意味着它不能用于检索检测到的面部的唯一 ID。

    如果此功能不能满足您当前的需求,您可以使用位于service public documentation 左下角和右上角的发送反馈按钮,以及采取查看Issue Tracker 工具以raise a Vision API feature request 并向Google 通知此所需功能。

    【讨论】:

      【解决方案2】:

      ,正如 Armin 已经提到的,Google Vision API 不支持面部识别或面部验证。它只对图像执行人脸检测。你真正能做的就是使用tensorflow来完成你想要的。让我为你解释一下:

      一个典型的人脸识别系统(管道)由几个阶段组成:

      1. 人脸检测:您可以使用 Google Vision API 来完成
      2. 面部特征提取:您可以使用 TensorFlow 提取面部特征并从步骤 1 中获取每个检测到的面部的面部嵌入。提取面部特征可以通过使用在大型数据集上训练的预训练模型来完成,例如(VGGFace2,CASIA-WebFace)。
      3. 人脸识别(识别或验证):可以通过使用来实现
        • Tensorflow 从桌面读取人脸嵌入(在步骤 2 中获取并保存)(也可以从数据库中获取,这取决于您将它们保存在哪里)
        • 支持向量机 (SVM) 在 python 中进行多类分类。

      (IMO) 人脸识别系统中最重要的是正确检测人脸并正确提取人脸特征。第三步只是一个分类问题,它可以通过多种方式完成,例如,您还可以使用面部嵌入之间的欧几里德距离来了解两个面部是否相似(识别)。

      第二步和第三步可以看FaceNethttps://github.com/davidsandberg/facenet 这是一个很好的例子,你可以如何基于 tensorflow 开发自己的面部识别系统。

      【讨论】:

      • 感谢您的回答。知道我可以将 Cloud Vision Api 与 Tensorflow 结合起来并使用它来识别人脸,这真的很有帮助。
      • 不要犹豫,提出更多问题 :) 如果您仍在寻找一种具有检测和识别功能的解决方案,请查看 MachineBox machinebox.io/docs/facebox,如果您想对其进行测试,请查看此用于快速原型设计和测试的脚本github.com/peshmerge/facebox_python
      猜你喜欢
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-27
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      • 2017-07-07
      相关资源
      最近更新 更多