YOLOv5训练结果分析

article/2025/5/14 2:41:20

本文的目的是帮助理解每次训练后,在runs/train文件夹下出现的一系列文件,并探索如何评估准确率以及模型的好坏。

一.混淆矩阵—confusion_matrix.png

毕设跑的train有混淆矩阵,但是有点扯,需要跑一下鸟类的验证一下(待验证)

 1.概念

混淆矩阵是对分类问题预测结果的总结。使用计数值汇总正确和不正确预测的数量,并按每个类进行细分,显示了分类模型进行预测时会对哪一部分产生混淆。

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

2.图文理解

实际
类1类2类3
预测类14352
类22453
类30149

(1)横轴时预测类别,纵轴是真实类别;

(2)表格里的数目总数为150,表示共有150个测试样本;

(3)每一行之和为50,表示每类各有50个样本,每一行代表了真实的目标被预测为其他类的数量,比如第一行:43代表真实的类一中有43个被预测为类一,5个被错预测为类2,2个被错预测为类3;

二.TP/TN/FP/FN

1.逻辑关系

T(True):最终预测结果正确。

F(False):最后预测结果错误。

P(Positive):模型预测其是正例(目标本身是个鱼,模型也预测它是个鱼)。

N(Negative):模型预测其是负例(目标本身是个鱼,但模型预测它是个猫)。

TP:样本的真实类别是正例,并且模型预测的结果也是正例,预测正确(目标本身是个鱼,模型也预测它是鱼,预测正确;还有一种理解方式,模型预测它是正例,最终预测结果是正确的,所以目标是个正例))。

TN:样本的真实类别是负例,并且模型将其预测成为负例,预测正确(目标本身不是鱼,模型预测它不是了鱼,是个其他的东西,预测正确;还有一种理解方式,模型预测它是负例,最终预测结果是正确的,所以目标是个负例))。

FP:样本的真实类别是负例,但是模型将其预测成为正例,预测错误(目标本身不是鱼,模型预测它是鱼,预测错误;还有一种理解方式,模型预测它是正例,最终预测结果是错误的,所以目标是个负例)。

FN:样本的真实类别是正例,但是模型将其预测成为负例,预测错误(目标本身是鱼,模型预测它不是鱼,是个其他的东西,预测错误;还有一种理解方式,模型预测它是负例,最终预测结果是错误的,所以目标是个正例)。


2.几个指标

(1)正确率/准确率(accuracy)=\frac{}{}\frac{TP+TN}{TP+TN+FP+FN};

注:通常来说正确率越高,模型越好。

(2)错误率=\frac{FP+FN}{TP+TN+FP+FN};

(3)灵敏度(sensitive)=\frac{TP}{TP+FN}

注:表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力;

(4)特征度/特异度(specificity)=\frac{TN}{TN+FP}

注:表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力;

(5)精确率(precision)=\frac{TP}{TP+FP}

注:表示被分为正例的示例中实际为正例的比例;

(6)召回率(recall)=\frac{TP}{TP+FN}

注:度量有多个正例被分为正例;


3.label.jpg

 第一张图:classes(每个类别的数据量)

第二个图:labels(框的尺寸和数量)

第三个图:center (框的中心点坐标)

第四个图:labels width and height(框的长和宽)


4.P_curve(精确率和置信度的关系图)

精确率(查准率):表示被分为正例的示例中实际为正例的比例

解释:设置置信度为某一数值的时候,各个类别识别的精确率。

可以看到,当置信度越大的时候,类别检测的越准确。这也很好理解,只有置信度很大,才被判断是某一类别。但这样的话,会漏检一些置信度低的类别。

比如运行程序时,即便某个目标是鱼,模型预测它也是鱼,但是给它的置信度只有70%,当置信度设置在80%时才认为是鱼时,这个目标就会被忽略了。


5.R_curve(召回率和置信度的关系图)

召回率(查全率):度量有多个正例被分为正例

解释:设置置信度为某一数值的时候,各个类别查全的概率。可以看到,当置信度越小的时候,类别检测的越全面。


6.先验知识\rightarrow综合recall和precision

Precision和Recall通常是一对矛盾的性能度量指标。一般来说,Precision越高时,Recall往往越低。

原因是:如果我们希望提高Precision,即二分类器预测的正例尽可能是真实正例,那么就要提高二分类器预测正例的门槛。例如,之前预测正例只要置信度\geq0.5的样例我们就标注为正例,那么现在要提高到置信度\geq0.7我们才标注为正例,这样才能保证二分类器挑选出来的正例更有可能是真实正例;而这个目标恰恰与提高Recall相反,如果我们希望提高Recall,即二分类器尽可能地将真实正例挑选出来,那么势必要降低二分类器预测正例的门槛,例如之前预测正例只要置信度\geq0.5的样例我们就标注为真实正例,那么现在要降低到\geq​​​​​​​0.3我们就将其标注为正例,这样才能保证二分类器挑选出尽可能多的真实正例 。

