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

您所在的位置:网站首页 对象存储测试指标是什么 YOLOv5系列(三十一) YOLO评价指标与相关解释(详尽)

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

2024-07-10 06:14| 来源: 网络整理| 查看: 265

对象检测指标

让我们首先讨论一些指标,这些指标不仅对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 不错。释义与行动:对于模型来说,这些类可能更具挑战性。为这些类使用更多数据或在训练期间调整类权重可能是有益的。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3