天天看点

目标检测评价指标mAP

目标检测评价指标

mAP是目标检测中常用的评价指标之一,在论文中可以经常看到。全称是

mean average precision (mAP)

即各个类别AP的平均值。常用的评测指标有:

  • mAP:
    • mean Average Precision, 即各类别AP的平均值
  • TP、FP、FN、TN
    • True Positive (TP): IoU>IOU_threshold(一般设置为0.5)的检测框数量(同一Ground Truth/GT只计算一次)
    • False Positive (FP): IoU<=IOU_threshold(一般设置为0.5)的检测框,或者是检测到同一个GT的多余检测框的数量
    • False Negative (FN): 没有检测到的GT的数量
    • True Negative (TN): 在 mAP 评价指标中不会使用到
  • 查准率,查全率
    • Precision: TP / (TP + FP)
    • Recall: TP / (TP + FN)

    PR曲线 : Precision-Recall曲线

    AP: PR曲线下面积,后文会详细讲解

    目标检测评价指标mAP
  • 交互比( Intersection Over Union (IOU))
    • 交并比(IOU)是度量两个检测框(对于目标检测来说)的交叠程度,公式如下:
    目标检测评价指标mAP
    • B_gt 代表的是目标实际的边框(Ground Truth,GT),B_p 代表的是预测的边框,通过计算这两者的 IOU,可以判断预测的检测框是否符合条件,IOU 用图片展示如下:
目标检测评价指标mAP

评价指标mAP

下面用一个例子说明 AP 和 mAP 的计算

先规定两个公式,一个是 Precision,一个是 Recall,这两个公式同上面的一样,在之前的博客中有介绍,参见https://blog.csdn.net/uncle_ll/article/details/117255345

把它们扩展开来,用另外一种形式进行展示,其中

all detctions

代表所有预测框的数量,

all ground truths

代表所有 GT 的数量。

目标检测评价指标mAP

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 是随机设置的一个值。

目标检测评价指标mAP

通过上表,就可以绘制出 P-R 曲线(因为 AP 就是 P-R 曲线下面的面积),但是在此之前需要计算出 P-R 曲线上各个点的坐标,根据置信度从大到小排序所有的预测框,然后就可以计算 Precision 和 Recall 的值,见下表。(需要记住一个叫累加的概念,就是下图的 ACC TP 和 ACC FP)

目标检测评价指标mAP
  • 标号为 1 的 Precision 和 Recall 的计算方式:Precision=TP/(TP+FP)=1/(1+0)=1,Recall=TP/(TP+FN)=TP/(

    all ground truths

    )=1/15=0.0666 (

    all ground truths 上面有定义过了

  • 标号 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
  • 其他的依次类推

绘制出 P-R 曲线

目标检测评价指标mAP

得到 P-R 曲线就可以计算 AP(P-R 曲线下的面积),要计算 P-R 下方的面积,一般使用的是插值的方法,取 11 个点 [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] 的插值所得

目标检测评价指标mAP

得到一个类别的 AP 结果如下:

目标检测评价指标mAP

要计算 mAP,就把所有类别的 AP 计算出来,然后求取平均即可。

mAP.5 与mAP.5:.95

  • mAP.5

    表示IOU阈值设置为0.5时候计算的mAP
  • [email protected][.5:.95]

    (

    [email protected][.5,.95]

    ) 表示在阈值区间 [0.5, 0.95],步长为0.5的平均mAP 。IoU thresholds, from 0.5 to 0.95, step 0.05 (0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95).

来源

  • A Comparative Analysis of Object Detection Metrics with a

    Companion Open-Source Toolkit

  • 项目地址:https://github.com/rafaelpadilla/Object-Detection-Metrics
  • https://datascience.stackexchange.com/questions/16797/what-does-the-notation-map-5-95-mean
  • https://www.zhihu.com/question/53405779
  • https://cocodataset.org/#detection-eval

继续阅读