Evaluating Precision for multi-class object detection

1 回表示 (過去 30 日間)
Shradha Srinivasan
Shradha Srinivasan 2019 年 5 月 23 日
回答済み: Karun Mathiazhagan 2019 年 5 月 30 日
I am using “ [averagePrecision,recall,precision]= evaluateDetectionPrecision(detectionResults,groundTruthData) “ to run a fasterRCNN detector on training set images in order to evaluate precision for multi-class (9 class) object detection. The documentation available on the website is for single class object detection and it suggests that I present detectionResults and groundTruthData as tables. For the example available on the website, each image in the table contains atleast one Groundtruth bounding box for "vehicle" class that can be used in calculating precision and recall. But in my case, some images in groundTruthData table contain no GroundTruth bounding boxes for some classes or more than one GT Bbox for some other classes.
Given this variation, is it still advisable to use this function to calculate precision and recall.
Any information you have on this will be super helpful.

回答 (1 件)

Karun Mathiazhagan
Karun Mathiazhagan 2019 年 5 月 30 日
Hello Shradha,
I was unsure about which example you were referring to. But, in case you have not looked into it already, the documentation page for "evaluateDetectionPrecision" (which contains another single-class example as well) speaks about the constraints on the parameter "groundTruthData" and how the workflow changes for multi-class object detection:
If it is the individual object detection precisions that we are interested in, it would be possible to always provide junk values to the ground truth bounding boxes which are unavailable and ignore the precision values given by the function. The output argument "precision" should capture all individual precisions (including the junk ones).
Additionally, when there are multiple bounding boxes for the same class, i.e., multiple objects are being detected for the same class, it is possible to add multiple rows to the bounding boxes for the different objects within the same image. We would just need to make sure that the bounding box provided is Mx4 in size adding as many rows as applicable.
I hope this helps.
Best,
Karun

Community Treasure Hunt

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

Start Hunting!

Translated by