Ask Your Question
0

Accuracy of detectMultiScale + what are face databases of haarcascade_frontalface_alt.xml

asked 2013-01-06 04:58:36 -0600

HI all,

1) I would like to know the accuracy of detectMultiScale fucntion in Haar classifier of OpenCV

I understand that the detectMultiScale is using traing dataset of haarcascade_frontalface_alt.xml (in installed folder of Opencv), however, I cannot find any information about the accuracy of this fuction. Say: the detection rate. 2) I cannot find the names of training sets which are used to make haarcascade_frontalface_alt.xml as well.

In general, I want to have some numbers (98%, 95%...) about accuracy of detectMultiScale .

many thanks.

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted
0

answered 2013-04-12 03:48:45 -0600

Hi! Did you solve this problem ? I'm probably looking for the same, I want to have a probability/accuracy of detected object , what means how probable it is that the marked object is the object I'm looking for. For example detecting faces : I want to know how sure the classifier is if it is face.

edit flag offensive delete link more
0

answered 2013-04-12 03:58:57 -0600

First of all, you cannot specify an accuracy on a classifier alone. Accuracy is always specified in function of the training, validation and test set. From those sets you need to calculate the false positives, true positives, false negatives and true negatives and create a precision recall curve on your data.

See this links:

  1. http://en.wikipedia.org/wiki/Precision_and_recall
  2. http://www.cs.cornell.edu/courses/cs578/2003fa/performance_measures.pdf

So basically it all depends on the data that you feed to it. For example, detecting faces will be much easier and thus having a better precision/recall position if it is in a controlled environment behind a laptop and needs to detect a single face. Take that same detector outside, detecting faces in the wild and the precision/recall will change drastically.

I guess you should read about machine learning and performance measurements. Google on these items for more information.

As for retrieve a kind of score for each detection, using a cascade classifier, what you could do is look at the amount of overlapping detections. The more overlapping detections, the better the end result will be. Try your detectMultiScale with 0 for the minNeighbors parameter and you will immediatly see what i mean here.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2013-01-06 04:58:36 -0600

Seen: 1,835 times

Last updated: Apr 12 '13