目标检测mAP

TP:预测为正,实际为正

FP:预测为正,实际为负

FN:预测为负,实际为正

TN:预测为负,实际为负

precision = TP / (TP + FP)

recall = TP / (TP + FN)

 

TP:该predicted bounding box与当前结果所在图像的所有gt bounding box的最大IoU大于阈值,且该gt bounding box还未被匹配。

FP:该predicted bounding box与当前结果所在图像的所有gt bounding box的最大IoU小于阈值,或者大于阈值,但该gt bounding box已经被匹配。

precision: pre = TP / (TP + FP)

recall: rec = TP / float(npos),npos就是gt bb的数目

AP:

计算AP值,如果use_07_metric=true, 则用11个点采样的方法, 将rec从0-1分成11个点, 这些点prec值求平均近似表示AP
如果use_07_metric=false, 则采用更为精确的逐点积分方法

mAP

IoU

任何算法,度量总是与数据的真实值 (ground truth) 进行比较。对于目标检测,ground truth包括图像中的目标的类别以及图像中每个目标的边界框。

目标检测mAP

假设图像的ground truth如上图所示,训练和验证数据以相同的方式进行了标注。该模型将返回大量的预测,但是在这些模型中,大多数都具有非常低的score,因此只考虑高于某个score的预测信息。通过我们的模型运行原始图像,在置信阈值score确定后,下图是目标检测算法返回的带有边框的bounding boxes。

目标检测mAP

识别正确的检测和计算精度

我们使用IoU看检测是否正确需要设定一个阈值,最常用的阈值是0.5。即IoU>0.5,则认为是真实的检测,否则认为是错误的检测。我们现在计算模型得到的每个检测框的IoU值。用计算出的IoU值与设定的IoU阈值比较,就可以计算出每个图像中每个类的正确检测次数 (A)。对于每个图像,我们都有ground truth的数据,因此也知道了该图像中给定类别的实际数目 (B) 的数量。

precision = A/B