目標
このサンプルでは、Google Vision API を使用して画像の中の顔を検出します。顔が正しく検出されたことを証明するために、このデータを使用して顔のそれぞれを囲むボックスを描画します。
費用
このドキュメントでは、課金対象である次の Google Cloudコンポーネントを使用します。
- Cloud Vision
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Google Cloud Vision API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Google Cloud Vision API.
- アプリケーションのデフォルト認証情報を使用するための環境を設定します。
-
言語固有のタスクとツールを設定します。
C#
- Google クライアント ライブラリをインストールします。
- Visual Studio 2012 / 2015 をインストールします。
Java
- Java をインストールします。
- API リファレンス。
Apache Maven ビルドシステムをダウンロードしてインストールします。Maven を使用すると、Google API クライアント ライブラリと Vision API のクライアント ライブラリがインストールされている状態でプロジェクトをビルドできます。これは、これらのライブラリが
pom.xml
で指定されているためです。...
Node.js
- Google クライアント ライブラリをインストールします。
- node.js をインストールします。
- API リファレンス。
npm と node-canvas をインストールします。サンプルコードには、
npm install
コマンドを使用してすべての依存関係をインストールするpackage.json
が含まれています。node-canvas には、この他にもインストールが必要な依存関係が存在することがあります。詳しくは、node-canvas のインストール ドキュメントをご覧ください。
PHP
- Google クライアント ライブラリをインストールします。
- PHP と Composer をインストールします。
- API リファレンス。
- GD for PHP をインストールして有効にします。
Python
- Google クライアント ライブラリをインストールします。
- Python をインストールします。
- API リファレンス。
- pillow をインストールします。
Ruby
- Google クライアント ライブラリをインストールします。
- Ruby と Bundler をインストールします。
- API リファレンス。
- ImageMagick をインストールします。
サービス オブジェクトを作成する
Google API に公式クライアント SDK を使用してアクセスするには、その API のディスカバリ ドキュメントに基づいてサービス オブジェクトを作成します。このドキュメントは、SDK に対する API を記述するものです。デベロッパーは、自分の認証情報を使用してこのドキュメントを Vision API のディスカバリ サービスから取得する必要があります。
Java
Node.js
Python
顔検出リクエストを送信する
Vision API へのリクエストを作成するには、最初に API のドキュメントを調べます。この場合、images
リソースを annotate
画像へリクエストします。この API へのリクエストは、requests
リストを持つオブジェクト形式になります。このリスト内のアイテムのそれぞれに、次の 2 つの情報が格納されます。
- base64 エンコード済みの画像データ
- その画像についてアノテーションを付けたい機能のリスト
この例では、1 つの画像の FACE_DETECTION
アノテーションをリクエストし、該当する画像部分のレスポンスを返します。
Java
Node.js
Python
レスポンスを処理する
画像の中の顔が検出されました。顔アノテーション リクエストに対するレスポンスの中には、検出された顔についての多数のメタデータが含まれています。このメタデータの中には、その顔を囲むポリゴンの座標があります。ただし、この時点では、これは単なる数字のリストです。これを使って、画像の中の顔が確かに検出されたことを確認しましょう。Vision API から返された座標を使用して、画像のコピーの上にポリゴンを描画します。
すべてをまとめる
Java
...
サンプルをビルドして実行するには、サンプルコード ディレクトリから次のコマンドを実行します。
mvn clean compile assembly:single java -cp target/vision-face-detection-1.0-SNAPSHOT-jar-with-dependencies.jar \ com.google.cloud.vision.samples.facedetect.FaceDetectApp \ data/face.jpg \ output.jpg
Node.js
サンプルを実行するには、次のコマンドをサンプルコードのディレクトリから実行します。
node faceDetection resources/face.png
Python
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.