参考:https://blog.csdn.net/XiaoGShou/article/details/118274900
参考:https://blog.csdn.net/qq_44878985/article/details/129766487
大佬们写的很好,大家可以看大佬的,我就对照着大佬解释下自己的结果。
自己的绝缘子数据集,暂时跑了100轮。训练结果都会出现在runs文件夹下,点开detect文件夹,下面都是训练的结果,点开刚刚训练的train5文件夹。
出现了两个.pt文件,best.py(主要是detect用到的),last.py最后一次训练模型。
大佬解释的很清楚,在这直接截图过来了,因为本人的图,解释不明白。
1:混淆矩阵:
①:混淆矩阵是对分类问题的预测结果的总结。使用计数值汇总正确和不正确预测的数量,并按每个类进行细分,这是混淆矩阵的关键所在。混淆矩阵显示了分类模型的在进行预测时会对哪一部分产生混淆。它不仅可以让我们了解分类模型所犯的错误,更重要的是可以了解哪些错误类型正在发生。正是这种对结果的分解克服了仅使用分类准确率所带来的局限性。
②:在机器学习领域和统计分类问题中,混淆矩阵(英语:confusion matrix)是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵。矩阵的每一列代表一个类的实例预测,而每一行表示一个实际的类的实例。之所以如此命名,是因为通过这个矩阵可以方便地看出机器是否将两个不同的类混淆了(比如说把一个类错当成了另一个)。
本人的图:不知道为什么每行之和不一样,可能是每类的样本数不同吧。
解释不清楚,但是可以很明显的看出来,主要是绝缘子的闪络缺陷和破损缺陷与背景发生了误判。因为我的图片确实背景复杂,我需要改进我的模型,才能更精确。
F1分数(F1-score)是分类问题的一个衡量指标。一些多分类问题的机器学习竞赛,常常将F1-score作为最终测评的方法。它是精确率和召回率的调和平均数,最大为1,最小为0。
简而言之就是想同时控制recall和precision来评价模型的好坏。
需要知道精确率和号回率是什么首先需要知道四值:TP,FN,FP,TN。
①. 真阳性(True Positive,TP):样本的真实类别是正例,并且模型预测的结果也是正例,预测正确
②. 真阴性(True Negative,TN):样本的真实类别是负例,并且模型将其预测成为负例,预测正确
③. 假阳性(False Positive,FP):样本的真实类别是负例,但是模型将其预测成为正例,预测错误
④. 假阴性(False Negative,FN):样本的真实类别是正例,但是模型将其预测成为负例,预测错误
精确率(precision)=TP/(TP+FP)
召回率(Recall)=TP/(TP+FN)
F1=2*(精确率*召回率)/(精确率+召回率)
蓝色线是本次训练的模型,它在置信度为0.304时,F1分数最高为0.67.
第一个图是训练集得数据量,每个类别有多少个;
第二个图是框的尺寸和数量;
第三个图是中心点相对于整幅图的位置;
第四个图是图中目标相对于整幅图的高宽比例;
labels_correlogram.jpg是一张颜色矩阵图,它展示了目标检测算法在训练过程中预测标签之间的相关性。
矩阵的行列分别代表了模型训练时使用的标签(classes),而每个单元格则代表了对应标签的预测结果之间的相关性。
矩阵中的颜色越深,表示对应标签之间的相关性越强;颜色越浅,表示相关性越弱。对角线上的颜色表示每个标签的自身相关性,通常都是最深的。
通过这张图,我们可以看出哪些标签之间具有较强的相关性,从而有助于优化模型的训练和预测效果。例如,如果我们发现某些标签之间的相关性过强,可以考虑将它们合并成一个标签,从而简化模型并提高效率。
参考 没怎么看懂这一部分
在PCC图中,横坐标为置信度,纵坐标为精度(也可以是召回率)。曲线的形状和位置可以反映出检测器的性能和稳定性。在PCC图中,效果好的情况是曲线向上并向左弯曲,而效果差的情况是曲线向下并向右弯曲。
PR Curve是Precision-Recall Curve的缩写,表示的是在不同阈值下,精确率与召回率之间的关系曲线。其中精确率(Precision)表示预测为正例的样本中真正为正例的比例,召回率(Recall)表示真正为正例的样本中被预测为正例的比例。
在PR Curve中,横坐标为召回率,纵坐标为精确率。一般而言,当召回率较高时,精确率较低;当精确率较高时,召回率较低。而PR Curve则体现了这种“取舍”关系。当PR Curve越靠近右上角时,表示模型在预测时能够同时保证高的精确率和高的召回率,即预测结果较为准确。相反,当PR Curve越靠近左下角时,表示模型在预测时难以同时保证高的精确率和高的召回率,即预测结果较为不准确。
通常,PR Curve与ROC Curve(受试者工作特征曲线)一同使用,以更全面地评估分类模型的性能
Recall-Confidence Curve (RCC)图是目标检测中用于评估算法性能的一种方法。它是在不同置信度阈值下,召回率的变化情况的可视化表示。
通常情况下,我们希望算法能够在高召回率的同时保持较高的精度。
当RCC图中的曲线在较高的置信度水平下具有较高的召回率时,说明算法在检测目标时能够较为准确地预测目标的存在,并且在过滤掉低置信度的预测框后,依然可以保持较高的召回率。这说明算法在目标检测任务中具有较好的性能。
需要注意的是,在RCC图中,曲线的斜率越陡峭,说明在过滤掉低置信度的预测框后,能够获得较大的召回率提升,从而提高模型的检测性能。
在该图表中,曲线越靠近右上角,则表示模型的性能越好。当曲线接近图表的右上角时,意味着模型在保持高召回率的同时,也能够保持较高的精确度。因此,R_curve.png可以用于评估模型的整体表现和找到一个合适的阈值,来平衡模型的召回率和精确度。
我的图表明,检测绝缘子的模型性能很好,但检测缺陷的模型性能并不好。
cls_loss :用于监督类别分类,计算锚框与对应的标定分类是否正确。
box_loss :用于监督检测框的回归,预测框与标定框之间的误差(CIoU)。
dfl_loss(Distribution Focal Loss):这个函数与GIOU loss一样,都是用来优化bbox的。参考
Precision:精度(找对的正类/所有找到的正类);
Recall:真实为positive的准确率;
Precision:精度(找对的正类/所有找到的正类);
Recall:真实为positive的准确率;
mAP50-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;
mAP50:表示在IoU阈值为0.5时的mAP值变化曲线
pg0、pg1、pg2(不知道是什么)