- Googleは様々なプログラムを安価で提供してくれていますが、今年はさらにRaspberry Pi向けツールに力を入れてくれるらしいです。GoogleがRaspberry Pi用のAIツール/ライブラリの提供を充実 ここではGoogle Cloud Vision APIを使って画像認識するロボットを作ってみます。
- Vision APIを使う方法はREST方式とCloud SDKを使う方法がありますが、ここではより簡単に始められるREST方式を説明します。
事前の準備
Google Developers Consoleでの設定
gitレポジトリの更新
- gitで公開しているbezelieのライブラリですが、ときどき更新してますので、以前クローンしたかたも改めて更新(git pull)してください。
$ cd
$ cd bezelie/pi
$ sudo git pull
APIキーの埋め込み
- 先ほど取得したAPIキーをサンプルプログラムに書き込みます。
- サンプルプログラムをテキストエディターで開いてください。
$ sudo nano sampleVision1.py
- 16行目あたりにある「API_KEY = ” 」のクォーテーションの間にAPIキーをペーストしてください。
- エディターを保存終了してください。
サンプルプログラムの実行
- ディスプレイは必須ではありませんが、カメラの視界に対象物をしっかり入れるためには、あったほうがよいです。
$ python sampleVision1.py
- 「これなあに?」「これなんだ?」「これは何?」などと話しかけると、ロボットが「どれどれ」と言うので、カメラの前に対象物を掲げてください。
- 最大3つの解答候補が英語で発声および画面に文字表示されます。
- Ctrl+Cで終了させることができます。
応用
- 公式ドキュメント(日本語)
- このサンプルでは画像に映っている物のカテゴリー名を表示する「LABEL_DETECTION」という機能を使っていますが、42行目あたりでコメントアウトしてある「TEXT_DETECTION」「LOGO_DETECTION」も、ほぼおなじプログラムで使うことができます。「TEXT_DETECTION」は文字認識(OCR)、「LOGO_DETECTION」はロゴ認識です。
- このサンプルでは認識結果を3つ言わせていますが、1つでいいやという場合は72行目あたりにある「for i in range(3):」の数字を1にしてください。