Google Cloud Vision API を使ってみる

More than 3 years have passed since last update.

Google Cloud Vision API を Chrome ブラウザから使ってみましょう。

ココまでの準備ができているか確認してから、下記に進んでください。


Google Cloud Vision API とは?

Cloud Vision API とは、Googleが提供している画像解析APIです。

https://cloud.google.com/vision/?hl=ja

画像情報つけてリクエストをすると、その画像に関する情報をJSON形式で返してくれます。

APIドキュメントはこちらです(今のところ英語のみ)

https://cloud.google.com/vision/docs/?hl=ja


LABEL_DITECTION : 物体検知

画像に含まれる物体を検知し、乗り物から動物まで多数のカテゴリの中から分類できます。


リクエストの手順


1. APIキー(ブラウザキー)

準備で作成したAPIキーを用意します。

https://console.developers.google.com/apis/credentials

にアクセスし、作成したプロジェクトを選択します。

作成したAPIキー(ブラウザキー)をコピーし、メモ帳などにペーストして残しておいてください。


2. 画像データをBase64エンコードした文字列

Chromeブラウザに拡張機能 copy-base64 が入っていることを確認してください。

以下のURLにアクセスしてください。

http://www.inetours.com/England/London/images/BgBn/Big_Ben_8583a.jpg

画像を右クリックして「Copy base64」をクリックしてください。

Copy base64

クリップボードに、画像をBase64エンコードした文字列がコピーされました。

data:image/png;base64, の部分は不要ですので削除しておいてください。


メモ帳などにペーストして残しておきましょう。


3. リクエストBodyの文字列を用意する

{

"requests":[
{
"image":{
"content":"ここに画像をbase64エンコードした文字列を入れる"
},
"features":[
{
"type":"LABEL_DETECTION",
"maxResults":5
}
]
}
]
}


4. リクエストを実行する

Postman の使い方も兼ねて説明していきます。


1. Postman のコレクションを作る


  1. Chrome ブラウザでchrome://apps/ にアクセスしてアプリの中から Postman を起動します。

Postman logo

2. Postman の Collections を作ります


Collection とはリクエストを入れておくディレクトリのようなものです。


下記のマークをクリックします

Collections

"CREATE A NEW COLLECTION" というダイアログが出ますので、Name に好きな名前を入れます。


名前を入れたら Create ボタンをクリックします。

CREATE A NEW COLLECTION

Collection が作成されました。

Created Collection

3. 次にリクエストを作成します。


2. Postman でリクエストを作る


  1. リクエストが GET になっているので POSTにする

  2. 横の入力欄に

 https://vision.googleapis.com/v1/images:annotate

と入力する。

3. Params ボタンをクリックして


key = key


value = ブラウザAPIキー

を入力する。

4. リクエストBodyを入力する。


Body をクリックし、RAWを選択する。


TEXTとなっているところをクリックし、 JSON(application/json) を選択する

5. 入力欄にリクエストBodyのjsonを入力する

下記のような画面になっていればOKです。

postman.png


3. 保存する

再度使えるようにリクエストを保存しておきましょう。

SAVEボタンをクリックする

SAVE

Request Name = 好きな名前

Save to existing collection = Google Cloud Vision API を選択する

SAVE REQUEST

保存するとコレクションの下に保存されたリクエストが表示されます。

SAVED


4. リクエストを実行する

SENDボタンをクリックするとリクエストが実行されます。

SEND


6. リクエストの内容とレスポンス


リクエスト


  • image : 画像をbase64エンコードした文字列

  • features:type : リクエストの種類

  • features:maxResults : 返してほしい結果の最大数

※一つの画像には複数のキーワードが紐付けられています。 features:maxResults で返してほしいキーワードの数を制限できます。

{

"requests":[
{
"image":{
"content":"ここに画像をbase64エンコードした文字列を入れる"
},
"features":[
{
"type":"LABEL_DETECTION",
"maxResults":5
}
]
}
]
}


レスポンス


  • mid :

  • description : その画像のキーワード

  • score : その画像にそのキーワードがどのくらいマッチしたかのスコアです。高いほどマッチしているということになります。

{

"responses": [
{
"labelAnnotations": [
{
"mid": "/m/01fdzj",
"description": "tower",
"score": 0.94743246
},
{
"mid": "/m/02qd_7",
"description": "clock tower",
"score": 0.91217369
},
{
"mid": "/m/01n32",
"description": "city",
"score": 0.9103722
},
{
"mid": "/m/03nfmq",
"description": "architecture",
"score": 0.78704494
},
{
"mid": "/m/05_5t0l",
"description": "landmark",
"score": 0.77704954
}
]
}
]
}


5. LABEL_DITECTION のリファレンス