目标检测中的平均精度(mAP)详解--建议收藏+掌握

2022-09-26 10:24:20 浏览数 (1)

导读

本文将详细介绍目标检测中的平均精度(mAP),建议收藏并掌握。(公众号:OpenCV与AI深度学习)

背景介绍 平均精度(mAP) 是用于评估机器学习模型的性能指标。它被PASCAL VOC、COCO、ImageNET 挑战、Google Open Image Challenge等基准挑战所使用。在 PASCAL VOC 中,平均平均精度( mAP)和平均精度 (AP)具有不同的含义。它们是针对单个 IoU 阈值(即 0.5)计算的。然而,在 MS COCO mAP和AP可以互换使用,它是针对一组 IoU 阈值 (0.5:.0.05.0.95) 计算的。

模型评估辅助指标 在讨论平均精度 (mAP) 之前,了解以下指标也很重要,因为许多指标可以评估机器学习模型,每个指标都有其优点和权衡。 【1】联合交集--IOU Intersection over Union (IoU) 是量化两个区域之间重叠程度的指标。

如上图所示,IoU 度量评估预测的正确性。该值范围从 0 到 1。借助 IoU 阈值,我们可以确定预测是True Positive、False Positive还是False Negative。这些术语又是什么意思?这些术语共同构成了混淆矩阵。 【2】混淆矩阵 为了理解混淆矩阵,让我们举一个分类问题的例子。模型必须识别图像中是否有热狗。预测可以是正确的,也可以是不正确的。根据输出和实际图像,可以进行以下预测组合。

同样,这些术语也适用于对象检测和分割。但是,确切的含义并不相同。在目标检测中,预测的正确性(TP、FP 或 FN)是在 IoU 阈值的帮助下确定的。而在图像分割中,它是通过参考Ground Truth像素来决定的。Ground Truth表示已知对象。

请注意,True Negative不适用于对象检测和分割。它正确地将对象的背景检测为背景。这相当于没有检测到任何东西。

【3】准确率(Precision)

准确率表示实际正确的预测正样本的比例。数学定义如下:

【4】召回率(Recall)

召回率表示正确预测的实际为正样本的比例。数学定义如下:

什么是平均精度(AP) 平均精度 (AP)并不是精度 (P)的平均值。AP一词随着时间的推移而演变。为简单起见,我们可以说它是精确召回曲线下的面积。在这里,我们将通过一个简单的对象检测示例,学习如何手动计算平均精度(AP)。 【1】如何手动计算平均精度(AP)? 让我们考虑以下具有各种类别的图像。YOLOv5 nano 模型正在预测对象上的边界框。IoU 阈值设置为 0.5,ground truths可以明显看出。

‍ 我们可以看到图像具有以下对象(Ground Truths)。

  • 2个人
  • 12条狗
  • 1 只泰迪熊
  • 1辆卡车

YOLOv5 nano 模型预测了以下物体:

平均精度 (AP) 是按类别计算的。稍后我们将讨论原因。现在,让我们开始计算狗类的AP 。要遵循的步骤如下:

  • 记录每个 Dog 检测以及 Confidence 分数
  • 计算精度和召回率 在这里,我们计算检测精度和召回值。按照以下步骤将数据制成表格。 按置信度降序对表进行排序。 将累计 TP 和 FP 制表(继续将当前值与上一行相加)。 计算逐行精度和召回率。
  • 绘制 Precision-Recall 图

注意

0 人点赞