一、yolo中txt文件的说明:
二、yolo跑视频、图片文件的格式:
三、yolov5训练结果不好的原因:
1. 欠拟合:
- 在训练集上表现很差,测试集上表现也很差的现象可能是欠拟合导致的,是因为泛化能力太强,误识别率较高
- 解决办法:1)增加数据集的正样本数, 增加主要特征的样本数量
2)增加训练次数
3)减小正则化参数
- 过拟合
- 在训练集上表现很好,在测试集上表现很差
- 解决办法:1)增加其他的特征的样本数, 重新训练网络.
2)训练数据占总数据的比例过小,增加数据的训练量
- loss值不再变小就说明训练好了
四、yolov5训练结果(train文件)分析
1. confusion_matrix.png(混淆矩阵)
混淆矩阵能对分类问题的预测结果进行总结,显示了分类模型的在进行预测时会对哪一部分产生混淆。
2. F1_curve:
F1分数与置信度之间的关系。F1分数(F1-score)是分类问题的一个衡量指标,是精确率precision和召回率recall的调和平均数,最大为1,最小为0, 1是最好,0是最差
3. labels.jpg
第一个图 classes:每个类别的数据量
第二个图 labels:标签
第三个图 center xy
第四个图 labels 标签的长和宽
4. labels_corrrelogram.jpg 目前不知道
5. P_curve.png :
准确率precision和置信度confidence的关系图
6. PR_curve.png:
PR曲线中的P代表的是precision(精准率),R代表的是recall(召回率),其代表的是精准率与召回率的关系,一般情况下,将recall设置为横坐标,precision设置为纵坐标。PR曲线下围成的面积即AP,所有类别AP平均值即Map.
如果PR图的其中的一个曲线A完全包住另一个学习器的曲线B,则可断言A的性能优于B,当A和B发生交叉时,可以根据曲线下方的面积大小来进行比较。一般训练结果主要观察精度和召回率波动情况(波动不是很大则训练效果较好)
- Precision和Recall往往是一对矛盾的性能度量指标;
- 提高Precision == 提高二分类器预测正例门槛 == 使得二分类器预测的正例尽可能是真实正例;
- 提高Recall == 降低二分类器预测正例门槛 == 使得二分类器尽可能将真实的正例挑选
7. R_curve.png :召回率和置信度之间的关系
8. results.png:
- Box_loss:YOLO V5使用 GIOU Loss作为bounding box的损失,Box推测为GIoU损失函数均值,越小方框越准;
- Objectness_loss:推测为目标检测loss均值,越小目标检测越准;
- Classification_loss:推测为分类loss均值,越小分类越准;
- Precision:精度(找对的正类/所有找到的正类);
- Recall:真实为positive的准确率,即正样本有多少被找出来了(召回了多少).Recall从真实结果角度出发,描述了测试集中的真实正例有多少被二分类器挑选了出来,即真实的正例有多少被该二分类器召回。
- val Box_loss: 验证集bounding box损失;
- val Objectness_loss:验证集目标检测loss均值;
- val classification_loss:验证集分类loss均值;
- mAP@.5:.95(mAP@[.5:.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。mAP@.5:表示阈值大于0.5的平均mAP。然后观察mAP@0.5 & mAP@0.5:0.95 评价训练结果。mAP是用Precision和Recall作为两轴作图后围成的面积,m表示平均,@后面的数表示判定iou为正负样本的阈值,@0.5:0.95表示阈值取0.5:0.05:0.95后取均值
注:以上资料、图片来自于YOLOV5官网,CSDN优秀作者以及自己训练的数据集,侵权删除。
本人正在学习事件相机检测等内容(小白),希望能与学习事件相机的众多大佬一起学习,共同交流!