APP下载

基于边缘导向算子模板匹配的熔池轮廓提取方法

2022-03-17张楚昊赵壮陆骏柏连发韩静

焊接学报 2022年2期
关键词:熔池像素点算子

张楚昊,赵壮,陆骏,柏连发,韩静

(南京理工大学,南京,210094)

0 序言

作为制造业中的重要工艺,焊接技术目前广泛应用于民用领域和军事领域[1-3].焊接工艺质量的在线控制是目前焊接领域中重要的研究内容[4],焊接过程中熔池的轮廓反映了熔池的形态特征信息,因此需要对熔池的轮廓进行提取,从而对熔池内部情况进行观察,为焊接质量的控制提供相关依据[5].目前关于熔池图像分割算法的研究较少,传统图像分割算法提取的熔池轮廓因受到焊接电弧光较强的影响,容易产生断裂、过分割或欠分割的情况.

近年来,研究者们基于传统图像算法改进设计的熔池轮廓提取算法取得了良好的效果.刘晓刚等人[6]提出一种多尺度的形态学算子对熔池图像进行处理,实现了精准的边缘定位,于海川等人[7]提出了一种改进型的自适应Canny 边缘检测算法应用在钢板缺陷的边缘检测中,张亚红等人[8]针对CO2焊熔池图像中噪声干扰导致的模糊边缘问题,提出了一种将Canny 算子与多尺度多结构形态学相融合的熔池边缘检测算法,提取到了更加连续完整且精确的熔池边缘.Zhang 等人[9]提出了一种双路径成像方法来获得高信噪比的熔池图像,使用梯度和基于灰度的邻域超像素合并方法来提取熔池图像的轮廓.Xia 等人[10]利用自适应维纳滤波和Canny算法等获取图像信息,得到熔池边缘宽度,不过该方法仅限于简单零件制造.韩庆璘等人[11]提出了分区减光策略,对熔池与结构光条纹进行差异化的减光,进而清晰成像.基于传统图像算法改进的熔池图像分割算法具有高效率的优点,不过在处理复杂熔池图像时准确度较低,且对于不同焊接工艺下熔池图像的算法适应性不足.

文中基于传统图像算法改进设计了一种熔池轮廓提取算法,将对边缘产生梯度值响应从而检测轮廓的传统方法转化为获得与熔池区域吻合的大尺度连通域,实现了对熔池区域轮廓精准的提取.

1 熔池图像获取

搭建的熔池视觉传感系统的实物装置图以及对应的原理示意图如图1 所示.该系统采用被动式视觉传感法[12]对熔池图像进行采集,系统主要由图像采集系统与焊机装置两个部分组成.

图1 熔池视觉传感系统示意图Fig.1 Schematic of visual sensing system of molten pool.(a) device diagram;(b) schematic diagram

为了使采集到的熔池图像在后期便于处理,相机以一定的角度被固定在TIG 焊机的机械臂上.这样一道焊缝中采集到的所有熔池图像中熔池的位置将基本固定在图像中的某个区域内,且有利于压制图像中焊接电弧光对熔池前端的影响,并且在熔池前方的焊丝,可以被弧光挡住.为了在采集时排除冗余波段辐射的干扰,相机前端布置有660 nm的滤光片以及保护相机镜头不被热辐射损耗的保护玻璃.

对型号为304 的不锈钢平板进行焊接,焊接工艺为非熔化极惰性气体保护电弧焊,基于表1 中的焊接参数采集到尺寸大小为(1 920 × 1 200)分辨率的熔池图像.由于采集到的图像中熔池区域占整幅图像的比例不大,且不锈钢平板的纹理会对后期处理产后期处理产生干扰,所以对采集到的图像以熔池区域为中心做(400 × 400)像素大小的ROI(感兴趣区域)裁切,效果如图2 所示.

表1 焊接工艺参数Table 1 Welding process parameters

图2 采集并进行裁切之后的熔池图像Fig.2 Collected molten pool images

