目标检测指标AP和mAP.

一、准确率&回归率

  • 术语表:
-预测正例预测反例
真值正例TPFN
真值反例FPTN
  • 准确率Precision公式表示:

P r e c i s o n = T P T P + F P Precison=\frac{TP}{TP+FP} Precison=TP+FPTP

  • 回归率Recall公式表示:

R e c a l l = T P T P + F N Recall=\frac {TP}{TP+FN} Recall=TP+FNTP

​ Precision表示预测为正例的结果中有多少是对的,比如100个样本,预测正例为50个,正确的样本有TP=25个,预测错误的有FP=25个。那么Precision就等于50%。但考虑极端情况下,只使用准确率是不合适的,比如100个样本,预测正例1个,恰好真值为正例也是TP=1个,FP=0个,那么Precision=100%,但是有99个都被预测成了反例。Recall指标就是为了权衡这个问题,进而更好衡量真值正例的预测情况,还需要计算预测正例在真值正例(=TP+FN)中的比例。只有两个指标都很高的时候,说明结果才是好的。

二、AP的概念

  • P-R图

    以Recall为横轴,Precision为纵轴,并将每次的值画出连线,就可以得到P-R图。随着Recall增加,Precision会逐渐降低,并在某个值附近上下波动。

  • AP(Average Precision)

    AP为平均精度,使用积分的方式来计算PR曲线与坐标轴围成的面积:
    ∫ 0 1 f ( r )   d r \int_{0}^{1}f(r)\,{\rm d}r 01f(r)dr
    实际操作不计算积分,而是对其进行平滑操作来简化计算,对PR曲线上的每个点,Precision取该点右侧最大的值,如图所示:

在这里插入图片描述

​ 计算出AP后,对所有类别的AP加和求平均就得到整个数据集上的mAP。

三、目标检测中的mAP

​ 不同的数据集会给出不同的mAP计算方法。

​ 目标检测算法最终会得到score1和bbox,按照score降序排序,通过设定score阈值来分出正类例和反类例(带有对类别的预测),因此评价mAP可以是在多个阈值尺度下分开的正反例来计算的:

  1. 【训练时】使用区域选择算法得到候选区域
  2. 【训练时】对于候选区,计算每一个候选区和标定框(真值)之间的IoU
  3. 【训练时】设定一个IoU阈值,大于这个阈值的候选区标定为正例,小于的标定为反例。得到一组测试集,及训练好的权重模型。
  4. 【预测时】将上面得到的测试集,通过分类器权重模型,算出每一个图片是正样本的score。
  5. 【预测时】设定一个score阈值,大于等于这个值的方框类别视为预测正例,反之为预测反例。
  6. 【预测时】根据第五步的结果算出Precision和Recall。
  7. 调整score的阈值,得到某个类别对应Recall从0到1对应的Precision值,计算出所有类的AP后就可以计算mAP了。
Score Threshold TP/FP/FN/TN Recall Precision Impact on Impact on Impact on Indirectly Impact Indirectly Impact Score Threshold TP/FP/FN/TN Recall Precision
  • Interplolated AP(略)

  • MS COCO mAP

      A P 50 \ AP_{50}  AP50:IoU阈值为0.5时的AP测量值

      A P 75 \ AP_{75}  AP75:IoU阈值为0.75时的AP测量值

      A P S \ AP_{S}  APS: 像素面积小于   3 2 2 \ 32^{2}  322的目标框的AP测量值(小尺度)

      A P M \ AP_{M}  APM:像素面积在   3 2 2 − 9 6 2 \ 32^{2}-96^{2}  322962之间的目标框的AP测量值(中尺度)

      A P L \ AP_{L}  APL:像素面积大于   9 6 2 \ 96^{2}  962的目标框的AP测量值(大尺度)

Reference

目标检测的指标AP与mAP - 知乎 (zhihu.com)


  1. 每一个预测框都对应着N+1个score,也就是对应着N个类别预测和一个background,选择score得分最高的那个作为这个框的类别。 ↩︎

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测中的AP(Average Precision)是一种常用的评价指标,用于衡量目标检测算法在不同类别上的性能。AP的计算方式根据不同的数据集和评价方法可能会有所不同,这里我给出一种常见的计算方式。 首先,需要明确几个概念: - TP(True Positive):检测到的目标被正确地分类为正样本(目标存在)。 - FP(False Positive):检测到的目标被错误地分类为正样本(目标不存在)。 - Precision(精确):TP与(TP + FP)的比值,表示正确分类为正样本的概。 - Recall(召回):TP与(TP + FN)的比值,表示正样本被正确检测出的概。 - FN(False Negative):目标未被检测到,即目标存在但被错误地分类为负样本(目标不存在)。 AP的计算步骤如下: 1. 对于每个类别,首先按照预测结果的置信度进行排序。 2. 从置信度最高的预测开始,依次计算Precision和Recall,并绘制Precision-Recall曲线。 3. 通过计算Precision-Recall曲线下的面积(AUC),得到AP值。 AP值越高,表示目标检测算法在对应类别上的性能越好。同时,AP值还可以通过计算多个类别的平均值得到mAP(mean Average Precision),用于综合评估目标检测算法的性能。 需要注意的是,不同数据集和评价方法可能会对AP的计算方式有所调整,因此具体的计算公式可能会有所差异。以上是一种常见的计算方式的解释。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值