目标检测模型中的性能评估——MAP(Mean Average Precision)

原文链接 https://blog.csdn.net/katherine_hsr/article/details/79266880
目标检测模型中性能评估的几个重要参数有精确度,精确度和召回率。本文中我们将讨论一个常用的度量指标:均值平均精度,即MAP。
在二元分类中,精确度和召回率是一个简单直观的统计量,但是在目标检测中有所不同的是及时我们的物体检测器在图像中检测到物体,如果我们仍无法找到它所在的图像中的哪个位置也是无用的。由于我们需要预测图像中的目标的发生和位置,所以在计算精确度和召回率与普通的二分类有所不同。
目标检测问题
目标检测问题是指:
给定一个图像,找到其中的目标,找到它们的位置,并且对目标进行分类。目标检测模型通常是在一组固定的类上进行训练的,所以模型只能定位和分类图像中的那些类。此外,目标的位置通常是边界矩阵的形式。所以,目标检测需要涉及图像中目标的位置信息和对目标进行分类。所以本文将要描述的均值平均精度(Mean Average Precision)特别适用于我们预测目标与类的位置的算法。同时均值平均值对于评估模型定位性能、目标监测模型性能和分割模型性能都是有用的。
评估目标检测模型
选择MAP的原因
目标检测问题中的模型的分类和定位都需要进行评估,每个图像都可能具有不同类别的不同目标,因此,在图像分类问题中所使用的标准度量不能直接应用于目标检测问题。
Ground Truth 的定义
对于任何算法,度量总是与数据的真实值(Ground Truth)进行比较。我们只知道训练、验证和测试数据集的Ground Truth信息。对于物体检测问题,Ground Truth包括图像,图像中的目标的类别以及图像中每个目标的边界框。
下图给出了一个真实的图像(JPG/PNG)和其他标注信息作为文本(边界框坐标(X, Y, 宽度和高度)和类),其中上图的红色框和文本标签仅仅是为了更好的理解,手工标注可视化显示。

对于上面的例子,我们在模型在训练中得到了下图所示的目标边界框和3组数字定义的ground truth(假设这个图像是1000*800px,所有这些坐标都是构建在像素层面上的)

接下来,让我们看看如何计算MAP
计算MAP
假设原始图像和真实的标注信息(ground truth)如上所示,训练和验证数据以相同的方式都进行了标注。该模型将返回大量的预测,但是在这些模型中,大多数都具有非常低的置信度分数,因此我们只考虑高于某个置信度分数的预测信息。我们通过我们的模型运行原始图像,在置信阈值确定之后,下面是目标检测算法返回的带有边框的图像区域(bounding boxes)。

但是怎样在实际中量化这些检测区域的正确性呢?
首先我们需要知道每个检测的正确性。测量一个给定的边框的正确性的度量标准是loU-交幷比(检测评价函数),这是一个非常简单的视觉量。
下面给出loU的简单的解释。
loU
loU(交并比)是模型所预测的检测框和真实(ground truth)的检测框的交集和并集之间的比例。这个数据也被称为Jaccard指数。为了得到交集和并集值,我们首先将预测框叠加在ground truth实际框上面,如下图所示:

现在对于每个类,预测框和真实框重叠的区域就是交集区域,预测框和真实框的总面积区域就是并集框。
在上面的目标马的交集和联合看起来是这样的:

交集包括重叠区域(青色区域), 并集包括橙色和青色区域。
loU(交并比将会这样计算):

识别正确的检测和计算精度
我们使用loU看检测是否正确需要设定一个阈值,最常用的阈值是0.5,即如果loU>0.5,则认为是真实的检测(true detection),否则认为是错误的检测(false detection)。我们现在计算模型得到的每个检测框(置信度阈值后)的loU值。用计算出的loU值与设定的loU阈值(例如0.5)比较,就可以计算出每个图像中每个类的正确检测次数(A)。对于每个图像,我们都有ground truth的数据(即知道每个图像的真实目标信息),因此也知道了该图像中给定类别的实际目标(B)的数量。我们也计算了正确预测的数量(A)(True possitive)。

即给定一张图像的类别C的Precision=图像正确预测(True Positives)的数量除以在图像张这一类的总的目标数量。
假如现在有一个给定的类,验证集中有100个图像,并且我们知道每个图像都有其中的所有类(基于ground truth)。所以我们可以得到100个精度值,计算这100个精度值的平均值,得到的就是该类的平均精度。

