How to interpret the matching results?

My browser is currently running my program. I use 1,700 positive samples and about 1,300 negative samples. I ran the following command line:

opencv_traincascade -data data -vec cars.vec -bg bg.txt -numStages 10 -nsplits 2 -minhitrate 0.999 -maxfalsealarm 0.5 -numPos 1600 -numNeg 1371 -w 48 -h 24

      

At the moment, the report looks like this:

===== TRAINING 0-stage =====
<BEGIN
POS count : consumed   1600 : 1600
NEG count : acceptanceRatio    1371 : 1
Precalculation time: 16
+----+---------+---------+
|  N |    HR   |    FA   |
+----+---------+---------+
|   1|        1|        1|
+----+---------+---------+
|   2|        1|        1|
+----+---------+---------+
|   3|        1|        1|
+----+---------+---------+
|   4|  0.99875| 0.587163|
+----+---------+---------+
|   5|  0.99875| 0.587163|
+----+---------+---------+
|   6| 0.995625| 0.305616|
+----+---------+---------+
END>
Training until now has taken 0 days 0 hours 21 minutes 19 seconds.

===== TRAINING 1-stage =====
<BEGIN
POS count : consumed   1600 : 1607
NEG count : acceptanceRatio    1371 : 0.338853
Precalculation time: 18
+----+---------+---------+
|  N |    HR   |    FA   |
+----+---------+---------+
|   1|        1|        1|
+----+---------+---------+
|   2|        1|        1|
+----+---------+---------+
|   3|        1|        1|
+----+---------+---------+
|   4|        1|        1|
+----+---------+---------+
|   5| 0.998125| 0.786287|
+----+---------+---------+
|   6|   0.9975| 0.673961|
+----+---------+---------+
|   7| 0.995625| 0.560175|
+----+---------+---------+
|   8|   0.9975| 0.531729|
+----+---------+---------+
|   9| 0.995625| 0.406273|
+----+---------+---------+
END>
Training until now has taken 0 days 0 hours -19 minutes -57 seconds.

===== TRAINING 2-stage =====
<BEGIN
POS count : consumed   1600 : 1614
NEG count : acceptanceRatio    1371 : 0.136649
Precalculation time: 17
+----+---------+---------+
|  N |    HR   |    FA   |
+----+---------+---------+
|   1|        1|        1|
+----+---------+---------+
|   2|        1|        1|
+----+---------+---------+
|   3|        1|        1|
+----+---------+---------+
|   4| 0.998125| 0.856309|
+----+---------+---------+
|   5| 0.999375| 0.875274|
+----+---------+---------+
|   6| 0.996875| 0.633115|
+----+---------+---------+
|   7| 0.995625| 0.546317|
+----+---------+---------+
|   8| 0.995625| 0.501094|
+----+---------+---------+
|   9|  0.99625| 0.524435|
+----+---------+---------+
|  10| 0.995625| 0.404814|
+----+---------+---------+
END>
Training until now has taken 0 days 0 hours 14 minutes 52 seconds.

      

So, getting to the end of the second training step, I still see 0.4 False Alert. Following some tutorial, I choose a 10 stage cascade. I read somewhere that a good classifier should be around 10 ^ -5 FA, so I think with 0.404 at the end of stage 2 it will be difficult to reach 10 ^ -5 FA at the end of stage 10. I'm right? Shoud Am I already stopping and improving my negative and positive patterns?

[Edit] I think I'm confused between the FA rate for each stage and the overall acceptance rate ...

Another question comes to my mind: what is the effect of the number of stages? Performance versus speed?

+3


source to share





All Articles