0%

mAP定义及计算

mAP(mean of Average Precision),是目标检测中模型性能的衡量标准

在理解mAP的定义前要掌握混淆矩阵和交并比的先验知识

精确率:

召回率:

交并比

首先我们要计算单类别的模型平均准确度AP(Average Precision)

物体检测中的每一个预测结果包含两部分,bounding box和置信概率$P_c$

bounding box通常以矩形预测框的左上角和右下角的坐标表示,即$x_{min}, y_{min}, x_{max}, y_{max}$,$P_c$中下标表示预测类别,值表示置信概率,如$P_{dog}=0.88$

预测成功必须满足以下条件:

  1. 类别正确且$P\underline{}c>P\underline{}threshold$

  2. 预测框与$GT$(ground truth)的$IoU>IoU\underline{}threshold$

在计算AP以衡量模型性能时,我们通常的做法为固定$IoU\underline{}threshold$,关注当$P\underline{}threshold$变化时其对精确率和召回率的影响

由于当$P\underline{}threshold$上升,$precision$上升,$recall$下降,反之亦然,所以我们需要PR(precision-recall)曲线来动态衡量模型的准确率,即AP为PR曲线的下面积

假如目标类别为Dog,照片中共包含7只Dog即$GT=7$,经模型预测,得到了Dog的10个预测结果,选定$IoU\underline{}threshold=0.5$,然后按confidence从高到低排序

  • $GT=1$表示BoundingBox与GT的$IoU \geq IoU\underline{}threshold$
  • BB序号相同代表所对应的同一个GT
Rank BB confidence GT
1 1 0.9 1
2 2 0.8 1
3 1 0.8 1
4 3 0.5 0
5 4 0.4 0
6 5 0.4 1
7 6 0.3 0
8 7 0.2 0
9 8 0.1 1
10 9 0.1 1

如果设置$P\underline{}threshold=0$,则有 $TP=5$ (BB1,BB2,BB5,BB8,BB9),$FP=5$ (重复检测到的BB1也算FP),除了表里检测到的5个GT以外,我们还有2个GT没被检测到,因此$FN = 2$

然后依次以不同的置信度计算相应的$Persicion/Recall$值,绘制PR曲线

注意的是用于计算AP的PR曲线是经过平滑后的,平滑方法为:

mAP即为各类别的AP的平均值