目标检测中的评价指标mAP含义
阅读论文的时候经常看到有一个评价指标mAP,我们都知道mAP的值越高越好,但mAP到底是什么含义,起什么作用,为什么越高越好?
1.计算过程
- 有计算mAP我们首先要计算出AP的值。
- 计算AP的值我们又需要计算召回率Recall以及准确率Precision。
- 计算Recall和Precision我们又需要知道模型预测的样本中的情况,比如预测对的positive样本数量、预测错误的positive样本数量等。
- 一般在检测任务中我们要给预测的样本分类需要用到IoU(交并比,预测框与真实框的交集和并集的比),我们设置某个阈值,计算出的IoU>阈值时为TP(True positive),IoU<=阈值时为FP(False positive);还有TN(True negative),FN(False negative)。
2. 名词含义
- TP:True positive,预测正确的positive样本。
- FP:False positive,本来为Negative样本,被错误的预测成了Positive样本。
- FN:False negative,本来为Positive样本,被错误的预测成了Negative样本。
- Precision:TP/(TP + FP),也可写作TP/预测Positive个数
- Recall:TP/(TP + FN),为了方便理解,可以直接写成:TP/真实Positive 个数
- PR曲线:横坐标为Recall,纵坐标为Precision,构成了曲线。
- AP:PR曲线构成的面积。
- mAP:mean Average Precision,各个类别AP的平均值。
下图时维基百科中对主要计算式的定义:
3. AP的两种计算方式
- 在VOC 2010以前,构建PR曲线时横坐标即Recal选择11个点,{0,0.1,0.2,…,1},选择当Recall大于等于各个点的值时的Precision中的最大值,再取这11个precision的平均值。
- 在VOC 2010及以后,需要针对计算得出的每一个Recall值,也包含坐标中的0与1,选取大于等于这些Recall值时的Precision最大值,计算PR曲线构建的面积就是AP的值。
4. mAP含义理解
经过上面的学习我们也对mAP的计算过程有了一定的理解,mAP的计算和recall与precision的值相关。
上面讲到FP、TP的值受IoU阈值设置的影响,也就是说当阈值设置的较大时也就意味着对预测的要求较高,这也就使得precision的值很高,而recall的值很低(我们放弃了一些得分较低的真实positive样本)。
当阈值设置较小时,我们对预测的要求降低,precision的值就会很低,而recall的值就会很高。
recall高precision低或recall低precision高都不是最理想的结果,而mAP的值就可以衡量precision和recall总体的优劣。