即一个C类的平均精度=在验证集上所有的图像对于类C的精度值的和/有类C这个目标的所有图像的数量。
现在加入我们整个集合中有20个类,对于每个类别,我们都先计算loU,接下来计算精度,然后计算平均精度。所有我们现在有20个不同的平均精度值。使用这些平均精度值,我们可以轻松的判断任何给定类别的模型的性能。
但是问题是使用20个不同的平均精度使我们难以度量整个模型,所以我们可以选用一个单一的数字来表示一个模型的表现(一个度量来统一它们),我们可以取所有类的平均精度值的平均值,即MAP(均值平均精度)。

MAP=所有类别的平均精度求和除以所有类别
即数据集中所有类的平均精度的平均值。
使用MAP值时我们需要满足一下条件:
(1) MAP总是在固定的数据集上计算
(2)它不是量化模型输出的绝对度量,但是是一个比较好的相对度量。当我们在流行的公共数据集上计算这个度量时,这个度量可以很容易的用来比较不同目标检测方法
(3)根据训练中类的分布情况,平均精度值可能会因为某些类别(具有良好的训练数据)非常高(对于具有较少或较差数据的类别)而言非常低。所以我们需要MAP可能是适中的,但是模型可能对于某些类非常好,对于某些类非常不好。因此建议在分析模型结果的同时查看个各类的平均精度,这些值也可以作为我们是不是需要添加更多训练样本的一个依据。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 平均精确度平均值(Mean Average Precision, MAP)是一种评估分类器性能的指标,常用于在信息检索、计算机视觉和自然语言处理等领域。它衡量了分类器对于每个查询的平均精确度。 精确度(precision)是指分类器正确预测的样本数占总预测样本数的比例,即: precision = 正确预测的样本数 / 总预测样本数 平均精确度(Average Precision, AP)则是对于每个查询,精确度随着预测正确的样本数的增加而变化的曲线(称为精确度召回曲线)的面积(称为精确度召回平滑曲线)。 平均精确度平均值(MAP)就是所有查询的平均精确度的平均值。通常情况下,计算平均精确度平均值时,会设定一个召回率阈值,只计算超过这个阈值的部分的平均精确度。这是因为,当召回率较低时,精确度也会相应降低,对于评估分类器性能不具有参考意义。 平均精确度平均值是一种多类分类问题常用的性能评估指标, ### 回答2: Mean Average PrecisionMAP)是一种用来评估信息检索系统效果的指标。MAP的计算方法是根据检索系统返回的检索结果对相关文档进行排序,然后计算每个检索结果的Average Precision(AP),再取所有AP的平均值。 在MAP,首先需要将文档按照相关性进行排序。相关性越高的文档应排在前面,以提高系统的准确性。然后,对于每个检索结果,计算其Precision和Recall,即查准率和查全率。通过计算Precision和Recall,可以得到Precision-Recall曲线上的一个点。而AP则是该点左边的面积,也就是可以被正确检索到的文档的平均比例。 计算所有的AP后,再计算其平均值,得到MAPMAP的取值范围为0到1,数值越大表示检索系统的性能越好。 MAP的优点是综合考虑了检索结果的排序,适用于评估信息检索系统的整体性能。与其他指标相比,如Precision和Recall等,MAP更关注整个检索结果的平均准确率,而不仅仅是前几个结果的准确性。 总之,MAP评估信息检索系统效果的有效指标,可以帮助评估系统的检索准确性和排序效果。对于信息检索研究和相关领域的评估工作具有重要意义。 ### 回答3: Mean Average Precision (MAP),即平均精度均值,是对信息检索系统结果的一种评估指标。它是通过计算查询结果的每个文档的平均精度来衡量系统的性能。 在信息检索,我们常常需要根据用户提供的查询词来检索相关的文档。MAP是用来衡量检索结果的排序质量的指标。对于一个查询,我们将相关的文档在结果排在前面。而MAP则是通过计算平均精度评估这种排序质量。 精度指标反映了查询结果相关文档的比例。对于每个查询,我们可以计算其关联文档的精度,然后将这些精度平均得到平均精度。然后,我们可以对多个查询的平均精度再取平均得到MAPMAP可以更全面地评估信息检索系统的排序性能。它不仅考虑了文档的排名,还考虑了相关文档在结果的位置。因此,MAP对于评估搜索引擎、推荐系统等具有重要意义。 总之,Mean Average Precision (MAP)是一种用于评估信息检索系统结果质量的指标。通过计算每个查询的平均精度,再对多个查询取平均,可以得到MAP值。MAP能够衡量系统在排序和位置方面的表现,对于评估搜索引擎和推荐系统等具有重要意义。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值