若直接利用Canny 算子对图2 中的熔池图像进行边缘检测,效果如图3 所示.从图中可以看出,轮廓边缘会受到3 个方面因素的影响.①熔池后端弱边缘区域的边缘无法被准确检测;②熔池表面由于电弧光反射形成的亮度饱和区域引入干扰边缘;③熔池后端已成形焊缝区域的纹理信息引入干扰边缘.

图3 Canny 算子在TIG 不锈钢熔池图像上的检测效果图Fig.3 Detection effect of Canny operator on TIG stainless steel molten pool images.(a) original image;(b) Canny edge detection graph (c)superposition of Canny detection result and original image

针对这些问题,在提出的OTM-EDG 算法当中,首先利用基于非线性灰度变换算法增强熔池后端的弱边缘区域;第二步,利用4 个方向的Sobel 算子对经过预处理的熔池图像进行卷积操作来判断后端弱边缘的方向,并计算梯度图;最后为了得到封闭的连通域,对边缘粗提取结果图进行基于判断梯度强度与方向的边缘连接操作,在此基础上填充得到完整的连通域,并进行基于数学形态学的边缘平滑操作,最终得到需要提取的熔池轮廓.算法流程如图4 所示.

图4 OTM-EDG 算法流程示意图Fig.4 Flow chart of OTM-EDG algorithm

2 OTM-EDG 算法

2.1 OTM-EDG 算法预处理过程

OTM-EDG 算法的预处理部分主要目的是增强弱边缘区域的梯度以便使其能够被准确检测出来,同时不引入图像噪声.为了达到上述的两个目的,基于滑动窗口的计算操作,结合非线性灰度变换的算法原理对熔池图像进行预处理.

由于熔池后端弱边缘区域处边缘两侧灰度值差异微小,直接使用微分算子不足以检测到熔池弱边缘信息.为了改变这种情况,在弱边缘处希望处于灰度值较高水平一侧的像素灰度值被拉高,另一侧灰度值较低水平的像素灰度值被拉低,且处理过后的弱边缘区域同一侧的像素灰度值依然处于相近的水平.为了达到这一效果,采用基于幂函数的非线性灰度变换算法[13].

幂函数如式(1)所示,即

式中:x表示的是图像中某个像素点的灰度值信息;m与k均为大于1 的整数,随着m与k的变化,变换后的灰度值分布情况不同.为了将图像中像素点之间存在的空间关系更好地保存下来,将上述基于幂函数的非线性灰度变换算法利用滑动窗口计算的方式予以实现.具体的计算流程如下.

(1)从熔池图像左上角的像素点开始遍历,设当前遍历到的像素点处灰度值为g(i,j),在以该像素点为中心的大小为33 的邻域区域内的灰度最大值设为Gmax,最小值设为Gmin.

(2)对3 × 3 邻域内像素点的灰度值在该区域内做如式(2)中的归一化处理(此处以中心像素点的灰度值为例).

(3)将步骤(2)中得到的归一化之后的像素点灰度值G(i,j)根据其在[0,1]的灰度范围内所处的区间代入式(1)进行计算,得到经过非线性灰度变换算法计算处理之后的像素点灰度值Gn(i,j).

(4)将Gn(i,j)代入式(2)中等号左边,反推出原式中的g(i,j),即将邻域区域内灰度值范围从[0,1]拉伸至原灰度值范围[Gmin,Gmax],计算过程如式(3)所示.

对于式(1)中m值 与k值的选择,在此利用几组不同的参数对熔池图像进行了测试,在权衡了增强效果与引入噪声之后取m与k的 值均为2.将m=2 与k=2 代入式(1)中并执行上述基于幂函数的非线性灰度变换计算操作,得到熔池图像中某区域在变换前后灰度信息情况,如图5 所示,从熔池后端弱边缘区域的灰度信息上展示了该弱边缘增强算法的有效性.

图5 弱边缘区域经过增强之后的灰度分布示意图Fig.5 Gray distribution of the weak edge region after enhancement