注:算法会为每个目标分配一个置信度

对于二分类器,我的理解是:即便是有多个目标,因为在P_curve和R_curve中,每一类都有一条自己对应的曲线,所以在计算每一类的时候(比如鱼),鱼就是正例,其余的不管有多少类通通归为负例。


 7.PR_curve(精确率和召回率的关系图)

mAP (Mean Average Precision),即均值平均精度。

mAP是所有类别AP的均值,AP由精确率和召回率确定;而IoU 阈值、confidence(置信度) 阈值影响精确率和召回率的计算。计算精确率和召回率时需要判断TP、FP、TN、FN

@后面的数表示判定iou为正负例的阈值

可以看到:精度越高,召回率越低。

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

第一个衡量指标:mAP曲线的面积大小。


8.F1_curve

F1分数(F1-score)是分类问题的一个衡量指标。是精确率和召回率的调和平均数,1是最好,0是最差。

                                               F_{1}Score=\frac{2*Precision*Recall}{Precision+Recall}

​​​​​​​


 

9.可视化训练结果解析

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

obj(Objectness):推测为目标检测loss均值,越小目标检测越准。

cls(Classification):推测为分类loss均值,越小分类越准。

第二个衡量指标:宏观上一般训练结果主要观察精度召回率波动情况,波动不是很大则训练效果较好;如果训练比较好的话图上呈现的是稳步上升。


10.小感悟

Q1:在学习YOLOv5训练结果分析的过程中突然有了一个疑问:train.py不就是训练训练图片,怎么会涉及到精确率的问题?

解释:在训练过程中,有一步会生成训练集(train.txt)、验证集(val.txt)、测试集(test.txt),其中存放图片的名字(无后缀.jpg)。

训练集:用于训练模型以及确定参数。相当于老师教学生知识的过程。

验证集:用于确定网络结构以及调整模型的超参数。相当于月考等小测验,用于学生对学习的查漏补缺。

测试集:用于检验模型的泛化能力。相当于大考,上战场一样,真正的去检验学生的学习效果。

所以我感觉正是测试测试集的过程中,才出来的精确率、召回率等参数。

关于毕设训练结果文档中P_curve、R_curve都只有黑鲷的原因是:测试集里只有黑鲷的图片。

这里设计到训练集、验证集、测试集的比例划分(未解决)


半成品:仅仅是为了自己理解YOLOv5的具体原理,如有侵权,麻烦告知,立删


http://chatgpt.dhexx.cn/article/dMnRPera.shtml

相关文章

【科研分享】Matplotlib 绘制热力图(heatmap)进行实验结果分析

Matplotlib 绘制热力图(heatmap)进行实验结果分析 写论文的时候又碰到了新的需求,为了呈现实验结果,这次需要做一个分析两个超参的图,搜了半天发现还是热力图最合适,但是在各处看了很多篇文章发现讲的要么不…

实验结果分析

为了说明本文所提出基于深度学习的SIR模型方法的性能,我们比较了闭集合(Close-set Dataset)数据和开集合(Open-set Dataset)数据两种情景下的已确诊Covid19病例的数量的预测值。模型的闭集合数据内拟合是模型估计潜在参数的有效性的重要指标,而开集合数据…

主成分分析在SPSS上的实现与结果分析——基于SPSS实验报告

实验目的 通过本次实验学习主成分分析在SPSS软件中的具体操作方法,更深入了解主成分分析法的基本思想,通过SPSS的实现将理论运用于实践当中,增强我们的动手能力并且会运用主成分分析的方法来处理数据实现我们的需求。 实验步骤及过程&#x…

03 数字图像技术——频域滤波实验结果与分析——python

04 数字图像技术——图像特征提取之实验结果与分析 03 数字图像技术——频域滤波实验结果与分析 02 数字图像技术——颜色空间转换与颜色空间分割实验结果与分析 01 数字图像基本操作——图像采样、量化、算术运算、点运算实验结果及分析 一、实验目的 1.了解图像…

将两张图片合并成一个PDF,不收费

如何来实现将两张图片合并成一个PDF? 我试过WPS金山、Adobe、万兴等等PDF软件,他们NND都是要收费! 咱也不是钱多到大水飘过来的,这里给出最简单的方式,用Windows自带的打印功能,就能实现! 最重要的是&…

pdf转高清图片

很多人在java中遇到ppt/pdf转图片的时候,有些插图图片转不了或者是转出来的图片不清晰,也都是使用的官方jar包。有些是需要引用到icepdf插件的,这里不细说了,直接放一段稍微简单一点的代码供参考: package test;impor…

锐化pdf文件(图片形式)

目录 前言 正文 1、使用PDF Shaper Pro拆分pdf 2、使用ComicEnhancerPro处理拆分好的图片 3、使用PDF Shaper Pro合并图片为pdf 前言 最近复习考研数学,然后买书真的是死贵死贵,第一次把网上找到的pdf打印出来后发现非常的不清晰,然后开…

利用C#实现Pdf转图片

这周碰到一个需求,由于公司系统框架的原因,不能直接显示第三方回传回来的pdf(说明一下,第三方回传的pdf是带上了签章信息(即在pdf中加入了签名图片)),需要把pdf转成图片进行显示,但在做的过程中踩了不少雷。最后使用第…

7个值得拥有收藏的免费在线 PDF转图片转换器

PDF 格式在文档演示和交换中无处不在。但是PDF转图片的必要性也在于很多情况。这里我想提几点。 收件人可能没有打开您发送的 PDF 的应用程序,但可以使用系统提供的程序查看图像。图像在浏览器中的显示速度比 PDF 快,因为图像可以流式传输,但…

图片批量合成PDF方法

目录 方法:操作多图合成一个PDF图片文件夹合成PDF批量对每个文件夹中图片合成PDF 如何获取软件 方法: 下载FreePic2Pdf软件,按下面方法操作 操作 多图合成一个PDF 打开FreePic2Pdf.exe软件点击下图1,选择图片添加进来点击下图…

android中pdf转换成图片格式,Android-PDF转图片

场景 将PDF里面的内容渲染到原生的View上面,一直没接触过这部分的技术,所以在网上寻找了下,终于发现了Android原生自带的类,也是今天我们着重讲的内容。 PdfRenderer 从名字上可以看出,这个是和渲染有关系的类型。这里…

Qt 导出pdf文件(表格、图片)

1.需要用的类 pro文件添加 QT printsupport QPdfWriter:写pdf的类 QTextDocument:支持html表格、图片的类 2.需要打印的界面 这里示例打印两个表格,一个水平方向的,一个垂直方向的,加一张图片。 3.保存的pdf效果…

将图片型pdf转成可选中文字型pdf(免费)

在使用pdf过程中我们会遇到有些pdf不能进行标注的问题,这是由于有些pdf是扫描版的, 整个pdf是由一张张图片构成的,这样的pdf是不能选中文字,所以也无法进行标注。 本教程教你如何免费将图片型pdf转成可选中文字型pdf。土豪免入~~利…

怎么把图片变成PDF

在日常办公中,如果我们需要传输图片的话一般是比较简单的,但是如果需要传输很多张图片,不管是发送还是接收的话一张张的处理就比较麻烦了。这种情况下很多朋友或许都会将图片制作成PDF文件。这样技能方便传输也能方便查阅。那么怎么把图片变成…

PHP 实现PDF转图片

目录 1.环境配置: 2.实现原理: 3.安装php扩展imagick 4.安装ghostscript 5.pdf转图片 1.环境配置: 2.实现原理: Php使用扩展插件imagick进行图片处理,处理pdf时使用imagick去调用ghostscript 3.安装php扩展imag…

图片PDF转word

最近需要把PDF转word,试了几个网站发现PDF是图片做成的而不是文本直接做的。 找了些国内的软件都要收费。 直接放网站:https://www.onlineocr.net/ 限制:只有50页的免费权限 使用: 1 点右上角SIGN UP 去注册一个账号&#x…

【PS】免费 使用PS批量将pdf转换成图片 pdf转图片 pdf转jpg pdf转png

将各种各样的pdf转成图片,是比较普遍的需求,不过目前的各种转换器,不是收费,就是限制转换数量,要不就是强制加水印,很烦。 这里我们使用PS打开PDF,然后使用PS的宏,一键将图片保存到…

Python提取PDF中的图片

⚡插播一条老家自产的糖心苹果,多个品种,欢迎选购!有问题随时私信我⚡: 🍎🍎来自雪域高原的馈赠——海拔2000米的大凉山高原生态糖心苹果🍎🍎https://blog.csdn.net/qq_15969343/art…

图片怎么转换成PDF,这三个方法轻松搞定!

图片转PDF是指将图片文件转换为PDF文件的过程。PDF(Portable Document Format)是一种文件格式,能够保存文本、图像、表格等多种元素。PDF文件具有跨平台性、可打印性和可搜索性等优点,因此被广泛应用在文档分享、文档存储和文档打…

图片转为pdf怎么弄?发送图片安全高效的格式

图片转为pdf怎么弄?pdf文档作为当下最火的一种文档格式之一,我们在日常生活中会经常使用到它。这种格式的文件保密性高,不易被修改。而将图片转换为pdf格式,不仅方便传输图片,而且还能最大程度保证图片的颜色不被改变。…