Cascade trained from trainingcascade unaccurate

asked 2015-01-27 02:32:57 -0500

jackmagic1 gravatar image

updated 2015-01-27 02:33:31 -0500

Hi I trained a classifier using 1000 positive female faces from the FERET database and 2500 negative images including male FERET faces and some background images not containing any faces, with the intention of classifying gender. The training was complete after 18 hours/7 training stages and the output classifier gives the results as below.

Could anyone explain why and what was wrong with my method?

Here are my parameters:

opencv_traincascade -data  classifier\  -vec female.vec -bg negative.txt -numStages 12 -minHitRate 0.995 -maxFalseAlarmRate 0.5 -numPos 1000 -numNeg 2500 -w 30 -h 37 -precalcValBufSize 2048 -precalcIdxBufSize 2048  -featureType HAAR

Detect Female Face

edit retag flag offensive close merge delete


Can you please add your detection command and parameters given there? First guesses:

  1. Splitting between male and female will need tons of examples. The difference in object shape is rather limited.
  2. Actually gender classification is more a recognition then a detection problem. Take a look at this nice tutorial on gender classification using eigen/fisherfaces!
  3. Probably your 'certainty' threshold of overlapping windows is set quite low!

BUT since you detect everything except the actual face region, I am guessing there is just not enough training data to diverse between classes.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-01-27 07:07:58 -0500 )edit