カメラで画像認識してみる

・Googleは様々なプログラムを安価で提供してくれていますが、ここではGoogle Cloud Vision APIを使って画像認識するロボットを作ってみます。
・Vision APIを使う方法はREST方式とCloud SDKを使う方法がありますが、ここではより簡単に始められるREST方式を説明します。

事前の準備

・カメラ、スピーカー、マイクを使いますので、すべて正常に動作している状態にしておいてください。

Google Developers Consoleでの設定

・googleのアカウントを持っていない場合は作ってください。[Google アカウントの作成]
・ [Google Developers Console]にログインしてください。
・ここでプロジェクトを作成し、課金を有効化し、「Cloud Vision API」を有効化し、APIキーを生成します。
・日本語でとても分かりやすく説明しているページがありますので、こちらを参考に進めると良いのではないかと思います。[syncer.jp : Cloud Vision APIの使い方まとめ]
・ここで作成したAPIキーはこのあと使うのでコピーしておいてください。
・登録開始から60日間は3万円まで無料で使えます。

APIキーの埋め込み

・先ほど取得したAPIキーをサンプルプログラムに書き込みます。
・サンプルプログラムをテキストエディターで開いてください。

・15行目にある「API_KEY = ” 」のクォーテーションの間にAPIキーをペーストしてください。
・エディターを保存終了してください。

サンプルプログラムの実行

・ディスプレイは必須ではありませんが、カメラの視界に対象物をしっかり入れるためには、あったほうがよいです。

・「これなあに?」「これなんだ?」「これは何?」などと話しかけると、ロボットが「どれどれ」と言うので、カメラの前に対象物を掲げてください。
・最大3つの解答候補が英語で発声および画面に文字表示されます。
・Ctrl+Cで終了させることができます。

ソースコード

応用

・[公式ドキュメント(日本語)]
・このサンプルでは画像に映っている物のカテゴリー名を表示する「LABEL_DETECTION」という機能を使っていますが、42行目あたりでコメントアウトしてある「TEXT_DETECTION」「LOGO_DETECTION」も、ほぼおなじプログラムで使うことができます。「TEXT_DETECTION」は文字認識(OCR)、「LOGO_DETECTION」はロゴ認識です。
・このサンプルでは認識結果を3つ言わせていますが、1つでいいやという場合は72行目あたりにある「for i in range(3):」の数字を1にしてください。