1. MAP
precision=正确的数目/所有的结果
recall=结果中正确的/所有的正确的
P是把准确率在recall值为Recall = {0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}时(总共11个rank水平上),求平均值:
AP = 1/11 ∑ recall∈{0,0.1,…,1} Precision(Recall) 针对单个类别的
均精度均值(mAP):只是把每个类别的AP都算了一遍,再取平均值:
mAP = AVG(AP for each object class) 针对所有类别的
2. 目标检测中的MAP
给定一个张图片,我们可以知道图像中某个类别被正确检测的次数,也知道该张图片中该类别的数目所以在一张图中,某个类别的precison=图像中正确预测的数量/图像中这一类的总的目标数量。
如果有100张图片,那么就可以得到100个精确值,计算这100个精度值的平均值,就可以得到该类的平均精度:
如果我们一共有20个类别,对于每个类别,我们都可以计算IOU,计算精度和平均精度,可以取所有类别的平均精度的平均值。MAP
3. 计算MAP应该满足的一些条件
1 在固定的数据集上
2,不是模型输出的绝对度量,而是一个相对度量,
3,根据训练中类别的分布情况,平均精度可能会因为某些类别非常高,或者非常低,模型对于某些类很好,但是对于一些类就不会很好,建议在分析模型的时候,查看各类的平均精度,这些值可以作为我们是否添加更多训练样本的重要依据。
NMS
检测的时候,会生成很多的候选框,我们凶得分最高的开始,剩下的里面如果与它的重叠度大于一个设定的阈值,就把那个去掉,一直重复这个过程 ,找到曾经被保留的所有的矩形框。