- Yolov8训练完成后,会在runs目录下保存训练过程的一些参数与结果示意图,其中包含目标检测性能指标。
- 准确率(Accuracy):表示正确预测的目标数量与总预测数量的比率。
- 精确率(Precision):模型正确预测为正样本的样本数量占所有预测为正样本的样本数量的比例。
- 召回率(Recall):模型正确预测为正样本的样本数量占所有实际正样本的样本数量的比例。
- F1分数(F1 Score):综合考虑精确率和召回率,是精确率和召回率的调和平均数。
- IoU(Intersection over Union):衡量模型检测出的区域与实际目标区域的重叠程度。
- 平均精度(Average Precision,AP):在目标检测中,AP通常指Precision-Recall曲线下的面积,用于综合评估模型的性能。
- mAP(mean Average Precision):多类别目标检测任务中,各类别的AP的平均值。
- 漏检率(Miss Rate):表示模型未能检测到的目标数量占所有实际正样本的比例。
- 虚警率(False Alarm Rate):表示模型错误地将负样本预测为正样本的数量占所有负样本的比例。
- 速度相关指标:
- 前向传播时间(Inference Time):模型进行一次前向传播所需的时间。
- 每秒帧数(Frames Per Second,FPS):描述模型在单位时间内能够处理的帧数。
1. weights目录:
- last.pt:模型训练过程中最后一个保存的权重文件,可用于从上一次训练的断点继续训练,或用于模型的推理和评估。
- best.pt:在验证集或测试集上表现最好的模型权重文件,可用于得到在验证集上表现最好的模型,避免模型在训练集上过拟合。
2. confusion_matrix_normalized.png、confusion_matrix.png:
- 混淆矩阵是对分类问题预测结果的总结,以行表示预测的类别(y轴),列表示真实的类别(x轴)。
- TP(True Positive)表示将正类预测为正类的数量,即正确预测的正类样本数。
- FN(False Negative)表示将正类预测为负类的数量,即错误预测的正类样本数。
- FP(False Positive)表示将负类预测为正类的数量,即错误预测的负类样本数。
- TN(True Negative)表示将负类预测为负类的数量,即正确预测的负类样本数。
- 精确率(Precision)公式:Precision = TP / (TP + FP),衡量模型在正例预测中的准确性。
- 召回率(Recall)公式:Recall = TP / (TP + FN),衡量模型对正例的识别能力。
3. F1_curve.png:
- F1值用于对Precision和Recall进行整体评价,是精确率和召回率的调和平均数,取值范围介于0和1之间,1代表最佳性能,0代表最差性能。
- 通过调整置信度阈值,可观察F1曲线在不同阈值下的变化。理想状态下,F1曲线在置信度为0.4 - 0.6的区间内取得较好的F1分数,表明模型在平衡精确率和召回率方面表现较为理想。
4. labels.jpg:
- 宫格1:训练集的数据量,显示每个类别包含的样本数量。
- 宫格2:框的尺寸和数量,展示训练集中边界框的大小分布以及相应数量。
- 宫格3:中心点相对于整幅图的位置,描述边界框中心点在图像中的位置分布情况。
- 宫格4:图中目标相对于整幅图的高宽比例,反映训练集中目标高宽比例的分布状况。
5. labels_correlogram.jpg:
- 展示目标检测算法在训练过程中对标签之间相关性的建模情况。
- 深色单元格表示模型更强烈地学习了这两个标签之间的关联性,浅色单元格则表示相关性较弱。
- 对角线上的颜色代表每个标签自身的相关性,通常是最深的。
- 可直观识别哪些标签之间存在较强的相关性,对优化训练和预测效果至关重要。若某些标签之间相关性过强,可能需考虑合并以简化模型并提高效率。最上面的图(0,0)至(3,3)分别表示中心点横坐标x、中心点纵坐标y、框的宽和框的高的分布情况。
6. P_curve.png:
- PCC图的横坐标表示检测器的置信度,纵坐标表示精度(或召回率)。
- 当曲线向上并向左弯曲时,表示在较低置信度下仍能保持较高的精度,说明检测器在高召回率的同时能够保持低误报率,对目标的识别准确性较高。
- 当曲线向下并向右弯曲时,说明在较高置信度下才能获得较高的精度,可能导致漏检率的增加,检测器的性能较差。
7. R_curve.png:
- 理想情况下,算法应在保持高召回率的同时保持较高的精度。
- 当RCC图中曲线在较高置信度水平下呈现较高召回率时,说明算法在目标检测时能够准确地预测目标的存在,并在过滤掉低置信度的预测框后依然能够维持高召回率,反映了算法在目标检测任务中的良好性能。
- RCC图中曲线的斜率越陡峭,表示在过滤掉低置信度的预测框后,获得的召回率提升越大,从而提高模型的检测性能。
- 曲线越接近右上角,表示模型性能越好。
8. PR_curve.png:
- PR_curve反映精确率(Precision)和召回率(Recall)之间的取舍关系。
- 横坐标表示召回率,纵坐标表示精确率。通常召回率升高时,精确率会降低,反之亦然。
- 曲线越靠近右上角,表示模型在预测时能够同时保证高的精确率和高的召回率,预测结果较为准确;曲线越靠近左下角,表示模型预测结果较为不准确。
- PR Curve通常与ROC Curve一同使用,以更全面地评估分类模型的性能。
9. results.png:
- 损失函数在目标检测任务中用于衡量模型的预测值与真实值之间的差异,直接影响模型性能。
- 定位损失(box_loss):衡量预测框与标注框之间的误差,通常使用GIoU来度量,值越小表示定位越准确。目的是使模型能够准确地定位目标。
- 置信度损失(obj_loss):计算网络对目标的置信度,通常使用二元交叉熵损失函数,值越小表示模型判断目标的能力越准确。目的是使模型能够准确判断目标是否存在。
- 分类损失(cls_loss):计算锚框对应的分类是否正确,通常使用交叉熵损失函数,值越小表示分类越准确。目的是使模型能够准确分类目标。
- Precision(精度):正确预测为正类别的样本数量占所有预测为正类别的样本数量的比例,衡量模型在所有预测为正例的样本中有多少是正确的。
- Recall(召回率):正确预测为正类别的样本数量占所有真实正类别的样本数量的比例,衡量模型能够找出真实正例的能力。
- mAP(平均精度):使用Precision-Recall曲线计算的面积,mAP@[.5:.95]表示在不同IoU阈值下的平均mAP,综合考虑了模型在不同精度和召回率条件下的性能,是目标检测任务中常用的评价指标。
10. args.yaml:
- 训练时的超参数,包括任务、模式、模型、数据、epochs、patience、batch、imgsz等多个参数的设置。
12. results.csv:
- 模型训练时每次迭代的结果。
13. train_batch(N).jpg:
- 对应batch_size这个超参,设置为8,一次读取8张图片。
14. val_batch(N)_labels.jpg和val_batch(N)_pred.jpg:
- val_batchx_labels:验证集第N轮的实际标签。
- val_batchx_pred:验证集第N轮的预测标签。