目标检测-AP计算方式
**********************2023年07月01日10:53:43 更新*******************************************
说一下倒数第二张图里绿色第四列为什么是4/7而不是3/6,,首先我们知道第四列求的是精确率中最大的,那么是什么条件下的精确率?——条件是保证该精确率对应的召回率r'大于等于当前召回率r,,,如图绿色那行,当前召回率就是3/6,符合上述条件的精确率有3/6、4/7、4/8……,显然这里数值最大的就是4/7,所以此处是4/7而不是3/6。(我刚开始看也没懂,读了好几遍才明白😂
************************************************************
接下来说说AP的计算,此处参考的是PASCAL VOC CHALLENGE的2010年之前计算方法。首先设定一组阈值,[0, 0.1, 0.2, …, 1]。然后对于recall大于每一个阈值(比如recall>0.3),我们都会得到一个对应的最大precision。这样,我们就计算出了11个precision。AP即为这11个precision的平均值。这种方法英文叫做11-point interpolated average precision。
当然PASCAL VOC CHALLENGE自2010年后就换了另一种计算方法。新的计算方法假设这N个样本中有M个正例,那么我们会得到M个recall值(1/M, 2/M, ..., M/M),对于每个recall值r,我们可以计算出对应(r' >= r)的最大precision,然后对这M个precision值取平均即得到最后的AP值。计算方法如下:
相应的Precision-Recall曲线(这条曲线是单调递减的)如下:
AP衡量的是学出来的模型在每个类别上的好坏,mAP衡量的是学出的模型在所有类别上的好坏,得到AP后mAP的计算就变得很简单了,就是取所有AP的平均值。
参考:https://blog.csdn.net/zdh2010xyz/article/details/54293298
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/16353204.html,如有侵权联系删除