共计 3504 个字符,预计需要花费 9 分钟才能阅读完成。
均匀精度(Average Precision,mAP)是一种罕用的用于评估指标检测模型性能的指标。在指标检测工作中,模型须要辨认图像中的不同指标,并返回它们的边界框(bounding box)和类别。mAP 用于综合思考模型在不同类别上的准确度和召回率。
基本知识
IOU (Intersection Over Union)是一种基于 Jaccard Index 的度量,用于评估两个边界框之间的重叠。它须要一个实在边界框和一个预测的边界框。
通过 IOU,能够判断检测是否无效或有效。IOU 由预测边界框与高空实在边界框的重叠面积除以两者的并集面积失去:
这里的 Bp 是预测框,Bgt 是实在的边框
下图显示了实在边界框 (绿色) 和检测到的边界框 (红色) 之间的 IOU。
指标应用的一些基本概念:
- TP(True Positive):真正例,示意模型正确地将正样本分类为正样本。也就是模型预测为正样本且实际上是正样本的数量。
- FP(False Positive):假正例,示意模型谬误地将负样本分类为正样本。也就是模型预测为正样本但实际上是负样本的数量。
- FN(False Negative):假反例,示意模型谬误地将正样本分类为负样本。也就是模型预测为负样本但实际上是正样本的数量。
- TN(True Negative):真反例,示意模型正确地将负样本分类为负样本。也就是模型预测为负样本且实际上是负样本的数量。
个别状况下咱们的指标都是如下计算的:
准确率(Precision):准确率掂量模型在预测为正样本的样本中的正确率,计算公式为 TP / (TP + FP)。
召回率(Recall):召回率掂量模型正确检测出的正样本占所有正样本的比例,计算公式为 TP / (TP + FN)。
下面就是咱们常见的一些指标的基本知识,上面开始介绍对于用于指标检测的指标。
Precision-Recall Curve
准确率 - 召回率曲线(Precision-Recall Curve)是用于评估分类模型在不同阈值下准确率和召回率之间的衡量关系的一种可视化工具。它通过绘制不同阈值下的准确率和召回率之间的曲线来展现模型的性能。
准确率 - 召回率曲线以召回率为横轴,准确率为纵轴,将不同阈值下的准确率和召回率连接起来造成一条曲线。通常,模型在较高的阈值下能够实现更高的准确率,但召回率较低;而在较低的阈值下,模型能够实现较高的召回率,但准确率较低。准确率 - 召回率曲线的形态能够显示模型在不同准确率和召回率之间的平衡点。
通过观察准确率 - 召回率曲线,能够依据具体问题的需要抉择适合的阈值,从而在准确率和召回率之间进行衡量。例如,在一些状况下,更高的准确率可能更重要,而在另一些状况下,更高的召回率可能更为要害。
均匀精度 Average Precision
另一种比拟指标检测器性能的办法是计算 Precision x Recall 曲线下面积 (AUC)。因为 AP 曲线通常是高低波折的曲线,比拟同一图中的不同曲线(不同的检测器) 通常不是一件容易的事件,因为曲线往往会频繁地互相穿插。这就是为什么均匀精度(AP),一个数值度量,也能够帮忙咱们比拟不同的探测器。在实践中,AP 是 0 到 1 之间所有召回值的精度平均值。
从 2010 年开始,PASCAL VOC 挑战计算 AP 的办法产生了变动。PASCAL VOC 执行的插值应用所有数据点,而不是像他们的论文中所说的那样只插值 11 个等距离的点。所以这里咱们将两种实现形式都应用代码实现:
11 点插值
11 点插值通过在一组 11 个等距离召回程度 [0,0.1,0.2,…,1] 上均匀精度来总结 Precision x Recall 曲线的形态:
应用插值后的准确率 - 召回率曲线计算 mAP。通过对插值后的曲线进行积分,计算每个类别的 AP,而后对所有类别的 AP 进行均匀,失去 mAP 值。通过平滑准确率 - 召回率曲线,更精确地评估模型的性能。它提供了更稳固和牢靠的指标。
所有点插值
不是只在 11 个等间距的点上插值,你能够通过所有的点 n 进行插值
AP 不再应用仅在几个点上察看到的精度,而是通过插值每个级别的精度来取得,取召回值大于或等于 r + 1 的最大精度。这样咱们就能够计算出曲线下的预计面积。
准确率 - 召回率曲线是通过在不同阈值下计算离散点失去的。然而,这些离散点可能不足以残缺地形容模型的性能。为了失去更平滑的曲线和更精确的 mAP 值,能够对曲线上的所有点进行插值。对准确率 - 召回率曲线上的每个点进行插值解决。插值办法能够应用各种技术,例如线性插值、多项式插值或样条插值。插值的目标是在两个已知点之间预计出新的点,以取得曲线上更密集的数据点,使得曲线更平滑。
样例
咱们可视化一个例子来更好地了解插值均匀精度的概念。思考以下后果:
一共有 7 幅图像,其中 15 个真值对象由绿色边界框示意,24 个检测对象由红色边界框示意。每个检测到的对象都有一个置信水平,并由字母 (a,B,…,Y) 标识。
下表显示了具备相应置信度的边界框。最初一列将检测标识为 TP 或 FP。如果 IOU≥30%,则认为是 TP,否则为 FP。通过查看下面的图像,能够大抵判断检测到的是 TP 还是 FP。
在一些图像中,有多个检测重叠一个根本真值 (图 2、3、4、5、6 和 7)。对于这些状况,具备最高 IOU 的预测框被认为是 TP(例如,在图 1 中,“E”是 TP,而“D”是 FP,因为 E 和根本真值之间的 IOU 大于 D 和根本真值之间的 IOU)。该规定实用于 PASCAL VOC 2012 度量:“例如,单个对象的 5 次检测(TP) 被计算为 1 次正确检测和 4 次谬误检测”。
Precision x Recall 曲线是通过计算累积 TP 或 FP 检测的 Precision 和 Recall 值来绘制的。所以须要依据检测的置信度对后果进行排序,而后计算每个累积检测的精度和召回率,如下表所示(留神,对于召回率计算,分母项“Acc TP + Acc FN”或“TP”恒定为 15,因为无论检测如何,真值是恒定的):
第二行的示例计算:Precision = TP/(TP+FP) = 1/2 = 0.5, Recall = TP/(TP+FN) = 1/15 = 0.066
绘制精度和召回值,咱们有以下精度 x 召回曲线:
后面曾经说乐,有两种不同的办法来测量插值均匀精度:11 点插值和插值所有点。上面咱们对它们进行比拟:
11 点插值
11 点插值均匀精度的思维是在一组 11 个召回程度 (0,0.1,…,1) 上均匀精度。内插精度值取召回值大于其以后召回值的最大精度,如下所示:
通过利用 11 点插值,咱们失去:
所有点的插值
通过插值所有点,均匀精度 (AP) 能够解释为精度 x 召回率曲线的近似 AUC。这样做的目标是缩小曲线稳定的影响。
从上图能够看出,AUC 能够分为 A1、A2、A3、A4 4 个区域:
计算总面积,失去:
能够看到两种插值办法的插值后果略有不同,后果别离为 24.56% 和 26.84%。
总结
mAP 是指标检测中罕用的评估指标,它可能综合思考模型在不同类别上的性能,因而可能更全面地评估指标检测模型的准确度和召回率。较高的 mAP 值示意模型在指标检测工作上的性能更好。
mAP 的计算过程通常包含以下步骤:
- 预测边界框生成:模型通过对输出图像进行推理,生成一系列预测的边界框,每个边界框包含边界框的地位和预测的指标类别。
- 实在边界框标注:对于每个图像,标注人员手动标记实在的边界框和对应的指标类别。
- IoU 计算:对于每个预测的边界框,计算其与所有实在边界框的重叠度量,罕用的度量是交并比(Intersection over Union,IoU)。
- 置信度排序:将预测的边界框依照其置信度(confidence)进行排序,置信度示意模型对该边界框预测为正确指标的水平。
- 精度 - 召回率曲线绘制:从置信度最高的边界框开始,计算每个置信度程度下的精度和召回率,并绘制精度 - 召回率曲线。
- 均匀精度计算:通过对精度 - 召回率曲线进行积分,计算均匀精度(AP)。对于每个类别,AP 示意在该类别下,从最高置信度到最低置信度的所有置信度程度上的均匀精度。
- mAP 计算:将所有类别的 AP 进行均匀,失去 mAP。
在计算 mAP 时,有两种常见的插值办法:
- 11 点插值 mAP:抉择 11 个特定的召回率值点进行插值,使曲线更平滑,而后计算 AP 和 mAP。
- 所有点插值 mAP:对准确率 - 召回率曲线上的所有点进行插值,使曲线更平滑,而后计算 AP 和 mAP。
这些办法可能更全面、精确地评估指标检测模型在不同类别上的性能,帮忙钻研人员和从业者更好地了解和比拟模型的体现。插值办法可能提供更平滑、更具细节的曲线,提供更精确的性能评估。
https://avoid.overfit.cn/post/13fa0eac9b894c5e922a6d07559833c6
作者:Rafael Padilla