目标检测中的mAP

  要计算mAP必须先绘出各类别PR曲线,计算出AP。而如何采样PR曲线,VOC采用过两种不同方法。
  在VOC2010以前,只需要选取当Recall >= 0, 0.1, 0.2, …, 1共11个点时的Precision最大值,然后AP就是这11个Precision的平均值。
  在VOC2010及以后,需要针对每一个不同的Recall值(包括0和1),选取其大于等于这些Recall值时的Precision最大值,然后计算PR曲线下面积作为AP值。

  • AP&mAP
    mAP:mean Average Precision,即各类别AP的平均值
    AP:PR曲线下面积
  • PR曲线
    PR曲线:Precision-Recall曲线
    Precision(查准率):TP / (TP + FP)
    Recall(查全率):TP / (TP + FN)

在这里插入图片描述

  • TP、FP、FN、TN
    TP(True Positive):IoU > IoU

    t

    h

    r

    e

    s

    h

    o

    l

    d

    _{threshold}

    threshold(IoU

    t

    h

    r

    e

    s

    h

    o

    l

    d

    _{threshold}

    threshold一般取 0.5)的检测框数量(同一Ground Truth只计算一次)
    FP(False Positive):IoU <= IoU

    t

    h

    r

    e

    s

    h

    o

    l

    d

    _{threshold}

    threshold的检测框,或者是检测到同一个GT的多余检测框的数量
    FN(False Negative):没有检测到的GT的数量
    TN(True Negative):在mAP评价指标中不会使用到
    在这里插入图片描述

  • 交并比(IoU)
    IoU(Intersection Over Union):指真实框和预测框之间交集和并集的比。假设这里有真实框

    B

    g

    t

    B_{gt}

    Bgt和预测框

    B

    p

    B_p

    Bp,那么 IoU计算公式如下:
    在这里插入图片描述        IoU可以判断预测的检测框是否符合条件,IoU用图片展示如下:
    在这里插入图片描述

  • 评价指标mAP
      下面用一个例子说明AP和mAP的计算。先规定两个公式,一个是Precision,一个是Recall,这两个公式同上面的一样,我们把它们扩展开来,用另外一种形式进行展示,如下所示。
    在这里插入图片描述其中all detctions代表所有预测框的数量, all ground truths代表所有GT的数量。
      AP是计算某一类P-R曲线下的面积,mAP则是计算所有类别P-R 曲线下面积的平均值。
      假设我们有7张图片(Images1-Image7),这些图片有15个目标(绿色的框,GT的数量,上文提及的all ground truths)以及24个预测边框(红色的框,A-Y编号表示,并且有一个置信度值),如下图所示。
    在这里插入图片描述  根据上图以及说明,我们可以列出以下表格,其中Images代表图片的编号,Detections代表预测边框的编号,Confidences代表预测边框的置信度,TP or FP代表预测的边框是标记为TP还是FP(认为预测边框与GT的IOU值大于等于0.3就标记为TP;若一个GT有多个预测边框,则认为IOU最大且大于等于0.3的预测框标记为TP,其他的标记为FP,即一个GT只能有一个预测框标记为TP),这里的0.3是随机取的一个值。
    在这里插入图片描述  通过上表,我们可以绘制出P-R曲线(因为AP就是P-R曲线下面的面积)。但是在此之前我们需要计算出P-R曲线上各个点的坐标,根据置信度从大到小排序所有的预测框,然后就可以计算Precision和Recall的值,见下表。(需要记住一个叫累加的概念,就是下图的ACC TP和ACC FP)
    在这里插入图片描述  标号1:Precision=TP/(TP+FP)=1/(1+0)=1,Recall=TP/(TP+FN)=TP/(all ground truths)=1/15=0.0666
      标号2:Precision=TP/(TP+FP)=1/(1+1)=0.5,Recall=TP/(TP+FN)=TP/(all ground truths)=1/15=0.0666
      标号3:Precision=TP/(TP+FP)=2/(2+1)=0.6666,Recall=TP/(TP+FN)=TP/(all ground truths)=2/15=0.1333
      标号4:Precision=TP/(TP+FP)=2/(2+2)=0.5,Recall=TP/(TP+FN)=TP/(all ground truths)=2/15=0.1333
      标号5:Precision=TP/(TP+FP)=2/(2+3)=0.4,Recall=TP/(TP+FN)=TP/(all ground truths)=2/15=0.1333
      标号6:Precision=TP/(TP+FP)=2/(2+4)=0.3333,Recall=TP/(TP+FN)=TP/(all ground truths)=2/15=0.1333
      标号7:Precision=TP/(TP+FP)=2/(2+5)=0.2857,Recall=TP/(TP+FN)=TP/(all ground truths)=2/15=0.1333
      标号8:Precision=TP/(TP+FP)=2/(2+6)=0.25,Recall=TP/(TP+FN)=TP/(all ground truths)=2/15=0.1333
      标号9:Precision=TP/(TP+FP)=2/(2+7)=0.2222,Recall=TP/(TP+FN)=TP/(all ground truths)=2/15=0.1333
      标号10:Precision=TP/(TP+FP)=3/(3+7)=0.3,Recall=TP/(TP+FN)=TP/(all ground truths)=3/15=0.2
      标号11:Precision=TP/(TP+FP)=3/(3+8)=0.2727,Recall=TP/(TP+FN)=TP/(all ground truths)=3/15=0.2
      标号12:Precision=TP/(TP+FP)=4/(4+8)=0.3333,Recall=TP/(TP+FN)=TP/(all ground truths)=4/15=0.2666
      标号13:Precision=TP/(TP+FP)=5/(5+8)=0.3846,Recall=TP/(TP+FN)=TP/(all ground truths)=5/15=0.3333
      标号14:Precision=TP/(TP+FP)=6/(6+8)=0.4285,Recall=TP/(TP+FN)=TP/(all ground truths)=6/15=0.4
      标号15:Precision=TP/(TP+FP)=6/(6+9)=0.45,Recall=TP/(TP+FN)=TP/(all ground truths)=6/15=0.4
      标号16:Precision=TP/(TP+FP)=6/(6+10)=0.375,Recall=TP/(TP+FN)=TP/(all ground truths)=6/15=0.4
      标号17:Precision=TP/(TP+FP)=6/(6+11)=0.3529,Recall=TP/(TP+FN)=TP/(all ground truths)=6/15=0.4
      标号18:Precision=TP/(TP+FP)=6/(6+12)=0.3333,Recall=TP/(TP+FN)=TP/(all ground truths)=6/15=0.4
      标号19:Precision=TP/(TP+FP)=6/(6+13)=0.3157,Recall=TP/(TP+FN)=TP/(all ground truths)=6/15=0.4
      标号20:Precision=TP/(TP+FP)=6/(6+14)=0.3,Recall=TP/(TP+FN)=TP/(all ground truths)=6/15=0.4
      标号21:Precision=TP/(TP+FP)=6/(6+15)=0.2857,Recall=TP/(TP+FN)=TP/(all ground truths)=6/15=0.4
      标号22:Precision=TP/(TP+FP)=6/(6+16)=0.2727,Recall=TP/(TP+FN)=TP/(all ground truths)=6/15=0.4
      标号23:Precision=TP/(TP+FP)=7/(7+16)=0.3043,Recall=TP/(TP+FN)=TP/(all ground truths)=7/15=0.4666
      标号24:Precision=TP/(TP+FP)=7/(7+17)=0.2916,Recall=TP/(TP+FN)=TP/(all ground truths)=7/15=0.4666
      然后就可以绘制出P-R曲线,如下图所示。
    在这里插入图片描述  得到P-R曲线就可以计算AP(P-R 曲线下的面积)。要计算P-R下方的面积,如下图所示。
    在这里插入图片描述

