designed by www.qrone.org
January
2009
Su Mo Tu We Th Fr Sa
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
INFOMATION
- 自己紹介
- マイミク申請はお気軽に:-)
- いまいち使い方がわかりません
- 気になるURLをクリップ
- Awstats を使っています
RECENT ENTRIES
CATEGORIES
MONTHLY ARCHIVES
HATENA BOOKMARK
BLOG PET
LICENCE
CONTACT
shin at windy dot ac
2006年1月16日
[memo]OpenCVの顔認識機能を使う このエントリーを含むはてなブックマーク

 オープンソースな画像解析ライブラリであるところのOpenCVには、顔認識の機能がある。これの使い方を簡潔にメモしておく。

 ダウンロードはここから。複数のバージョンが提供されているが、ここではbeta5というのを選ぶ。また、Windows版とLinux版が提供されているが、ここから先は、Windows版を用いた場合のやり方を書いていく。

 OpenCV_b5a.exeのダウンロードが完了したら、実行してマシンにインストールする。インストールでは、特に迷う箇所はないだろう。以後の説明は、デフォルトのパス(C:\Program Files\OpenCV)にインストールしたものとして書いていく。

 インストールが終わったら、"C:\Program Files\OpenCV\bin"にパス(環境変数のPATH)が通っているかを確認する。通っていなければ通しておく。

 OpenCVには、インストールが成功したかを確認するチェックプログラムが添付されている。 C:\Program Files\OpenCV\bin\cvtest.exe を実行して、プログラムの実行が滞りなく完了することを確かめること。途中でエラーメッセージが出たら何とかすること。何とかならなければ諦めるか、Windows版は投げ捨ててLinux版を使おう。

 実際にプログラムを書く前に、顔認識機能を使うサンプルプログラムが添付されているので、まずはこれを使ってみると良い。 C:\Program Files\OpenCV\samples\c\facedetect.exe がそれである。プログラムの引数として、顔の定義ファイルと認識対象の画像を渡す必要がある。取り敢えずは以下のように実行してみよう。

C:\Program Files\OpenCV\samples\c>facedetect --cascade="..\..\data\haarcascades\haarcascade_frontalface_alt_tree.xml" lena.jpg

 下のようなウィンドウがポップアップするはず。しなかったら何とかすること。何とかならなければ諦めるか、Windows版は投げ捨ててLinux版を使おう。

cv.PNG

 赤く囲まれた矩形が、認識された顔の領域である。かの有名なLena嬢のお顔が正しく認識されていることがわかる。上のコマンドの lena.jpg の部分を変更すれば、任意の画像で試すことができる。手元の画像で適当にやってみた感触では、まあ悪くないと思う。顔認識は盛んに研究されている分野であり、最新の研究成果と比較したときに、どれくらいの精度であるのかはわからないけど。

 

 続いて、OpenCVの顔認識機能を、自分で書いたプログラムから呼び出して使ってみる。ここでは開発環境にVisual Studio .NET 2003を用いるが、C/C++をコンパイルできる環境であれば何でも構わない。

 プログラムを書く前に、開発環境にパスを通す。「インクルードファイル」として
 ・C:\Program Files\OpenCV\cv\include
 ・C:\Program Files\OpenCV\cxcore\include
 ・C:\Program Files\OpenCV\cvaux\include
 ・C:\Program Files\OpenCV\otherlibs\highgui
を、「ライブラリファイル」として
 ・C:\Program Files\OpenCV\lib
を通すこと。

 まず、1からプログラムを書くのではなく、サンプルプログラムをビルドしてみる。 facedetect.exe のソースコードが C:\Program Files\OpenCV\samples\c\facedetect.c として添付されているので、これを使う。ビルド時には、C:\Program Files\OpenCV\libにあるlibファイルを適当に(エラーが出なくなるまで)リンクするように。ビルドされたexeファイルを実行し、facedetect.exeと同じ動作をするか確かめよう。また、facedetect.cに一通り目を通し、「ふーん、こんな風にやれば良いのか」くらいの感覚を掴んでおくと良い。

 ここまでで、OpenCVの顔認識機能を自分のプログラムから使う準備が整った。

 続く。

トラックバック URL :
http://windy.ac/mt/mt-tb.cgi/1222
名前 :

URL :

コメント :

今日の井原. Since 2003.11.12 by Ihara
614 Entries - 0 Comments