0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于改进YOLOv5的船体焊缝缺陷自动检测方法

jt_rfid5 来源:新机器视觉 2024-01-22 11:36 次阅读

0 引言

目前中大型船舶的主要建造形式是将船舶各部分通过焊接的方法进行组合。建造一艘船舶至少 25%~40%的时间消耗在船舶焊接中。船舶的焊接性能是船舶密闭性的保证,因此对船舶焊接处的检测至关重要。

张人杰等利用M-SMOTE 算法对焊缝样本进行精细化处理,提取焊缝的不同特征,经 AP 聚类后输入神经网络完成对船体焊缝的缺陷检测。高翌飞等分析 FPSO 弯管特点,结合相控阵超声,制作出相控阵扫描器,能够契合 FPSO 弯管,实现对 FPSO 弯管在狭小空间的焊缝检测。上述方法虽然能够完成对船体焊缝缺陷的检测,但也存在着一定的缺点。如对于船体焊缝图像的采集要求严格、检测时间长,对于一些微小的缺陷存在检测准确率过低甚至无法检测的问题对于正常的焊缝缺陷存在检测准确率不高的问题等。

改进的 YOLOv5 具有轻量化、易部署、速度快准确度高等优点,因此研究基于改进 YOLOv5 的船体焊缝缺陷自动检测,可更加准确且快速完成船体焊缝检测。

1 船体焊缝缺陷自动检测

1.1 船体焊缝图像采集及处理

在多种光照条件下,对不同产品焊接处进行图像采集形成数据集。由于船体焊缝图像的质量会直接影响到船体焊缝检测的结果,因此需要对船体焊缝图像进行处理。本文利用灰度变化方法对采集到的船体焊接图像进行处理,即可以避免图像中的特征消失,也可以提高正常焊缝与存在缺陷的焊缝间的对比度使船体焊缝缺陷检测更加容易。

对船体焊缝图像进行正弦灰度计算完成图像的处理,正弦灰度计算公式如下:

0880b3b6-b8c3-11ee-8b88-92fbcf53809c.png

式中: g(x,y)为输出像素灰度值;f(x,y) 为输入像素灰度值; min(f)、max(f) 分别为输入像素灰度值的最小值、最大值;r为输入相对强度;(x,y) 为图像像素的坐标点。

1.2 基于 YOLOv5 网络的船体焊缝检测

在YOLOv5 网络中,主要组成部分为 Input、Back-bone、Neck 以及 Head。将灰度变换后的焊缝图像通过Input 输人到 YOLOv5 网络中,Backbone 的作用为提取焊缝图像特征,包含 Focus、SPP 以及 CSP。Focus 主要完成焊缝图像的压缩,使焊缝特征的提取速度加快;SPP 通过池化功能增加网络感受野,使网络可以处理多尺度问题;CSP 用于提取焊缝图像特征,其中包含基本卷积 CBS 模块。Neck 的主要作用是将 Backbone中提取的焊缝特征进行融合。Head 是检测网络也作为YOLOv5 网络的输出层,通过损失函数去除多余目标框根据图形特征进行检测得到最佳船体焊缝缺陷检测结果。YOLOv5 网络的船体焊缝检测结构如图 1所示。

088855ee-b8c3-11ee-8b88-92fbcf53809c.png

1.3 YOLOv5 的主干网络改进

通过图1可知,用于船体焊缝检测的 YOLOv5 结构中存在诸多 CBS 模块,由于在 CBS 模块中存在卷积层,且大量的卷积层会增加网络的负载,给计算带来压力。因此,对YOLOv5 网络中 Backbone 部分的 CSP1残差模块进行改进,使用 GhostNet 进行替换,改进后的 CSP1 如图 2 所示。

088c4dac-b8c3-11ee-8b88-92fbcf53809c.png

采用 GhostNet 替换卷积层,GhostNet 内部采用元余特征生成器与卷积层相结合,此种组合方式可 以有效降低网络资源使用和计算时间。与一般卷积层相比,GhostNet 卷积层需要两步完成卷积,一般卷积公式为:

089a3bf6-b8c3-11ee-8b88-92fbcf53809c.png

其计算量为:

089dd8ce-b8c3-11ee-8b88-92fbcf53809c.png

GhostNet 卷积公式为:

08a26380-b8c3-11ee-8b88-92fbcf53809c.png

GhostNet 卷积计算量为 :

08a97422-b8c3-11ee-8b88-92fbcf53809c.png

