machine-learning - mAP 指标是什么?它是如何计算的?

标签 machine-learning computer-vision detection metrics vision

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

最佳答案

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

首先,“重叠标准”被定义为大于 0.5 的并集交集。 (例如,如果预测框相对于真实框满足此标准,则将其视为检测)。然后使用这种“贪婪”方法在 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)做了什么。这意味着精度-召回率曲线永远无法达到某些召回值,这使得上面的平均精度计算未定义。

编辑:

简答:在召回率无法达到的区域,精度降至 0。

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

关于machine-learning - mAP 指标是什么?它是如何计算的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36274638/

相关文章:

python - 使用 OpenCV 霍​​夫变换在二维点云中进行线检测

c# - 使用 51degrees.mobi 进行平板电脑与手机检测

machine-learning - 如何使用遗传算法表示染色体?

python - 如何更改算法中的参数以获得更好的性能?

python - 处理过多的零

machine-learning - 了解 Faster rcnn

opencv - 使用加速度计和机器学习进行运动类型检测

machine-learning - 神经网络的输入可以是实值吗?

python-3.x - ModuleNotFoundError : No module named 'cv2. ximgproc

image - 如何使用光流图像将后面的帧扭曲到前面的帧