それでは次に顔認識を実現します。第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コマンドを使ってもいいでしょう。

表2●入手するソースファイル
ソースファイル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にダウンロードされているはずです。