mAP是目标检测中常用的一个度量检测结果的评价标准,全称是mean average precision,理解这个概念之前,需要了解一些其他的概念。文章主要分为三部分:关于mAP的几个概念,PR曲线以及常见的三种计算mAP的方式。

 

1、相关概念

1)第一组:

True Positives(TP):真正例 (以为是正,实际是的)     

FALSE Positives(FP): 假正例 (以为是正,实际不是)

True Negatives(TN):真负例 (以为是负,实际是的)    这个参数后面没用上   

FALSE Negatives(FP): 假负例 (以为是负,实际不是)

 

关于这四个名词可以这样理解,第二个字代表预测结果,第一个字表示预测的对还是错。

 

目标检测中TP、FP的理解:

一般首先设定一个confidence score,如果大于这个阈值,才会被认为正样本,即Positives

 

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

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

FN: 没有检测到的GT的数量(即置信度小于阈值)

 

2)第二组

precision = TP / (TP+FP)   精度(查准率,即你认为是正样本中实际有多少是正样本)

recall = TP / (TP+TN)      召回率(查全率,所有的正样本中你找出了多少)

 

2、P-R曲线

查准率和查全率一般不可兼得,以recall为横坐标,precision为纵坐标,就可以得到p-r曲线。

根据两者的定义可以知道,随着选定的用于评估的样本数目的增多,recall值会越来越高,但precision的值整体上会呈现出一个下降的趋势。

 

3、三种计算mAP的方式

mAP 是用于衡量该模型在所有类上检测性能好坏的指标,就是所有类上AP的平均值。计算mAP,首先要计算AP。

常见计算AP的三种方式:

1)11-Point(VOC2007使用)默认召回率间隔为{0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0}

2)MaxIntegral(VOC2010及以后)最大值积分法。这种方式更为精确,一般mAP值也会大一些。

3)Integral  普通积分法

 

计算示例:

mAP 理解及求解

mAP 理解及求解

 

rank 的数值即参与计算的元素数目。所有元素按照confidence score从高到低的顺序排列,只取置信度高的。

高于阈值的元素共有十个,依次计算precision和recall值。

 

1)若为11 point方式,则recall依次取数组内的11个元素,依次取大于该recall的最大precision值参与计算,即为:1,1,1,0.5,0.5,0.5,0.5,0.5,0,0,0,平均值为0.5

注意:recall取0.5时的最大值还是0.5

 

2)若为MaxIntegral方式,则recall取实际的数据,即:0.14,0.29,0.43,0.57,0.71还有0和1,计算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

 (即若N个样本中有M个正例,则共有M+1个recall值,{0,1/M,2/M,.....M/M})

相关文章:

  • 2021-11-19
  • 2021-08-31
  • 2021-04-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-13
猜你喜欢
  • 2021-05-31
  • 2021-12-11
  • 2021-12-27
  • 2021-12-14
  • 2021-10-27
相关资源
相似解决方案