designed by www.qrone.org
March
2006
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
- サムネイル画像付きのblog検索エンジンです
ベータ版を絶賛公開中!
- 学園もののえろげです 18禁
- mixiのユーザ同士で、共通するコミュニティを表示するツールです
RECENT ENTRIES
3/21
技術書あげます
3/20
えろい画像だけモザイク
3/14
[読書]けなす技術
2/13
CatchPhraser(きゃっちふれいざー): スニペットとしてキャッチコピーを表示するblog検索エンジン
2/ 6
AdWords appears everywhere!
2/ 6
Cマガジン休刊
1/26
「オープンソースの全文検索エンジンの速度性能比較」のご紹介
1/25
日経コンピュータ誌の特集「IT関連学会の憂鬱」を読んだ
1/23
googleの新卒採用説明会に申し込んでみたよ
1/16
[memo]OpenCVの顔認識機能を使う
1/ 6
自分自身をブックマーク
1/ 6
Newzingo: tagをベースにGoogle Newsを閲覧するインタフェース
12/15
Google Tip: "(ダブルクォーテーション)は閉じなくてもOK
12/ 4
リンク見出し是非裁判の件
12/ 4
脅かされる本人認証
CATEGORIES
MONTHLY ARCHIVES
COUNTER
ABOUT
- 自己紹介
- 気になるURLをクリップ
- Awstats を使っています
LICENCE
CONTACT

登録はお気軽に:-)

mail:
shin at windy dot ac
MSN Messenger:
ryoju at hotmail dot com
1 16, 2006
[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/1103
名前 :

URL :

コメント :

今日の井原. Since 2003.11.12 by Ihara
568 Entries - 1063 Comments