zoukankan      html  css  js  c++  java
  • mAP(Mean Average Precison)理解

    在目标检测算法(如Faster RCNN, YOLO ,SSD)中mAP常做为一种基准来衡量算法的精确度好坏。

    mAP的本质其实是多类检测中各类别最大召回率(recall)的一个平均值

    计算mAP之前我们先要了解Precision和Recall也就是精确率和召回率。

    精确率主要衡量模型做出预测的精准度,也就是TP在TP与FP和中的占比率

    召回率主要用来衡量模型对positives的检测程度,也就是TP在TP与FN中的占比率

    下面我们通过一个例子来讲一下AP (average precision)

    比如在一副图片中我们总共有5个目标,首先我们根据预测的confidence对预测进行排序,假设在前四的预测中我们有2个正确(IoU > 0.5)的。

    所以对前四的precision和recall

    Precision = 2/4 = 0.5

    Recall = 2/5 = 0.4

    现在假设我们对于一个实验结果TOP10的Precision和Recall有如下表:

    随着recall从0到1之间的提升,AP可以由计算十一个不同recall阶层最大precision的评价值而得到

    进一步解释;

    p_interp(r) 是超过r的recall中对应的最大precision值,例如rank6中recall是0.6

    那么p_interp(0.6)就是大于0.6的所有recall中对应的最大的precision的值,对应上表我们得到

     P(0.6) = max(0.5,0.57,0.5,0.44,0.5)= 0.57

    所以AP即0-1的p_interp(r)的均值

    =(1.0*5 + 0.57*4 + 0.5*2)/ 11 

    而mAP则是真的不同类别的AP的均值

    参考:https://medium.com/@jonathan_hui/map-mean-average-precision-for-object-detection-45c121a31173

  • 相关阅读:
    文件参数Python读取wav格式文件
    电子工程术语和定义列表,按字母顺序排列
    MAC地址加减1算法
    uboot通过kernel command line 动态分区 CONFIG_MTD_CMDLINE_PARTS
    c调用shell脚本
    busybox提示can't access tty.job control turned off
    cut命令如何截取以空格隔开的字段
    DS28E01100
    busybox 中的ntpd使用
    Debugfs
  • 原文地址:https://www.cnblogs.com/klitech/p/9242700.html
Copyright © 2011-2022 走看看