目标检测模型评价指标 mAP及计算方法

目标检测模型评价指标APPRGround Truth

转载自知乎回答:https://www.zhihu.com/question/53405779/answer/419532990,讲解很清晰,码下

mAP: mean Average Precision, 即所有类别AP的平均值

AP: P - R 曲线下面积,后文会详细讲解

PR曲线: Precision-Recall曲线

Ground Truth(GT):已经被正确标注的样本

TP: IoU>0.5的检测框数量(同一Ground Truth只计算一次)

FP: IoU<=0.5的检测框,或者是检测到同一个GT的多余检测框的数量(后文的BB1)

FN: 没有检测到的GT的数量

Precision:TP / (TP + FP) - 表示所有被检测到的样本中 真正是正样本的数量(IoU>0.5) (preicision是在你认为的正样本中, 有多大比例真的是正样本)

Recall:TP / (TP + FN) - 表示所有被标注的正样本(GT)中,有多少被检测到了

AP是P-R曲线所包围的面积,计算mAP必须先绘出各类别PR曲线,计算出AP

两种AP计算方式:

  1. 在VOC2010以前,只需要选取当Recall >= 0, 0.1, 0.2, …, 1共11个点时的Precision最大值,AP就是这11个Precision的平均值。
  2. 在VOC2010及以后,需要针对每一个不同的Recall值(包括0和1),选取其大于等于这些Recall值时的Precision最大值,然后计算PR曲线下面积作为AP值。
MAP计算示例

假设,对于Aeroplane类别,我们网络有以下输出(BB表示BoundingBox序号,IoU > 0.5时GT=1):

BB  | confidence | GT
----------------------
BB1 |  0.9       | 1
----------------------
BB2 |  0.9       | 1
----------------------
BB1 |  0.8       | 1
----------------------
BB3 |  0.7       | 0
----------------------
BB4 |  0.7       | 0
----------------------
BB5 |  0.7       | 1
----------------------
BB6 |  0.7       | 0
----------------------
BB7 |  0.7       | 0
----------------------
BB8 |  0.7       | 1
----------------------
BB9 |  0.7       | 1
----------------------

因此,我们有 TP=5 (BB1, BB2, BB5, BB8, BB9), FP=5 (重复检测到的BB1也算FP)。除了表里检测到的5个GT以外,假设我们还有2个GT没被检测到,因此: FN = 2. 这时我们就可以按照Confidence的顺序给出各处的PR值,如下:

rank=1  precision=1.00 and recall=0.14
----------
rank=2  precision=1.00 and recall=0.29
----------
rank=3  precision=0.66 and recall=0.29
----------
rank=4  precision=0.50 and recall=0.29
----------
rank=5  precision=0.40 and recall=0.29
----------
rank=6  precision=0.50 and recall=0.43
----------
rank=7  precision=0.43 and recall=0.43
----------
rank=8  precision=0.38 and recall=0.43
----------
rank=9  precision=0.44 and recall=0.57
----------
rank=10 precision=0.50 and recall=0.71
----------

对于上述PR值,如果我们采用:

  • VOC2010之前的方法,我们选取Recall >= 0, 0.1, …, 1的11处Percision的最大值:1, 1, 1, 0.5, 0.5, 0.5, 0.5, 0.5, 0, 0, 0。此时Aeroplane类别的 AP = 5.5 / 11 = 0.5

  • VOC2010及以后的方法,对于Recall >= 0, 0.14, 0.29, 0.43, 0.57, 0.71, 1,我们选取此时Percision的最大值:1, 1, 1, 0.5, 0.5, 0.5, 0。此时Aeroplane类别的 AP = (0.14-0)* 1 + (0.29-0.14)* * 1 + (0.43-0.29) * 0.5 + (0.57-0.43) * 0.5 + (0.71-0.57) 0.5 + (1-0.71) *0 = 0.5

  • mAP是各类AP取平均值

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值