RaspberryPiで顔認識OpenCVで(コンパイルの方法も!)

はてなブックマーク - RaspberryPiで顔認識OpenCVで(コンパイルの方法も!)
LINEで送る
Pocket

RaspberryPiで顔認識

みなさん、こんにちは!

株式会社虹賢舎の川島賢です。

今日はRaspberryPiで顔認識する方法を共有したいと思います!

openCV 3+ Raspberry Pi 3+ Python 3 ==> 333!

ハードウェア:RaspberryPiで顔認識で必要なもの

まず、は下記のものが必要です!

①もちろんRaspberryPi本体です!

(実際に実験で使っているRaspberryPiは別の個体です。)

②RaspberryPi専用のカメラ

私はアマゾンから購入しました。

ちなみにRaspberryPiは6,7台を持っています。また増える予定です。笑

③電源

他はもちろん、電源も必要です。

④※Wifiモジュール

ネットワークも使いたい場合はRaspberryPi 2の場合はwifiモジュールが搭載していないので、別途購入が必要です。

ハードウェアの準備

カメラをRaspberryPiの本体に接続します!

しかし、カメラモジュールが固定する方法が考えていなかったです!汗。

垂れてしまって、意図する方向に向けません!

こんな感じです。

もし、カメラモジュールの配線がこんな感じに固定すれば、少し向きも固定できそうですので

周りを探すと!

RaspberryPiの電源ケーブルを固定したワイアがありました!

これは、もしかしたら!

こうなりました!

智恵は絞れば出るものですね!笑。

これである程度、向けたい方向には行けるようになりました!(実験はいいですが、プロダクションはちゃんとした固定機構が欲しいところですね。)

ソフトウェア:OpenCV

https://opencv.org/

ソースコードと開発者:https://github.com/opencv/opencv

ここからはソフトウェアの設定の話をして行きます。

①Expand filesystem

sudo raspi-configで、7- Advanced Options -> A1-Expand Filesystem ファイルシステムを一回拡張します。

その後、設定を終わりにする時に「再起動しますか」と聞かれます。「Yes」と選んで、再起動します。

再起動したあと

で、確認しましょう。

私が、32GBのSDカードを使っています。すでに22%以上使っています。

②必要なパッケージをインストールする

必要なパッケージをインストールする前に、一回システムを最新の状態にしておきます。

openCVをコンパイル時に必要なパッケージを入れます。

イメージのIOパッケージを入れます。JPEG, PNG, TIFFなど様々な画像フォーマットが画像を処理する際に必要なパッケージです。

次は、ビデオの処理に必要なパッケージを入れます。

次は、GUIで必要なgtkパッケージも入れます。

openCVのマトリクスの処理の部分を最適化するために必要なパッケージを入れます。

Python2.7とPython3を入れます。

③openCVのソースコードをダウンロードする

折角なので2018年4月1日時点で最新版を使ってみましょう!

 

他のリリースのソースコードを利用したい場合は、下記から選んでください。

https://github.com/opencv/opencv/releases

④Python2 &3

Pythonのバージョンが混乱させないためのPython界隈の標準ツールを入れましょう。

~/.profileを更新します。

下記の内容を~/.profileの最後に追加します。

変更を反映させるために

virtualenvを設定する

Python2の環境で作業したい場合

Python3の環境で作業したい場合

バーチャルPython環境に入りましょう!

下のコマンドは、rebootしたら、あるいはTerminal閉じたら、毎回必要です!)

私は、今回、Python3にしましたので、これでバーチャルのPython3の環境に入りました。

下記のように(CV)が出ていれば、バーチャル環境に入ったということになります。

 

 

これからは、このバーチャル環境で作業をしていきます。

次は、数値処理のPythonパッケージをいれます。http://www.numpy.org/

numpyは裏でコンパイルしてインストールしているので、時間が掛かります。

暖かいコーヒー一杯どうぞ!

⑤やっと、openCVのコンパイルとインストール

準備がちょっと長いですね。

これからは、いよいよ今回のトピックのopenCVのコンパイルです!

swapfile サイズを変更しておく

/etc/dphysswapfile

設定を有効にする

ただし、この設定は、openCVのコンパイルが終わってから、戻した方が良いです。

いざコンパイル!

ここで、もういっぱいコーヒーを飲みましょう!笑。

いいえ、Amazonか、iTunesか、YouTubeで映画を一本でも見ましょう!

make insallのあと、OpenCV + Pythonのセットは下記のフォルダにインストールされます。

/usr/local/lib/python3.5/sitepackage

少し調整します。このモジュールをRenameします。

バーチャルリンクを追加します。

最後顔検知のサンプルコードを実行してみましょう。

ここでも、コマンドラインが(CV)の環境にいる前提で実行してください。

下記のようなものが出れば、openCVの設定が完了です!

ここまで来て、お疲れ様です!でも楽しいのは、これからですね!色々実験しましょう!

SWAPサイズを戻してくださいね。そうしないと、SDカードの寿命が縮みます。

/etc/dphysswapfile

設定を有効にします。

 

まとめ

今回は、OpenCVのRaspberry Piへの導入や、Python関連の設定、コンパイルの方法をご紹介しました。

これを発展系として、色々実験ができそうですね。

openCVが画像処理の定番のライブラリーですので、色々実験して、得るものが多いはずです。

今回の設定で、絡んでいるものが多くて、途中でどこかで引っかかることもかるかもしれません。

そういう時、お気軽にTwitterでもDMいただければ、知っている範囲、お答え致します。どうぞよろしくお願い致します。

次は、顔認識の機能と連動して、カメラモジュールにサーボをつけて顔の追随とか

顔認識して、ディープラーニングをさせるなど

様々な実験をしていきたいと思います。

次の記事をお楽しみにしてください!

では、また!

ビデオの映像にある複数の顔検出はこちらの記事をどうぞ!

raspberry pi opencv ビデオで顔認識

raspberry pi opencv ビデオで顔認識(コンパイルなし!)

Raspberry Piで最新版のopenCV(3.4.4)をコンパイルして使いたい方はこちらの記事をどうぞ!

openCVをnode.jsでやりましょう!Tensorflowのオブジェクトの認識までやっちゃいます!

Google AIY Vision Kit Raspberry Pi Zero WH簡単人工知能体験!(Python)

RaspberryPi 3B+とIntel Movidius Compute Stickで、サンプルコードを動かす

macOS Mojave VirtualBox Ubuntu 16.04 で Intel Movidiusを動かす方法!

はてなブックマーク - RaspberryPiで顔認識OpenCVで(コンパイルの方法も!)
LINEで送る
Pocket

4 Comments

Add a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close