理解mAP

来源:互联网 发布:淘宝店铺代销阿里 编辑:程序博客网 时间:2024/05/20 13:18

1. precision 和 recall 的计算:


图中上部分,左边一整个矩形中(false negative和true positive)的数表示ground truth之中为1的(即为正确的)数据,右边一整个矩形中的数表示ground truth之中为0的数据。

精度precision的计算是用 检测正确的数据个数/总的检测个数。

召回率recall的计算是用 检测正确的数据个数/ground truth之中所有正数据个数。


2. AP:average precision

假设我们有数据:


一共20个图像,20行,第一列是图像index, 第二列是检测confidence, 第三列是ground truth。根据confidence从大到小排列。

每检测一个图像时,无论是正例还是负例,计算当下的precision和recall。

假设检测样本中每N个样本中有M个正例,那么我们会得到M个recall值(1/M, 2/M, ..., M/M)(由于检测N'数量正样本时,precision有不同情况),对于每个recall值r,我们可以计算出对应(r' > r)的最大precision,然后对这些max precision取平均即得到最后的AP值。具体计算如图,top-N是指根据confidence降级排列后样本的排位号(eg. 1为confidence最大的图像9):


3. mAP: mean average precision

多类的检测中,取每个类AP的平均值,即为mAP。