このページでは、Vision API を使用して画像内の有名人を認識する方法について説明します。
Vision API を使用すると、画像に含まれている顔を検出できます。顔を認識すると、Vision API はその顔の画像と Google が照合した有名人のインデックス付きギャラリーを比較します。
Vision API は数千人の有名人を認識できますが、これは専門家が制作したメディア コンテンツの中から有名人を識別することを目的としています。
一致する人物が見つかると、Vision API は、有名人の Knowledge Graph Machine ID(MID)、名前、画像内での顔の位置を示す境界ボックスを返します。
API アクセスのリクエスト
この機能は、専門家が制作したメディア コンテンツを扱うメディア・エンターテイメント企業やその認定パートナーにご利用いただくように意図されています。API アクセスをリクエストするには、このフォームに御社の情報とこの機能の用途を記入して送信してください。
Celebrity Recognition にローカル画像の認識をリクエストする
Vision API を使用して、ローカル画像ファイルに特徴検出を実行できます。
REST リクエストの場合は、リクエストの本文で画像ファイルのコンテンツを base64 エンコード文字列として送信します。
gcloud
とクライアント ライブラリ リクエストの場合は、リクエストにローカル イメージへのパスを指定します。
Celebrity Recognition にリクエストを送信するには、プロジェクトで機能に対するアクセス権を取得してから、既存の顔検出機能(FACE_DETECTION
enum)を使用します。有名人が検出されると、結果に有名人の情報が含まれます。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- BASE64_ENCODED_IMAGE: バイナリ画像データの base64 表現(ASCII 文字列)。これは次のような文字列になります。
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: Google Cloud プロジェクト ID。
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 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 レスポンスが返されます。
Celebrity Recognition にリモート画像の認識をリクエストする
Vision API を使用すると、Cloud Storage またはウェブ上にあるリモート画像ファイルに特徴検出を実行できます。リモート ファイル リクエストを送信するには、リクエストの本文でファイルのウェブ URL または Cloud Storage URI を指定します。
Celebrity Recognition にリクエストを送信するには、プロジェクトで機能に対するアクセス権を取得してから、既存の顔検出機能(FACE_DETECTION
enum)を使用します。有名人が検出されると、結果に有名人の情報が含まれます。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- CLOUD_STORAGE_IMAGE_URI: Cloud Storage バケット内の有効な画像ファイルへのパス。少なくとも、ファイルに対する読み取り権限が必要です。例:
gs://my-cloud-bucket/img/celebrity_image.jpg
- PROJECT_ID: Google Cloud プロジェクト ID。
HTTP メソッドと URL:
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 API または Video Intelligence API で識別されないようにするには、このフォームに必要事項を記入してお送りください。
不正行為の報告
Vision API の Celebrity Recognition 機能が悪用されている可能性がある場合は、このフォームを使用してお知らせください。