船体焊缝缺陷检测的图像处理算法

2021-07-09 03:16何滨昂刘玉良
机电设备 2021年3期
关键词:特征参数像素点船体

何滨昂,刘玉良

(1. 湖南大学 信息科学与工程学院,长沙 410012;2. 浙江海洋大学 信息工程学院,浙江舟山 316022;3. 舟山商文机器人科技有限公司,浙江舟山 316100)

0 引言

船体焊接缺陷检测,目前主要由验船师登上脚手架,手持焊缝检测尺、激光测厚仪等来完成。这种人工方式劳动强度很大,检测效率低,船上狭窄边角区域还存在验船师无法到达的检测盲区,且庞大笨重的脚手架也会严重影响船舶运行效率。图像处理具有准确、高效、便捷等优点,是实现船体焊缝缺陷自动检测的核心技术之一,为解决上述问题提供新思路。

目前,应用图像处理技术检测金属焊缝质量的研究已有相关报道。文献[1]为实现无损焊缝缺陷检测,提出基于机器视觉的壳管焊接质量自动检测系统;文献[2]根据X射线数字图像的灰度变化特点,对焊缝区域采用水平和竖直方向上滤波操作并用布尔代数方法进行整合,得到反映缺陷特征的二值图像;文献[3]针对钢板焊缝缺陷X射线图像,采用支持向量机的方法对焊缝缺陷进行分类识别。文献[3]的研究对象跟船体焊缝相似,但其边缘提取算法是对目标进行搜索后寻找并标记黑白交替处,对于船体边缘处的焊缝无法提取完整信息,且所采用的4循环遍历寻找长轴与短轴的方法,运算较复杂,程序运行时困难重重。

船体焊缝缺陷与正常焊缝相比,存在位置分布不均、区域杂质多等特征,比其他行业金属焊缝复杂得多。本文在图像特征提取与识别算法方面进行深入研究,通过算法改进等提出针对性的图像处理算法。

1 船体焊缝检测的图像处理功能模块

根据船体焊缝缺陷检测的要求,本文设计的图像处理功能包括焊缝图像预处理、轮廓提取、特征计算、识别算法以及OpenCV和C++编程等,图像处理的各功能模块如图1所示[4]。船体焊缝图像的轮廓提取、特征计算和缺陷类型识别等算法尤为关键,重点对这3部分的设计过程进行论述。

图1 图像处理系统的功能模块

2 船体焊缝图像的轮廓提取算法

图像预处理之后,需要进行边缘检测和二值化处理,而后应用形态学方法去除新增的孔、洞等虚假边缘,最终得到船体焊缝的正确轮廓。

2.1 边缘检测算法

图像边缘检测的经典算子有Roberts、Sobel、Prewitt、Laplace和Canny等。相比较而言,Roberts算子平滑作用微弱但对噪声敏感;Sobel和Prewitt不适合含噪声的混合复杂图像;Laplace不适合对比度差的图像[5]。由于船体焊缝图像存在对比度不强、灰度分布不均衡、噪声大且动态模糊等特点,上述4种算子均不适用。Canny边缘检测算子是一种多级算法[6],采用基于边缘梯度方向的非极大值抑制以及双阈值的滞后阈值处理,不易受噪声干扰,具有错误率低、定位准确等优点。因此,本文采用Canny算子检测焊缝图像边缘。算法流程如图2所示。

图2 Canny边缘检测算法流程

其中,最关键的滞后阈值处理如下:Canny算子为保证边缘信息的准确性,最后一步将通过滞后阈值处理,进一步抑制虚假的弱边缘,即通过查看弱边缘像素点及其8个邻域来跟踪弱边缘。原理是:若邻域有1个像素为强边缘点,则弱边缘点保留为真实的边缘点,否则将被当作虚假边缘点被剔除。

2.2 形态学闭运算处理

Canny边缘检测的结果仍存在零星噪声点或间断点,如图3所示。通过连通域检测和形态学闭运算操作,得到图3的结果。由此可见:形态学闭运算可恢复焊缝外形特征,同时彻底消除虚假的弱边缘。

图3 气孔类型焊接缺陷边缘检测的闭运算效果

2.3 轮廓提取算法

提取船体焊缝轮廓步骤如下:

1)选取3×3模板在黑白2值的图像内游动。模板中0~8表示各像素点的位置关系,0表示中心像素点,1~4表示其4个邻域,即与中心像素点距离为1的点,5~8表示相应距离为 2的点,如图4所示。

图4 提取焊缝轮廓的3×3模板

2)若中心像素点为黑色,则无论邻域1~8为何值,则中心像素点黑色保持不变;

3)若中心像素点为白色,并且邻域1~4均不为黑色,则中心像素点白色保持不变;

4)其余情况将中心像素点标记为边缘点。

运行上述算法,最终得到以红色像素点代表轮廓的示意图,如图5所示。

图5 提取焊缝轮廓的算法示意图

3 船体焊缝图像的特征参数计算

