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

  • 相关阅读:
    wing ide 注释
    dn.net/blueheart20/article/details/22080489
    ubuntu安装R时候增加软件源到sources.list,sudo apt-get update不能更新
    ubuntu install oracle jdk
    Rhadoop安装
    有向图tarjan算法求连通分量的粗浅讲解、证明, // hdu1269
    POJ 3080 多个串最长公共子序列
    POJ 3461 kmp 应用
    POJ2752 NEXT[J]特性应用利用。
    HDU 1358字符串循环节问题 ,next数组
  • 原文地址:https://www.cnblogs.com/klitech/p/9242700.html
Copyright © 2011-2022 走看看