OpenCVって知ってるかい?

googleで顔画像の検索が出来ますよね。
http://blogs.itmedia.co.jp/closebox/2007/05/google_ed4e.html
初めて知った時は驚きました。googleがどうやってるのかは知りませんが、画像認識の実装でOpenCVというオープンソースがありまして、自分の環境で顔画像の認識を実験してみました。
http://opencv.jp/
↑からダウンロードします。日本語のリファレンスも充実していて素晴らしいです。インストールも簡単で、Windows、Mac、Linuxで動作します。

顔画像の認識

Python用のサンプルコードがあるので、これを試してみます。
http://opencv.jp/sample/object_detection.html
顔画像を学習させた分類器を使って、画像のなかから顔画像を検出するようです。分類器はXMLで、特定のパターンを何千件も学習させて作るようです。
とりあえずFlickrからCCで改変可能な画像を見つけ出して試してみました。ご覧あれ。

http://www.flickr.com/photos/hamed/168305420/

http://www.flickr.com/photos/oudeschool/2508376033/

予想以上の認識率でした。顔認証や、デジカメで自動で顔にピント合わせる機能など、実用化されてますからね。
認識する物体は顔じゃなくても良くて、動画からの認識や動きのパターン解析も出来るそうです。iPhoneAndroid携帯のカメラで、何か面白いもの作れないかしら。