探索工业智能检测,基于轻量级YOLOv5s开发构建焊接缺陷检测识别系统

news2024/10/6 10:35:01

前面也有讲过将智能模型应用和工业等领域结合起来是有不错市场前景的,比如:布匹瑕疵检测、瓷砖瑕疵检测、PCB缺陷检测等等,在工业领域内也有很多可为的方向,本文的核心目的就是想要基于目标检测模型来开发构建焊接缺陷检测模型,探索分析工业领域智能化检测。

首先看下效果图:

 接下来看下数据集情况:

 YOLO格式标注文件如下所示:

 VOC格式标注文件如下所示:

 这里共有10种缺陷类别,如下:

0: chongkong
1: hanfeng
2: yueyawan
3: shuiban
4: youban
5: siban
6: yiwu
7: yahen
8: zhehen
9: yaozhe

训练数据配置如下:

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



# Classes
names:
  0: chongkong
  1: hanfeng
  2: yueyawan
  3: shuiban
  4: youban
  5: siban
  6: yiwu
  7: yahen
  8: zhehen
  9: yaozhe

模型文件如下:

# YOLOv5 🚀 by Ultralytics, GPL-3.0 license

# Parameters
nc: 10  # 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)
  ]

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

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      90/99      6.85G    0.02526    0.01224  0.0009257         14        640: 100%|██████████| 61/61 [03:18<00:00,  3.25s/it]
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 8/8 [00:17<00:00,  2.20s/it]
                   all        459        705      0.821      0.735      0.776      0.402

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      91/99      6.85G    0.02506    0.01192  0.0007306         15        640: 100%|██████████| 61/61 [03:18<00:00,  3.25s/it]
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 8/8 [00:17<00:00,  2.20s/it]
                   all        459        705      0.828      0.768      0.786      0.416

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      92/99      6.85G    0.02498    0.01206  0.0009537         10        640: 100%|██████████| 61/61 [03:18<00:00,  3.26s/it]
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 8/8 [00:17<00:00,  2.20s/it]
                   all        459        705        0.8      0.773      0.785      0.417

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      93/99      6.85G      0.025     0.0122  0.0009593         19        640: 100%|██████████| 61/61 [03:19<00:00,  3.27s/it]
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 8/8 [00:17<00:00,  2.21s/it]
                   all        459        705      0.826      0.753       0.79      0.419

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      94/99      6.85G    0.02482      0.012  0.0006241         13        640: 100%|██████████| 61/61 [03:18<00:00,  3.25s/it]
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 8/8 [00:17<00:00,  2.20s/it]
                   all        459        705      0.799      0.775      0.787      0.422

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      95/99      6.85G    0.02466    0.01168  0.0007662         14        640: 100%|██████████| 61/61 [03:18<00:00,  3.25s/it]
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 8/8 [00:17<00:00,  2.20s/it]
                   all        459        705      0.808      0.777      0.785      0.418

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      96/99      6.85G    0.02445     0.0119   0.000781         16        640: 100%|██████████| 61/61 [03:18<00:00,  3.25s/it]
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 8/8 [00:17<00:00,  2.21s/it]
                   all        459        705      0.826      0.771      0.789      0.431

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      97/99      6.85G    0.02411     0.0119  0.0007069         20        640: 100%|██████████| 61/61 [03:18<00:00,  3.25s/it]
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 8/8 [00:17<00:00,  2.20s/it]
                   all        459        705      0.841      0.745      0.787      0.423

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      98/99      6.85G    0.02392    0.01177  0.0007471         15        640: 100%|██████████| 61/61 [03:18<00:00,  3.25s/it]
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 8/8 [00:17<00:00,  2.20s/it]
                   all        459        705      0.838      0.764      0.788      0.417

      Epoch    GPU_mem   box_loss   obj_loss   cls_loss  Instances       Size
      99/99      6.85G    0.02369    0.01159  0.0006575         15        640: 100%|██████████| 61/61 [03:18<00:00,  3.26s/it]
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 8/8 [00:17<00:00,  2.20s/it]
                   all        459        705      0.847      0.758      0.787      0.425

100 epochs completed in 6.023 hours.
Optimizer stripped from runs/train/yolov5s/weights/last.pt, 14.4MB
Optimizer stripped from runs/train/yolov5s/weights/best.pt, 14.4MB