3.1 特征参数的定义

关于裂纹、未熔合、气孔、焊瘤等焊缝缺陷图像的特征参数,本文参照文献[3]选取长宽比R、周径比L、圆形度E、矩形度J和等效面积K进行表述。特征参数定义为

式中:L1、L2分别为焊缝图像长轴和短轴长度;C为焊缝周长;S为焊缝面积。

3.2 特征参数的计算

根据式(1)选取焊缝图像的短轴、长轴、周长和面积作为基准参数,得到基准参数后计算特征参数。为降低复杂度,在计算长轴L1与短轴L2时采用最小外接矩形的方法,将焊缝缺陷点集放入C++的Vector(point)容器中,用OpenCV函数minAreaRect求出点集的最小外接矩形,矩形的长和宽分别代表长轴和短轴的长度。外接矩阵如图6所示,其中黑色阴影区域代表具有缺陷的焊点集合。

图6 焊缝缺陷的最小外接矩形示意图

1)焊缝面积S的计算

利用图像内白色像素数来近似表达,见式(2)

式中:(x,y) ∈A为区域A中的像素点;f(x,y)为白色像素点。

2)周长C的计算

利用焊缝边缘信息,应用Freeman链码公式[7]计算

式中:ne为链码中偶数链码的数目;n0为奇数链码的数目。

4 船体焊缝缺陷识别算法

本文的焊缝缺陷识别基于计算所得的焊缝特征参数,包括训练和识别2个阶段。训练阶段:首先计算未熔合、裂纹、气孔和焊瘤4类焊缝缺陷各个图像样本的特征参数,每类图像样本都具有5个特征参数,再求取同一类共计3个焊缝缺陷的同一个特征参数的算术平均值,作为该类焊缝的子类判据;识别阶段,每输入一幅待识别的焊缝缺陷图像,计算其5个特征参数值,再分别计算特征参数值与相应子类判据的相似度,而后计算属于同一焊缝缺陷类型的各个相似度的乘积,相似度乘积最大的焊缝缺陷类型被认定为所求的焊缝缺陷类型。焊缝缺陷类型的识别原理如图7所示,其中相似度计算如式(4)

图7中的相似度定义为最终相似度,是在式(4)计算结果的基础上求取同一类型焊缝4个相似度的乘积。

图7 船体焊缝缺陷识别的算法流程

5 试验测试

5.1 试验步骤设计

1)焊缝图像预处理。运行图像灰度化、图像增强和高斯滤波等算法。

2)焊缝图像轮廓提取。运行canny边缘检测算子、形态学闭运算修复等算法。

3)特征计算。运行长宽比、周径比、圆形度、矩形度和等效面积等特征参数算法。

4)缺陷识别。以OpenCV和C++为编程工具,运行识别算法,得到焊缝缺陷类型及具体位置。

5.2 试验结果分析

计算得到4种焊缝缺陷的特征参数值见表1。

表1 计算得到4种焊缝缺陷的特征参数值

针对上述4种焊缝缺陷,在训练阶段分别选取3个图像样本为对象,利用式(1)计算得到的特征参数见表1。5个子类判据分别为7.198、2.263、0.246、0.633、4.219。若输入1幅待识别的焊缝缺陷图像后,计算得到5个特征参数依次为7.108、2.202、0.255、0.641和4.323,与裂纹类型焊缝缺陷的子类相似度分别为:98.75%、98.19%、96.34%、87.36%、99.4%,最终的裂纹相似度为81.12%;若高于任何其他3个焊缝类型的最终相似度,则该图像被识别为具有裂纹类型缺陷的焊缝。

本文对含有裂纹、未熔合、气孔、焊瘤4种类型焊缝缺陷各100张进行编程测试,识别结果表明:每张图片的识别时间平均小于3 s,正确识别率均在97.3%以上。

6 结论

本文针对人工方式检测船体焊缝缺陷的劳动强度大、检测效率低等问题,提出了适用于船体焊缝检测的图像处理算法。为提高特征参数的计算速度,提出焊缝图像长轴、短轴的新型计算方法,并采用++和OpenCV编程验证新型计算方法的准确性;最后设计了基于有限样本的焊缝缺陷识别流程。测试结果表明:焊缝缺陷的准确识别率大于97.3%,满足基本要求。本文目前仅对船体焊缝中易出现的裂纹、未熔合、气孔、焊瘤4种缺陷的识别理论与方法进行了研究,下一步将针对更多种船体焊缝缺陷,探索提高焊缝识别率的改进算法和应用方法。

猜你喜欢
特征参数像素点船体
船体行驶过程中的压力监测方法
基于局部相似性的特征匹配筛选算法
冕洞特征参数与地磁暴强度及发生时间统计
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于PSO-VMD的齿轮特征参数提取方法研究
基于视频的车辆特征参数算法研究
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
焊接残余应力对船体结构疲劳强度的影响分析
统计特征参数及多分类SVM的局部放电类型识别