Google Cloud Vision API 可以标记人脸吗?

Can Google Cloud Vision API label faces?

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

云视觉可以区分人脸和return人脸的一些唯一ID吗?

Vision API 服务提供 Face Detection feature that can be used to detect multiple faces within an image along with the associated key facial attributes such as emotional state or wearing headwear. Based on this, you can get the bounding polygon around the face, the land marks, roll angle, detection confidence, among other properties;但是,请务必注意此功能不支持面部识别,这意味着它不能用于检索检测到的面部的唯一 ID。

如果此功能无法满足您当前的需求,您可以使用 发送反馈 按钮,该按钮位于 service public documentation, as well as take a look the Issue Tracker tool in order to raise a Vision API feature request 并通知 Google 有关此所需功能的信息。

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

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

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

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

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