Validating runs/train/yolov5s/weights/best.pt...
Fusing layers... 
YOLOv5s summary: 157 layers, 7037095 parameters, 0 gradients, 15.8 GFLOPs
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 8/8 [00:18<00:00,  2.34s/it]
                   all        459        705      0.826      0.771      0.789      0.431
             chongkong        459         73      0.973      0.977      0.984      0.544
               hanfeng        459        118      0.918      0.983      0.953      0.576
              yueyawan        459         71      0.875      0.987      0.961      0.635
               shuiban        459         79      0.733      0.764      0.779      0.438
                youban        459         87       0.67      0.747      0.747      0.385
                 siban        459        154      0.767      0.749      0.771      0.402
                  yiwu        459         55      0.592       0.58      0.531      0.215
                 yahen        459         17          1       0.38      0.459      0.233
                zhehen        459         23       0.86      0.652      0.745      0.317
                yaozhe        459         28      0.873      0.893       0.96      0.567
Results saved to runs/train/yolov5s

接下来看下结果详情:
【标签类别可视化】

 【训练日志可视化】

 【混淆矩阵】

 【F1值曲线和PR曲线可视化】

 【精确率和召回率曲线可视化】

 【训练集batch计算实例】

 【测试集batch计算实例】

 可视化推理实例如下:

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

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

相关文章

基于opencv测量图片中物体的尺寸(matlab实现)

1、引言 问题重述 已知书本上右下角放一枚一元人民币&#xff08;直径2.5厘米&#xff09;&#xff0c;请利用计算机视觉技术预测图片中目标的实际尺寸。 1.预测图片中书本的长与宽&#xff08;单位&#xff1a;厘米&#xff09;。 2.预测书本右上方用铅笔画的圆圈的外圆直径…

Cocos Creator:AR 交互

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D工具链 Cocos Creator&#xff1a;AR 交互 3D工具集&#xff1a; NSDT简石数字孪生 AR 交互 AR 交互主要由 cc.ScreenTouchInteractor 组件驱动&#xff0c;该组件将触摸事件转换为点击、拖拽和捏合等手势&#xff0c;交互器将这…

SciencePub学术 | 信号处理类重点SCIEI征稿中

SciencePub学术 刊源推荐: 信号处理类重点SCI&EI征稿中&#xff01;影响因子高&#xff0c;自引率低&#xff0c;对国人非常友好。信息如下&#xff0c;录满为止&#xff1a; 一、期刊概况&#xff1a; 信号处理类重点SCI&EI &#x1f4cc;【期刊简介】IF&#xff1…

RTK 定位回传数据转内网(局域网)mqtt协议--- 格林恩德 CR102 RTK 针对无人机巡检应用

先简单介绍一下CR102 格林RTK高精度设备&#xff0c;CR102接收机&#xff0c;集成高精度模组与4G&#xff0c; WIFI/蓝牙通信模组&#xff1b;双天线定位定向&#xff0c; 同时内置惯导&#xff0c; 输出加速度和姿态信息。支持4G/WIFI/蓝牙无线传输、 LAN网口传输&#xff1b;…

案例研究|中国矿业大学基于JumpServer构建运维安全体系

中国矿业大学是教育部直属的全国重点高校&#xff0c;是教育部、应急管理部与江苏省人民政府共建高校&#xff0c;先后进入国家“211工程”“985优势学科创新平台项目”和国家“双一流”建设高校行列&#xff0c;学校现坐落于素有“五省通衢”之称的国家历史文化名城——江苏省…

Java实训第七天——2023.6.13

文章目录 一、用Visual Studio Code写一个计算器二、同一个js被多个html引用三、js操作css四、DOM对象属性的操作案例五、js解析json 一、用Visual Studio Code写一个计算器 功能&#xff1a;实现简单的加减乘除 <!DOCTYPE html> <html lang"en"> <…

如何录制声音?推荐这2款电脑录音软件!

案例&#xff1a;怎么录制电脑上的声音&#xff1f;在电脑上怎么录制自己的声音&#xff1f;有没有小伙伴知道操作的步骤。 【我想录制语音会议&#xff0c;还想录制自己的歌声&#xff0c;在电脑上如何录制声音&#xff1f;求一个简单易懂的教程&#xff0c;在线等&#xff0…

使用ReactPy报错:RuntimeError: No built-in server implementation installed.解决

目录 一、问题呈现二、问题原因及解决办法三、处理结果 一、问题呈现 在初次运行ReactPy报错raise RuntimeError("No built-in server implementation installed.") RuntimeError: No built-in server implementation installed.具体报错信息如下&#xff1a; D:\i…

