mAP

首先介绍精确度(precision)和召回率(recall)的概念:
mAP

precision等于预测为正样本的个数除以预测的总数;
recalld等于预测为正样本的个数除以所有正样本数。
mAP
上图是一个mAP的例子:
该例子中有两个类,第一个类中有5个正样本;第二个类中有3个正样本。深度神经网络会对所有样本(包括正样本和负样本)针对每一个类预测一个score,将样本根据score由大到小排序,如上例中那样,依次计算出所有的recall和precision。然后将正样本的precision进行平均即可得出该网络针对该类的预测准确度。最后将所有类(该例子中只有两类)的mAP进行平均,即可得到该模型的一个平均预测准确度。

在深度学习中的实现方法:

  1. 采用适当的方法随机生成建议框。
  2. 根据建议框与ground truth的iou大小,设定一个阈值,大于阈值的为正样本,小于的为负样本。
  3. 将建议框输入神经网络,神经网络会对所有的建议框进行打分(score)。
  4. 将建议框根据score由大到小进行排列。
  5. 如上例中一样计算出对应的精确度和召回率。
  6. 以recall为X轴,precision为Y轴建立坐标系。recall由零变一,precision跟着变化。
  7. 变化曲线下面的面积即为mAP

原理和以上一样。