First, Thanks for you work, and it's really generous for you to open this code.
I have a question for AP.
GetPascalVOCMetrics in helper/Evaluator.py
# compute precision, recall and average precision
acc_FP = np.cumsum(FP) # len(FP) is length of valid bbox count
acc_TP = np.cumsum(TP)
rec = acc_TP / npos
prec = np.divide(acc_TP, (acc_FP + acc_TP))
# Depending on the method, call the right implementation
if method == MethodAveragePrecision.EveryPointInterpolation:
[ap, mpre, mrec, ii] = Evaluator.CalculateAveragePrecision(rec, prec)
else:
[ap, mpre, mrec, _] = Evaluator.ElevenPointInterpolatedAP(rec, prec)
this recall, precision value is only nms_score_thresh=0.3, iou_thresh=0.4, in VOC2007_mAP definition, nms_thresh should change between [0.05, 0.95, 0.1]. so PR curve is under different nms_thresh value. Related mAP work can be found in daveluo‘s notebook modified from Suggar’
so, I think this AP value should be AP@0.3, how do you think that?
Best Wishes!
First, Thanks for you work, and it's really generous for you to open this code.
I have a question for AP.
GetPascalVOCMetricsin helper/Evaluator.pythis recall, precision value is only nms_score_thresh=0.3, iou_thresh=0.4, in VOC2007_mAP definition, nms_thresh should change between [0.05, 0.95, 0.1]. so PR curve is under different nms_thresh value. Related mAP work can be found in daveluo‘s notebook modified from Suggar’
so, I think this AP value should be AP@0.3, how do you think that?
Best Wishes!