助力工业智能生产质检,基于yolov5n/s/m不同精度系列模型开发构建热轧钢缺陷检测识别系统,对比分析性能差异

news/2024/7/10 23:33:55 标签: YOLO

缺陷先关的智能检测应用和深度学习的结合是具有非常不错的应用前景的,比如:PCB缺陷检测、布匹瑕疵缺陷检测、瓷砖缺陷检测等等,在我之前的博文中对于缺陷领域相关的实践也有不少的项目开发实践,感性却的话可以自行移步阅读即可。

本文的核心目的就是想要对比分析不同精度系列的模型对于钢铁缺陷检测的性能差异,首先看下效果图:

简单看下数据集:

 这里使用到的是东北大学开源的热轧钢缺陷数据集。

数据集中共包含了6种不同类型的缺陷数据。

详情数据配置如下所示:

# Dataset
path: ./dataset
train:
  - images/train
val:
  - images/test
test:
  - images/test



# Classes
names:
  0: crazing
  1: inclusion
  2: patches
  3: pittedSurface
  4: rolledInScale
  5: scratches

模型的话这里分别使用了n/s/m三款不同精度系列的模型来完成模型的开发工作。

默认都是100次epoch的迭代计算,接下来看下结果详情:
【n系列】

 【s系列】

 【m系列】

为了整体综合来对三款模型进行对比分析,这里对其进行综合对比可视化如下所示:

首先是精确率:

精确率(Precision)是一个用于衡量分类模型性能的指标,特别用于二分类问题。它衡量了模型预测为正例的样本中有多少是真正的正例。精确率可以用以下公式表示:

精确率 = 真正的正例数 / (真正的正例数 + 假正例数)

其中,真正的正例数是模型正确预测为正例且实际为正例的样本数,假正例数是模型错误预测为正例但实际为负例的样本数。

精确率的取值范围在0到1之间,数值越高表示模型的分类结果中真正的正例比例越高,即模型在将负例误判为正例的情况下更少。

 接下来是召回率:

召回率(Recall),也被称为灵敏度(Sensitivity)或真正例率(True Positive Rate),是用于衡量分类模型性能的指标,特别用于二分类问题。它衡量了模型能够正确识别出所有真正正例样本的能力。召回率可以用以下公式表示:

召回率 = 真正的正例数 / (真正的正例数 + 假负例数)

其中,真正的正例数是模型正确预测为正例且实际为正例的样本数,假负例数是模型错误预测为负例但实际为正例的样本数。

召回率的取值范围在0到1之间,数值越高表示模型能够更准确地识别出真正的正例样本,即模型在将正例漏报(错判为负例)的情况下更少。

 之后是F1值:

F1值是一种综合考虑精确率(Precision)和召回率(Recall)的评估指标,用于衡量二分类模型的性能。F1值是精确率和召回率的调和平均值,可以综合评估模型在正确预测正例和尽可能少漏报的能力。F1值可以使用以下公式计算:

F1值 = 2 * (精确率 * 召回率) / (精确率 + 召回率)

精确率和召回率的取值范围都在0到1之间,F1值的取值范围也在0到1之间。F1值越接近1,表示模型在同时考虑精确率和召回率时具有更好的性能。

F1值在处理不平衡数据集和对模型的整体性能进行评估时非常有用。例如,在垃圾邮件分类任务中,我们希望模型既能准确地将垃圾邮件分类为垃圾,又能尽量少漏掉真正的垃圾邮件。F1值综合了这两个指标,提供了一个全面的性能评估指标。

需要注意的是,F1值将精确率和召回率看作同等重要,适用于在精确率和召回率之间没有明确优先关系的任务。如果任务对于精确率或召回率有不同的重要性,可以根据需求选择适当的评估指标或调整模型的阈值。

 最后是loss曲线对比:

 可以看到:m系列的模型效果是优于n和s的。


http://www.niftyadmin.cn/n/429257.html

相关文章

seata启动报错

目录 一、说是druid连接失败的问题 二、有可能也是因为内存不足, 我遇到的问题如下: INFO --- [ctionPool-Create-18213909] com.alibaba.druid.pool.DruidDataSource : put physical connection to pool failed. 一、说是druid连接失败的问题 厚礼…

VUE3 腾讯地图 拾取坐标

VUE3 腾讯地图 拾取坐标 (选地) 1. 注册key https://lbs.qq.com/dev/console/application/mine (腾讯地图) 2. 具体代码 <div class"map-picker-container"><div id"mapContainer" class"map-container"></div><!-- <…

linux- 定时任务清理日志

定时任务清理日志 一、查找并删除文件1.1 查找文件1.2 查找并删除 二、计划任务&#xff1a;2.1 创建shell脚本&#xff0c;并分配权限2.2 编辑shell脚本2.3 计划任务 linux是一个很能自动产生文件的系统&#xff0c;在实际部署运行中&#xff0c;发现日志文件会占用大量内存&a…

【linux】在Ubuntu下部署nginx——nginx的反向代理

介绍 这里是小编成长之路的历程&#xff0c;也是小编的学习之路。希望和各位大佬们一起成长&#xff01; 以下为小编最喜欢的两句话&#xff1a; 要有最朴素的生活和最遥远的梦想&#xff0c;即使明天天寒地冻&#xff0c;山高水远&#xff0c;路远马亡。 一个人为什么要努力&a…

写一个自定义View你都需要注意什么

本文主要是记录一下继承子View&#xff0c;所需要实现的方法&#xff0c;以及对自己的知识做一下梳理和记录&#xff0c;其中不少内容觉得自己应该是会的&#xff0c;但是实际写起来&#xff0c;还是遇到不少阻碍 构造方法 首先构造先了解一下构造方法&#xff0c;一般来说&a…

2023亚马逊云科技中国峰会之Serverless

序言 Amazon Web Services&#xff0c;是Amazon.com推出的一系列云计算服务。 它提供了一系列的基础设施服务、平台服务和软件服务&#xff0c;希望可以帮助我们更轻松地构建和管理基于云的应用程序。 今天来学习一下 Serverless 本文会介绍以下六个模块&#xff1a; 为什么会…

车间主任、班组长必读:生产车间的现场管理

与工厂车间操作层&#xff08;一线员工&#xff09;接触最多的基层管理者&#xff0c;即我们通常所说的班组长、车间主任等&#xff0c;他们是将企业战略规划落实到具体工作当中的终端管理者。 一线班组长的“角色” 1、责任者 对企业来说&#xff0c;班组长是基层的治理员&am…

【SA8295P 源码分析】17 - 设备虚拟化 之 Passthrough透传、Vdev Trap、HAB Socket 原理解析

【SA8295P 源码分析】17 - 设备虚拟化 之 Passthrough透传、Vdev Trap、HAB Socket 原理解析 一、Passthrough 透传独占方式二、HAB Socket 远程通信方式三、Vdev(Trap)敏感地址陷入方式系列文章汇总见:《【SA8295P 源码分析】00 - 系列文章链接汇总》 本文链接:《【SA8295…