Hello,
I want to use a haar cascade classifier to detect objects in a image.
I have 18 positive images and 24 negative images. Their size is 50 x 30. With them, I used this command to generate 1500 samples:
> perl bin/createsamples.pl> positives.txt negatives.txt samples> 1500 "opencv_createsamples -bgcolor 0> -bgthresh 0 -maxxangle 1.1 -maxyangle 1.1 maxzangle 0.5 -maxidev 40 -w 50 -h 30"
After merging, I started the haar cascade training with this command:
> opencv_traincascade -data classifier> -vec samples.vec -bg negatives.txt -numStages 20 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -numPos 1000 -numNeg 600 -w 50 -h 30 -mode ALL -precalcValBufSize 2048 -precalcIdxBufSize 2048
But it's converging too soon and it hangs in the third state:
PARAMETERS:
cascadeDirName: classifier
vecFileName: samples.vec
bgFileName: negatives.txt
numPos: 1000
numNeg: 600
numStages: 20
precalcValBufSize[Mb] : 2048
precalcIdxBufSize[Mb] : 2048
stageType: BOOST
featureType: HAAR
sampleWidth: 50
sampleHeight: 30
boostType: GAB
minHitRate: 0.999
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: ALL
===== TRAINING 0-stage =====
Training until now has taken 0 days 0 hours 7 minutes 8 seconds.
===== TRAINING 1-stage =====
Training until now has taken 0 days 0 hours 13 minutes 37 seconds.
I used this link as a reference: http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html.
Does anybody know which parameter can I change to improve the training? Do I need to use more positive or negative images?
Any tip will be very helpful,
Thanks.
↧