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


17

为了进行检测,确定一个对象提议是否正确的一种常见方法是“ 联合路口”(IoU,IU)。这将采用建议的目标像素的集合和真实目标像素的集合B并计算:AB

IoU(A,B)=ABAB

通常,IoU> 0.5表示这是命中,否则是失败。对于每个类别,可以计算出

  • 真实肯定():针对c类提出了一个建议,实际上有一个c类对象TP(c)cc
  • 误报():针对c类提出了一个建议,但没有c类的对象FP(c)cc
  • 平均精密类牛逼P C ^ c#TP(c)#TP(c)+#FP(c)

mAP(平均平均精度)= 1|classes|cclasses#TP(c)#TP(c)+#FP(c)

如果有人想要更好的建议,则可以将IoU从0.5增加到更高的值(最理想的是增加到1.0)。一个可以与地图@ p,其中表示这个是IOU。p(0,1)

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


我怀疑该[.5:.95]部件是指IoU值的范围,但是我不知道如何将该范围评估为单个mAP。
尼尔·斯莱特

@NeilSlater但是你为什么想要一个上限?更高的IoU并非总是更好吗?
马丁·托马

以更高的IoU实现匹配会更好,但是,如果我们测量模型描述完美匹配的程度(对于任何模型),则mAP值可能会降低,并且这不被认为是有用的度量。为什么我不知道为什么它不包括在范围内,但是我不知道在这种情况下如何计算mAP-例如,它可能是基于样本的简单均值。
尼尔·斯莱特

1
这个github存储库,其中对IOUPrecisionRecallAverage PrecisionmAP进行了很好的解释。它还具有评估任何对象检测器的代码。它肯定会对您有帮助https
拉斐尔·帕迪拉

Answers:


10

mAP@[.5:.95](表示为mAP@[.5,.95])表示在不同IoU阈值(从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)上的平均mAP。

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

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

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

顺便说一句,在源代码椰子节目到底是什么mAP@[.5:.95]做:

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

参考文献

https://github.com/pdollar/coco

http://mscoco.org/

https://www.cs.cornell.edu/~sbell/pdf/cvpr2016-ion-bell.pdf

https://arxiv.org/pdf/1506.01497.pdf

https://arxiv.org/pdf/1611.10012.pdf


你介意一个问题吗?例如,如果我们在数据集中有3个特定类的实例,并且模型为它们返回iou分别为0.1、0.6和0.9,这是否意味着我们丢弃了0.1结果以及0.75的平均值iou和相应的mAP?
亚历克斯(Alex)

5

ŤPCŤPC+FPC


对于那些通过基准来看,平均精度(AP)的定义是11页
威龙弗林

3

AP是所有类别的平均值。传统上,这称为“平均平均精度”(mAP)。我们在AP和mAP(以及类似的AR和mAR)之间没有区别,并假定从上下文中可以明显看出差异。

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


我认为mAP是多类AP中的平均值。我喜欢知道您/论文作者对该类别的定义。
Cloud Cho
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.