II have been trying to use OpenCV to create my own Haar Cascade Classifier to detect cows from images.
- Number of positive images:83 , size 430x 280 px, .bmp format
- Number of negative images:200, size 640x480px
My images aren't of that good a quality:
used this to create the samples:
createsamples.exe -info positive/info.txt -vec vector/vector.vec -num 100000 -w 24 -h 24
used this to train:
haartraining.exe -data cascades -vec vector/vector.vec -bg negative/bg.txt -npos 83 -nneg 200 -nstages 18 -mem 2000 -mode ALL -w 24 -h 24
rem -nonsym
And this is a snippet of the training. I realized only one feature is being used (correct me if I am wrong)
Parent node: 6 Chosen number of splits: 0
Total number of splits: 0
Tree Classifier Stage +---+---+---+---+---+---+---+---+ | 0| 1| 2| 3| 4| 5| 6| 7| +---+---+---+---+---+---+---+---+
0---1---2---3---4---5---6---7
Parent node: 7
* 1 cluster * POS: 7 7 1.000000 NEG: 16 1.80409e-005 BACKGROUND PROCESSING TIME: 16.41 Precalculation time: 0.41 +----+----+-+---------+---------+---------+---------+ | N |%SMP|F| ST.THR | HR |
FA | EXP. ERR| +----+----+-+---------+---------+---------+---------+ | 1|100%|-| 0.882353| 1.000000| 0.062500| 0.043478| +----+----+-+---------+---------+---------+---------+ Stage training time: 0.12 Number of used features: 1Parent node: 7 Chosen number of splits: 0
Total number of splits: 0
Tree Classifier Stage +---+---+---+---+---+---+---+---+---+ | 0| 1| 2| 3| 4| 5| 6| 7| 8| +---+---+---+---+---+---+---+---+---+
0---1---2---3---4---5---6---7---8
It ran upto 8 stages in less than 3mins !
I used this to convert to an xml file:
haarconv.exe cascades myhaar.xml 24 24
My python code uses this xml and can not detect a cow from the positive data set itself. Where am I going here?