在这里插入图片描述  由上图可知,

A

P

=

A

1

+

A

2

+

A

3

+

A

4

AP = A1 + A2 + A3 + A4

AP=A1+A2+A3+A4,具体计算如下:
  

A

1

=

(

0.0666

0

)

×

1

=

0.0666

A1 = (0.0666-0) \times 1 = 0.0666

A1=(0.06660)×1=0.0666
  

A

2

=

(

0.1333

0.0666

)

×

0.0666

=

0.04446222

A2 = (0.1333-0.0666) \times 0.0666 = 0.04446222

A2=(0.13330.0666)×0.0666=0.04446222
  

A

3

=

(

0.4

0.1333

)

×

0.4285

=

0.11428095

A3 = (0.4−0.1333) \times 0.4285 = 0.11428095

A3=(0.40.1333)×0.4285=0.11428095
  

A

4

=

(

0.4666

0.40

)

×

0.3043

=

0.02026638

A4 = (0.4666−0.40) \times 0.3043 = 0.02026638

A4=(0.46660.40)×0.3043=0.02026638
  

A

P

=

A

1

+

A

2

+

A

3

+

A

4

=

0.0666

+

0.04446222

+

0.11428095

+

0.02026638

=

0.2456095

=

24.56

%

AP = A1 + A2 + A3 + A4 = 0.0666+0.04446222+0.11428095+0.02026638=0.2456095=24.56\%

AP=A1+A2+A3+A4=0.0666+0.04446222+0.11428095+0.02026638=0.2456095=24.56%
  mAP就是对每一个类别都计算出AP然后再计算AP平均值就好了。

  参考文章:https://www.zhihu.com/question/53405779/answer/993913699
       https://blog.csdn.net/chris_xy/article/details/103036756

版权声明:本文为CSDN博主「大彤小忆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HUAI_BI_TONG/article/details/121212733

大彤小忆

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

【深度学习】目标检测之评价指标

评价指标 时隔一年,又重新开始了学习之路。哈哈哈废话不多说,开始我最近整理的一些内容叭。今天要整理的知识点是目标检测领域常用的几个评价指标,准确率Precision,召回率Recall&

火灾烟雾检测数据集

火灾烟雾检测数据集(群名:火灾烟雾检测) 1. CVPR Lab ——KMU Fire and Smoke database(视频数据,可直接下载) http