Windows 7でvs2010を使用してソースコード(OpenCV 2.4.0)からopencv_traincascade.exeツールを構築しています。LBP分類子をトレーニングしたいので、次の引数でopencv_traincascade.exeを使用しています。
-data D:\ OpenCV \ Classifiers \ lbpclassifier1 \ temp \ data -vec D:\ OpenCV \ Classifiers \ lbpclassifier1 \ temp \ samples.vec -bg D:\ OpenCV \ Classifiers \ lbpclassifier1 \ temp \negative \ infofile.txt -numPos 40 -numNeg 40 -precalcIdxBufSize 500 -precalcValBufSize 500 -stageType BOOST -featureType LBP -w 24 -h 24
私が受け取るエラーメッセージは次のとおりです。
PARAMETERS:
cascadeDirName: D:\OpenCV\Classifiers\lbpclassifier1\temp\data
vecFileName: D:\OpenCV\Classifiers\lbpclassifier1\temp\samples.vec
bgFileName: D:\OpenCV\Classifiers\lbpclassifier1\temp\negative\infofile.txt
numPos: 2
numNeg: 40
numStages: 20
precalcValBufSize[Mb] : 500
precalcIdxBufSize[Mb] : 500
stageType: BOOST
featureType: LBP
sampleWidth: 24
sampleHeight: 24
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
===== TRAINING 0-stage =====
<BEGIN
POS count : consumed 2 : 2
Train dataset for temp stage can not be filled. Branch training terminated.
この質問は以前に尋ねられました:opencv_trainカスケードの使用中のエラー 、そして解決策はそこで提案されました。この場合、正のサンプルと負のサンプルの数を等しくしても役に立ちません。
エラーはこのバグに関連している可能性があると思いました:http://code.opencv.org/issues/1834 そこで、そのページからimagestorage.cppの最新リリースをダウンロードし、opencv_traincascadesツールを再構築しました。また、.vecファイルのサンプルの総数は45です。このコメントで示唆されているように、.vecファイルのサンプルが不足しないように、numPos引数を2に変更しました。.vecファイルのサンプル数は45です。
どんな助けでも大歓迎です。ありがとう。