目标检测map计算方法(【深度学习】目标检测的性能评价指标,mAP_0.5,mAP_0.5,0.95,0.05)
指标
指标有检测精度和检测速度之分:
mAP
mAP是一个容易混淆的概念 。计算mAP之前先考虑我们有的数值:图片原label的bbox 、模型预测的bbox 、模型预测的bbox的置信度 、模型预测的bbox中目标类别的分类置信度 。在YOLO中 ,最后两个数值会乘起来表示一个置信度数值 。
此外 ,我们还需要确定“IoU数值阈值 ”和“置信度阈值 ” ,模型的预测能满足“IoU数值阈值 ”与“置信度阈值 ”(NMS算法)的结果参与最终混淆矩阵计算 。
目标检测有多个类别 ,一个类别计算出的AP数值 ,所有类别平均AP数值称为mAP(mean Average Precision) 。
原label的bbox与模型预测的bbox的交并比为IoU:
精确率公式:
召回率公式:
精确率和召回率是由混淆矩阵中的数值得到 ,其中的TP 、FP 、TN 、FN都是会“IoU数值阈值 ”和“置信度阈值 ”影响的 。举例来说 ,当IoU取值为0.5 ,对于某一个类别 ,取不同“置信度阈值 ” ,我们会得到不同的TP 、FP 、TN 、FN ,也就是不同的P和R ,则可以绘制P-R曲线:
得到P-R曲线之后,计算P-R曲线下方的面积【也称为AUC】即是这个类别的AP数值(最大为1) 。计算方法多种多样 ,可以自行搜索 。
mAP_0.5
即是IoU取值为0.5 ,计算出模型的mAP数值 。
mAP_0.5,0.95,0.05
即是 IoU ∈ [0.5 : 0.05 : 0.95] ,每一个IoU计算出一个mAP ,最后求平均值 。
显然 ,mAP_0.5,0.95,0.05的数值会比mAP_0.5的数值要小 ,因为IoU越大 ,mAP一般就会越小 。参考:
https://www.bilibili.com/video/BV13k4y1m7DY/?vd_source=01d48741bf4b441465aae4f2a5c8e70a创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!