基于改进Edlines算法的坡口边缘识别研究
2021-03-25段万政
段万政,郭 波,曾 瑄,徐 辉
(南昌工程学院 南昌市焊接机器人与智能化技术重点试验室,江西 南昌 330099)
近年来,焊接智能化相关技术尤其是智能焊接机器人发展迅速。智能机器人焊接工艺包括四个方面,即焊枪初始焊接位置的引导、焊缝跟踪、焊接质量的检测和控制[1]。这四个方面均与焊缝识别关联,准确地提取焊缝坡口边缘是焊接智能化的关键技术之一。
被动式视觉传感是利用熔池液态金属自身辐射或熔池及工件表面反射的电弧光作为信号源。这一方法降低了对拍摄系统的照明要求,但强烈的弧光干扰会影响焊缝坡口边缘线的提取。研究者为了提高熔池图像的清晰度,抑制强烈的弧光噪声,提出了多种解决方法,其中研究较多的是复合滤光法。Xu[2]、王克鸿[3]使用复合滤光法对焊接系统设计合适的减光滤波片,都有很好的弧光抑制效果,获取到清晰的焊缝图像。Shao[4]等提出了基于粒子滤波的无源视觉传感器焊缝检测方法。Li[5]等提出了一种基于支持向量机的弧光传感器和视觉传感器融合的焊缝跟踪系统。Zhang[6]等提出了一种基于混合光谱双路径成像方法,使用660nm窄带和850nm长通为工作区,获取高信噪比的熔池图像。Guo[7]等提出了一种在不使用任何外部光源或滤波器的情况下,只使用宽动态范围相机获取实时捕获清晰的焊接图像。此外状态触发取像法[8]等方法也可以提取到有效的焊接图像。在焊缝提取的研究中,Zhou[9]等提出了一种基于显著性检测与Sobel变换相结合的焊缝提取。Zhen[10]等对熔池前端信息进行感兴趣区域(ROI)提取焊接坡口图像,有效的略过熔池区域提取到清晰的焊缝坡口图像。
本文不使用任何外部光源,只使用宽动态范围相机采集焊接图像。在此基础上,提出了一种基于改进Edlines边缘识别算法识别出坡口边缘。
1 视觉系统
如图1所示,实验系统主要由视觉传感部分、计算机、焊接系统和执行机构组成。视觉传感部分主要设备是NIT工业相机,考虑到近距离拍摄熔池图像需在镜头前安装防护玻璃,避免镜头被烟雾污染和飞溅伤害。工业相机采集图像后通过图像采集卡传输给计算机进行图像处理。焊接系统由焊机、焊枪、焊件、气瓶、工作台等组成。执行机构夹持的焊枪垂直于水平方向。
图1 被动视觉系统
2 图像的处理与分析
2.1 图像预处理
图2是焊接工件实物图和一帧焊接图像。本文设计的图像处理流程为,对熔池下方特征区域进行提取,接着进行滤波处理,然后进行阈值处理得到焊缝坡口特征,最后对其进行坡口边缘线提取。
图像的主要亮度分布集中在熔池中心区域,熔池区域会影响坡口边缘提取。由于在熔池下方有明显的焊缝坡口线凸起状态,所以对此特征进行提取。ROI提取后图像如图3所示,根据熔池中心点和焊接图像的尺寸进行固定的ROI提取,选取大小为350×120感兴趣区域。提取后的图像数倍小于原图像,不仅滤除很多无用信息,而且对下一步图像处理减少计算量,加快图像处理速度。
图2 (a)焊接工件(b)焊接图像 图3 ROI提取
经过ROI提取后对图像进行滤波处理,根据滤波处理算法的特点选用高斯滤波。高斯滤波的特点是将图像进行平滑,对直线的保留效果更好,对下一步坡口边缘提取更有利。高斯滤波处理服从正态分布,其公式为
(1)
其中(x,y)为掩膜内任意一点坐标,(x1,y1)为掩膜内中心点坐标,σ是标准差。标准差代表着数据离散程度,σ值越大离散程度越小,处理效果越好。σx为在x方向上标准差,σy为在y方向上标准差。图4是对几种相同和不同σx,σy值进行图像滤波处理,直观上判断标准差更大的图像滤波效果更好。
由于使用被动光视觉系统,常用的最大类间方差方法不适合此处的阈值化处理。分析被动光视觉焊接坡口两侧处于较暗状态,可以对图像进行单阈值处理,如式(2)所示:
(2)
在遍历整个图像的像素值时,小于阈值T则记为0,否则记为255。处理后如图5所示。在图像进行阈值化处理后,产生许多的毛刺点,不利于下一步直线检测,对图像膨胀处理并选择合适的卷积核,可以将焊缝特征区域平滑。图6是使用11×11的卷积核进行膨胀处理的图像结果。
图4 高斯滤波效果图
图5 图像二值化 图6 图像膨胀
2.2 EDlines直线识别
在文献[11]中提出了一个快速、无参数的线段检测器,命名为EDLines 。它产生强大和准确的结果,比最快的已知线段检测器速度更快。EDLines一般经过3个步骤:首先给定一个灰度图像,进行新的边缘检测、然后通过边缘绘制算法,产生一套干净的,像素相邻的链,提取到的边缘线段可以直观地反应对象的边界。然后利用直线度准则,从生成的像素链中提取线段,通过线段参数的选择来判定需要的直线线段。最后线的验证步骤基于亥姆霍兹原理,目的是消除虚假线段的检测。
算法运用点到点补全思想,计算一组锚点,然后通过智能路由算法进行相邻锚点的连接,在锚点间进行直线描绘。其主要的四个步骤为高斯滤波、梯度计算、锚点的选择和锚点的连接。在本文图像预处理后无需用滤波处理,可以删减程序,减少计算。在梯度幅值的计算中选择式(3)进行计算。
(3)
在锚点的选择中,以该点梯度G(x,y)与附近点梯度做判断,T为设定的梯度阈值,通过式(4)~(7),4个判断条件计算是否符合锚点。所以锚点一定是局部峰值,如图7所示。
G(x,y)-G(x,y-1)≥T,
(4)
G(x,y)-G(x,y+1)≥T,
(5)
G(x,y)-G(x-1,y)≥T,
(6)
G(x,y)-G(x+1,y)≥T.
(7)
最后在边缘绘制中,以锚点为起点I(x,y)向左移动,在I(x-1,y-1),I(x-1,y),I(x-1,y+1)三个方向进行检索,以I(x-1,y-1)方向上为例,以梯度大小判断。通过式(8)~(9)进行方向选择,满足条件就往此方向进行移动,行进方向如图8所示。
G(x-1,y-1)>G(x-1,y)
(8)
G(x-1,y-1)>G(x-1,y+1)
(9)
图9为采用Edlines算法和Cannylines算法对无干扰、飞溅干扰、烟雾干扰的焊接图像进行处理的结果。处理后的实验数据在表1中,结果显示Edlines算法平均得到了17条线段,运行时间在0.42s左右。使用Cannylines算法进行对比,Cannyline算法平均得到了13条线段,运行时间在0.44s左右。从线段提取效果来看,Edlines算法具有更好的直线检测性能;从运行时间来看,Edlines比Cannyline算法更快。
图7 锚点选择图
图8 锚点行进图
图9 图像处理算法结果
表1 直线提取结果
2.3 改进的Edlines算法
观察EDlines线段检测的结果,难以直接对其进行焊缝坡口边缘提取。根据需要提取的焊缝坡口特征,对算法进行检索方向改进,原算法提出的是以锚点为起点对周围4个方向进行判别。本文系统焊接图像坡口边缘在垂直方向,因此对图像只进行垂直的二个方向搜索,行进示意图如图10所示。
图10 垂直方向行进图
垂直方向处理后未能直接提取到焊缝坡口边缘,在线段参数选取时原算法提出的是一个关于对数函数的非线性调参设置,如式(10)。其中w表示图像宽度,h为图像的高度。
(10)
本文针对焊缝坡口图像将其修改为线性调参设置如式(11):
(11)
表2为改进算法后图11中α=3.5 时的数据。以上处理结果可以看出通过改进锚点的行进方向和直线提取的决策方式,通过修改变量α,提取到两条清晰的焊缝坡口边缘。达到了焊缝坡口边缘提取的目的,且程序运行时间有一定的加快。本文所有的算法实验环境描述如下:Windows7操作系统,8.00GB内存,2.1GHz CPU,VS2015 +OPENCV3.1软件。
表2 改进后直线提取结果
图11 焊缝坡口边缘提取
本文提出的算法流程如图12所示,为了进一步加强算法鲁棒性的验证,选取了MAG宽缝焊接过程的焊缝图像进行了实验。实验数据为375张,准确识别出346张,识别率达到了92.3%,其中选取了一帧图像处理过程效果如图13。可以验证本文提出的基于Edlines直线提取在被动视觉焊缝坡口边缘提取中具有较好的适应性。
图12 图像处理流程
图13 MAG焊图像处理过程
3 结束语
本文通过对被动视觉焊接图像处理,首先对焊缝特征区域ROI提取,进而对焊接曲缝进行类似直线处理,扩大了算法的应用范围。
改进Edlines算法的搜索方向和决策方式后,与其他算法对比。实验结果表明,本文提出的改进算法处理速度更快,且仅提取到两条有效的焊缝坡口边缘,无干扰杂乱边缘出现。
最后对多种焊接情况进行实验,坡口边缘提取的实验结果准确率达到了92.3%,验证了本文改进算法的适应性。