mAP(Mean Average Precison)理解

在目标检测算法(如Faster RCNN, YOLO ,SSD)中mAP常做为一种基准来衡量算法的精确度好坏。

mAP的本质其实是多类检测中各类别最大召回率(recall)的一个平均值

计算mAP之前我们先要了解Precision和Recall也就是精确率和召回率。

精确率主要衡量模型做出预测的精准度,也就是TP在TP与FP和中的占比率

召回率主要用来衡量模型对positives的检测程度,也就是TP在TP与FN中的占比率

下面我们通过一个例子来讲一下AP (average precision)

比如在一副图片中我们有5个目标,首先我们根据预测的confidence对预测进行排序,假设在前四的预测中我们有三个正确(IoU > 0.5)的。

所以对前四的precision和recall

Precision = 3/4 = 0.75

Recall = 3/5 = 0.6

对于TOP10的Precision和Recall假设有如下表:

随着recall从0到1之间的提升,AP可以由计算十一个不同recall阶层最大precision的评价值而得到

进一步解释;

p_interp(r) 是超过r的recall中对应的最大precision值,例如top4中recall是0.6

那么p_interp(0.6)就是大于0.6的所有recall中对应的最大的precision的值,对应上表我们得到

所以AP即0-1的p_interp(r)的均值

而mAP则是真的不同类别的AP的均值

参考:https://medium.com/@jonathan_hui/map-mean-average-precision-for-object-detection-45c121a31173

猜你喜欢

转载自www.cnblogs.com/klitech/p/9242700.html