私は、traincascadeユーティリティを使用してOpenCVのLBP機能を使用してヘッド検出器を作成しようとしています。ヘッド検出器は、Vladim Pivarevskyによって作成されたOpenCVのプロファイルフェイスと同様のものになります。現在のモデルは正面と左側面だけを扱うので、モデルを再作成したい。LBPトレーニングのOpenCV traincascade
私はNaotoshi Seo tutorialに従い、Irshad Ali websiteからデータセットを使用します。残念なことに、結果として得られるモデルは、多くの誤検出でゆっくりと実行されます。
traincascadeは次のように実行されます。
opencv_traincascade -data "data" -vec "samples.vec" -bg "out_negatives.dat" -numPos 26000 -numNeg 4100 -numStages 16 -featureType LBP -w 20 -h 20 -bt GAB -minHitRate 0.995 -maxFalseAlarmRate 0.3 -weightTrimRate 0.95 -maxDepth 1 -maxWeakCount 100 -maxCatCount 256 -featSize 1
私はhttp://fei.edu.br/~cet/facedatabase.htmlから正面顔今、他のデータセットを使用してみましたが、結果は同じです:偽陽性の遅い検出およびたくさん。
誰かがカスケードhaar/lbpモデルを作成する上での知識や経験がありますか?私はモデルの精度を向上させるために何か提案してください。私はOpenCV組み込みモデルを使ってみましたが、結果は良いです(lbpfrontalface.xml)。どうもありがとうございます!
私はあなたの提案、12000陽性と5000陰性を試しました。 2000年から作成されたポジティブは、サンプルを作成して12000にしています。しかし、依然として、あまりにも多くの誤検出。あなたは私の仕事のtraincascadeパラメータの例を教えてもらえますか?私のパラメータは次の通りです:opencv_traincascade -data "data" -vec "samples.vec" -bg "out_negatives.dat" -numPos 10000 -numNeg 5600 -numStages 16 -featureType LBP -w 20 -h 20 -minHitRate 0.995 -maxFalseAlarmRate 0.5 -weightTrimRate 0.95 -maxDepth 1 -maxWeakCount 100 -maxCatCount 256 -featSize 1 – bonchenko
あなたが誤った「顔」と真実を持っているなら、numStagesを増やすことをお勧めします。あなたの肯定的なところで何か間違っています。私のパラメータは "-data h_data -vec vecs/vec -bg bg/negative.txt -numPos 5000 -numNeg 2500 -numStages 14 -featureType HAAR -minHitRate 0.999 -maxFalseAlarmRate 0.3 -w 14 -h 24"ですが、私はボトルのカスケードを練習します(私はlbpも訓練しましたが、haarは良くなりました)。また、[this](http://answers.opencv.org/question/7141/about-traincascade-paremeters-samples-and-other/?answer=10049#post-id-10049)もお読みください。それは私が見た最も良い答えです。 – McBodik
ありがとう!偽陽性が---> 0に減少しました。私は0maxFalseAlarmRateを0.1に変更し、makWeakCount 300を変更しました。しかし、1つの問題は依然として速度です。今度はサンプルサイズを増やす@GPPK答えを試してみましょう。私は陽性ベクトルのためにSonotsから.MergeVectorを使用するので、私は20x20の他のサイズを使用することができないようです。陽性ベクターを作るのにあなたは何を使用しますか? – bonchenko