目标检测mAP计算以及coco评价标准

1.前言

当我们使用目标检测数据集(如COCO)进行评估时,最后会得到一个评估列表,如下图

2.目标检测中常见指标

2.1精确率与召回率

下面先引入目标检测中常见的一些指标

  • TP(True Positive):IoU > 0.5的检测框数(同一GT只计算一次)
  • FP(False Positive):IoU <= 0.5的检测框(或者是检测到同一个GT的多余检测框数量)
  • FN(False Negative):没有检测到的GT的数量

Precision(精确率): TP / (TP + FP)模型预测的所有目标中,预测正确的比例

Recall(召回率):TP / (TP + FN)所有真实目标中,模型预测正确的目标比例

精确率与召回率缺一不可,举例说明:当一张图片中有5个检测对象时,假如算法检测到了10个个目标(其中5个正确,5个错误),那么TP=5,FP=5,FN=0,精确率=0.5,召回率=1。假如算法检测到了3个目标(都正确),那么TP=3,FP=0,FN=2,精确率=1,召回率=0.6。由此可以说明,单一的精确率与召回率,无法完全衡量结果的好坏。

2.2 AP

AP定义为P-R曲线下的面积
P-R曲线:Precision-Recall曲线

举例如下图

本图为目标检测中某个类别(比如检测猫)置信度取不同阈值得到的精确率与召回率绘制成的P-R曲线,其面积为:

S = (0.14-0)×(0.28-0.14)×1.0+(0.42-0.28)×1.0+(0.57-0.42)×1.0+(0.71-0.57)×0.71=0.6694

因此AP=0.6694

2.3 mAP

mAP即为各个类别计算的AP取均值,比如目标检测的目标有猫、狗、兔子,将三个类别求得的AP相加除以三即可。

3.COCO评价指标

再回过来看上面那张图

IoU代表交并比,可以观察算法在定位方面的指标

area代表检测面积的大小,可以观察算法在检测大目标与小目标方面的指标

maxDets代表检测目标数,可以观察算法在对多目标检测方面的指标