Celebrity recognition

このページでは、Vision API を使用して画像内の有名人を認識する方法について説明します。

Vision API を使用すると、画像に含まれている顔を検出できます。顔を認識すると、Vision API はその顔の画像と Google が照合した有名人のインデックス付きギャラリーを比較します。

Vision API は数千人の有名人を認識できますが、これは専門家が制作したメディア コンテンツの中から有名人を識別することを目的としています。

一致する人物が見つかると、Vision API は、有名人の Knowledge Graph Machine ID(MID)、名前、画像内での顔の位置を示す境界ボックスを返します。

API アクセスのリクエスト

この機能は、専門家が制作したメディア コンテンツを扱うメディア・エンターテイメント企業やその認定パートナーを対象としています。API アクセスをリクエストするには、このフォームに御社の情報とこの機能の用途を記入して送信してください。

Celebrity Recognition にローカル画像の認識をリクエストする

Vision API は、リクエストの本文で画像ファイルのコンテンツを Base64 エンコードの文字列として送信し、ローカル画像ファイルの特徴検出を行います。

Celebrity Recognition にリクエストを送信するには、プロジェクトで機能に対するアクセス権を取得してから、既存の顔検出機能(FACE_DETECTION enum)を使用します。有名人が検出されると、結果に有名人の情報が含まれます。

REST とコマンドライン

後述のリクエストのデータを使用する前に、次のように置き換えます。

  • base64-encoded-image: バイナリ画像データの base64 表現(ASCII 文字列)。これは次のような文字列になります。
    • /9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
    詳細については、base64 エンコードをご覧ください。

HTTP メソッドと URL:

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 application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://vision.googleapis.com/v1p4beta1/images:annotate

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

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 レスポンスが返されます。

Celebrity Recognition にリモート画像の認識をリクエストする

Vision API を使用すると、画像ファイルのコンテンツをリクエストの本文で送信することなく、Google Cloud Storage またはウェブ上にある画像ファイルに対して特徴検出を直接実行できます。

Celebrity Recognition にリクエストを送信するには、プロジェクトで機能に対するアクセス権を取得してから、既存の顔検出機能(FACE_DETECTION enum)を使用します。有名人が検出されると、結果に有名人の情報が含まれます。

REST とコマンドライン

後述のリクエストのデータを使用する前に、次のように置き換えます。

gs://my-cloud-bucket/img/celebrity_image.jpg
  • cloud-storage-image-uri: Cloud Storage バケット内の有効な画像ファイルへのパス。少なくとも、ファイルに対する読み取り権限が必要です。たとえば次のように指定します。
    • gs://storage-bucket/filename.jpg

HTTP メソッドと URL:

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

JSON 本文のリクエスト:

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

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

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

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

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 API または Video Intelligence API で識別されないようにするには、このフォームに必要事項を記入してお送りください。

不正行為の報告

Vision API の Celebrity Recognition 機能が悪用されている可能性がある場合は、このフォームを使用してお知らせください。