AP与mAP的详解

AP和mAP是图像分类任务中的评价方法。

mAP的计算方法:

1、首先使用训练好的模型获得所有测试样本的confideutnce score,每个类别(如person、car等)都会获得一组confidence score,假设现在共有20个测试样本,如下给出这20个样本的id、confidence score、真实标签ground truth label。

2、按照上图中的score值从大到小对所有样本进行排序,排序后结果如下图所示:

3、计算precision和recall值

在计算之前首先举个例子通俗地解释一下什么是precision和recall。

precision(精确率):你预测出的结果有多少是正确的。

recall(召回率):正确的结果有多少被你给出来了。

假设一个不透明的盒子里有8个红球和3个蓝球,现在让你取出了所有红球,你取出来了5个球,但里面有3个红球,2个蓝球。

precision=3/5 指你取出来的5个球里面只有3个是正确的

recall=3/8 指8个红球只有3个被你取出来了。

 

用(True Positive+False Positive)来表示分类任务中我们取出来的结果,如在测试集上取出Top-5的结果为

其中id为4和2的样本图片为True Positive,id为13、19、6的样本为False Positive。剩余排在Top-5之外的元素时我们没有取出来的。如下:

这个例子中precision=2/5,recall=2/6。

实际的任务中通常不会满足只用Top-5来衡量模型的好坏。

4、计算AP

设总数为N的样本中总共有M个正样本,则从Top-1至Top-N可以有M个recall值,分别为(1/M,2/M,...,M/M),对于每个recall值r,可以从对应的(r'>=r)中计算出一个最大的precision,对这M个precision求平均得到AP,如下图所示:

在上图所示中,共有6个正例,因此共有6个recall值,分别为1/6、2/6、3/6、4/6、5/6、6/6,

当recall=1/6时,r'为1/6、2/6、3/6、4/6、5/6、6/6,最大的precision=1;

当recall=2/6时,r'为2/6、3/6、4/6、5/6、6/6,最大的precision=2/2=1;

当recall=3/6时,r'为3/6、4/6、5/6、6/6,最大的precision=4/7;

当recall=4/6时,r'为4/6、5/6、6/6,最大的precision=4/7;

当recall=5/6时,r'为5/6、6/6,最大的precision=5/11;

当recall=6/6时,r'为6/6,最大的precision=6/16。

AP=\frac{1+1+4/7+4/7+5/11+6/16}{6}=0.6621

此时AP表示训练出来的模型在当前类别上的好坏。

5、计算mAP

按照第4步的方法对每个类别都计算出AP,求均值得到mAP。

 

参考文献:

https://blog.csdn.net/zdh2010xyz/article/details/54293298

  • 34
    点赞
  • 181
    收藏
  • 打赏
    打赏
  • 15
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 15

打赏作者

micro wen

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值