gcloud Shell 環境で Vision API を使ってみる

はじめに

本記事ではGCPの Vision API 機能をとりあえず動かしてみる、その方法を説明します。

Vision APIとは?

GCPが提供する画像認識のサービスとなります。ML(Machine Learning)の技術が使用されており、Googleが大量の画像データから作成した画像認識のモデルを利用できることが特徴です。

もう少しだけ具体的に出来ることを説明すると、例えば画像の中に写っている動物が何の動物なのかを識別だったり、画像の中にある文字列を抜き出し(OCR)てくれたり、と様々な用途での使用が可能です。

使ってみた感想は…凄すぎる。。の一言。

実施方法

APIの有効化

GCPのアカウントにログインし、Vision APIを有効にして下さい。

以下のページを参考にすることが可能です。

画像の準備

これは自分で撮った写真でもなんでも構いません。私はとりあえず”ぱくたそ”さんから何枚か動物の写真を頂きました。

画像の保存

この記事ではGCPのGCS(storage)に保存した画像に対して画像認識を実施する方法について説明します。gcloud SDKを実行している環境に画像を保存しても問題ありません。

GCPのGoogle Cloud Storageを利用する場合は、GCPにログインし、画面左側のメニューからStorage/ブラウザを選択して下さい。

ここでバケットを作成、を選択します。

バケットについて細かな設定は不要ですが、一意の名前を付け、データの保存先には東京リージョンを選択しておきました。これで画面下の作成ボタンをクリックしてください。

バケットが出来たら今度はファイルをアップロードしてください。私はここで、ぱくたそさんから頂いてきたレッサーパンダの写真をアップロードしました。

アップロードしたファイルをクリックすると、以下のような画面に切り替わります。ここでURIの欄に記載されているgs:// から始まるパスをコピーしておいて下さい。

これで画像データについては準備完了です。

gcloud shell から画像認識を実行する

画像に何が写っているかを判定するのに使うコマンドはこれだけ!

コマンド

gcloud ml vision detect-labels gs://XXXXXXX –max-results=1

Red panda? となりましたが英語でレッサーパンダのことでした!凄すぎる。。

コマンド内の ”–max-results" のパラメータは省略してもらっても構いません。候補をいくつ上げるか?という指定となります。

その他、返ってきたパラメータの意味は以下となります。

mid … 画像認識が行われた際に、識別されたもののIDとのことです。

score … 信頼出来る内容であればあるほど1に近づく値とのことです。

topicality … 画像の全体から識別された画像・ラベルの関連度を示しているとのことです。

文字認識(OCR)もやってみる

アイキャッチ用にこの画像を作ってみたので、これで試してみます!

使ったコマンドはこちらです。

コマンド

gcloud ml vision detect-text gs://XXXXX

出来た!

最後に

本記事では gcloud shell で Vision APIを使用する方法について説明しました。技術的に出来ることが増えるのって面白いですよね!

ではまた。