それ、ラズパイでつくれるよ
それ、ラズパイでつくれるよ——ラズパイでAI技術に触れる
「Raspberry Pi」の活用例を紹介する連載企画「それ、ラズパイでつくれるよ」。第4回では、Microsoft AzureのCognitive Servicesを利用した感情認識と、HATを用いた機能拡張を行う。
表情に合わせて絵文字を表示する
皆さん、「死んだ顔」していませんか? 私は興味のない話を聞いている時、感情のない死んだ顔をしているらしい。人間関係を円滑に進めるためには、常に笑顔でいたいものだ。そこで今回は、Web APIを使って感情認識をし、LEDディスプレイに絵文字で表情を表示してみよう。
表情認識のためにWeb APIを使う
表情認識にはマイクロソフトが提供しているクラウドプラットフォーム「Microsoft Azure」のAIサービスAPI群「Cognitive Services」の一つである「Emotion API」を利用する。Emotion APIでは画像中の表情について感情を評価してくれる。検出される感情は、怒り、軽蔑、嫌悪感、恐怖、喜び、中立、悲しみ、驚き、となっている。
APIに画像を送るために、カメラの準備から始める。第2回を参考にカメラモジュールを「Enable」にしたら、Terminalから以下のコマンドを入力して、Pythonスクリプトでカメラを使えるようにする。
$ sudo apt-get update
$ sudo apt-get install python-picamera
$ sudo apt-get install libopencv-dev python-opencv
続いて、Cognitive Servicesにユーザ登録を行い、Emotion APIの「キー1」を入手する。
Cognitive Servicesは有料で提供されているサービスだが、無料アカウントでもある程度試すことができる。この作業はラズパイ以外のデバイスから行ってもよい。
HATで機能拡張
ラズパイには「HAT」がある。HATとは、Hardware Attached on Topの略で、ラズパイに帽子をかぶせるように基盤を装着するだけで、簡単に機能を拡張できるものだ。今回は16×16の全色LEDマトリクスを搭載した、「Unicorn HAT HD」を使う。
Unicorn HAT HDを使う準備
Unicorn HAT HDの使い方はとても簡単。届いたら、
開けて、
第3回で紹介したGPIOピンの部分に取り付けるだけだ。
Pythonスクリプトで制御するには、Terminalから以下のコマンドを入力し、途中2回「y」を入力する。
$ curl https://get.pimoroni.com/unicornhathd | bash
(途中Do you wish to continue? [y/N] と聞かれるので y、
Do you wish to perform a full install? [y/N] と聞かれるので y )
今回はこのUnicorn HAT HDに絵文字を表示する。
組み合わせて実装する
まずTerminalから以下のコマンドを入力して、今回用意したスクリプトをダウンロードする。事前にcdコマンドで任意の場所に移動しておくとよいだろう。
$ git clone https://github.com/kazme-egawa/emoji-unicornhathd.git
ダウンロードが完了したら、emoji-unicornhathd.py中にある、
# Azure API Key
api_key = 'キー1'
の「キー1」部分に入手したキーを書き込んで保存すれば準備完了だ。
$ python emoji-unicornhathd.py
で実行すると、写真を撮り、顔が検出されればAPIを使って感情検出し、感情に合わせた絵文字が表示される。Emoji-unicornhathd-stream.pyに、同様にキーを入力すれば、写真を撮って感情認識→絵文字表示を何度も続けて行ってくれる。
このラズパイを話し相手の胸に貼り付けておけば、自分が今どんな表情をしているのか知ることができる。 死んだ顔が出て来たら、すぐ修正しよう。
今回はラズパイを使って感情認識とHATによる機能拡張を紹介した。Web APIを使うことで、ラズパイでも簡単にAI技術を使うことができることが分かったと思う。ラズパイのような小さなデバイスでも機械学習などの一見難しそうなことを行うことができる。 また、emoji-unicornhathd.pyと一緒にダウンロードされたスクリプトを使えば、好きな絵文字を表示することができる。Unicorn HAT HDに絵文字を表示するのがあまりにもかわいいので、ぜひ試してみてほしい。
※このコーナーでは、みなさんの「それ、ラズパイでつくれるよ」をお待ちしてます。問い合わせフォームからドシドシご応募ください。
参考リンク:
表情認識:https://www.indetail.co.jp/blog/12502/
Unicorn HAT HD:https://github.com/pimoroni/unicorn-hat-hd