名人识别

本页介绍如何使用 Vision API 识别图片中的名人。

借助 Vision API,您可以检测图片中的人脸。在识别人脸时,Vision API 可以根据 Google 整理的名人索引图库进行人脸比对。

Vision API 可以识别成千上万的名人,且只能用于专业拍摄的媒体内容(其中一些常见的名人会出现在图片中)。

如果找到匹配项,Vision API 将提供相应名人的知识图谱机器 ID (MID)、姓名和指示人脸在图片中出现位置的边界框。

申请 API 访问权限

此功能仅供媒体和娱乐公司或获得批准的合作伙伴用于专业制作的媒体内容。如需申请 API 访问权限,请提交此表单,在其中提供有关您的公司和用例的信息。

对本地图片申请名人识别

您可以使用 Vision API 对本地图片文件执行特征检测。

对于 REST 请求,请将图片文件的内容作为 base64 编码的字符串在请求正文中发送。

对于 gcloud 和客户端库请求,请在请求中指定本地图片的路径。

如需发送名人识别请求,您首先需要为您的项目获取对该功能的访问权限,然后使用现有人脸检测功能(FACE_DETECTION 枚举)。 如果检测到名人,则结果中会包含名人信息。

REST

在使用任何请求数据之前,请先进行以下替换:

  • BASE64_ENCODED_IMAGE:二进制图片数据的 base64 表示(ASCII 字符串)。此字符串应类似于以下字符串:
    • /9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
    如需了解详情,请参阅 base64 编码主题。
  • PROJECT_ID:您的 Google Cloud 项目 ID。

HTTP 方法和网址:

POST https://vision.googleapis.com/v1p4beta1/images:annotate

请求 JSON 正文:

{
  "requests": [
    {
      "image": {
        "content": "BASE64_ENCODED_IMAGE"
      },
      "features": [
        {
          "type": "FACE_DETECTION"
        }
      ],
      "imageContext": {
        "faceRecognitionParams": {
            "celebritySet": ["builtin/default"]
        }
      }
    }
  ]
}

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1p4beta1/images:annotate"

PowerShell

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1p4beta1/images:annotate" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

对远程图片申请名人识别

您可以使用 Vision API 对位于 Cloud Storage 或网络中的远程图片文件执行特征检测。如需发送远程文件请求,请在请求正文中指定文件的网址或 Cloud Storage URI。

如需发送名人识别请求,您首先需要为您的项目获取对该功能的访问权限,然后使用现有人脸检测功能(FACE_DETECTION 枚举)。 如果检测到名人,则结果中会包含名人信息。

REST

在使用任何请求数据之前,请先进行以下替换:

  • CLOUD_STORAGE_IMAGE_URI:Cloud Storage 存储桶中有效图片文件的路径。您必须至少拥有该文件的读取权限。 示例:
    • gs://my-cloud-bucket/img/celebrity_image.jpg
  • PROJECT_ID:您的 Google Cloud 项目 ID。

HTTP 方法和网址:

POST https://vision.googleapis.com/v1p4beta1/images:annotate

请求 JSON 正文:

{
  "requests": [
    {
      "image": {
        "source": {
          "imageUri": "CLOUD_STORAGE_FILE_URI"
        }
      },
      "features": [
        {
          "type": "FACE_DETECTION"
        }
      ],
      "imageContext": {
        "faceRecognitionParams": {
            "celebritySet": ["builtin/default"]
        }
      }
    }
  ]
}

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1p4beta1/images:annotate"

PowerShell

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1p4beta1/images:annotate" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

申请退出名人选择

如果您是一位名人,并且不希望被包括在 Cloud Vision 或 Video Intelligence API 的此项功能中,请填写并提交此表单

举报滥用行为

如果您怀疑 Vision API 名人识别功能被滥用,请通过此表单告知我们。