有关物体识别中mAP的理解 (#组合转载)

明确问题: 大背景是object detection, 我就以正在学的RetinaNet应用背景为例,
识别出来的每一个框都有N+1个score, 对应着N个class和1个background, 我们会选score最高的那个作为最终的判断
基本定义: precision和recall的含义, preicision是在你认为的正样本中, 有多大比例真的是正样本,
recall则是在真正的正样本中, 有多少被你找到了。 问题核心: 我们需要一个对于score的threshold, 为什么呢?
比如在一个bounding box里, 我识别出来鸭子的score最高, 可是他也只有0.1, 那么他真的是鸭子吗? 很可能他还是负样本。
所以我们需要一个阈值, 如果识别出了鸭子而且分数大于这个阈值才真的说他是正样本,否则他是负样本
.

那么threshold到底是怎么影响precision和recall的呢? 我们还是用鸭子的例子
如果threshold太高, prediction非常严格,所以我们认为是鸭子的基本都是鸭子,precision就高了;但也因为筛选太严格, 我们也放过了一些score比较低的鸭子,所以recall就低了
如果threshold太低, 什么都会被当成鸭子, precision就会很低,
recall就会很高这样我们就明确了threshold确实对鸭子的precision和recall产生影响和变化的趋势, 也就带来了思考,
precision不是一个绝对的东西,而是相对threshold而改变的东西, recall同理,
那么单个用precision来作为标准判断, 就不合适。 这是一场precision与recall之间的trade off,
用一组固定值表述不够全面, 因为我们根据不同的threshold, 可以取到不同(也可能相同)的precision recall值。
这样想的话对于每个threshold,我们都有(precision, recall)的pair,也就有了precision和recall之间的curve关系有了这么一条precision-recall curve,他衡量着两个有价值的判断标准, precision和recall的关系, 那么不如两个一起动态考虑, 就有了鸭子这个class的Average Precision, 即curve下的面积, 他可以充分的表示在这个model中, precision和recall的总体优劣。
最后, 我们计算每个class的Average Precision, 就得到了mean Average Precision.
.
作者:陳子豪
链接:https://www.zhihu.com/question/53405779/answer/429585383
来源:知乎

  1. 对于某个类别C,在某一张图片上

首先计算C在一张图片上的Precision=在一张图片上类别C识别正确的个数(也就是IoU>0.5)/一张图片上类别C的总个数
在这里插入图片描述
2. 依然对于某个类别C,可能在多张图片上有该类别,下面计算类别C的AP指数: AP=每张图片上的Precision求和/含有类别C的图片数目
在这里插入图片描述
3. 对于整个数据集,存在多个类别C1、C2、C3:

mAP=上一步计算的所有类别的AP和/总的类别数目

相当于所有类别的AP的平均值
.
来源:https://blog.csdn.net/chenmaolin88/article/details/80445128

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值