mAP计算方式
Accuracy:准确率
准确率=预测正确的样本数/所有样本数,即预测正确的样本比例(包括预测正确的正样本和预测正确的负样本,不过在目标检测领域,没有预测正确的负样本这一说法,所以目标检测里面没有用Accuracy的)。
Precision:查准率
Precision表示某一类样本预测有多准。
Precision针对的是某一类样本,如果没有说明类别,那么Precision是毫无意义的(有些地方不说明类别,直接说Precision,是因为二分类问题通常说的Precision都是正样本的Precision)。
Recall:召回率
Recall和Precision一样,脱离类别是没有意义的。说道Recall,一定指的是某个类别的Recall。Recall表示某一类样本,预测正确的与所有Ground Truth的比例。
Recall计算的时候,分母是Ground Truth中某一类样本的数量,而Precision计算的时候,是预测出来的某一类样本数。
AP: Average Precision
以Recall为横轴,Precision为纵轴,就可以画出一条PR曲线,PR曲线下的面积就定义为AP,即:
由于计算积分相对困难,因此引入插值法,计算AP公式如下:
设总数为N的样本中总共有M个正样本,则从Top-1至Top-N可以有M个recall值,分别为(1/M,2/M,…,M/M),对于每个recall值r,可以从对应的(r’>=r)中计算出一个最大的precision,对这M个precision求平均得到AP,如下图所示:
在上图所示中,共有6个正例,因此共有6个recall值,分别为1/6、2/6、3/6、4/6、5/6、6/6,
当recall=1/6时,r’为1/6、2/6、3/6、4/6、5/6、6/6,最大的precision=1;
当recall=2/6时,r’为2/6、3/6、4/6、5/6、6/6,最大的precision=2/2=1;
当recall=3/6时,r’为3/6、4/6、5/6、6/6,最大的precision=4/7;
当recall=4/6时,r’为4/6、5/6、6/6,最大的precision=4/7;
当recall=5/6时,r’为5/6、6/6,最大的precision=5/11;
当recall=6/6时,r’为6/6,最大的precision=6/16。
目标检测mAP
物体检测中经常用mAP(Mean Average Percision, mAP)评价模型性能:
- mAP是针对多类来说的
- mAP:多个物体类别的AP的平均
- mAP的对象是所有类的所有图片,衡量的是学出的模型在所有类别上的好坏。
计算如下所示,其中C为类别数目.
参考: