YOLOv5训练结果性能分析

news2024/11/13 16:09:09

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

可参照以下博客一起看(涉及一些概念解析)深度学习之常用模型评估指标(一)—— 分类问题和目标检测_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 —— 混淆矩阵

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

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

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

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

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


二、F1_curve.png —— F1曲线

       

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

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

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


三、labels.jpg —— 标签

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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


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

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

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


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

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

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

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

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

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


欢迎大家在评论区批评指正,谢谢啦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/188755.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python大数据处理利器,PySpark的入门实战

PySpark极速入门 一:Pyspark简介与安装 什么是Pyspark? PySpark是Spark的Python语言接口,通过它,可以使用Python API编写Spark应用程序,目前支持绝大多数Spark功能。目前Spark官方在其支持的所有语言中,…

OpenCV-Python学习(18)—— OpenCV 图像几何变换之图像平移(cv.warpAffine)

1. 学习目标 学习图像的平移矩阵;学习 OpenCV 图像平移函数。 2. 图像的平移矩阵 平移是物体位置在水平和垂直方向的移动。 像素点 (x,y) 沿 x 轴平移 dx、沿 y 轴平移 dy,公式: 3. 图像平移函数 3.1 cv.warpAffine() 函数使用 cv.war…

R语言生物群落(生态)数据统计分析与绘图

包含:《R语言基础》、《tidyverse数据清洗》、《多元统计分析》、《随机森林模型》、《回归及混合效应模型》、《结构方程模型》、《统计结果作图》七合一版本 R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂&#…

手动启动Oracle服务和Oracle监听服务和init.ora文件相关

Oracle 11g 安装未完全成功;安装完以后,服务只有2个;这样是用不了,oracle服务和oracle监听服务都没有; 尝试启动一下数据库,出现12560错误; 根据资料,可用如下命令启动Oracle服务&am…

【06】FreeRTOS临界段代码保护及调度器挂起与恢复

目录 1.临界段代码保护简介 2.临界段代码保护函数介绍 2.1任务级临界区调用格式示例 2.2中断级临界区调用格式示例 2.3函数调用特点 2.4任务级进入和退出临界段函数 2.5中断级进入和退出临界段函数 3.任务调度器的挂起和恢复 3.1任务调度器挂起函数vTaskSuspendAll() …

为什么大部分虚拟主机都配置SSD

对于任何站长来说,拥有一个不会加载的漂亮网站可能是毁灭性的。选择正确的托管服务对于确保网站始终以最佳状态运行至关重要。而由于新手站长呈爆发性增长态势,选择虚拟主机的站长日趋增多。本文就将介绍大部分虚拟主机都配置SSD的原因。SSD优势SSD在数据…

Windows下MySQL5与MySQL8的下载、安装、配置

MySQL版本简介 MySQL Community Server 社区版本,开源免费,自由下载,但不提供官方技术支持,适用于 大多数普通用户。MySQL Enterprise Edition 企业版本,需付费,不能在线下载,可以试用30天。提供…

EMT4J详细介绍与使用,帮你找到Java版本升级带来的问题,让你在项目jdk升级不在头疼

Java版本升级带来的问题 前因 java更新迭代速度巨快无比,Spring Framework 6 等项目已经至少需要 Java 17。但是,对于 Java 版本的采用是相对缓慢的。例如,在 Java 11 发布四年之后(2022年),只有不到 49%…

[C语言]操作符

目录 1.操作符分类 2.算术操作符 3.位移操作符 3.1左移操作符 3.2右移操作符 4.位操作符 4.1’&‘(按位与) 4.2’|‘(按位或) 4.3‘^’(按位异或) 5.赋值操作符 5.1复合赋值符 6.单目操作…

IDEA搭建Finchley.SR2版本的SpringCloud父子基础项目-------Hystrix断路器

1.1分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。 服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务&#xff0…

高薪前端都应该具备的开发好习惯

格拉德威尔曾提出过一个“一万小时定律”,即任何人从平凡到大师的必要条件,就是历经1万小时的锤炼,而这“1万小时”也不是达到就行;如何构成,才是能否成为行业资深的关键。总结起来,就是四个字:…

Databend 开源周报 第 77 期

Databend 是一款强大的云数仓。专为弹性和高效设计。自由且开源。 即刻体验云服务:https://app.databend.com 。 What’s New 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 Features & Improvements Meta 使用 expressin::TableSch…

蓝桥杯单片机快速得奖方法(分享一些实用技巧)

文章目录前言一、蓝桥杯单片机痛点1.LED灯微亮2.数码管微亮3.蜂鸣器乱叫4.驱动程序不会写5.按键程序灵敏度低容易误操作6.矩阵按键代码总是记不住一写就忘记7.使用大量延时函数导致程序运行效率低下二、痛点解决方法1.锁存器的错误操作2.代码不熟练3.没有高效的代码总结前言 又…

微信小程序 java python django加油站服务系统

目 录 摘 要 I ABSTRACT II 第一章 绪 论 1 1.1选题背景 2 1.2研究现状 3 1.3研究内容 7 第二章 开发工具及关键技术介绍 8 2.1微信开发者工具 8 2.2小程序框架以及目录结构介绍 8 第三章 系统分析 10 3.1需求分析 10 3.2可行性分析 1…

Appium是如何工作的

Appium是由node.js开发的开源自动化测试工具,可用来测试移动端的Native、Hybrid和移动Web应用,被测平台包括Android和iOS(最近宣称已支持Windows)。 Native apps – 使用Android、iOS和Windows SDK开发的应用。 Mobile web apps …

存储区域网络将占下一代数据存储市场的 7%

根据 Future Market Insights 的最新行业分析,全球存储区域网络 (SAN) 市场预计将显示稳定的增长机会,在 2022 年至 2029 年的评估期内复合年增长率约为 3.9%。 2021 年全球市场估值达到 195.76 亿美元,到 2029 年将进一步扩大至 268.67 亿美…

车载以太网 - SomeIP测试专栏 - SomeIP Entry - 04

前面总纲内容有说,车载以太网中的SomeIP内容是非常多的,并且为了实现SOA的相关需求,提供了多种多样的报文类型,因此也就有了今天要说的SomeIP-SD中的重要组成部分之一的条目(Entry)部分,而SomeIP-SD在车载网络中占有相当大的比重,可以当做是一定要实现的,如果这块不实…

实现自己的数据库四

一前言上一篇已经说明了B树的一些原理,也讲到,我们目前采用的持久化数据的方式,而且我们是单独的插入数据,没有任何元数据信息,虽然插入的速度很快,因为是采用追加的方式。但是这种方式插入速度很快&#x…

Pd1 药物研发进展|销售数据|市场规模|竞争格局|前景分析

Programmed Death-1 (PD-1; CD279) 是一种在活化 T 细胞中诱导的抑制性受体,作为多种癌症的一线治疗药物。然而,严重的免疫相关不良反应限制了PD-1/PD-L1单克隆抗体的临床应用,尽管其疗效良好。 也迫切需要开发针对 PD-1/PD-L1 轴的新型抑制剂…

Torch 论文复现:Vision Transformer (ViT)

论文标题:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 从 TPUv3-core-days 可以看到,ViT 所需的训练时间比 ResNet 更短,同时 ViT 取得了更高的准确率 ViT 的基本思想是,把一张图片拆分成若干个…