小程序快速渲染机制及双线程技术解析

不管我们对于小程序这种形态存在何种质疑&#xff0c;但不可否认已经融入到我们生活的方方面面&#xff0c;出门打车、扫码、点外卖甚至收能量等等操作都是以小程序进行承载。背后的缘由是小程序足够轻量、便捷、跨平台等特点&#xff0c;为用户提供了丰富的功能和优质的用户体…

作为一个优秀的项目经理,你需要做什么?

经常看到这样的项目经理&#xff0c;一副整天忙得团团转的样子&#xff0c;整天忙得团团转&#xff0c;发出一大堆指令&#xff0c; 经常事无巨细都要亲自过问&#xff0c;他还会不断抱怨说&#xff1a; " 我很忙 " 或 " 我很累 " &#xff0c; " 我…

大厂最全1100道Java面试题及答案整理(2023最新版)

前言 春招&#xff0c;秋招&#xff0c;社招&#xff0c;我们 Java 程序员的面试之路&#xff0c;是挺难的&#xff0c;过了 HR&#xff0c;还得被技术面&#xff0c;小刀在去各个厂面试的时候&#xff0c;经常是通宵睡不着觉&#xff0c;头发都脱了一大把&#xff0c;还好最终…

5、alibaba微服务nacos的引入和使用

1、项目中引入nacos 父项目中已经引入了spring-cloud-alibaba&#xff0c;这个里面就已经包含nacos依赖了&#xff0c;所以在子项目中引入nacos依赖不用添加版本信息 <dependencies><dependency><groupId>org.springframework.boot</groupId><arti…

Java创建线程的两种方式和线程的生命周期

方式一&#xff1a;继承Thread类的方式&#xff1a; 创建一个继承于Thread类的子类 重写Thread类的run() --> 将此线程执行的操作声明在run()中 创建Thread类的子类的对象 通过此对象调用start()&#xff1a;①启动当前线程 ② 调用当前线程的run() 说明两个问题&#…

Python3数据分析与挖掘建模(12)多因子:复合分析-相关分析与实现示例

1. 相关分析 1.1 概述 相关分析是一种统计分析方法&#xff0c;用于研究两个或多个变量之间的关系和相互影响程度。它帮助我们了解变量之间的线性关系、趋势和相关程度。 在相关分析中&#xff0c;常用的指标是相关系数&#xff0c;用于衡量两个变量之间的相关程度。最常见的…

Linux之文件一般权限

目录 Linux之文件一般权限 文件和目录的一般权限 解析&#xff1a; 文件类型 文件的权限针对三类对象进行定义 文件针对每类访问者定义的三种权限 对于文件和目录&#xff0c;r&#xff0c;w&#xff0c;x的作用以及含义 设置文件和目录的一般权限 修改文件或目录权限 ---…

论文可视化分析神器——CiteSpace和vosviewer

文献计量学是指用数学和统计学的方法&#xff0c;定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体&#xff0c;注重量化的综合性知识体系。特别是&#xff0c;信息可视化技术手段和方法的运用&#xff0c;可直观的展示主题的研究发展历程、研究现状、研究…

MySQL启停要十分钟?

一、问题背景 基础环境&#xff1a; 主机类型&#xff1a;x3850 X6 操作系统&#xff1a;DB:Red Hat Enterprise Linux 9.1 7.8 存储&#xff1a;IBM存储&#xff0c;500GB 内存&#xff1a;64 G CPU型号&#xff1a;E7-4830 v3 2.10GHz CPU核数&#xff1a;32CORE 数据…

洞察丨挖掘游戏行为数据价值的 6 个新思路

现阶段&#xff0c;游戏赛道越来越难&#xff0c;主要表现在玩家对游戏质量的要求提高、游戏立项选择空间变小、游戏买量越来越贵且回本周期越来越长……与此同时&#xff0c;游戏出海势头依然强劲&#xff0c;难以突破重围。 可以说&#xff0c;几乎所有的游戏都在尽可能地朝着…

便利店小程序怎么做

便利店小程序是一种基于移动互联网的购物平台&#xff0c;它为用户提供了便捷的购物体验&#xff0c;可以满足用户的购物需求。下面是便利店小程序的主要功能介绍&#xff1a; 1. 商品展示&#xff1a;便利店小程序可以展示商家的商品信息&#xff0c;包括商品图片、价格、描述…