写在前面

目标检测的论文中常常会出现mAP的指标,那到底是则么计算的,在下面进行简单叙述。

目标检测中的常见指标:

TP(True Positive):IoU>0.5的检测框的数量(同一Ground Truth只能计算一次)

FP(False Positive):IoU<=0.5的检测框(或者是检测到同一GT的多余检测框的数量)

FN(False Negative):没有检测到的GT的数量

 

Precision:TP/(TP+FP) 模型预测的所有目标中,预测正确的比例

Recall: TP/(TP+FN) 所有真实目标中,模型预测正确的目标比例

 

AP:P-R曲线下面积

P-R曲线:Precision-Recall曲线

mAP:mean Average Precision,即各类别AP的平均值

举个例子:

如下面三张图,绿色为ground truth 框, 红色为predict 框并显示了类别和 confidece数值。在表中IOU表示,predict框和ground truth框的重合度,如果重合度(iou)大于50%则填写为true否则填写为False,且每个被检索的对象只有一次匹配机会,取较大的值,第二个及之后有大于50%的重合度的也填写为False。最后列表按照confidence降序排列。

目标检测 服务器需求测算 目标检测的ap_模型预测

 

目标检测 服务器需求测算 目标检测的ap_目标检测 服务器需求测算_02

 

目标检测 服务器需求测算 目标检测的ap_目标检测 服务器需求测算_03

 

GT ID

 Confidence

OB(IOU=0.5)

1

0.98

True

3

0.89

True

6

0.88

True

7

0.78

True

3

0.66

False

1

0.61

False

4

0.52

True

 根据公式

Precision:TP/(TP+FP) 模型预测的所有目标中,预测正确的比例

Recall: TP/(TP+FN) 所有真实目标中,模型预测正确的目标比例

逐级调低confidence的数值进行计算,举例计算第一第二行

  • 第一行

因为只有一个检测正确的框,无误检测框,所以TP=1;FP=0;总共有7个Object,只检测到一个所以漏了6个,FN=6。

TP/(TP+FP)=1/(1+0)=1=Precision

TP/(TP+FN)=1/(1+6)=0.14=Recall

  • 第二行

因为有两个个检测正确的框,无误检测框,所以TP=2;FP=0;总共有7个Object,只检测到一个所以漏了5个,FN=5。

TP/(TP+FP)=2/(2+0)=1=Precision

TP/(TP+FN)=2/(2+5)=0.28=Recall

相同recall,取precision较大的,所以可以去掉第五第六行。

Rank

Precision

Recall

1

1.0

0.14

2

1.0

0.28

3

1.0

0.42

4

1.0

0.57

5

0.80

0.57

6

0.66

0.57

7

0.71

0.71

Ap的值为下面p-r 图像的面积, 

Ap=S(p-r curve)=0.6694

注:通常来说AP是在单个类别下的,mAP是AP值在所有类别下的均值。在这里,在coco的语境下AP便是mAP,这里的AP已经计算了所有类别下的平均值,这里的AP便是mAP。

目标检测 服务器需求测算 目标检测的ap_ide_04

 其他coco数据下评估的标准:

目标检测 服务器需求测算 目标检测的ap_目标检测 服务器需求测算_05

 简单解释

  • 第一组

右上角的代表上面表格中OB中IOU的阈值,IOU越高对检测框和GT框的重合度要求越高

  • 第二组

对检测物体大小的不同分类

  • 第三组

每张图片给的检测框数目,然后求取召回率。给的框越多,召回率越高。

  • 第四组

对检测物体不同尺度的分类