熔池表面由于焊接电弧光反射造成的亮度饱和区域同样给熔池轮廓提取带来了干扰,由于亮度饱和区域与周围熔池表面区域之间存在较大的灰度差,所以在边缘检测时会产生范围较广的伪边缘,如图6 中黄色圆圈标注的区域所示,这一部分伪边缘由于存在熔池的真实轮廓内,且通常以连通的方式存在,所以要自适应地依据判断边缘长度来剔除这一部分的边缘线比较困难.

图6 熔池表面亮度饱和区域形成的伪边缘示意图Fig.6 Schematic of fake edge formed in the brightness saturation region of the molten pool surface.(a)brightness saturation region in molten pool image;(b) interference edge caused by brightness saturation area

为了将这一部分影响能够彻底地排除掉,希望亮度饱和区域的灰度值变化分布能够与它附近的区域呈现一致.与2.1 节第一部分所述基于滑动窗口非线性灰度变换的弱边缘增强算法类似,在这一部分同样通过基于滑动窗口遍历图像中所有像素点的计算方式来调整图像的灰度分布情况,达到压制亮度饱和区域产生的不良影响的目的.

基于遍历到的像素点 (i,j)计算以它为中心的3 × 3 邻域内的像素点的灰度均值Gmean,g(i,j)即像素点(i,j)的灰度值.在得到邻域灰度均值的情况下,将整个3 × 3 邻域内的所有像素点的灰度值做基于反比函数的计算变换,如式(4)所示.

式中:M值为90,经过弱边缘增强与灰度调整之后的熔池图像如图7 所示.

图7 预处理之后的熔池图像Fig.7 Molten pool image after preprocessing.(a) original image;(b) preprocessed image

2.2 OTM-EDG 算法梯度计算过程

传统边缘检测算子利用水平以及垂直两个方向上的一阶微分算子模板对图像中遍历到的像素点的邻域区域中的梯度幅值进行计算,在这个过程中可能出现的问题是,图像中边缘的方向是朝着许多不同的方向延伸的,仅仅利用水平和垂直两个方向的一阶微分算子模板对邻域的梯度幅值进行检测,对图像中的噪声比较敏感,可能会造成边缘的漏检与错检.

在经过预处理的熔池图像的基础上利用扩展至4 个方向上的Sobel 算子模板首先对熔池图像进行边缘方向强响应检测,确定每个像素点的3 × 3 邻域窗口对应的边缘方向的算子模板,然后利用加权计算的方式得到邻域窗口中心像素点的梯度值.经过基于滑动窗口的操作,继而得到整张图像的梯度图.

将原来只有水平和垂直两个方向的Sobel 算子扩展到4 个方向,在其中加入 45°与1 35°两个方向的一阶微分算子,扩展后的Sobel 算子模板如图8 所示.

图8 扩展后的Sobel 算子模板示意图Fig.8 Schematic of Sobel operator template after expansion.(a) horizontal direction;(b) 45° direction;(c) vertical direction;(d) 135° direction

利用4 个方向上的Sobel 算子模板对熔池图像进行卷积操作,得到如图9 所示的4 张梯度图.从图中可以看出在与不同方向的算子模板进行卷积之后,熔池图像中不同区域、不同方向上的边缘信息产生不同强度的响应.

图9 4 个方向上的Sobel 算子模板卷积梯度图Fig.9 Gradient image of four direction Sobel operator template.(a) original image;(b) horizontal direction;(c) 45° direction;(d) vertical direction;(e) 135° direction

在得到4 张不同方向的微分算子模板与原图卷积计算生成的熔池梯度幅值图后,在原图的基础上从图像的左上角像素开始进行逐行逐列的遍历,对于遍历到的像素点 (i,j),查询它在上述4 张图中对应像素坐标点的梯度幅值P0°,P45°,P90°以 及P135°中的最大值与最小值.设梯度幅值最大值为Pmax,最小值为Pmin,其它两张梯度幅值图中的梯度响应分别为P1,P2,根据式(5)计算出像素点 (i,j)的基于边缘导向算子模板匹配的梯度幅值P.

式中:M值为3;m值为1/3.

