0. 写作目的
好记性不如烂笔头。
1. 计算AP(Average Precision)的理论知识
对于每一类目标检测给出的置信度(Confidence),首先按照Confidence降序排列,然后将交并比(IOU)>0.5的当做正确预测的结果,否则为错误预测的结果。然后依据预测结果的正确与否计算TP(True Positive), FP(False Positive), FN(False Negative),TN(True Negative),依据TP, FP, FN, TN来计算召回率(Recall, 查全率)和精确度(Precision, 查准率)。
我们平时所说的Accuracy的计算公式为:
然后依据Confidence排序后的顺序依次计算出Precision和Recall,理论上AP的计算为,由Precision和Recall构成的折线图的面积,但在实际计算时,主要有三种计算方法。
三种AP的计算方法:
1) VOC2007的11Point方法(MAXIntegral方法)
2) VOC2012 Integral方法(Natural Integral方法)
3)coco的计算方法
这三种计算AP的方法只是在积分上有不同,计算方法是类似的。11Point方法是在MaxIntegral方法中找到11个最大的Precision,然后结合Recall = [0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],绘制出P-R曲线,并通过如下公式计算出AP:
对于MaxIntegral的方法是:计算所有的MaxPrecision的值,然后进行相加求平均值。
对于Integral的方法是:直接对曲线下的值进行积分(当然实际计算是也是采用相加来积分的,不仅仅是11点,针对每一个precision下降的点都加入计算,计算方法与11点的类似,只是分母不再是11了)。