基于yolov5-v7.0开发构建工业机械齿轮瑕疵实例分割检测识别分析系统

news2025/1/19 17:07:25

在之前的文章中我们已经做了很多基于yolov5完成实例分割的项目,感兴趣的话可以自行移步阅读:

《基于YOLOv5-v7.0的药片污染、缺损裂痕实例分割检测识别分析系统》

《基于yolov5-v7.0开发构建裸土实例分割检测识别模型》

《基于yolov5-v7.0开发实践实例分割模型超详细教程》

本文主要的目的就是基于官方的v7.0分支的模型来开发构建工业机械齿轮瑕疵分割检测识别系统。话不多说,首先来看效果图:

简单看下数据集:

labels标注数据如下:

实例标注数据内容如下:

2 0.5657142857142857 0.21133333333333335 0.5771428571428572 0.23333333333333334 0.6214285714285714 0.25733333333333336 0.6185714285714285 0.22933333333333333
2 0.6521428571428571 0.25133333333333335 0.6571428571428571 0.27466666666666667 0.695 0.29933333333333334 0.6985714285714286 0.27666666666666667
2 0.6614285714285715 0.08266666666666667 0.7107142857142857 0.10666666666666667 0.7242857142857143 0.134 0.68 0.118
2 0.5642857142857143 0.37866666666666665 0.5757142857142857 0.4106666666666667 0.6171428571428571 0.43133333333333335 0.6085714285714285 0.4073333333333333
2 0.3385714285714286 0.7966666666666666 0.3407142857142857 0.8206666666666667 0.37357142857142855 0.838 0.3678571428571429 0.8106666666666666
2 0.6471428571428571 0.606 0.6542857142857142 0.6313333333333333 0.6921428571428572 0.652 0.68 0.622
2 0.5314285714285715 0.18866666666666668 0.5235714285714286 0.20466666666666666 0.5471428571428572 0.224 0.5635714285714286 0.22333333333333333 0.5542857142857143 0.20333333333333334
2 0.39714285714285713 0.11466666666666667 0.38285714285714284 0.11 0.37785714285714284 0.128 0.40714285714285714 0.144 0.41214285714285714 0.13466666666666666

这里一共有三种瑕疵类型,如下:

names:
  0: hp_cm
  1: hp_cd
  2: kp

模型文件如下:

#Parameters
nc: 3  # number of classes
depth_multiple: 0.33  # model depth multiple
width_multiple: 0.50  # layer channel multiple
anchors:
  - [10,13, 16,30, 33,23]  # P3/8
  - [30,61, 62,45, 59,119]  # P4/16
  - [116,90, 156,198, 373,326]  # P5/32


#Backbone
backbone:
  # [from, number, module, args]
  [[-1, 1, Conv, [64, 6, 2, 2]],  # 0-P1/2
   [-1, 1, Conv, [128, 3, 2]],  # 1-P2/4
   [-1, 3, C3, [128]],
   [-1, 1, Conv, [256, 3, 2]],  # 3-P3/8
   [-1, 6, C3, [256]],
   [-1, 1, Conv, [512, 3, 2]],  # 5-P4/16
   [-1, 9, C3, [512]],
   [-1, 1, Conv, [1024, 3, 2]],  # 7-P5/32
   [-1, 3, C3, [1024]],
   [-1, 1, SPPF, [1024, 5]],  # 9
  ]


#Head
head:
  [[-1, 1, Conv, [512, 1, 1]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-1, 6], 1, Concat, [1]],  # cat backbone P4
   [-1, 3, C3, [512, False]],  # 13

   [-1, 1, Conv, [256, 1, 1]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-1, 4], 1, Concat, [1]],  # cat backbone P3
   [-1, 3, C3, [256, False]],  # 17 (P3/8-small)

   [-1, 1, Conv, [256, 3, 2]],
   [[-1, 14], 1, Concat, [1]],  # cat head P4
   [-1, 3, C3, [512, False]],  # 20 (P4/16-medium)

   [-1, 1, Conv, [512, 3, 2]],
   [[-1, 10], 1, Concat, [1]],  # cat head P5
   [-1, 3, C3, [1024, False]],  # 23 (P5/32-large)

   [[17, 20, 23], 1, Detect, [nc, anchors]],  # Detect(P3, P4, P5)
  ]

