1、mAP介绍
mAP是mean Average
Precision的缩写,用于评价目标检测与分类的效果。AP是指一个类别的平均精度,它表示模型在某一个类别上的效果。mAP是所有类别AP的平均值,表示模型在所有类别上的整体效果。
2、精度和召回率
3、实例绘制PR图
假设我们的任务是“猫狗二分类”,下面来计算“猫”这一类别的AP。假设测试集共有8个样本(8张图片img1-img8),共预测出15只猫(15个预测框bbox1-bbox15)。
下表为按照置信度(预测分数)排序后的结果:
上表对应的PR图如下所示:
4、AP的计算方法
此处参考PASCAL VOC挑战赛的计算方法。有两种方法,分别是2010年之前的方法和2010年之后的方法。
2010年之前的方法:
第一步,事先设定一组阈值[0, 0.1, 0.2, … , 0.9, 1]。
第二步,recall值大于每一个阈值(如0.2)都可以得到一个最大precision,这样我们就得到了11个最大precision,AP就是这11个最大precision的平均值。
2010年之后的方法:
第一步,不事先设定阈值了,而是所有recall值都作为阈值,比如有M个正例就会有M个recall值即M个阈值(1/M, 2/M, …, M/M),本文中的例子将会有6个阈值[1/6, 2/6, 3/6, 4/6, 5/6, 6/6]。
第二步,recall值大于每一个阈值(如3/M)都可以得到一个最大precision,这样我们就得到了M个最大precision,AP就是这M个最大precision的平均值。
本文实例对应的计算参考下图:
相应的PR图,如下所示:
5、附matplotlib画图代码