性能指标

MAP

为什么要用MAP来评价目标检测模型
  1. 因为目标检测图片中可能含有多个类别的物体。需要评估模型的物体分类性能和物体定位两个性能。所以用于图像分类的指标precision就不再适用。

Ground Truth

  1. 对于任何算法都需要知道ground truth(真实标签)数据。
  2. 对于目标检测,需要知道图片的所有物体的类别和每个物体的真实边界框。

MAP的含义

  1. 训练好的模型会给出大量预测结果,但是大多数的预测值都非常低的置信度,只考虑置信度高于某个阈值的预测值。
  2. 所以经过置信度筛选之后,给出最终预测结果,所以如何量化这个模型的检测性能。就首先需要判断每个检测的正确度。IoU是评价边界框正确度的量化指标。

Iou Intersection over Union

  1. 是预测框与ground truth的交集与并集的比值。

precision

  1. 计算precision与recall,就要鉴别True Positive/False Positive/True Negative/False Negative
  2. 要得到true positive和false positive,就要计算IoU,从而确定一个检测结果(positive)是正确的(true)还是negative(错误的).最常用的IoU阈值是0.5,即如果IoU>0.5,则认为其是true positive,若Iou<0.5,则认为其是false positive。阈值0.5,是voc数据集常用的指标。
  3. 对于coco数据集,它的评估指标是对不同的IoU阈值进行计算。
  4. 每一张图片,ground truth数据都会给出每一个类别物体的具体实际数量,可以计算每一个positive预测框与ground truth的IoU值。然后取最大的IoU值。认为该预测框检测到那个IoU最大的ground truth。然后根据IoU阈值,
  5. 可以计算出一张图片中各个类别的正确检测值true positive和错误检测值false positive。然后就可以计算各个类别的precision。

注意的是:改变置信度阈值,可以改变一个预测框是positive还是negative。阈值以上的所有预测(bbox+class)都被认为是positive,低于该阈值的都是negative。

recall

  1. 计算recall值就要考虑negatives,图片中没有预测到物体的每个部分都视为negatives。因此计算true negative比较难。可以只计算false negatives,即那些漏检的物体。
上一篇:Leetcode - 343. Integer Break (分割整数)


下一篇:HDU3501 Calculation 2 [欧拉函数]