目标检测mAP评价指标计算详解

目标检测mAP评价指标计算详解



mAP计算方法

首先我们先引入一些概念

TP(True Positive)

TP(True Positive):IoU>0.5的检测框数量(预测正确的检测框数量,同一个Ground Truth只计算一次)

如图示,图中预测为猫,概率为0.9的红色边界框与GT box的IoU值为0.9>0.5,所以它是一个TP(False Positive)。
在这里插入图片描述


FP(False Positive)

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

让我们继续看这张图,图中图中预测为猫,概率为0.3的红色边界框与GT box的IoU值为0.3<0.5,所以它是一个FP(False Positive)
在这里插入图片描述


FN(False Negative)

FN(False Negative):没有检测到的GT数量(被漏检的目标数量)

来吧,还是让我们看这张图,图中右下角的小猫为没有被检测到的目标,所以它是一个FN(False Negative)

在这里插入图片描述


Precision-查准率

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

思考通过Precision这个指标能否体现网络的检测能力?

假设在下面图片中有5个目标,而网络只检测到了其中一个目标,则此时的TP=1,FP=0,所以此时的Precision=1/(1+0)=1,即查准率为100%,这就和真实情况矛盾了,因为网络出现大量漏检的情况,所以只通过Precision这一个指标不能体现网络的检测能力的好坏。
在这里插入图片描述


Recall-查全率

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

思考通过Recall这个指标能否体现网络的检测能力?

同样假设一张图片中由5个目标,而网络却检测出了50个目标,此时TP=5,FN=0,所以此时的Recall=5/(5+0)=1,即查全率俄日100%,这就和真实情况矛盾了,因为网络出现大量误检的情况,所以只通过Recall这一个指标不能体现网络的检测能力的好坏。
在这里插入图片描述


AP&mAP计算

上面我们知道单独使用Precision和Recall无法判断网络的好坏,所以我们同时使用Precision和Recall联合进行分析,即AP

AP:P-R曲线的面积,P-R曲线为Precision和Recall曲线

mAP:各类别AP的平均值

对图中的7个目标进行检测,检测结果如下表,GT_ID为目标对应的ID,Confidence为检测的概率值,OB即是否是我们要检测的目标。

在这里插入图片描述
在这里插入图片描述

我们分别认为confidence大于0.98认为正确匹配,即confidence大于0.98为正确的检测,则此时只有ID1为检测到的目标,此时计算Precision和Recall,如下表Precision=1和Recall=0.14

在这里插入图片描述
同时认为confidence大于0.89认为正确匹配,此时计算Precision和Recall,如下表Precision=1和Recall=0.28

在这里插入图片描述
同时认为confidence大于0.88认为正确匹配,此时计算Precision和Recall,如下表Precision=1和Recall=0.42
在这里插入图片描述
依次列推明知道全部计算完检测结果,得到右侧Precision和Recall的表格

在这里插入图片描述

根据上表,以Recall为横坐标,Precision为纵坐标可以绘制P-R曲线,其中要去除重复的Recall

在这里插入图片描述

最后,根据图,便可以计算AP值了

在这里插入图片描述


版权声明:本文为weixin_45848575原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。