式中: b为偏置;Y为卷积输出的焊缝特征图,该焊缝特征图高为H',宽为w',且Y∈RH'xw'xN;X为卷积输入的焊缝图像,该焊缝图像高为h,通道数为c,宽为w,且X∈ Rhxwxc;Y'为 Gost 经过一般卷积后输出的焊缝特征图,该焊缝特征图大小为 H'xW',数量为n个; kxk表示卷积核大小;f∈RcxNxkxk为存在 N个卷积核; Y'i为第i个在Y'中的焊缝特征图,Yij为Y'被卷积核变换函数φij;转换后生成的第j个 Ghost焊缝特征图像,s为 Ghost焊缝特征图像总数。

GhostNet 卷积如图 3 所示。

08ad796e-b8c3-11ee-8b88-92fbcf53809c.png

1.4 损失函数

应用改进 YOLOv5 网络的损失函数采用的是CIoU,基于 DIOU 损失函数,并考虑了两框的长宽比后形成的。其中 DIOU 损失函数的计算公式为:

08b636f8-b8c3-11ee-8b88-92fbcf53809c.png

式中: bgt为目标框; b'为预测框; o为两框的最小外接矩形对角线长度; IoU为交并比;p2(b',bgt)为两框中心点欧氏距离。

CIOU 的计算公式为:

08bcf8f8-b8c3-11ee-8b88-92fbcf53809c.png

其中:

08c081e4-b8c3-11ee-8b88-92fbcf53809c.png

式中: a为权衡参数;v为衡量长宽比一致参数; wgt为目标框宽度; hgt为目标框高度; w'为预测框宽度 :h' 为预测框高度。

2 仿真实验

2.1 实验对象

选择某货轮进行船体焊缝缺陷检测,其参数如表 1 所示。

08ce70d8-b8c3-11ee-8b88-92fbcf53809c.png

2.2 结果与分析

为验证本文正弦灰度的计算效果,选择船中某处具有缺陷的焊缝采集图像并利用正弦灰度变换和伽马灰度变换 2 种方式对图像进行处理,并对比二者的焊缝缺陷检测结果,如图 4 所示。可知,当采用伽马灰度变换时图像较为模糊,基本无法有效突出焊缝缺陷特征点,导致焊缝缺陷检测结果不精确,预测框较大;而采用正弦灰度变换则能够准确地突出缺陷所在位置的特征点,获取精准的焊缝缺陷检测结果。

08d2267e-b8c3-11ee-8b88-92fbcf53809c.png

为保证网络的检测准确性,需要对 YOLOv5 网络进行足够的训练。准备各种焊缝缺陷图像各 500 幅进行训练,训练结果如图 5 所示。可知,网络的损失值随着训练次数的增加逐渐减小,损失函数在前 100 次的训练中收敛速度极快,并在 200 次训练后损失逐渐达到平稳状态,经过 500 次训练后平均准确度达到98%,损失函数为 0.15。

08edb5c4-b8c3-11ee-8b88-92fbcf53809c.png

为证明本文方法的实际应用效果,随机采集船舶5 处焊缝进行缺陷检测,检测结果如表 2 所示。可知,仅在船长室中的焊缝处发现缺陷,关键的货舱和轮机室未发现焊缝缺陷,说明该船舶的焊接大部分处于合格状态,也证明了本文方法能够准确检测出不易发现的焊缝缺陷。

08f17c40-b8c3-11ee-8b88-92fbcf53809c.png

3 结语

本文方法对焊缝图像进行的灰度变换,可使图像更加清晰,训练的网络准确率高损失值低,并且能够快速准确发现船舶中的隐藏焊缝缺陷。

文章来源:新机器视觉

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4552

    浏览量

    92034
  • 自动检测
    +关注

    关注

    0

    文章

    114

    浏览量

    15605
  • 焊接
    +关注

    关注

    38

    文章

    2965

    浏览量

    59175

原文标题:【光电智造】基于改进 YOLOv5的船体焊缝缺陷自动检测方法

