AP和mAP是目标检测和信息检索中常用的evaluation metric
计算AP需要先计算precision和recall,得到每一类的AP后,对所有类的AP做平均,就得到mAP。
注1:计算AP时需要先计算precision和recall,而计算precision和recall需要先计算IoU,并且设置threshold才能得出precision和recall。PASCAL VOC和COCO对threshold的设置采取了不同的方式,VOC采用了固定threshold的方式,即0.5;而COCO采用了多个threshold,即0,0.1,0.2......1。具体参考reference的第一个链接。
注2:
mAP的具体计算(来自知乎:https://www.zhihu.com/question/53405779/answer/419532990)
要计算mAP必须先绘出各类别PR曲线,计算出AP。而如何采样PR曲线,VOC采用过两种不同方法。参见:The PASCAL Visual Object Classes Challenge 2012 (VOC2012) Development Kit
在VOC2010以前,只需要选取当Recall >= 0, 0.1, 0.2, ..., 1共11个点时的Precision最大值,然后AP就是这11个Precision的平均值。
在VOC2010及以后,需要针对每一个不同的Recall值(包括0和1),选取其大于等于这些Recall值时的Precision最大值,然后计算PR曲线下面积作为AP值。
,衡量了算法找到正例的能力(找到的正例里面真实正例的比例)
precision等价于
,衡量了算法覆盖正例的能力(找到的正例占所有真实正例的比例)
recall等价于sensitivity
ROC curve的x轴是FPR,y轴是TPR
precision-recall curve的x轴是recall,y轴是precision
Reference