符号 mAP@[.5:.95] 是什么意思?

数据挖掘 计算机视觉
2021-09-22 21:53:52

对于检测,确定一个对象提议是否正确的常用方法是Intersection over Union (IoU, IU)。这需要集合一个 提议的对象像素和真实对象像素的集合 并计算:

一世ü(一个,)=一个一个

通常,IoU > 0.5 表示成功,否则失败。对于每一类,可以计算

  • 真阳性((C)): 为班级提出了建议 C 实际上有一个类的对象 C
  • 假阳性 (F(C)): 为班级提出了建议 C,但没有类的对象 C
  • 类的平均精度 C#(C)#(C)+#F(C)

mAP(平均平均精度)= 1|Cl一个sses|CCl一个sses#(C)#(C)+#F(C)

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

但是mAP@[.5:.95](如本文所述)是什么意思?

3个回答

mAP@[.5:.95](有人表示mAP@[.5,.95])表示不同 IoU 阈值上的平均 mAP,从 0.5 到 0.95,步长 0.05(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)。

有一个相关的 MS COCO 挑战和一个新的评估指标,它在不同的 IoU 阈值上平均 mAP,从 0.5 到 0.95(写为“0.5:0.95”)。[参考]

我们评估 IoU ∈ [0.5 : 0.05 : 0.95](COCO 的标准度量,简称为 mAP@[.5, .95])和 mAP@0.5(PASCAL VOC 的度量)的平均 mAP。[参考]

为了评估我们的最终检测,我们使用官方的 COCO API [20],它测量 mAP 在 [0.5 : 0.05 : 0.95] 的 IOU 阈值上的平均值,以及其他指标。[参考]

顺便说一句,可可的代码确切地显示了正在做什么:mAP@[.5:.95]

self.iouThrs = np.linspace(.5, 0.95, np.round((0.95 - .5) / .05) + 1, endpoint=True)

参考

你已经从 Icyblade 那里得到了答案。但是,我想指出您的平均精度公式是错误的。公式#(C)#(C)+#F(C)是精度的定义,而不是平均精度对于目标检测,AP 在此处定义。简而言之,它总结了准确率/召回率曲线,因此不仅考虑了准确率,还考虑了召回率(因此假阴性也将受到惩罚)。

AP是所有类别的平均值。传统上,这被称为“平均精度”(mAP)。我们不区分 AP 和 mAP(以及 AR 和 mAR),并假设从上下文中可以清楚地看出区别。

http://cocodataset.org/#detections-eval