文章出处:【微信号:今日光电,微信公众号:今日光电】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    YOLOv5】LabVIEW+YOLOv5快速实现实时物体识别(Object Detection)含源码

    前面我们给大家介绍了基于LabVIEW+YOLOv3/YOLOv4的物体识别(对象检测),今天接着上次的内容再来看看YOLOv5。本次主要是和大家分享使用LabVIEW快速实现
    的头像 发表于 03-13 16:01 1953次阅读

    Yolov5算法解读

    yolov5于2020年由glenn-jocher首次提出,直至今日yolov5仍然在不断进行升级迭代。 Yolov5YOLOv5s、YOLOv5
    的头像 发表于 05-17 16:38 7474次阅读
    <b class='flag-5'>Yolov5</b>算法解读

    基于图像处理的PCB自动检测系统的设计与研究(第二部分)

    相关资料:基于图像处理的PCB自动检测系统的设计与研究(一)   3.系统软件设计  基于图像处理的PCB缺陷自动检测系统的软件设计理所当然为其核心。系统的软件设计主要实现了计算机系统中的图像
    发表于 09-13 16:36

    请问怎么实现插孔自动检测电路的设计?

    如何实现插孔自动检测电路的设计?自动检测插孔的基本原理是什么?
    发表于 04-09 06:11

    龙哥手把手教你学视觉-深度学习YOLOV5

    yolov5.yaml参数设置方法;7. 掌握yolov5的trian.py和detect.py的调用方法;8. 学会分析外观检测案例中
    发表于 09-03 09:39

    怎样使用PyTorch Hub去加载YOLOv5模型

    在Python>=3.7.0环境中安装requirements.txt,包括PyTorch>=1.7。模型和数据集从最新的 YOLOv5版本自动下载。简单示例此示例从
    发表于 07-22 16:02

    使用Yolov5 - i.MX8MP进行NPU错误检测是什么原因?

    的时机(yolov5s 模型,输入为 448x448 ~ 70ms)。 现在我正在尝试使用 Yolov5(uint8 量化),但我尝试使用不同的预训练模型获得相同的行为,在 CPU 上进行良好检测,在
    发表于 03-31 07:38

    如何YOLOv5测试代码?

    使用文档“使用 YOLOv5 进行对象检测”我试图从文档第 10 页访问以下链接(在 i.MX8MP 上部署 yolov5s 的步骤 - NXP 社区) ...但是这样做时会被拒绝访问。该文档没有说明需要特殊许可才能下载 tes
    发表于 05-18 06:08

    基于YOLOv5的目标检测文档进行的时候出错如何解决?

    你好: 按Milk-V Duo开发板实战——基于YOLOv5的目标检测 安装好yolov5环境,在执行main.py的时候会出错,能否帮忙看下 main.py: import torch
    发表于 09-18 07:47

    自然图像中的对象自动检测和提取

    引入基于例子的抠图模型,实现对自然图像的自动训练和检测,采用视觉单词的层次空间直方图改进特征包分类检测技术,提高自动检测和定位的精度。从
    发表于 04-01 09:11 22次下载

    雷达故障自动检测系统

    本文介绍了雷达故障自动检测系统设计。对雷达故障自动检测系统提出了总体设计任务和目标、构成、功能、性能、技术指标。对雷达自动检测系统硬件设计、软件需求分析、软件
    发表于 07-15 10:41 26次下载

    天然气长输管道对接环焊缝相控阵超声波全自动检测系统

    天然气长输管道对接环焊缝相控阵超声波全自动检测系统 介绍了超声波相控阵技术的基本原理和实现方法及TO FD 技术。
    发表于 03-20 10:40 29次下载

    Linux平台下面向的fastbin攻击自动检测方法

    为弥补当前软件漏洞自动检测系统无法对含堆溢岀漏洞的程序进行自动检测缺陷,提岀一种Liux平下面向堆溢出的 fasten攻击的自动检测方法
    发表于 03-19 11:07 6次下载
    Linux平台下面向的fastbin攻击<b class='flag-5'>自动检测</b><b class='flag-5'>方法</b>

    使用旭日X3派的BPU部署Yolov5

    本次主要介绍在旭日x3的BPU中部署yolov5。首先在ubuntu20.04安装yolov5,并运行yolov5并使用pytoch的pt模型文件转ONNX。
    的头像 发表于 04-26 14:20 755次阅读
    使用旭日X3派的BPU部署<b class='flag-5'>Yolov5</b>

    浅析基于改进YOLOv5的输电线路走廊滑坡灾害识别

    本文以YOLOv5网络模型为基础,提出一种改进YOLOv5YOLOv5-BC)深度学习滑坡灾害识别方法,将原有的PANet层替换为BiFP
    的头像 发表于 05-17 17:50 1230次阅读
    浅析基于<b class='flag-5'>改进</b><b class='flag-5'>YOLOv5</b>的输电线路走廊滑坡灾害识别