目標
このサンプルでは、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.
-
Make sure 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.
-
Make sure 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.