【机器学习】yolov5训练结果分析

这篇具有很好参考价值的文章主要介绍了【机器学习】yolov5训练结果分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

yolov5模型训练后的结果会保存到当前目录下的run文件夹下里面的train中
【机器学习】yolov5训练结果分析
下面对训练结果做出分析

confusion_matrix.png(混淆矩阵)

【机器学习】yolov5训练结果分析
在yolov5的训练结果中,confusion_matrix.png文件是一个混淆矩阵的可视化图像,用于展示模型在不同类别上的分类效果。混淆矩阵是一个n×n的矩阵,其中n为分类数目,矩阵的每一行代表一个真实类别,每一列代表一个预测类别,矩阵中的每一个元素表示真实类别为行对应的类别,而预测类别为列对应的类别的样本数。

在混淆矩阵的可视化图像中,对角线上的数值表示模型正确分类的样本数,而非对角线上的数值则表示模型错误分类的样本数。可以通过观察非对角线上的数值,了解模型在哪些类别上容易发生错误分类,进而对模型进行调整和改进。

具体来说,对于某一个类别 i,矩阵中的第 i 行表示所有实际标签为 i 的样本,而矩阵中的第 i 列表示所有预测标签为 i 的样本。那么,矩阵中第 (i, j) 个元素表示实际标签为 i,预测标签为 j 的样本数目。

F1_curve.png(F1曲线)

【机器学习】yolov5训练结果分析

置信度阈值

置信度阈值是目标检测中一个重要的参数,用于控制检测器对目标的识别要求。置信度阈值的设定影响着检测结果的精度和召回率。

在目标检测中,每个检测框都有一个置信度得分,表示该框中是否包含目标。当置信度得分超过设定的阈值时,认为该框中存在目标,否则认为该框中不存在目标。置信度阈值的设定需要结合具体任务和模型的性能来进行调整,通常需要在精度和召回率之间进行权衡。

如果将置信度阈值设定得太高,可能会漏掉一些真实存在的目标,导致召回率较低;而将置信度阈值设定得太低,则会引入一些误检测,导致精度较低。因此,需要根据具体应用场景和模型的性能来选择合适的置信度阈值。

准确率

准确率(Accuracy)是指模型分类正确的样本数占总样本数的比例

精确率

精确率(Precision)是指模型识别出的真正正样本数占所有被识别为正样本的样本数的比例

召回率

召回率(Recall)是指模型识别出的正样本数占真实正样本数的比例

F1分数与置信度阈值(x轴)之间的关系。F1分数是分类的一个衡量标准,是精确率和召回率的调和平均数,介于0,1之间。越大越好。

labels.jpg

【机器学习】yolov5训练结果分析

"labels.jpg"通常是指包含训练数据集中所有类别标签的图像文件。

  • 第一个图是训练集得数据量,每个类别有多少个;
  • 第二个图是框的尺寸和数量;
  • 第三个图是中心点相对于整幅图的位置;
  • 第四个图是图中目标相对于整幅图的高宽比例;

labels_correlogram.jpg

【机器学习】yolov5训练结果分析
labels_correlogram.jpg是一张颜色矩阵图,它展示了目标检测算法在训练过程中预测标签之间的相关性。

矩阵的行列分别代表了模型训练时使用的标签(classes),而每个单元格则代表了对应标签的预测结果之间的相关性。

矩阵中的颜色越深,表示对应标签之间的相关性越强;颜色越浅,表示相关性越弱。对角线上的颜色表示每个标签的自身相关性,通常都是最深的。

通过这张图,我们可以看出哪些标签之间具有较强的相关性,从而有助于优化模型的训练和预测效果。例如,如果我们发现某些标签之间的相关性过强,可以考虑将它们合并成一个标签,从而简化模型并提高效率。

最上面的图(0,0)表明中心点横坐标x的分布情况;

(1,1)图表明中心点纵坐标y的分布情况;

(2,2)图表明框的宽的分布情况;

(3,3)图表明框的宽的分布情况

P_curve.png(信度阈值 - 准确率曲线图)

