目标检测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值了