I am trying to learn the cascade classifier to learn license plates. I'm running OpenCV 2.4.9 on a Windows 7 server with 16 GB RAM and i7 processor of 3,4 GHz. I want to train the classifier, but it never continuous stage 3.
This is how I made my .vec file on the xxxx there is personal information:
D:\xxxx\trainingBinairImages\build\x64\vc12\bin\opencv_createsamples.exe -info D:\xxxx\trainingBinairImages\positiveNew.dat -bg D:\xxxx\trainingBinairImages\NegativeNew.bg -vec D:\xxxx\trainingBinairImages\output_vec.vec -maxxangle 0 -maxyangle 0 -maxzangle 0 -w 140 -h 40 -num 3311
pause
Parameters:
D:\xxxx\trainingBinairImages\build\x64\vc12\bin\opencv_traincascade.exe -data D:\xxxx\trainingBinairImages\result -vec output_vec.vec -bg negativeNew.bg -numPos 2980 -numNeg 3311 -miniHitRate 0.995 -maxFalseAlarmRate 0.5 -w 140 -h 40 -featureType HAAR -precalcValBufSize 2048 -precalcIdxBufSize 2048
pause
From cmd:
===== TRAINING 3-stage =====
<BEGIN
POS count : consumed 2980 : 2981
Train dataset for temp stage can not be filled. Branch training terminated.
If needed to get a look in the files I will edit the extra's. I tried to change the positive and negative values the numStages. Change the directory paths etc. Online there are question about this, that I tried without a solved solutions.
The answer is solved on another form the_link
Hmm that is your problem. You need to supply larger images as negative instead of cropped windows. Imagine that you will need a lot of windows! Each negative window that is classified correctly by the previous stages cannot be used again for the new stage. So most people just supply tons of not object images, the software will do its own job of cutting out the negatives randomly for you.