【机器学习】yolov5训练结果分析
Precision-Confidence Curve(PCC)图是一种常用的目标检测结果可视化方式,通过绘制不同置信度下的精度曲线,可以帮助评估检测器的性能和确定阈值。

在PCC图中,横坐标为置信度,纵坐标为精度(也可以是召回率)。曲线的形状和位置可以反映出检测器的性能和稳定性。

在PCC图中,当曲线向上并向左弯曲,说明在较低置信度下精度较高,这种情况下检测器的性能较好,能够在保持高召回率的同时保证较低的误报率,即对目标的识别准确度较高。

相反,当曲线向下并向右弯曲,说明在较高置信度下精度较高,这种情况下检测器的性能较差,需要提高置信度才能得到较高的精度,但这样又会导致漏检率的增加。

因此,在PCC图中,效果好的情况是曲线向上并向左弯曲,而效果差的情况是曲线向下并向右弯曲。

R_curve.png(信度阈值 - 召回率曲线图)

【机器学习】yolov5训练结果分析
Recall-Confidence Curve (RCC)图是目标检测中用于评估算法性能的一种方法。它是在不同置信度阈值下,召回率的变化情况的可视化表示。

通常情况下,我们希望算法能够在高召回率的同时保持较高的精度。

当RCC图中的曲线在较高的置信度水平下具有较高的召回率时,说明算法在检测目标时能够较为准确地预测目标的存在,并且在过滤掉低置信度的预测框后,依然可以保持较高的召回率。这说明算法在目标检测任务中具有较好的性能。

需要注意的是,在RCC图中,曲线的斜率越陡峭,说明在过滤掉低置信度的预测框后,能够获得较大的召回率提升,从而提高模型的检测性能。

在该图表中,曲线越靠近右上角,则表示模型的性能越好。当曲线接近图表的右上角时,意味着模型在保持高召回率的同时,也能够保持较高的精确度。因此,R_curve.png可以用于评估模型的整体表现和找到一个合适的阈值,来平衡模型的召回率和精确度。

PR_curve.png —— 精确率和召回率的关系图

【机器学习】yolov5训练结果分析

PR Curve是Precision-Recall Curve的缩写,表示的是在不同阈值下,精确率与召回率之间的关系曲线。其中精确率(Precision)表示预测为正例的样本中真正为正例的比例,召回率(Recall)表示真正为正例的样本中被预测为正例的比例。

在PR Curve中,横坐标为召回率,纵坐标为精确率。一般而言,当召回率较高时,精确率较低;当精确率较高时,召回率较低。而PR Curve则体现了这种“取舍”关系。当PR Curve越靠近右上角时,表示模型在预测时能够同时保证高的精确率和高的召回率,即预测结果较为准确。相反,当PR Curve越靠近左下角时,表示模型在预测时难以同时保证高的精确率和高的召回率,即预测结果较为不准确。

通常,PR Curve与ROC Curve(受试者工作特征曲线)一同使用,以更全面地评估分类模型的性能。

result.png

【机器学习】yolov5训练结果分析🌳定位损失box_loss:

   预测框与标定框之间的误差(CIoU),越小定位得越准;

🌳置信度损失obj_loss:

   计算网络的置信度,越小判定为目标的能力越准;

🌳分类损失cls_loss:

   计算锚框与对应的标定分类是否正确,越小分类得越准;

