それでは次に顔認識を実現します。第1回で紹介した画像処理ライブラリOpenCVを利用して、Pierre Raufast氏が作った顔認識可能な動画再生コマンド「camcv」と、顔認識用データを作成するコマンド「prepare」を作ります。camcvと prepareは、先ほどのraspistillコマンドなどを少し修正して、OpenCVとリンクして作られています。
顔認識を実現しよう
必要なパッケージとソースを用意
まず必要なソフト(パッケージ)を導入します。この後入手するソースコードをコンパイルするためのツール「cmake」とOpenCVライブラリの「libopencv-dev」です。なお、この後は X Windowから操作をします。 Raspberry PiにHDMIディスプレイを直接つないでいる場合は問題ありませんが、筆者のようにリモートから使っているならVNCサーバーを導入しましょう。以下ではVNCサーバーのパッケージ「tightvncserver」も導入しています。
$ sudo apt-get install cmake libopenvc-dev tightvncserver
次に、顔認識に必要なソースファイルを入手します。ソースファイルの入手場所は表2の通りです。ブラウザーからダウンロードしてもよいですし、wgetコマンドを使ってもいいでしょう。
ソースファイルURL | 説明 |
---|---|
https://github.com/raspberrypi/userland/ archive/master.zip |
Raspberry Piのツール群ソースファイル |
http://raufast.org/download/camcv_vid1.cpp | Pierre Raufast氏の顔認識用ソースファイル |
https://raw.github.com/Itseez/opencv/master/ data/lbpcascades/lbpcascade_frontalface.xml |
顔認識パッケージが利用する構成ファイル |
http://raufast.org/download/preparePhoto.cpp | Pierre Raufast氏の顔認識用写真加工ツール |
https://github.com/bytefish/libfacerec/zipball/v0.04 | 顔認証ライブラリ |
入手したソースファイルは/home/pi(Raspbianのデフォルトユーザー)にひとまず置きます。 wgetで入手した場合は特にディレクトリーを移動していなければ/home/piにダウンロードされているはずです。