在data目录下新建self.yaml内容如下:

#Dataset
path: ./datasets/chilun-seg  
train: images/train 
val: images/train  
test:  images/train 



# Classes
names:
  0: hp_cm
  1: hp_cd
  2: kp

修改train.py如下所示:

红框中是我自己修改的部分,可以根据自己的实际需求进行修改即可。

如果不修改--workers的话可能会报错:

AttributeError: 'NoneType' object has no attribute 'python_exit_status'

所以建议修改为0.

默认执行100次epoch的迭代计算,日志输出如下所示:

可以看到:这里分别输出了box和mask的各种指标,可以看到模型是在同时完成检测和分割两种任务的计算。

训练完成后结果目录如下所示:

F1值曲线如下:

PR曲线如下所示:

LABEL可视化:

训练batch检测样例如下:

混淆矩阵:

训练指标可视化:

最后开发专用的界面实现可视化推理计算,如下所示:

上传图像:

检测推理:

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

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

相关文章

深度学习PyTorch 之 DNN-回归(多变量)

深度学习&PyTorch 之 DNN-回归中使用HR数据集进行了实现,但是HR数据集中只有一个变量,这里我们使用多变量在进行模拟一下 流程还是跟前面一样 #mermaid-svg-LN8ayy7UjtqZ6dSj {font-family:"trebuchet ms",verdana,arial,sans-serif;font…

计算机原理三_进程管理

目录儿四、进程管理4.1 什么是进程4.1.1 进程的结构4.1.2 进程的特征4.1.3 进程与线程4.1.4 线程的实现方式用户级线程内核支持线程组合线程的调度4.2 进程是怎么运行的4.2.1 进程状态4.2.2 进程控制4.2.2.1 原语的概念4.2.2.2 挂起与激活4.2.3 进程调度4.2.3.1 调度层次4.2.3.…

CSS入门一、初识

零、文章目录 文章地址 个人博客-CSDN地址:https://blog.csdn.net/liyou123456789个人博客-GiteePages:https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee:https://gitee.com/bluecusliyou/TechLearnGithub:https:…

【BP靶场portswigger-服务端9】服务端请求伪造SSRF漏洞-7个实验(全)

前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员&…

Episode 02 对称密码基础

一、从文字密码到比特序列密码 1、使用对称密钥进行加密 为了使原来的明文无法被推测出来,就要尽可能地打乱密文,这样才能达到加密的目的。密文打乱的是比特序列,无论是文本,图片还是音乐,只要能够将数据转换比特序列…

MSF后渗透持续后门

持续后门 ○ 利用漏洞取得的meterpreter shell运行于内存中,重启失效 ○ 重复exploit漏洞可能造成服务崩溃 ○ 持久后门保证漏洞修复后仍可远程控制 Meterpreter后门 run metsvc -A #删除-r use exploit/multi/handler set PAYLOAD windows/metsvc_bind_tcp se…

[22]. 括号生成

[22]. 括号生成题目算法设计:回溯算法设计:空间换时间题目 传送门:https://leetcode.cn/problems/generate-parentheses/ 算法设计:回溯 括号问题可以分成俩类: 括号的合法性判断,主要是用栈括号的合法生…

【自然语言处理】Word2Vec 词向量模型详解 + Python代码实战

文章目录一、词向量引入二、词向量模型三、训练数据构建四、不同模型对比4.1 CBOW4.2 Skip-gram 模型4.3 CBOW 和 Skip-gram 对比五、词向量训练过程5.1 初始化词向量矩阵5.2 训练模型六、Python 代码实战6.1 Model6.2 DataSet6.3 Main6.4 运行输出一、词向量引入 先来考虑一个…

IDEA远程快速部署SpringBoot项目到Docker环境

1.LInux上先安装docker环境 https://blog.csdn.net/YXWik/article/details/128643662 2.配置Docker远程连接端口 1. vim /usr/lib/systemd/system/docker.service 2. 找到ExecStar 在后面添加 -H tcp://0.0.0.0:2375 3. 退出编辑界面:先按esc,然后"…

