什么是 mAP 指标,它是如何计算的?

What is the mAP metric and how is it calculated?

在计算机视觉和物体检测中,常用的评价方法是mAP。 它是什么以及如何计算?

mAP 是平均精度。

它在Information Retrieval(参考[1] [2])和Multi-Class classification(Object Detection)设置领域的使用是不同的。

要为对象检测计算它,您可以根据模型预测计算数据中每个 class 的平均精度。平均准确率与 class 的准确率-召回率曲线下的面积有关。然后取这些平均个体-class-精度的平均值得到平均精度。

要计算平均精度,请参见[3]

引自上述Zisserman paper - 4.2 Evaluation of Results (Page 11):

首先,"overlap criterion" 被定义为大于 0.5 的并集交集。 (例如,如果一个预测框满足这个关于地面真实框的标准,它被认为是一个检测)。然后使用这种 "greedy" 方法在 GT 框和预测框之间进行匹配:

Detections output by a method were assigned to ground truth objects satisfying the overlap criterion in order ranked by the (decreasing) confidence output. Multiple detections of the same object in an image were considered false detections e.g. 5 detections of a single object counted as 1 correct detection and 4 false detections

因此,每个预测框要么是真阳性,要么是假阳性。 每个地面实况框都是 True-Positive。 没有真阴性。

然后通过对精度-召回曲线上的精度值取平均值来计算平均精度,其中召回率在 [0, 0.1, ..., 1] 范围内(例如 11 个精度值的平均值)。更准确地说,我们考虑稍微修正的 PR 曲线,其中对于每个曲线点 (p, r),如果存在不同的曲线点 (p', r') 使得 p' > p 且 r' >= r ,我们将 p 替换为这些点中的最大值 p'。

我仍然不清楚的是那些 从未 检测到的 GT 盒子做了什么(即使置信度为 0)。这意味着精确召回曲线永远不会达到某些召回值,这使得平均精度计算高于未定义。

编辑:

简答:在recall不可达的区域,precision降为0

解释这一点的一种方法是假设当置信度阈值接近 0 时,无限数量的 predicted 边界框在整个图像中亮起。然后精度立即变为 0(因为只有有限数量的 GT 框)并且召回率在这条平坦的曲线上不断增长,直到我们达到 100%。

我认为这里的重要部分是将对象检测与至少存在一个 excellent description of average precision.

的标准信息检索问题联系起来

一些目标检测算法的输出是一组建议的边界框,每个边界框都有一个置信度和 class 化分数(每个 class 一个分数)。让我们暂时忽略 class 化分数,并将置信度用作 threshold binary classification 的输入。直观地说,平均精度是对 threshold/cut-off 值的所有选择的聚合。可是等等;为了计算精度,我们需要知道一个盒子是否正确!

这是它得到的地方confusing/difficult;与典型的信息检索问题相反,我们实际上在这里有一个额外的 class化级别。也就是说,我们无法在框之间进行精确匹配,因此我们需要 class 确定边界框是否正确。解决方案基本上是对框尺寸进行硬编码 class 化;我们检查它是否与要考虑的任何基本事实充分重叠 'correct'。这部分的阈值是根据常识选择的。您正在处理的数据集可能会定义 'correct' 边界框的阈值。大多数数据集只是将其设置为 0.5 IoU 并保持不变(我建议进行一些手动 IoU 计算 [它们并不难] 以了解 0.5 的 IoU 实际上有多严格)。

现在我们已经真正定义了'correct'的含义,我们可以使用与信息检索相同的过程。

要找到平均精度 (mAP),您只需根据与这些框相关联的 classification 分数的最大值对建议的框进行分层,然后平均(取平均值)平均精度 ( AP) 在 classes.

TLDR;区分确定边界框预测是否为 'correct'(class 化的额外级别)和评估框置信度如何告知您 'correct' 边界框预测(完全类似于信息检索案例)和mAP的典型描述会有意义。


值得注意的是Area under the Precision/Recall curve is the same thing as average precision,我们本质上是用梯形或右手法则来逼近积分的。

For detection, a common way to determine if one object proposal was right is Intersection over Union (IoU, IU). This takes the set A of proposed object pixels and the set of true object pixels B and calculates:

一般情况下,IoU > 0.5 表示命中,否则为失败。对于每个 class,可以计算

  • True Positive TP(c): 为 class c 提出了一个提案,实际上有一个 class c
  • 的对象
  • False Positive FP(c):提出了classc的提议,但是没有classc
  • 的对象
  • class c:
    的平均精度

The mAP (mean average precision) is then:

注: 如果想要更好的建议,可以将 IoU 从 0.5 增加到更高的值(最高 1.0,这将是完美的)。可以用 mAP@p 表示这一点,其中 p \in (0, 1) 是 IoU。

mAP@[.5:.95]表示mAP是在多个阈值上计算的,然后再次取平均值

编辑: 有关更多详细信息,请参阅 COCO Evaluation metrics

定义:mAP → 均值平均精度

在大多数物体检测比赛中,需要检测的类别很多,模型的评估每次都针对一个特定的类别进行,评估结果就是该类别的AP。

在对每个类别进行评估时,计算所有AP的均值作为模型的最终结果,即mAP。

Intersection Over Union (IOU) 是基于 Jaccard 指数的度量,用于评估两个边界框之间的重叠。它需要一个真实边界框和一个预测边界框通过应用 IOU,我们可以判断检测是否有效(真阳性)或无效(假阳性)。IOU 由预测边界框和地面之间的重叠区域给出真实边界框除以它们之间的联合面积。