YOLO性能评估指标详细总结
一 混淆矩阵
混淆矩阵是用于评估分类模型性能的一种表格形式。它将模型的预测结果与真实标签进行比较,并将它们分类为四种不同的情况:真正例 (True Positive, TP)、真负例 (True Negative, TN)、假正例 (False Positive, FP) 和假负例 (False Negative, FN)。
在混淆矩阵中,行表示实际类别,列表示预测类别。这个矩阵的一个简单示例是:
Predicted Negative | Predicted Positive | |
---|---|---|
Actual Negative | TN | FP |
Actual Positive | FN | TP |
以下是一个关于混淆矩阵的解释:
- TP(真正例):模型正确地将狗标记为狗的数量。例如,图像中确实有一只狗,而模型也成功地将其检测为狗。
- TN(真负例):模型正确地将非狗标记为非狗的数量。例如,图像中没有狗,而模型也正确地将其识别为非狗【其他类别】。
- FP(假正例):模型错误地将非狗标记为狗的数量。例如,图像中没有狗,但模型错误地将一只狗误判为狗。
- FN(假负例):模型错误地将狗标记为非狗的数量。例如,图像中有一只狗,但模型未能将其识别为狗。
以下是一个关于准确率、精确率、召回率和 F1 分数的表格 (部分信息可能会与后面重合),其中包含了它们的计算公式和意义:
指标名称 | 计算公式 | 意义 |
---|---|---|
准确率(Accuracy,Acc) | TP+TNTP+TN+FP+FN\frac{\text{TP} + \text{TN}}{\text{TP} + \text{TN} + \text{FP} + \text{FN}}TP+TN+FP+FNTP+TN | 表示模型预测正确的样本占总样本的比例。准确率越高,模型的整体性能越好,但它对不平衡数据集不够敏感。 |
精确率(Precision,P) | TPTP+FP\frac{\text{TP}}{\text{TP} + \text{FP}}TP+FPTP | 表示模型预测为正的样本中,实际为正的比例。精确率越高,模型对正样本的预测越准确,但可能会漏掉一些真正的正样本。 |
召回率(Recall,R) | TPTP+FN\frac{\text{TP}}{\text{TP} + \text{FN}}TP+FNTP | 表示所有实际为正的样本中,模型正确预测为正的比例。召回率越高,模型对正样本的覆盖越全面,但可能会增加误判为正的样本数量。 |
F1 分数(F1 Score) | 2×P×RP+R2 \times \frac{\text{P} \times \text{R}}{\text{P} + \text{R}}2×P+RP×R | 是精确率和召回率的调和平均值,综合考虑了精确率和召回率。F1 分数越高,模型在精确率和召回率之间平衡得越好。 |
二 对象检测指标
不同目标检测模型的指标通常包括:
- 交并比 ( IoU ): IoU 是一种量化预测边界框与真实边界框之间重叠程度的度量。它在评估目标定位的准确性方面起着非常重要的作用。IoU 是衡量预测框和真实框重叠程度的指标,计算公式如下:
IoU=Area of OverlapArea of UnionIoU = \frac{\text{Area of Overlap}}{\text{Area of Union}}IoU=Area of UnionArea of Overlap
其中,Area of Overlap表示预测框和真实框的重叠区域面积, Area of Union表示测框和真实框的并集区域面积。 - 平均精度 ( AP ): AP 计算精度-召回率曲线下的面积,提供一个封装模型精度和召回率性能的单一值。
- 平均精度均值 ( mAP ) : mAP 通过计算多个对象类别中的平均 AP 值来扩展 AP 的概念。这在多类别对象检测场景中非常有用,可以提供对模型性能的全面评估。
- 精度( P ): 精度量化了所有正例预测中真正例的比例,评估模型避免假正例的能力。也就是检测到的物体的准确度,表示有多少检测结果是正确的。
- 召回率( R ): 召回率计算了所有实际正例中真正例的比例,衡量模型检测某一类别所有实例的能力。
- 平均召回率( Average Recall,AR) :用于衡量模型在不同召回率阈值下精度的平均表现。AR 越高,说明模型在不同召回率阈值下都能较好地检测到正样本。
- F1 分数: F1 分数是精度和召回率的调和平均值,在考虑假正例和假负例的同时,对模型的性能进行均衡评估。
- mAP50: 在交并比(IoU)阈值为0.50时计算的平均精度均值。它衡量了模型仅考虑“容易”检测结果时的准确性。
- mAP50-95: 在不同的IoU阈值(范围从0.50到0.95)下计算的平均精度均值的平均值。它全面地展示了模型在不同检测难度级别上的性能。
三 常见的可视化输出指标
除了生成数值指标外,还会生成可视化输出,从而可以更直观地了解模型的性能。以下是您可以预期的可视化输出的详细信息:
- 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):与标签图像形成对比的是,这些可视化图像展示了 YOLO11 模型对相应批次所做的预测。通过将这些图像与标签图像进行比较,您可以轻松地评估模型在视觉上检测和分类物体的效果。