How to get confidence values for detections from vision.Cas​cadeObject​Detector System object?

1 view (last 30 days)
First, I run trainCascadeObjectDetector on a custom set of image data and save the result to an xml file.
Then, I create the vision.CascadeObjectDetector system object:
detector = vision.CascadeObjectDetector(xmlfile);
Finally, I want to run the detector on a test image:
bbox = step(detector,img);
Is there a way to compute confidence values for the detections returned here? For vision.PeopleDetector objects, you can run
[bbox,scores] = step(detector,img);
but you cannot do this for vision.CascadeObjectDetector objects. Is there an easy workaround?

Accepted Answer

Dima Lisin
Dima Lisin on 8 Sep 2014
Hi Matt,
Unfortunately vision.CascadeObjectDetector does not return a confidence score, and there is no workaround. The reason vision.PeopleDetector does return a score, is because it is using a SVM classifier, which provides a score. vision.CascadeObjectDetector, on the other hand, uses a cascade of boosted decision trees, which does not lend itself well to computing a confidence score.
  1 Comment
Matthew Eicholtz
Matthew Eicholtz on 8 Sep 2014
Ah yes, this makes total sense. I had just transitioned from using SVM classifiers, so I suppose it slipped my mind that I was now using DTs instead. Thanks for the clarification.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!