导读
本文将详细介绍目标检测中的平均精度(mAP),建议收藏并掌握。(公众号:OpenCV与AI深度学习)
如上图所示,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)
召回率表示正确预测的实际为正样本的比例。数学定义如下:
我们可以看到图像具有以下对象(Ground Truths)。
YOLOv5 nano 模型预测了以下物体:
平均精度 (AP) 是按类别计算的。稍后我们将讨论原因。现在,让我们开始计算狗类的AP 。要遵循的步骤如下:
注意👉🏼:如果表中包含相同召回值的多个精度值,您可以考虑最高值并丢弃其余值。不这样做不会影响最终结果。这是为了简化情节。在我们的例子中,我们正在绘制所有内容。
精度值在 11 个召回值之间进行插值,即 0、0.1、0.2、0.3、…、1.0。插值后的 Precision 是Recall 值大于当前 Recall 值对应的最大 Precision。简单来说,就是右边的最大精度值。
🤔为什么只对 11 个召回点进行精度插值❓ 从论文中引用,以这种方式插入精度/召回曲线的目的是减少由示例排名的微小变化引起的精度/召回曲线“摆动”的影响。 实际上,评估数据集是巨大的。当我们为所有预测绘制图表时,相邻点之间的差异将非常小。因此,要比较两个模型,11 点插值就足够了。 🤔 也是计算所有点的平均精度(AP)❓ 是的,它是针对所有点计算的。其实这也是VOC在2010年采用的另一个评价指标,我们稍微讨论一下。现在,让我们继续使用 11 点插值法并绘制图形。
同样,我们可以计算人、泰迪、绵羊和卡车的平均精度(AP)。确保为以下至少两个类别计算 AP,以便清楚理解。完成后,我们将继续计算平均精度(mAP)。
该指标用于评估分类模型。在 PASCAL VOC 2005 中引入了 ROC(接收器操作特性)-AUC(曲线下面积)度量。绘制了对应于假阳性率 (FPR) 值的真阳性率 (TPR) 值。
TPR = TP / (TP + FN)
FPR = FP/(FP+FN)
我们已经讨论过 11 点插值法。它是在 2007 年的 PASCAL VOC 挑战赛中引入的。它以 IoU 阈值 0.5 计算。与 ROC-AUC 相比,该指标更敏感。该度量具有以下优点。
PR-AUC 是 Precision-Recall 曲线下的确切面积。与 11 点法不同,我们不必插入精度值。并且最终值不除以 11。这也是在 IoU 阈值 0.5 时计算的。
到目前为止,PASCAL VOC 引入的指标是标准的基准测试系统。然而,随着时间的推移,模型开始饱和。据观察,即使是具有同等分数的模型也表现不一样。MS COCO 在 2014 年引入了 101 Point Interpolation AP。它是 PR 曲线下 AUC 的更好近似。
此外,COCO 通过将mAP@0.5重新定义为mAP@ [0.5:0.05:0.95],使挑战变得更加严峻。早些时候,mAP 在 IoU 阈值 0.5 时进行了评估。COCO mAP 是针对一组 10 个不同的 IoU 阈值计算的,然后取平均值。它的范围从 0.5 到 0.95,步频为 0.05。
除此之外,MS COCO 有 12 个指标用于评估目标检测模型。
请注意,MS COCO 将平均精度 (AP) 定义为mAP@ [0.5:.05:.95]。在这里,术语 AP 和 mAP 可以互换使用。时至今日,COCO mAP 是评估对象检测模型最流行的指标。
它于 2005 年首次推出,只有 4 个班级。最初,它用于分类和对象检测。2007年,引入了分割测试器,类别数量增加到20个。随着连续几年的进一步发展,数据集越来越大。根据 2012 年的最后一次更新,PASCAL VOC 有 11,530 张图像,有 20 个类别、27,450 个 ROI 注释对象和 6,929 个分割。
与其他数据集相比,PASCAL VOC 数据集可能更小,但仍然是一个很好的数据集。虽然 VOC 挑战赛于 2012 年结束,但服务器仍然接受提交。
一个革命性的数据集,于 2009 年推出。许多人认为这是我们今天看到的 AI 繁荣的原因。当研究人员努力开发更好的算法时,ImageNET 专注于更好的数据集的想法。结果发现,即使是现有的算法在 ImageNET 数据集上训练时也表现得更好。截至今天,ImageNET 拥有超过 1500 万张包含 20,000 多个类别的图像。
2010 年,PASCAL VOC 与 ImageNet 合作并联合打造了他们的比赛。 ILSVRC(ImageNET Large Scale Visual Recognition Challenge)由ImageNET组织的年度比赛一直持续到2017年。通过比赛,建立了突破性的基准。比赛使用包含 1000 个类别的 150k 图像的修剪集。2017 年,比赛转交给 Kaggle 进行托管。
MS COCO 数据集最初于 2014 年发布,最后一次更新是在 2017 年。目前,它是最常用的数据集。COCO 包含 328k 图像,具有 80 个类和 150 万个对象实例。MS COCO 比赛及其规则是现行标准。但是,COCO 服务器从 2021 年开始不再接受提交。
LVIS 是用于长尾实例分割的数据集。它有 164k 图像,由 1000 多个类别的注释组成。它的类别很长,训练样本很少。这意味着数据集是不平衡的,使其更具挑战性。
本文分享自 OpenCV与AI深度学习 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!