基于上述计算过程得到的基于边缘方向算子模板匹配的梯度幅值效果如图10 所示,得到的梯度幅值经过阈值化操作(阈值系数根据不同工艺参数下的熔池图像有所微调)后得到图10c 所示的梯度二值图,可以看出经过这种算法的梯度算子能够有效地使熔池图像中的弱边缘区域附近产生较强的梯度响应.

图10 基于边缘方向算子模板匹配的梯度图Fig.10 Gradient image based on edge direction operator template matching.(a) original image;(b) gradient amplitude grayscale;(c) gradient amplitude binary diagram

从图10 中看到此时熔池前端的轮廓边缘在经过预处理后未能产生较强的梯度值响应.从图6 可以看出,Canny 算子能够检测到较完整清晰的熔池前端的轮廓边缘.所以最后一步操作是以熔池区域的中心线为基准,将熔池前端部分的Canny 算子的检测效果与算法的检测效果的熔池弱边缘区域进行拼接,得到边缘粗提取效果如图11 所示.

图11 边缘粗提取效果图Fig.11 Schematic of rough edge detection

2.3 OTM-EDG 算法后处理过程

在算法的后处理部分,基于2.2 节得到的边缘粗提取结果获取与熔池区域吻合的封闭连通域,之后经过基于数学形态学的图像算法对连通域进行处理,使其边缘更加平滑与准确.为了使梯度二值图形成闭合的连通孔洞,首先基于梯度的幅值与方向获取更多的弱边缘信息,从而连接断裂的边缘.

对于图像中产生了强梯度值响应的像素点,搜索其5 × 5 的邻域区域,计算其近邻的像素点的梯度幅值与梯度方向,当近邻像素的梯度幅值与梯度方向与强响应像素点的梯度幅值与梯度方向之间的差值小于设定的阈值,就将这个近邻像素点也置为强响应点,梯度幅值同样依照式(5)进行计算,梯度方向依照式(6)进行计算.

根据式(7)判断邻域内像素点是否被置为强梯度值响应像素点.

对于满足式(7)的邻域内的像素点,若其本身非强梯度值响应像素点,将其置为强响应像素点;若其本身是强梯度值响应像素点,不对其做另外的处理.经过上述基于梯度幅值与方向的边缘连接操作之后的效果如图12 所示,可以看出经过边缘连接处理后,熔池后端弱边缘区域的梯度幅值响应变得更加稠密,这一操作有效地增加了断裂边缘区域的连通概率.

图12 基于梯度幅值与方向的边缘连接效果图Fig.12 Schematic of edge connection based on gradient and direction.(a) original gradient binary graph;(b) edge connection effect image

在得到了一个与熔池区域接近的大尺度连通孔洞区域后,还需要进行基于数学形态学的图像处理操作便可得到熔池的轮廓边缘.具体操作流程如下.

(1)熔池区域内部由于Canny 算子检测效果拼接引入的干扰边缘,利用判定连通域尺度的方法对连通域尺度小于设定阈值的小连通域进行去除,效果如图13 所示.

图13 干扰边缘去除示意图Fig.13 Schematic of interference edge removal.(a)original image;(b) result image

(2)填充图像中的封闭孔洞区域,将填充之后的图像与填充前的图像相减,保留与熔池区域对应的尺度最大的连通域,效果如图14 所示.

图14 熔池区域连通域获取流程示意图Fig.14 Schematic of obtaining region of molten pool area.(a) original image;(b) fill effect image;(c)difference effect image;(d) reserved maximum connected domain

(3)为使连通域具有熔池轮廓的特点,对连通域做基于数学形态学的图像处理操作.具体操作为建立一个半径为15 个像素的圆盘形算子结构,利用它先对连通域作闭运算,再作开运算,从而使得连通域的边缘更加平滑饱满.效果如图15 所示.

图15 连通域的轮廓提取示意图Fig.15 Schematic of contour extraction.(a) original image;(b) smoothing effect image;(c) contour edge of connected domain;(d) effect of superimposing the contour on the molten pool image

3 试验结果与分析

