mAP相关问题、文章有很多,但都是讲的很模糊,甚至还有错误,真是看不下去(ノ`Д)ノ
这边我推荐StackExchange上的一个问题及其答案:
Ps: 这个答案我两天前编辑过,结合例子讲解了VOC10以前和以后两种mAP计算方法How to calculate mAP for detection task for the PASCAL VOC Challenge?datascience.stackexchange.com
为了方便浏览,在这也提供答案的中文概要:
mAP定义及相关概念mAP: mean Average Precision, 即各类别AP的平均值
AP: PR曲线下面积,后文会详细讲解
PR曲线: Precision-Recall曲线
Precision: TP / (TP + FP)
Recall: TP / (TP + FN)
TP: IoU>0.5的检测框数量(同一Ground Truth只计算一次)
FP: IoU<=0.5的检测框,或者是检测到同一个GT的多余检测框的数量
FN: 没有检测到的GT的数量
mAP的具体计算
在VOC2010以前,只需要选取当Recall >= 0, 0.1, 0.2, ..., 1共11个点时的Precision最大值,然后AP就是这11个Precision的平均值。
在VOC2010及以后,需要针对每一个不同的Recall值(包括0和1),选取其大于等于这些Recall值时的Precision最大值,然后计算PR曲线下面积作为AP值。
mAP计算