目标检测mAP评价指标

本文介绍了目标检测中的mAP指标,包括正负样本定义、TP、TN、FP、FN的概念,以及PR曲线和IoU在计算过程中的作用。文章强调了mAP作为综合评估指标的特点,以及在不同场景下的应用和选择。
摘要由CSDN通过智能技术生成

一、前言

搞清楚一个任务的评价指标是非常重要的,在目标检测任务中有一个重要指标是mAP,下面两篇参考文章写的很好,阅读过后让我大概搞清楚了一点点:理解目标检测当中的mAP详解object detection中的mAP。虽然前人之述备矣,但我还是要做这篇笔记,按自己的思路讲解学到的东西,希望更能加深理解。

二、术语

得先明确几个术语的含义

  • 正/负样本:对于单类别(后面都用狗这个类别),属于这个类别的样本就是正样本,反之是负样本。
  • TP(True Positive):真的正样本,检测器认为框中的是狗,如果真实情况也是如此,那么TP+=1。
  • TN(True Negative):真的负样本,检测器认为框中物体不是狗,且符合实际。
  • FP(False Positive):假的正样本,实际不是狗,但检测器认为是狗。
  • FN(False Negative):假的负样本,实际是狗,但检测器认为不是狗。
  • P(Precision):准确率, P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP,检测器给出的狗样本中检测正确的比例。
  • R(Recall):召回率, R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP T P + F N TP+FN TP+FN其实就等于 G T GT GT的个数),检测器正确找出的狗样本占真实狗样本总数的比例,R越低说明漏检越严重。
  • IoU(Intersection over Union):交并比,检测器出框与GT框交的面积除以并的面积

接下来我们具体看下目标检测中如何划分TP、TN、FP、FN这四类样本,这里借用了第一篇参考博客中的图片
在这里插入图片描述
这是一个用来人脸检测器,蓝色的矩形是GT,绿色的线框是检测器出框,0.7、0.8、0.9是检测器给出的预测置信度。通常会设置两个阈值,一个是置信度阈值 p t h r e s h o l d p_{threshold} pthreshold,另一个是IoU阈值 I o U t h r e s h o l d IoU_{threshold} IoUthreshold。如果检测器给出的置信度大于 p t h r e s h o l d p_{threshold} pthreshold,可以认为这个样本是正样本,这时候再检查IoU,如果大于阈值,则认为是TP,反之认为是FP;那么负样本的情况是不是也可以类推了呢,置信度小于阈值的是负样本,在此基础上IoU大于阈值的是FN,小于的是TN。

但是还有两种情况需要特别关注:

  1. 重复检出的目标算FP,比如NMS前,一堆重叠的框就只有一个是TP其他都是FP
  2. 存在没被检测到的GT,比如上边中间这幅图,没有框与GT相交。这种情况算在FN里边。

三、mAP计算

AP是一个更能表征检测器性能的指标。更近一步,mAP其实只是将多个类别的AP简单的求了一个平均。尽管有一些小的细节不同,但可以近似认为AP是PR曲线下方的面积,这条曲线一般都长下面这个形状,随着R的增加,P会下降,因为会加入很多的FP。PR曲线越接近(1,1),认为检测器性能越好。

PR曲线的一种简单的绘制方法是:固定 I o U t h r e s h o l d IoU_{threshold} IoUthreshold,多次改变 p t h r e s h o l d p_{threshold} pthreshold,每次计算P和R,将(P,R)加入到坐标系中,最后连接成曲线。第二篇博客中给出了一个详细的例子,我这里不再赘述。

一些计算细节,不同的计算方法,文章开头给出的第二篇博客中讲解的很详细,可以去了解一下。

四、总结

下面是COCO benchmark下的各项指标,除了mAP外还有AP50、AP75等指标,需要结合自己的场景选择最合适的指标
在这里插入图片描述
在这里插入图片描述
coco上最高的mAP是66%,自动驾驶的nuScenes上40%多的mAP可能已经很高,这些相比分类任务上90%多的精度数值上差距较大,但需要注意的是,mAP不是传统意义上的准确率,他综合的是精度和召回率。如果算法比较保守,只在很确定的情况下才检测目标,那么他的精度会很高,但是召回率还会很低。并且不同类别检测难度不同,比如小目标检测的难度就远高于大目标的,这样一平均就会拉低mAP。

总而言之,这些指标只是给出一个比较综合的评判一个模型的标准,具体的效果还是需要在实际应用场景下面考量。

插一句,刷知乎时候看到了一个问题,是关于导师的离谱言论的,有一条就是,当向导师汇报自己算法的mAP是0.5的时候。导师说,那这跟直接蒙有什么区别。看了上面对于mAP的讲解,你肯定已经知道他的错误在哪里。哈哈哈,所以还是要搞清楚不同metric的定义和目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糊烟乱雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值