mAp计算

参考:https://blog.csdn.net/ruyingcai666666/article/details/109670567

 

在目标检测算法中,当一个检测结果(detection)被认为是True Positive时,需要同时满足下面三个条件:

1,Confidence Score > Confidence Threshold

2,预测类别匹配(match)真实值(Ground truth)的类别

3,预测边界框(Bounding box)的IoU大于设定阈值,如0.5

不满足条件2或条件3,则认为是False Positive。

改变不同的置信度阈值,可以获得多对Precision和Recall值,Recall值放X轴,Precision值放Y轴,可以画出一个Precision-Recall曲线,简称P-R曲线。

 

 

 
Precision-Recall曲线

如上图所示,当Threshold单调下降的时候,recall是单调上升的;而Precision总体趋势是下降的,局部趋势可能上升,也可能下降,走的所谓“zigzag”形状。

改变IoU的阈值,绘制recall和IoU关系曲线。当IoU≥0.5,检测结果才被认为是True Positive,所以绘制曲线的时候,IoU取值 0.5≤IoU≤1.0。

 
图1 PR曲线, IOU = 0.5,改变confidence
 
Recall-IoU曲线

从Recall-IoU曲线可以看出,Recall跟IoU是单调递减关系,即IoU增加,Recall减少。

了解Confidence Score、IoU、Precision-Recall曲线以及Recall-IoU曲线后,下面本文将介绍目标检测的关键性能评估指标:AP(Average Precision),mAP(mean Average Precision)

 

图2 PR曲线, 改变IOU,confidence = 0.3

小结:目标检测过程中,候选框必须满足:置信度 > 阈值、IOU > 0.5,才行,在评价的时候,例如:固定IOU为0.5,通过改变置信度阈值,可以得到一个PR曲线,计算积分就得到mAp@0.5;

接着将IOU阈值修改为:0.5-0.95等9个阈值,得到另外9个PR曲线,对应9个mAp,那么最终的mAp计算公式为:

mAp@0.5:0.95 = (mAp@0.5 + mAp@0.55 + ... + mAp@0.95) / 10

 

 

posted @ 2023-09-27 15:27  佚名12  阅读(35)  评论(0编辑  收藏  举报