「ひとりメーカーのはじめ方 Pi zero W 映像信号処理編」(Kindle)
〜 1000円ちょっとで買えるRaspberryPi Zero Wを使ってAI顔検出をやってみました 〜
 
 
 
 
最近、国内でも入手可能になってきたRaspberry Pi Zero Wであるが、その周辺機器は、従来のRaspberry Piと同じI/F(インターフェイス)を持っているため、すぐに様々な応用が可能である。

本書では、多々ある周辺機器の中でも特に興味深いカメラを用いて、様々な事を行ってみた。

今までは、カメラの映像信号はとても情報量が多く、市販のCPUなどではとても手に負える物ではなかったが、最近では、高性能のCPUと画像処理専用ハードウエアを内蔵したマイコンが出現して、一般人でも簡単に映像信号処理を体感できる時代になりつつある。

Raspberry Pi Zero Wも専用のカメラI/Fを持っていて、カメラをつなぐだけで、映像のストリーミングや録画など様々な事を簡単に実現できる。
筆者の知る限り、無線LANなどを内蔵していて、これだけの機能を安価に実現できるものは他に存在しないと思っている。

本書では、Raspberry Pi Zero Wの立ち上げから、各種設定、カメラ画像の取り込み、顔検出、ストリーミング配信、顔検出画像のメール送信、AIY Vision Kit(Google社製)を用いた高性能な顔検出など、盛りだくさんとした。
説明には、全ての手順を載せ、ソースコードもGitHubからダウンロードできるようにしたので、ソフト初心者にも解りやすい内容としている。
読者には、最新のAI技術である顔検出を是非体感してほしい。
 
 
今回使用するRaspberryPi Zero Wです。
$5で買えると話題になったRaspberryPi ZeroにWiFi機能を追加した製品です。

基板は、他のRaspberryPiシリーズ同様に信号を取り出せる端子が出ています。
他にも主なものは、プログラムを格納するSDカードスロット、HDMI出力、USB(電源、キーボード接続用)、カメラIFなどが付いています。
 
 
 
 
他に必要な物は、RaspberryPi用のカメラ、プログラム用のmicoSDカード、カメラとボードが格納できるケースです。
開発には、HDMIモニタに接続するHDMIケーブルやUSBキーボード、マウスなどが必要です。
 
 
 
 
本書では、RaspberryPi謹製のカメラケースを使っています。
一番コンパクトで簡単に使えたことが理由です。
組み込んだ状態はこのようになります。

組み込む前にmicroSDカードにOSを書き込んでおく必要があります。
 
 
 
 
RaspberryPi Zero WのCPUパワーだけで顔検出を行った場合と、Google謹製のAIアクセラレータを使用して検出を行った場合で比較しています。
AIアクセラレータは、AIY(ビジョンキット)と呼ばれる物で、RaspberryPi Zeroに接続できるAIアクセラレータやカメラなど一式が入っています。
これだけでも結構楽しめます。
 
 
 
 
ビジョンキットの中身は、こんな感じです。
最近のはやりで、すべてダンボール加工したケースに入っています。
製品本体もダンボールというのは、ちょっと頂けませんが。。。

RaspberryPi Zeroやカメラも同梱されています。
 
 
 
 
RaspberryPi Zero WのCPUパワーだけで検出を行った場合は、こんな感じになります。
できないことはないけど、やはり辛い感じです。限られたフレームレートで2人検出しています。
 
 
 
 
ビジョンキットを使ってやってみたところ、かなりの顔(ほぼすべて)を検出出来ました。
AIアクセラレータのおかげでソフトの検出処理負荷が大幅に減っているので、フレームレート内でより多くの人を検出しています。
 
 
 
 
検出した顔をHDMIモニタで確認しても良いのですが、RaspberryPi Zero Wのコンパクトなケースのみを設置して遠隔で見れたらなお便利と思いました。
H.264やMJPEGでストリーミングする方法も記載しました。
これは、iPhoneで画像を確認している画面です。