🌳mAP@0.5:0.95(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;

🌳mAP@0.5:文章来源地址https://www.toymoban.com/news/detail-427772.html

  表示阈值大于0.5的平均mAP

到了这里,关于【机器学习】yolov5训练结果分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • YOLOv5 使用tensorboard查看可视化训练结果

    1.1.找的models/yolo.py文件中,将最下面有关 Tensorboard 的注释打开 2.进入项目根目录 比如你训练的是第20个版本,那么 tensorboard --logdir=./runs/train/exp20 就可以查看当前训练的可视化结果了 3.通过浏览器查看可视化训练结果

    2024年02月16日
    浏览(39)
  • YOLOv5s训练结果result.txt绘制loss/mAP等曲线对比图

    引用代码 另外奉上各种线性颜色:参考 大概是够用了!!!

    2024年02月13日
    浏览(35)
  • YOLOV7训练自己的数据集以及训练结果分析(手把手教你)

    YOLOV7训练自己的数据集整个过程主要包括:环境安装----制作数据集----参数修改----模型测试----模型推理 labelme标注的数据格式是VOC,而YOLOv7能够直接使用的是YOLO格式的数据,因此下面将介绍如何将自己的数据集转换成可以直接让YOLOv7进行使用。 1. 创建数据集 在data目录下新建

    2023年04月20日
    浏览(36)
  • 人工智能图像识别分析之——Yolov5模型训练

    上一课讲述了Yolov5模型环境搭建的过程 这一课讲Yolov5模型训练的过程 进行模型训练前,首先要先进行样本标注,标注后产生标注文件,将图片源文件和标注文件进行文件划分,本文以2000张负样本进行训练。 1.新建三级目录datasets/images/train、datasets/images/val 2.新建三级目录da

    2024年02月01日
    浏览(57)
  • AI学习笔记四:yolov5训练自己的数据集

    若该文为原创文章,转载请注明原文出处。 一般情况下,大部分人的电脑都是没有cpu的,cpu也是可以训练的,但花费的时间太长,实际200张图片,使用CPU训练300轮花了3天,本章记录使用云服务器来训练自己的数据集。 使用的云服务器是AutoDL,一直在使用,性价比还是比较高的

    2024年02月15日
    浏览(32)
  • 【Yolov5+Deepsort】训练自己的数据集(3)| 目标检测&追踪 | 轨迹绘制 | 报错分析&解决

    📢前言: 本篇是关于 如何使用YoloV5+Deepsort训练自己的数据集 ,从而实现目标检测与目标追踪,并绘制出物体的运动轨迹。本章讲解的为第三部分内容:数据集的制作、Deepsort模型的训练以及动物运动轨迹的绘制。本文中用到的数据集均为自采,实验动物为斑马鱼。 💻环境

    2024年02月10日
    浏览(36)
  • 使用yolov5和强化学习训练一个AI智能欢乐斗地主(一)

    你好! 欢迎阅读我的文章,本章将介绍,如何使用yolov5和强化学习训练一个AI斗地主,本项目将分为三个部分,其中包含(yolov5目标检测,pyqt5页面搭建,强化学习训练出牌)。为什么会做这个项目呢,主要是出于作者本人感兴趣,我也喜欢打牌,即使这个项目可能在多数项

    2024年02月11日
    浏览(39)
  • 【深度学习】YOLOv5实例分割 数据集制作、模型训练以及TensorRT部署

    yolov5-seg:官方地址:https://github.com/ultralytics/yolov5/tree/v6.2 TensorRT:8.x.x 语言:C++ 系统:ubuntu18.04 前言:由于yolo仓中提供了标准coco的json文件转txt代码,因此需要将labelme的json文件转为coco json. labelme JSON 转COCO JSON 使用labelme的CreatePolygons按钮开始绘制多边形,然后保存为json格式。

    2024年02月06日
    浏览(38)
  • 基于深度学习的跌倒检测系统(UI界面+YOLOv5+训练数据集)

    摘要:跌倒监测系统用于智能化监测是否有行人跌倒,通过YOLOv5的深度学习技术对视频、图片、摄像头等画面进行跌倒检测,分析并安全提醒。在介绍算法原理的同时,给出 P y t h o n 的实现代码、 P y Q t 的UI界面及训练数据集。跌倒监测系统主要用于日常生活中行人跌倒情况

    2023年04月18日
    浏览(34)
  • 基于YOLOv5的停车位检测系统(清新UI+深度学习+训练数据集)

    摘要:基于YOLOv5的停车位检测系统用于露天停车场车位检测,应用深度学习技术检测停车位是否占用,以辅助停车场对车位进行智能化管理。在介绍算法原理的同时,给出 P y t h o n 的实现代码、训练数据集以及 P y Q t 的UI界面。博文提供了完整的Python代码和使用教程,适合新

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包