YOLOv5训练结果性能分析

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

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。

可参照以下博客一起看(涉及一些概念解析)深度学习之常用模型评估指标(一)—— 分类问题和目标检测_tt丫的博客-CSDN博客_深度网络模型特异度        yolov5训练后会产生runs文件夹,其中的train文件夹中的exp文件夹里存放的即是训练后模型的各种信息,里面的weights文件夹即放置模型权重参数,其余的文件即为各种性能指标信息。

目录

一、confusion_matrix.png —— 混淆矩阵

二、F1_curve.png —— F1曲线

三、labels.jpg —— 标签

四、labels_correlogram.jpg —— 体现中心点横纵坐标以及框的高宽间的关系

五、P_curve.png —— 单一类准确率

六、R_curve.png —— 单一类召回率

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

八、result.png —— 结果loss functions


一、confusion_matrix.png —— 混淆矩阵

       混淆矩阵是对分类问题预测结果的总结。使用计数值汇总正确和不正确预测的数量,并按每个类进行细分,显示了分类模型进行预测时会对哪一部分产生混淆。通过这个矩阵可以方便地看出机器是否将两个不同的类混淆了(把一个类错认成了另一个)。

      混淆矩阵不仅可以让我们直观的了解分类模型所犯的错误,更重要的是可以了解哪些错误类型正在发生,正是这种对结果的分解克服了仅使用分类准确率带来的局限性(总体到细分)。

YOLOv5训练结果性能分析

 行是预测类别(y轴),列是真实类别(x轴);

矩阵中Aij的含义是:第j个类别被预测为第i个类别的概率;

       从图中可分析到:每一类被正确分类的概率为100%(emmm可能过拟合了),但是背景被误分还是有一定的概率,尤其是“down”类。


二、F1_curve.png —— F1曲线

YOLOv5训练结果性能分析       

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

        一般来说,置信度阈值(该样本被判定为某一类的概率阈值)较低的时候,很多置信度低的样本被认为是真,召回率高,精确率低;置信度阈值较高的时候,置信度高的样本才能被认为是真,类别检测的越准确,即精准率较大(只有confidence很大,才被判断是某一类别),所以前后两头的F1分数比较少。

       可以看到F1曲线很“宽敞”且顶部接近1,说明在训练数据集上表现得很好(既能很好地查全,也能很好地查准)的置信度阈值区间很大。


三、labels.jpg —— 标签

第一个图是训练集得数据量,每个类别有多少个;

第二个图是框的尺寸和数量;

第三个图是中心点相对于整幅图的位置;

第四个图是图中目标相对于整幅图的高宽比例;


四、labels_correlogram.jpg —— 体现中心点横纵坐标以及框的高宽间的关系

YOLOv5训练结果性能分析

 表示中心点坐标x和y,以及框的高宽间的关系。

每一行的最后一幅图代表的是x,y,宽和高的分布情况:

最上面的图(0,0)表明中心点横坐标x的分布情况,可以看到大部分集中在整幅图的中心位置;

(1,1)图表明中心点纵坐标y的分布情况,可以看到大部分集中在整幅图的中心位置;

(2,2)图表明框的宽的分布情况,可以看到大部分框的宽的大小大概是整幅图的宽的一半;

(3,3)图表明框的宽的分布情况,可以看到大部分框的高的大小超过整幅图的高的一半

而其他的图即是寻找这4个变量间的关系


五、P_curve.png —— 单一类准确率

YOLOv5训练结果性能分析

 即置信度阈值 - 准确率曲线图

        当判定概率超过置信度阈值时,各个类别识别的准确率。当置信度越大时,类别检测越准确,但是这样就有可能漏掉一些判定概率较低的真实样本。


六、R_curve.png —— 单一类召回率

YOLOv5训练结果性能分析

  即置信度阈值 - 召回率曲线图

当置信度越小的时候,类别检测的越全面(不容易被漏掉,但容易误判)。


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

