Yolo runs文件解读

在目标检测模型中,使用Yolo v5训练数据之后会直接生成为runs文件,其中包含一些运行时的信息,可以作为评判标准来告诉我们所训练的效果如何,帮助我们更好的研究模型的性能。

以下为基于机器视觉的苹果成熟度识别系统的runs文件解读示例:

confusion_matrix.png(混淆矩阵)

混淆矩阵是用于评估分类模型性能的一种工具。它由真实类别和预测类别组成的矩阵,将数据集的样本根据真实类别和预测类别进行分类。

混淆矩阵可以用来计算模型的准确率、召回率、精确率、F1值等指标,进而评估模型的性能和效果。它可以清楚地展示模型在各个类别上的分类效果,并帮助我们识别模型的偏差和错误。

在机器学习领域和统计分类问题中,混淆矩阵是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵。矩阵的每一列代表一个类的实例预测,而每一行表示一个实际的类的实例。混淆矩阵的每一列代表了预测类别,每一行是预测类别。每一列是真实类别。每一行之和表示该类别的真实样本数量,每一列之和表示被预测为该类别的样本数量。矩阵中(a,b)的含义是:第b个类别被预测为第a个类别的概率。通过这个矩阵可以方便看出机器是否将两个不同的类混淆。

上图是对苹果成熟度分类进行训练,有图可以看出 将一个图片分为了四个部分,分别是高度成熟、中度成熟、未成熟和background FP。该图在每列上进行归一化处理。则可以看出高度成熟苹果预测正确的概率为82%,中度成熟预测正确的概率为80%,低度成熟预测正确的概率为86%。

监督学习是通过训练样本的标签信息来进行学习和预测的方法。在监督学习中,训练数据集包含了输入样本和对应的标签信息。机器学习模型通过学习这些样本和标签关系来进行预测。常见的监督学习算法包括回归算法和分类算法。在回归算法中,模型预测的结果是一个连续值,比如房价预测;而在分类算法中,模型预测的结果是一个离散值,比如垃圾邮件分类。监督学习的一个重要特点是需要有标签数据来进行训练,因此需要大量的标注工作。

无监督学习是从未标注的数据中进行学习和发现模式的方法。在无监督学习中,训练数据集只包含输入样本,没有标签信息。机器学习模型通过分析数据的统计特性和相似性来进行学习。无监督学习的目标是发现数据的内在结构和特点,比如聚类、降维和异常检测等。无监督学习的一个重要特点是不需要标签数据,因此可以使用大量的未标注数据进行学习,但是模型的学习和评估相对困难。

 二分类混淆矩阵的四个单元格包括:

  • 真正类(True Positive,TP):预测为正类且实际为正类的样本数。
  • 假负类(False Negative,FN):预测为负类但实际为正类的样本数。
  • 假正类(False Positive,FP):预测为正类但实际为负类的样本数。
  • 真负类(True Negative,TN):预测为负类且实际为负类的样本数。

样例总数 = TP + FP + TN + FN。

精确率(Accuracy):精确率是最常用的分类性能指标。可以用来表示模型的精度,即模型识别正确的个数/样本的总个数。一般情况下,模型的精度越高,说明模型的效果越好。

Accuracy = (TP+TN)/(TP+FN+FP+TN)

正确率或者准确率(Precision):又称为查准率,表示在模型识别为正类的样本中,真正为正类的样本所占的比例。一般情况下,查准率越高,说明模型的效果越好。

Precision = TP/(TP+FP)

召回率(Recall):又称为查全率,召回率表现出在实际正样本中,分类器能预测出多少。

Recall(召回率) = Sensitivity(敏感指标,True Positive Rate,TPR)= 查全率

表示的是,模型正确识别出为正类的样本的数量占总的正类样本数量的比值。一般情况下,Recall越高,说明有更多的正类样本被模型预测正确,模型的效果越好。

Recall = TP/(TP+FN)

非二分类问题:

F1_curve(F1分数)

F1分数(F1 score)是一种用于衡量分类模型性能的指标。它综合了模型的准确率(Precision)和召回率(Recall),考虑了模型在预测正类和负类时的平衡性。通过计算模型的准确率和召回率并结合在一起,可以更全面地评估模型的性能。

准确率是指模型预测为正类的样本中实际为正类的比例,即正类预测正确的数量除以所有被预测为正类的样本数量。召回率是指实际为正类的样本中被模型预测为正类的比例,即正类预测正确的数量除以所有实际为正类的样本数量。

F1分数的计算公式如下:

F1分数的取值范围为0到1,值越接近1表示模型的性能越好。当模型的准确率和召回率都很高时,F1分数也会较高;当其中一个指标较高而另一个较低时,F1分数会有所下降。

P_curve

表示准确率与置信度的关系图线,横坐标置信度。由下图可以看出置信度越高,准确率越高。

R_curve

表示召回率与置信度的关系图线,横坐标置信度。由下图可以看出置信度越高,召回率越低

PR_curve

将上述两个图像结合,得到PR曲线,PR曲线中的P代表的是precision(精准率)R代表的是recall(召回率),其代表的是精准率与召回率的关系。

在前面的分析得知,我们希望的结果是召回率与预测率均为一,但是很显然在训练时无法达到这种期望。所以在训练时我们需要根据不同需要了解是要求P高还是R高。通过分析P-R曲线下围成的面积为AP(Average precision) 平均精确度或者分析mAP均值平均精度,一般而言AP值越大则性能越好。

results.png

损失函数(Loss Function)是用来衡量模型预测结果与真实结果之间的差异程度的函数。在机器学习和深度学习中,我们通常通过最小化损失函数来优化模型的参数。

  • 定位损失box_loss:预测框与标定框之间的误差(GIoU)
  • 置信度损失obj_loss:计算网络的置信度
  • 分类损失cls_loss:计算锚框与对应的标定分类是否正确
  • mAP_0.5:表示阈值大于0.5的平均mAP
  • mAP_0.5:0.95表示在不同IoU阈值(从0.5到0.95,步长0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP

result.csv

results.txt中最后三列是验证集结果,前面的是训练集结果,全部列分别是:
训练次数,GPU消耗,边界框损失,目标检测损失,分类损失,total,targets,图片大小,P,R,mAP@.5, mAP@.5:.95, 验证集val Box, 验证集val obj, 验证集val cls

train_batchx

这里设置的batchsize是8,所以一次训练8张照片

val_batchx_labels&val_batchx_pred

val_batchx_labels:验证集第x轮的实际标签

val_batchx_pred:验证集第x轮的预测标签

weights(权重)

训练所得权重

权重指的是在某个任务或模型中,用来衡量不同特征或样本的重要性的数值。权重可以被分配给特征、样本或模型参数,用于调节它们对任务的贡献程度。在机器学习和深度学习中,常常使用权重来估计或优化模型的性能。

hyp.yaml(超参数文件)

超参数是指在机器学习算法中不能通过训练得到,需要手动设置的参数。超参数是影响模型性能和训练过程的重要因素,常见的超参数包括学习率、批大小、迭代次数、正则化参数等。

设置合适的超参数可以提高模型的性能,但是调整超参数是一项复杂的任务,通常需要通过试验和调优来找到最优的超参数组合。常见的超参数调优方法包括网格搜索、随机搜索、贝叶斯优化等。

超参数的选择往往是经验性的,没有一种通用的方法可以直接预测最好的超参数值,因此在实际应用中,超参数的选择往往是一种试错的过程。

opt.yaml(模型配置文件)

opt.yaml中记录的是使用的模型配置文件,训练数据等常规参数

  • 33
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值