文中第2 节详细描述了OTM-EDG 算法的流程,为了验证提出算法的分割准确性,利用该算法对于不同焊接工艺参数下的TIG 焊不锈钢图像进行测试,并将测试结果与传统的边缘检测算法检测的结果进行对比.

图16 列举出了其它焊接工艺参数下的TIG 焊不锈钢熔池图像基于文中提出算法的轮廓提取流程,可以看出流程中每一步操作得到的结果都能与第2 节的内容一一对应.

图16 算法流程示意图Fig.16 Schematic of OTM-EDG algorithm

3 种传统边缘检测算法与OTM-EDG 算法的效果对比如图17 所示.可以看出,图17a,17b 两列的结果受到图像灰度分布影响较为严重,在TIG 焊不锈钢熔池图像中熔池区域与背景区域之间的灰度值相差并不大,并且焊接电弧光对图像的灰度分布产生了严重的影响,这两类算法不适合应用在TIG焊不锈钢熔池图像的熔池轮廓提取中.图17c 为直接使用Canny 边缘检测算子对熔池图像进行轮廓提取的结果,可以看出对于梯度值较大的区域,Canny 算子能够检测到准确的边缘,不过在弱边缘的检测上存在较大的局限性,难以获得与熔池区域相吻合的完整连续的轮廓边缘.

图17 多种算法效果对比图Fig.17 Comparison of effects of various algorithms.(a)Otsu threshold method;(b) CV active contour method;(c) Canny method;(d) OTM-EDG method

综上所述,传统的边缘检测算法在TIG 焊不锈钢熔池图像中不能达到良好的效果的原因归为两点.①强烈的焊接电弧光导致的图像灰度分布不均;②不锈钢熔池表面的纹理特点不利于传统边缘检测算法的应用.从图17 可以看出,OTM-EDG 算法相较于Otsu 阈值法 和CV 主动轮廓算法的算法能够更加准确地定位到熔池区域的强边缘与弱边缘,而不会受到图像灰度分布情况的影响;相较于Canny 算法能够在精准定位弱边缘的前提下获得一个封闭完整的轮廓边缘,且不存在其它冗余边缘线的干扰,方便后续熔池形态参数的提取与计算.

为了检测算法的运行时间,对比了几种熔池分割算法的耗时,结果如表2 所示.通过对比可以看出文中方法运行时间较快,综合考虑分割结果与测试效率,该方法优于其它方法.

表2 测试过程耗时Table 2 Test process time

为了验证提出算法的鲁棒性,随机抽取图17中4 组不同焊接参数工艺下采集到的图像中连续5 帧图像进行测试,测试结果如图18 所示.可以看出提出算法在连续熔池图像的轮廓提取中能获得不错的准确度,能够适用于工业焊接生产环境.

图18 连续帧图像测试结果示意图Fig.18 Schematic of continuous frame images test results.(a) the first frame;(b) the second frame;(c) the third frame;(d) the fourth frame;(e) the fifth frame

4 结论

(1) 建立了基于被动式传感法的熔池视觉传感系统,采集到了高质量的熔池彩色图像.

(2) 针对TIG 焊不锈钢熔池图像提出了一种基于边缘导向算子模板匹配的熔池轮廓提取算法,该算法将传统边缘算法中对边缘产生梯度值响应,从而检测轮廓的方法转化为获得与熔池区域吻合的大尺度连通域,进而取得熔池的轮廓边缘.

(3) 经过试验验证,证明提出的算法能够提取到封闭完整,且定位准确的TIG 焊不锈钢熔池轮廓.

猜你喜欢

熔池像素点算子
Domestication or Foreignization:A Cultural Choice
浅谈如何提高焊接操作技术水平
一种X射线图像白点噪声去除算法
基于灰度直方图的单一图像噪声类型识别研究
基于canvas的前端数据加密
QK空间上的叠加算子
图像采集过程中基于肤色理论的采集框自动定位
有关气体熔池耦合活性TIG焊电弧影响的研究
逼近论中的收敛性估计
浅谈如何提高焊接操作技术水平