【JAVA程序设计】(C00100)基于Springboot+html的前后端分离停车场管理系统

基于Springboothtml的前后端分离停车场管理系统项目简介项目获取开发环境项目技术运行截图项目简介 基于SpringBoothtml的前后端分离的停车场管理系统,本系统分为二种角色:管理员和收银员。 1.登录:管理员可以通过系统分配的账号…

Android 系统框架结构

目录 1.应用层(System Apps): 2.应用框架层(Java API Framework): 3.系统运行库层(Native): 4.硬件抽象层(HAL): 5.Linux内核层(Linux Kernel): 大部分开发的同学是不太清楚Android的系统的…

解决企业微信启动报错:0x0000142无法打开

解决企业微信启动报错:0x0000142无法打开1.问题描述2.问题查找3.问题解决4.事后感悟系统:Win10 WXWork:4.0.20.6020 1.问题描述 不知道从啥时候开始,打开企业微信会报错(见下图),报错代码是&am…

【Redis】缓存穿透问题及其解决方案

【Redis】缓存穿透问题及其解决方案 文章目录【Redis】缓存穿透问题及其解决方案1. 缓存穿透概念及原因2. 解决方案2.1 缓存空对象2.1.1 缓存空对象的优缺点2.1.2 改进代码2.2 布隆过滤2.2.1 布隆过滤的优缺点1. 缓存穿透概念及原因 缓存穿透:客户端请求的数据在 缓…

HTML与CSS基础(十)—— 综合项目

应用前面技术知识 完成小兔鲜儿项目设计图素材下载:链接: https://pan.baidu.com/s/1o5mWkgEfaTAA5spxMLuXEQ?pwdex7e 提取码: ex7e 一、Header 部分开发 布局分析:header布局分析:xtx-shortcut ①布局分析:xtx-shortcut ②布局分…

Hudi系列3:Hudi核心概念

文章目录Hudi架构一. 时间轴(TimeLine)1.1 时间轴(TimeLine)概念1.2 Hudi的时间线由组成1.3 时间线上的Instant action操作类型1.4 时间线上State状态类型1.5 时间线官网实例二. 文件布局三. 索引3.1 简介3.2 对比Hive没有索引的区别3.3 Hudi索引类型3.4 全局索引与非全局索引四…

数学建模-回归分析(Stata)

注意:代码文件仅供参考,一定不要直接用于自己的数模论文中国赛对于论文的查重要求非常严格,代码雷同也算作抄袭 如何修改代码避免查重的方法:https://www.bilibili.com/video/av59423231 //清风数学建模 一、基础知识 1.简介 …

不得不面对的随机MAC问题

一、现状 为了完善安全机制、保护用户隐私,各个设备厂商开发了 MAC 地址随机功能,防止用户信息泄露。随机 MAC 地址,就是一个随机生成的伪 MAC 地址,一个假 MAC 地址,使用随机 MAC 地址进行网络通信,而不是…

全网圣诞树最全完整源码下载合集【可下载】

文章目录一、全部源码打包下载:二、效果预览001-html版本 豪华动态圣诞树 抖音同款002-圣诞树灯光跟随音乐节拍一起呼吸点亮下雪动画效果代码003-圣诞树彩带飘动节日快乐效果代码004-圣诞树带音乐旋转拉伸动画效果005-python版本python取消延迟秒出图版 【全网最强无…

当FutureTask遇上DiscardPolicy,有坑

文章目录有啥坑呢?知识回顾问题触发条件问题复现问题分析问题修复扩展哈喽,你好,我是余数。今天来了解下当 FutureTask 遇上 DiscardPolicy 或 DiscardOldestPolicy 时容易掉的坑,然后分析分析问题产生的原因以及如何规避这类问题…

LVS+Keepalived+Nginx具体配置步骤

视频链接:4-6 搭建LVS-DR模式- 为两台RS配置虚拟IP_哔哩哔哩_bilibili 视频笔记链接:笔记 一、服务器与Ip约定 LVS DIP: 192.168.1.151 VIP: 192.168.1.150 Nginx1 RIP: 192.168.1.171 VIP: 192.168.1.150 Nginx2 RIP: 192.168.1.172 VIP: 192.168…