malichaarsampling チュートリアル
(eye.xml を生成するまで)
#以下のディレクトリを作業ディレクトリ以下に作って下さい
$ ls -F
det-img/ img/ eye_bgimage/
#start
# 顔部品(目や鼻等)を クリックでサンプリングしてください。
$ malicsampling
(顔部品のデータをセットしてfaceparts.xmlという名前で保存します)
# 顔部品をトラッキングにより採取します (100~1000 サンプルぐらい)
$ malichaarsampling -j faceparts.xml -f faceparts.xml
(トラッキングによって採取した顔部品データを ./img 以下に保存します。また位置データファイルも vertlabel.xml として同じディレクトリに保存されます)
# 目の正画像データのinfoファイル eyeinfo.dat を生成します
$ xmltocvhaardata.py -f ./img/vertdata.xml -i ./img \
-p "left_eye_l_edge left_eye_r_edge right_eye_l_edge right_eye_r_edge" \
-w 25 -h 25 > eyeinfo.dat
# 目の不正画像を ./eye_bgimg 以下に。また、infoファイル eye_bg_info.dat をカレントディレクトリに生成します。
$ xmltocvhaardata.py -f ./img/vertdata.xml -i ./img \
-p "left_eye_l_edge left_eye_r_edge right_eye_l_edge right_eye_r_edge" \
-b -r -d ./eye_bgimg -w 50 -h 50 -n 3 > eye_bg_info.dat
# opencv-createsamples によって ベクターファイル (eyevec) を生成します
$ opencv-createsamples -info eyeinfo.dat -vec eyevec -num num_of_positives -bg e
ye_bg_info.dat -show
# opencv-haartraining によって学習データを生成します。
$ opencv-haartraining -vec eyevec -bg eye_bg_info.dat -npos num_of_positives -nneg n
um_of_negatives -data eye_class
#...(データができるまでデータサイズによって数時間もしくは数日待ちます)
# opencv-performance によってパフォーマンスチェックを行います (認識位置をチェックされたイメージが ./det-img 以下に生成されます)
$ opencv-performance -data eye_class -info lefteye_info.dat
# xml ファイルを生成します (haarconv は yahoo の opencv コミュニティからとってきてください)
$ haarconv eye_class eye.xml 25 25
# malicpartsdetect を使ってUSBカメラでインタラクティブにテストします
(haarcascade_frontalface_alt.xml は opencv の中や malic の
/usr/local/malic/share/malic/data/ 以下にあります)
$ malicpartsdetect -f haarcascade_frontalface_alt.xml -p eye.xml