My goal is to train a cascade to recognize a certain face of the dice.
I have 106 non-generated samples converted into a vec file (named
) by opencv_createsamples, with the params
-w 32 -h32
. Additionally, I have a text file
with around 420 lines referring to other dice faces (32x32 .png files) and around 600 lines referring to other arbitrary, 640x480 sized bg files.
I attempted to run
with the following params on a Windows computer with at 16GB of ram:
tools\opencv_traincascade.exe -data positives/testclassifier -vec positives/1/dice.vec -bg positives/negTxt1.txt -numStages 20 -numPos 100 -numNeg 1000 -precalcValBufSize 2048 -precalcIdxBufSize 2048 -acceptanceRatioBreakValue .0001 -w 32 -h 32 -mode ALL
However, while consuming negative samples, the program will crash while attempting to consume negative samples, and the last line before crashing is
NEG current samples: 427
. Then the error window, "opencv_traincascade has stopped working..." appears, with no error message.
I've looked at suggestions from SO and here (i.e. here
) but the suggested fix did not seem to be helpful. Attempting to reduce -numPos to 80 does not prevent the crash, and the buffer size parameters are sufficiently large. Attempting to reduce -numNeg to < 427 works for the first stage, but crashes in the next stage, at the same point in training (when it says
NEG current samples: ...
) at another number.
What steps can I do prevent this crash, and successfully create a classifier?