YOLOv5训练结果性能分析

PR曲线体现精确率和召回率的关系。

mAP 是 Mean Average Precision 的缩写,即 均值平均精度。可以看到:精度越高,召回率越低。

我们希望:在准确率很高的前提下,尽可能的检测到全部的类别。因此希望我们的曲线接近(1,1),即希望mAP曲线的面积尽可能接近1。


八、result.png —— 结果loss functions

🌳定位损失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:

      表示阈值大于0.5的平均mAP

YOLOv5训练结果性能分析

横坐标代表的是训练轮数(epoch) 

       一般训练结果主要观察“mAP曲线的面积大小”(PR曲线)与“精确率和召回率波动情况”(上图的右边);

       PR曲线面积越接近1越好;

       精确率和召回率波动不是很大则训练效果较好;如果训练比较好的话图上呈现的是稳步上升。


欢迎大家在评论区批评指正,谢谢啦~文章来源地址https://www.toymoban.com/news/detail-406360.html

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

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

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

相关文章

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

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

    2024年02月16日
    浏览(41)
  • 全网最牛,JMeter性能测试步骤与结果分析(压力 / 负载测试)详全,精品太干了

    1、负载:模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖 在一定软硬件环境下,通过不断加大负载(不同虚拟用户量)来确定在满足性能指标情况下能够承受的最大用户数 简单说,可以帮我们对系统进行定容 定量,找出系统性能的拐点,给予生产环境规

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

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

    2024年02月13日
    浏览(35)
  • 深度学习图像识别笔记(三):yolov5检测结果分析

    是一种可视化工具,特别用于监督学习。通过这个矩阵,可以很清晰地看出机器是否将两个不同的类混淆了。 上图的表格其实就是 confusion matrix True/False: 预测结果是否正确 Positive/Negative:预测的方向是正方向还是负方向 真阳性(True Positive, TP): 预测为正样本,实际为正样

    2023年04月25日
    浏览(31)
  • YOLOV7训练自己的数据集以及训练结果分析(手把手教你)

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

    2023年04月20日
    浏览(38)
  • AIGC:利用多个AI技术前沿模型(GPT-3.5/GPT-4/Claude/ForefrontChat/HuggingChat)实现文本理解、生成文本类/图片类的结果对比并分析性能案例集合

    AIGC:利用多个AI技术前沿模型(GPT-3.5/GPT-4/Claude/ForefrontChat/HuggingChat)实现文本理解、生成文本类/图片类的结果对比并分析性能案例集合 目录 文本理解 1、理解语境中的术语含义 GPT-4的回答 GPT-3.5的回答 Forefront Chat(GPT-3.5)的回答 Claude+的回答 HuggingChat的回答 2、请用一句话总结贝

    2024年02月09日
    浏览(34)
  • 人工智能图像识别分析之——Yolov5模型训练

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

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

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

    2024年02月10日
    浏览(39)
  • yolov5结果解析

    以这种形式给出矩阵的值 g t c l a s s 1 gt_{class1} g t c l a ss 1 ​ g t c l a s s 2 gt_{class2} g t c l a ss 2 ​ g t c l a s s 3 gt_{class3} g t c l a ss 3 ​ background FP p r e d c l a s s 1 pred_{class1} p re d c l a ss 1 ​ p r e d c l a s s 2 pred_{class2} p re d c l a ss 2 ​ p r e d c l a s s 3 pred_{class3} p re d c l a ss 3 ​ bac

    2024年02月04日
    浏览(35)
  • YOLOv3&YOLOv5输出结果说明

    本文使用的yolov3和yolov5工程文件均为github上ultralytics基于pytorch的v3和v5代码,其训练集输出结果类型基本一致,主要介绍了其输出结果,本文是一篇学习笔记 本文使用的yolov3代码github下载地址:yolov3 模型训练具体步骤可查看此篇博客: yolov3模型训练——使用yolov3训练自己的模

    2023年04月08日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包