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

computer visionComputer Vision Toolboxobject detection

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?

Best Answer

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.
Related Question