大家好,欢迎来到IT知识分享网。
作者:Jonathan Hui编译:ronghuaiyang
mAP是一种物体检测器准确率的度量方法,是不同的召回率值下的最大精确度的平均值。听起来很复杂,但实际上是挺简单的,我们举个例子来说明。在这之前,我们先快速的回顾一下精确度,召回率和IoU。
精确率&召回率
精确率度量的是你的预测的准确率,也就是你预测出来的正样本里有多少是正确的。
召回率度量的是找到所有的正样本的能力,比如,你可以在top K的预测里,找到80%的可能的正样本。
下面是数学上的定义:
比如说,癌症的测试:
IoU (交并比)
IoU 度量的是两个区域的重合程度,这个可以度量物体检测中的预测的边界框对比ground truth框(真实的边界框)的好坏。
AP
我们用一个简单的例子来说明如何计算平均平均精确率(AP),在你的数据集里,我们总共有5个苹果。我们得到了一个模型的对苹果的所有的预测,然后使用预测置信度进行排序(从高到低)。第二列表明这个预测是不是正确,如果是正确的,它和ground truth的IoU ≥ 0.5。
我们来计算前3行的精确度和召回率,所以总共是3个预测,有2个是正确的,总共的ground truth正样本数是5。
Precision 是TP占所有预测是正样本的比例= 2/3 = 0.67。
Recall 是TP占所有实际的正样本的比例 = 2/5 = 0.4。
召回率值在上升,因为我们包含了越来越多的正样本,但是精确率在上上下下,我们画个精确度和召回率的图。
AP的思想可以看做是找到precision-recall图下面的面积。但是我们在估计这个值之前首先会对这个锯齿状的图形进行平滑。
我们使用recall ȓ 的值为0, 0.1, 0.2, …, 0.9 和1.0 的地方画图,对于任意的召回率 recall ≥ ȓ,用最大的精确率值来代替精确率值。
实际上,在图中可视化会更加容易,我们发现最高的精确率值(绿色曲线)在召回率值 (0, 0.1, 0.2, …, 0.9 和1.0)的右边。
AP(平均精确率)是这11个recall值下的最大精确率的平均值。
这个和找到所有的绿色曲线下的面积很接近了,然后除以11。这是更加精确的定义。
pinterp(0.7) 表示找出下面的黄色框中的最大值:
在我们的例子中,AP = (5 × 1.0 + 4 × 0.57 + 2 × 0.5)/11
mAP只是所有的类别的平均,在许多数据集中,常常就叫做AP。
PASCAL VOC中的AP
PASCAL VOC是一个非常流行的物体检测的数据集。对于PASCAL VOC竞赛,如果 IoU > 0.5,预测认为是正样本。然而,如果对相同的物体有多个预测框,那么把第一个认为是正样本,其余的是负样本。PASCAL VOC的mAP和我们说的AP是一样的。
COCO mAP
最近的论文趋向于只给一个 COCO数据集的结果。对于 COCO ,AP是多个IoU(最小的IoU认为是匹配上的正样本)上的平均值。AP@[.5:.95]对应的是,IoU从 0.5 到 0.95 时的AP的平均值,步长是0.05,对于COCO竞赛,AP是10个IoU在80个类别上的平均。
这里是YOLOv3的AP结果。
mAP@.75意思是IoU=0.75时的mAP.
英文原文:https://medium.com/@jonathan_hui/map-mean-average-precision-for-object-detection-45c121a31173
更多文章,请关注微信公众号:AI公园
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/73304.html