在计算机视觉和物体检测中,常用的评估方法是mAP。 它是什么以及如何计算?
答案 0 :(得分:43)
mAP是平均平均精度。
它在信息检索(参考[1] [2])和多类分类(对象检测)设置领域的使用是不同的。
要为对象检测计算它,您可以根据模型预测计算数据中每个类的平均精度。平均精度与类的精确回忆曲线下的面积有关。然后取这些平均个体级精度的平均值,得到平均平均精度。
要计算平均精度,请参阅[3]
答案 1 :(得分:37)
引言来自上述Zisserman paper - 4.2 Evaluation of Results (Page 11):
首先,“重叠标准”定义为大于0.5的交叉结合。 (例如,如果预测的盒子满足关于地面实况盒的该标准,则认为是检测)。然后使用这种“贪婪”方法在GT框和预测框之间进行匹配:
通过方法输出的检测被分配给地面实况对象 满足重叠标准按顺序排列(减少) 信心输出。多次检测图像中的同一对象 被认为是错误的检测,例如5个单个物体的检测 计为1次正确检测和4次错误检测
因此,每个预测框都是真阳性或假阳性。 每个地面实况框都是真正的。 没有真正的否定。
然后通过平均精度回忆曲线上的精度值来计算平均精度,其中召回在[0,0.1,...,1]范围内(例如11个精度值的平均值)。更确切地说,我们考虑稍微校正的PR曲线,其中对于每个曲线点(p,r),如果存在不同的曲线点(p',r'),则p'> 1。 p和r'> = r,我们将p替换为这些点的最大p'。
对我来说还有什么不清楚的是那些永远不会检测到的GT盒子(即使置信度为0)。这意味着精确回忆曲线永远不会达到某些回忆值,这使得平均精度计算高于未定义。
修改强>
简答:在无法召回的地区,精确度降至0。
解释这一点的一种方法是假设当置信度的阈值接近0时,无数个预测的边界框在整个图像上点亮。精度然后立即变为0(因为只有有限数量的GT盒子)并且召回在这条平坦的曲线上保持增长,直到我们达到100%。
答案 2 :(得分:25)
用于检测,确定是否有一个对象提案的常用方法 右边是联盟的交叉(IoU,IU)。这需要设置
A
建议的对象像素和真实对象像素集合B
和 计算:
通常,IoU> 0.5表示它是一个命中,否则它是一个失败。对于每个班级,可以计算
mAP(平均精确度)是:
注意:的 如果想要更好的提议,可以将IoU从0.5增加到更高的值(最高为1.0,这将是完美的)。可以用mAP @ p表示这一点,其中p \ in(0,1)是IoU。
mAP@[.5:.95]
表示mAP是在多个阈值上计算的,然后再次被平均
编辑: 有关更详细的信息,请参阅COCO Evaluation metrics
答案 3 :(得分:8)
我认为这里的重要部分是链接如何将对象检测视为与至少存在excellent description of average precision的标准信息检索问题相同。
某些对象检测算法的输出是一组建议的边界框,并且对于每个边界框,输出置信度和分类分数(每个类别一个分数)。我们暂时忽略分类分数,并使用置信度作为threshold binary classification的输入。直观地,平均精度是对阈值/截止值的所有选择的聚合。可是等等;为了计算精度,我们需要知道盒子是否正确!
这是令人困惑/困难的地方;与典型的信息检索问题相反,我们实际上在这里有一个额外的分类级别。也就是说,我们不能在框之间进行精确匹配,因此我们需要对边界框是否正确进行分类。解决方案是基本上对盒子尺寸进行硬编码分类;我们检查它是否与任何基本事实充分重叠,被认为是“正确的”。这部分的阈值是由常识选择的。您正在处理的数据集可能会定义“正确”边界框的阈值。大多数数据集只是将其设置为0.5 IoU并将其保留(我建议进行一些手动IoU计算[它们并不难],以了解实际上0.5的IoU严格程度)。
现在我们已经确定了'正确'的含义,我们可以使用与信息检索相同的过程。
要找到平均精度(mAP),您只需根据与这些框相关联的分类分数的最大值对您提出的框进行分层,然后对类的平均精度(AP)进行平均(取均值)。 / p>
TLDR;区分确定边界框预测是否“正确”(额外的分类级别)和评估框内部信任通知您“正确”边界框预测(完全类似于信息检索案例)的典型描述mAP会有意义。
值得注意的是Area under the Precision/Recall curve is the same thing as average precision,我们基本上用近似积分的梯形或右手规则近似这个区域。
答案 4 :(得分:1)
定义:mAP→平均平均精度
在大多数对象检测竞赛中,都有很多要检测的类别,并且每次对一个特定类别进行模型评估时,评估结果都是该类别的AP。
评估每个类别时,将所有AP的平均值计算为模型的最终结果,即mAP。
答案 5 :(得分:0)