Google Cloud Vision API标签可以贴面吗?

时间:2018-11-04 21:21:31

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

我当前正在使用Google Cloud-vision API进行项目。我想为面部分配一个唯一的ID,以便它自动检测任何图像包含的ID。这样我就可以知道图像中有谁。

云视觉能否区分人脸并为他们返回一些唯一的ID?

2 个答案:

答案 0 :(得分:1)

视觉API 服务提供了Face Detection功能,可用于检测图像中的多个面孔以及相关的关键面部属性,例如情绪状态或戴头饰。基于此,您可以在other properties之间获取面部周围的边界多边形,地标,侧倾角,检测置信度;但是,请务必注意,此功能不支持面部识别,这意味着该功能不能用于为检测到的面部检索唯一的ID。

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

答案 1 :(得分:1)

,正如Armin所述,Google Vision API不支持面部识别或面部验证。它仅对图像执行面部检测。您实际上可以做的是使用tensorflow完成所需的操作。让我为您解释:

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

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

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

对于第二步和第三步,您可以看一下FaceNet https://github.com/davidsandberg/facenet 这是一个很好的例子,说明如何基于张量流开发自己的面部识别系统。