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 `dice1.vec`) by opencv_createsamples, with the params `-w 32 -h32`. Additionally, I have a text file `negTxt1.txt` 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 `opencv_traincacade.exe` 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 (for the lack of a better word) 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.
I've looked at suggestions from SO and here (i.e. [here](http://stackoverflow.com/questions/21454215/opencv-traincascade-crash-without-explanation), [here](http://answers.opencv.org/question/36250/why-does-opencv_traincacadeexe-crash/)) 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?
I apologise for any missing information I may have left out.
↧