目标检测算法map_「目标检测」什么是mAP

1、什么是mAP?

mAP(mean Average Precision)表示各类别的平均AP

2、什么是AP?

PR曲线下的面积

3、什么是PR曲线?

以Precision为y轴,以Recall为x轴所画的曲线

4、什么是Precision和Recall

698781cc8453fb0642c4675713cfd7d0.png

Precision: TP / (TP + FP),精确率,也叫查准率,在所有的预测正类中有多少真正类。

Recall: TP / (TP + FN),召回率,也叫查全率,在所有的真正类中有多少真正类被正确预测出来,与漏检率相对。

对于目标检测的任务场景,其中:

  • TP: IoU>0.5的检测框数量(同一Ground Truth只计算一次)
  • FP: IoU<=0.5的检测框,或者是检测到同一个GT的多余检测框的数量
  • FN: 没有检测到的GT的数量

5、怎么画PR曲线?

(1)对检测框按得分从大到小排序

a27db0eda0edba25f72b176723efab53.gif

(2)对不同的IoU阈值计算出Precision和Recall,以recall为横轴,precision为纵轴画出曲线。

76ce2bfb6a9c76b85de6f2292e648ad9.gif

6、如何计算AP?

下图给出的是PASCAL VOC CHALLENGE自2010年的计算方法。该方法假设这N个样本中有M个正例,那么会得到M个recall值(1/M, 2/M, …, M/M),对于每个recall值 r,可以计算出对应(r’ > r)的最大precision,然后对这M个precision值取平均即得到最后的AP值。注意到最终计算的面积是蓝色区域的部分:

b2e3d01d2713cd7ab96f97625806fec5.png

下面是改自faster rcnn中计算AP的代码:

https://github.com/rbgirshick/py-faster-rcnn/blob/master/lib/datasets/voc_eval.py

59d26dda8d60c4c3fca2fcffad8d7e7f.png

输出:

78177f01f651b10e8d6a3ac28b6646f8.png

7、如何计算mAP?

AP衡量一个类别的检测好坏,mAP则是衡量多个类别检测的好坏。把所有类的AP值取平均即可得mAP。比如有两类,类A的AP值是0.5,类B的AP值是0.2,那么mAP=(0.5 + 0.2)/ 2=0.35。

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值