YOLOv5系列(三十一) YOLO评价指标与相关解释(详尽)

118 篇文章 3 订阅
52 篇文章 16 订阅
本文详细介绍了对象检测中的关键指标,如IoU、AP、mAP、精确度、召回率和F1分数,重点讲解了如何在YOLO模型中计算这些指标,以及如何解释和优化模型性能。同时,讨论了在实际应用中选择和解读指标的重要性。
摘要由CSDN通过智能技术生成

对象检测指标

让我们首先讨论一些指标,这些指标不仅对YOLO很重要,而且广泛适用于不同的目标检测模型。

  • 并集交集 (IoU):IoU 是一种度量值,用于量化预测边界框和真实值边界框之间的重叠。它在评估对象定位的准确性方面起着基础性作用。
  • 平均精度 (AP):AP 计算精确召回率曲线下的面积,提供封装模型精度和召回率性能的单个值。
  • 平均精度 (mAP):mAP通过计算多个对象类的平均 AP 值来扩展 AP 的概念。这在多类对象检测方案中非常有用,可以对模型的性能进行全面评估。
  • 精确度和召回率:精度量化所有正预测中真阳性的比例,评估模型避免假阳性的能力。另一方面,Recall 计算所有实际阳性中真阳性的比例,衡量模型检测类的所有实例的能力。
  • F1 分数:F1 分数是精确率和召回率的谐波平均值,在考虑误报和漏报的同时,提供对模型性能的平衡评估。

如何计算YOLO模型的指标

使用验证模式很简单。一旦你有了经过训练的模型,你就可以调用 model.val() 函数。然后,此函数将处理验证数据集并返回各种性能指标。但这些指标意味着什么?你应该如何解释它们?

解释输出

让我们分解 model.val() 函数的输出并了解输出的每一段。

类指标

输出的其中一个部分是性能指标的类细分。当您尝试了解模型在每个特定类中的表现时,此粒度信息非常有用,尤其是在具有各种对象类别的数据集中。对于数据集中的每个类,将提供以下内容:

  • :这表示对象的名称,例如“人”、“汽车”或“狗”。
  • 图像:此指标告诉您验证集中包含对象类的图像数量。
  • 实例数:这提供了类在验证集中的所有图像中出现的次数。
  • Box(P, R, mAP50, mAP50-95):此指标提供对模型在检测对象方面的性能的见解:
    • P(精度):检测到的对象的精度,表示正确的检测次数。
    • R(召回):模型识别图像中对象的所有实例的能力。
    • mAP50:在交集并集 (IoU) 阈值 0.50 处计算的平均精度。它是模型准确性的度量,仅考虑“简单”检测。
    • mAP50-95:在不同的 IoU 阈值(范围为 0.50 到 0.95)下计算的平均精度的平均值。它提供了模型在不同检测难度级别下的性能的全面视图。
速度指标

推理速度与准确性一样重要,尤其是在实时对象检测场景中。本节分解了验证过程的各个阶段(从预处理到后处理)所花费的时间。

COCO指标评估

对于在 COCO 数据集上进行验证的用户,将使用 COCO 评估脚本计算其他指标。这些指标可以深入了解不同 IoU 阈值和不同大小对象的精确率和召回率。

视觉输出

model.val() 函数除了生成数值指标外,还可以生成可视化输出,从而更直观地了解模型的性能。以下是您可以预期的视觉输出的细分:

  • F1 分数曲线 (F1_curve.png)此曲线表示各种阈值的 F1 分数。解释此曲线可以深入了解模型在不同阈值下的假阳性和假阴性之间的平衡。
  • 精确召回率曲线 (PR_curve.png):该曲线是任何分类问题的整体可视化,展示了不同阈值下精确率和召回率之间的权衡。在处理不平衡的班级时,它变得尤为重要。
  • 精度曲线 (P_curve.png):不同阈值下精度值的图形表示。此曲线有助于了解精度如何随阈值变化而变化。
  • 召回率曲线 (R_curve.png):相应地,该图说明了召回率值在不同阈值下的变化情况。
  • 混淆矩阵 (confusion_matrix.png):混淆矩阵提供结果的详细视图,显示每个类别的真阳性、真阴性、假阳性和假阴性计数。
  • 归一化混淆矩阵 (confusion_matrix_normalized.png):此可视化是混淆矩阵的归一化版本。它以比例而不是原始计数表示数据。这种格式使比较不同类的性能变得更加简单。
  • 验证批次标签 (val_batchX_labels.jpg):这些图像描绘了验证数据集中不同批次的真值标签。根据数据集,它们提供了对象是什么以及它们各自位置的清晰图片。
  • 验证批次预测 (val_batchX_pred.jpg):与标签图像形成对比,这些视觉对象显示模型对相应批次所做的预测。通过将这些图像与标签图像进行比较,您可以轻松评估模型在视觉上检测和分类对象的能力。
结果存储

为了将来参考,结果将保存到通常名为 runs/detect/val 的目录中。

选择正确的指标

选择正确的指标进行评估通常取决于具体的应用。

  • 地图:适用于对模型性能的广泛评估。
  • IOU:当精确的物体定位至关重要时,这是必不可少的。
  • 精度:当尽量减少错误检测是优先事项时,这一点很重要。
  • 召回:当检测对象的每个实例很重要时,这一点至关重要。
  • F1 分数:当需要在精确率和召回率之间取得平衡时很有用。

对于实时应用程序,FPS(每秒帧数)和延迟等速度指标对于确保及时获得结果至关重要。

结果解释

了解指标很重要。以下是一些常见的较低分数可能暗示的内容:

  • 低 mAP:指示模型可能需要常规优化。
  • 低 IoU:该模型可能难以准确定位对象。不同的边界框方法可能会有所帮助。
  • 低精度:模型可能检测到太多不存在的对象。调整置信度阈值可能会减少这种情况。
  • 低召回率:模型可能缺少真实对象。改进特征提取或使用更多数据可能会有所帮助。
  • 不平衡的 F1 分数:精确率和召回率之间存在差异。
  • 特定于类别的 AP:这里的低分可以突出显示模型难以处理的类。

案例研究

真实世界的例子可以帮助阐明这些指标在实践中是如何工作的。

案例 1

  • 情况:mAP 和 F1 分数不是最优的,但虽然召回率很好,但精度却不高。
  • **释义与行动:**可能有太多不正确的检测。收紧置信度阈值可能会减少这些阈值,但也可能略微降低召回率。

案例 2

  • 情况:mAP 和 Recall 是可以接受的,但缺少 IoU。
  • 释义与行动:该模型可以很好地检测对象,但可能无法精确定位它们。优化边界框预测可能会有所帮助。

案例 3

  • 情况:有些班级的 AP 比其他班级低得多,即使整体 mAP 不错。
  • 释义与行动:对于模型来说,这些类可能更具挑战性。为这些类使用更多数据或在训练期间调整类权重可能是有益的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小酒馆燃着灯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值