1、什么是mAP?

mAP(mean Average precision)表示各类别的平均AP

2、什么是AP?

PR曲线下的面积

3、什么是PR曲线?

以Precision为y轴,以Recall为x轴所画的曲线

4、什么是Precision和Recall

深度目标检测是什么 目标检测什么是mAP(1)

Precision: TP / (TP FP),精确率,也叫查准率,在所有的预测正类中有多少真正类。

Recall: TP / (TP FN),召回率,也叫查全率,在所有的真正类中有多少真正类被正确预测出来,与漏检率相对。

对于目标检测的任务场景,其中:

5、怎么画PR曲线?

(1)对检测框按得分从大到小排序

深度目标检测是什么 目标检测什么是mAP(2)

(2)对不同的IoU阈值计算出Precision和Recall,以recall为横轴,precision为纵轴画出曲线。

深度目标检测是什么 目标检测什么是mAP(3)

6、如何计算AP?

下图给出的是PASCAL VOC CHALLENGE自2010年的计算方法。该方法假设这N个样本中有M个正例,那么会得到M个recall值(1/M, 2/M, …, M/M),对于每个recall值 r,可以计算出对应(r’ > r)的最大precision,然后对这M个precision值取平均即得到最后的AP值。注意到最终计算的面积是蓝色区域的部分:

深度目标检测是什么 目标检测什么是mAP(4)

下面是改自faster rcnn中计算AP的代码:

https://github.com/rbgirshick/py-faster-rcnn/blob/master/lib/datasets/voc_eval.py

深度目标检测是什么 目标检测什么是mAP(5)

输出:

深度目标检测是什么 目标检测什么是mAP(6)

7、如何计算mAP?

AP衡量一个类别的检测好坏,mAP则是衡量多个类别检测的好坏。把所有类的AP值取平均即可得mAP。比如有两类,类A的AP值是0.5,类B的AP值是0.2,那么mAP=(0.5 0.2)/ 2=0.35。

,