基于激光视觉的焊缝图像处理
2023-09-27刘兴德刁建超卢添烨周海宇
刘兴德,刁建超,卢添烨,周海宇
(吉林化工学院 信息与控制工程学院,吉林吉林,132022)
焊接机器人在恶劣的环境下依旧能够高效率和高精度的完成工作,被大量应用于汽车零部件生产、船体加工加工等各种机械制造业中,但随着应用范围的变大,实际工作环境业在不断的变化,当焊接的物体或者环境发生变化时,如果机器人未能及时的做出对应的调整,就会导致焊缝焊接出现各种各样的问题,以及精度偏差、焊接质量低下。为此,应用一款适合的传感器解决在线跟踪问题。激光视觉传感器凭借其非接触、速度快、精度高和抗干扰能力强等优点,而被广泛应用于机器人自动化焊接领域。
1 视觉传感器的构成和工作原理
本文提出了一种基于激光结构光的焊缝特征信息提取方法,该方法通过激光器发射线状的结构光照射到焊接工件表面上,根据焊缝与光带的位置关系产生光带弯曲,通过相机成像后进行图像处理,提取焊缝特征信息。该方法能够计算获得准确的二维数据和简单的三维数据,能够识别焊缝宽度、深度以及形状等特征,具有较高的识别精度[1]。
为了获得更清晰的激光图像,本文设计的激光视觉传感器包括COMS 相机、激光器、采集卡、减光镜和滤光镜等部分。在实际使用中,相机固定在焊枪上,激光器放置在相机前并与相机成一定夹角,使得激光器发射的光线水平射在焊缝上。为了获得良好的激光图像,在传感器中加装了滤光片和减光镜,以过滤其他光谱和减少干扰。激光测量原理如图1 所示。
图1 激光视觉传感器的原理
2 焊缝识别系统的设计
焊缝跟踪系统包括视觉部分和跟踪部分两大部分。视觉部分由CMOS 相机和激光器等组成,能够产生焊缝图像,并通过图像采集卡传递给工控机进行图像处理。跟踪部分通过特定算法计算出焊缝在图像中的特征点,进而求得焊枪与特征点的相对距离,从而操作机械臂实现焊接。当发现实际焊接路径与标定路径出现偏差时,通过通信传输给机器人进行相应的纠偏,以实现实时跟踪的目标。焊缝跟踪系统能够实现全部功能,提高焊接质量和效率[2]。为了保证焊接的质量和速度,在对提取到的图像进行处理就显得尤为重要,图像处理的结果直接影响到特征点的提取,本文将对焊缝条纹提取进行重点讲述。图2 是完整的焊缝跟踪系统的构成图。
3 焊缝图像的处理
焊缝图像是从视觉传感器中获取的原始图像,其中包含了焊缝的特征信息,但需要经过进一步的处理才能获得焊缝偏差信息,以进行焊缝跟踪。图像处理算法是实现焊缝跟踪的重要步骤,主要包括预处理、激光条纹中心线提取和焊缝位置特征提取。由于焊接环境通常不理想,图像容易受到周围环境光、工件缺陷和CCD 特性等因素的影响,因此采集的图像可能会有噪点。为了提取焊缝特征信息,需要对原始图像进行预处理,消除噪点,并将包含焊缝特征的激光条纹与周围背景分离[3]。
■3.1 焊缝图像的预处理
线激光视觉系统采集的焊缝初始图像可能存在噪声干扰和线激光条纹边缘毛刺现象,同时焊缝在整幅图像中占据较小比例。因此,直接在初始焊缝图像上进行图像处理的任务量会很大。为了提高处理效率,本文采用感兴趣区域提取法(ROI)对区域进行重点提取,去除不必要的图像信息,保留主要的图像信息。每次焊接的起点都是在焊缝上,相机与机器人末端的相对位置保持不变,因此焊缝区域在整幅图像中的位置也基本保持不变。在获取处理后的图像时,直接利用预设的相对位置来获取感兴趣区域,并确保焊缝区域能完整地保留在ROI 中。通常选择的ROI尺寸为激光弯曲段尺寸大小的5 倍,以确保焊缝区域能够完整地保留在ROI 中。如图3 所示,通过截取原图来获得大小为640×480 像素的ROI 区域,在后续的处理中需要使用ROI 中的坐标来获取原图中的坐标信息。图3 是经过ROI 提取后的图像。
图3
■3.2 图像的滤波处理
摄像机采集的图像通常会受到各种类型的噪声干扰,如果不对图像进行滤波算法的处理,这些噪声点将会影响最终焊缝特征信息的提取。常用的前滤波方法包括中值滤波、高斯滤波和均值滤波,通常通过设置空间域掩模,在焊缝图像的灰度值矩阵上遍历掩模,通过线性或非线性运算获取掩模中心点的灰度值,并抑制图像中的噪声。
高斯滤波是一种常见的线性平滑滤波器,其主要思想是将图像中每个像素的值,用其周围像素值的加权平均数来代替。其中,权值是通过高斯函数计算得到的,离中心像素越远的像素点的权值越小,越接近中心像素的权值越大。这样的权值分布使得高斯滤波器可以保留图像中的边缘信息,同时抑制噪声。高斯滤波器的模板大小和标准差是其关键参数,模板大小决定了平均值的计算范围,标准差则决定了权值的分布范围。通常情况下,标准差越大,滤波器的模板大小也越大,这样可以更好地平滑图像并减少噪声,但同时也会降低图像的细节和边缘信息。高斯滤波器广泛应用于图像处理的各个领域,如图像去噪、边缘检测、图像增强等,离散化之后的高斯滤波算法的权系数矩阵模板为:
二维高斯分布函数为:
其中,σ为标准差。经过MATLAB 图像处理后的图像如图4 所示。
图4 高斯滤波后图像
高斯滤波的优点:可以更好地保留图像的边缘和特征信息,同时,还具有频域上的优点,可以在保留图像细节的同时消除高频噪声,提高图像质量。高斯滤波有效保留激光条纹的边缘信息,因此,本文选择高斯滤波进行滤波处理。
■3.3 图像分割
图像阈值算法,其原理是根据图像的像素实际值,找一个合适的阈值。然后对图像基于设定的阈值进行分割成不同的区域。经过图像滤波去噪、焊缝初始图像除去大部分不需要处理的区域和干扰焊缝特征点提取的噪声,提取焊缝特征所需要的畸变激光条纹的灰度特征与背景板材的灰度特征差异不够明显。将灰度值小于阈值的背景板材区域的灰度值变为 0,将灰度值大于阈值的激光条纹区域的灰度值变为255。其数学表达式为:
式中,f(x,y)为经过预处理后的焊缝图像像素灰度值,g(x,y)为焊缝图像处理后的像素灰度值,T为确定的最佳分割范围而算的的阈值。从上式可以看出,焊缝激光条纹提取的效果取决于分割阈值的数值,如果求得数值比理想的数值差别较大,会损失目标区域的焊缝信息,数值确定较小,会在导致求取的目标区域含有图像噪声。目前常用的有最大类间、类内方差比法、迭代法类间、最大距离法等。
最大类间方差法,是一种图像二值化处理中常用的自适应阈值选取方法。其基本思想是,将图像中的灰度级分为两个部分,使得两个部分之间的类间方差最大,即图像的灰度级被分为前景和背景两部分,使得前景和背景之间的类间方差最大,而前景和背景内部的类内方差最小,最大类间方差法在实际应用中具有较高的准确性和鲁棒性。
具体实现步骤如下:
(1)对图像的灰度级进行直方图统计,并计算出每个灰度级出现的概率;
(2)从灰度级最小值开始,计算每个灰度级处的类间方差;
(3)找到类间方差最大的灰度级作为阈值,将图像进行二值化处理。
算法原理:假设一幅图像的大小为u⋆v 分别表示待处理图像两个不同方向上的像素总和,n 个灰度值为i 的像素在图像中占有的概率表示为:
其中阈值暂取为T,在 T 处将图像分为 A 和 B 两类,则B={0~T-1},C={T~255} 则图像中A 和B 产生的概率PA和PB 分别为:
上述两式PA+PB=1,并且A、B 两类的灰度平均值µA和µB分别为:
根据以上各式,则A 和B 两类间的方差 σ2(T):
通过算法原理可知,当类间方差σ2取到最大值时,灰度值T为最佳阈值。利用MATLAB 将上述算法进行的阈值分割后的图像,经过上述处理后得到的图像如图5 所示。
图5 最大类间方差法
■3.4 中心线提取
经历过上述的图像处理后,获得了较为清晰地图像焊缝光条,进一步需要得到焊缝特征点的像素坐标,需要将特征点从激光中心线中提取出来,这里需要对焊缝信息进行分析,利用光在焊缝处产生弯曲的特点进行焊缝特征点提取,而要准确的提取到特征点需要先对激光中心线进行提取。
3.4.1 灰度质心法
灰度质心法是一种常用于图像处理的方法,用于计算图像的重心,可以将其扩展到计算轮廓的重心,从而得到轮廓的中心线.中心线可以通过以下步骤计算:
首先,通过阈值分割或边缘检测得到轮廓。对轮廓进行细化,以便得到一个像素宽度的线。对于每个像素,计算其灰度质心。灰度质心是指该像素及其周围像素的灰度值与其坐标的乘积之和除以该像素及其周围像素的灰度值之和。将所有灰度质心连接起来,即可得到中心线。
具体做法:沿着垂直激光线条的方向将激光线图上的第m 列坐标设为(xm,yn),其中变量n=1.……,K,K 表示列光带的截面宽度,取奇数,计算公式如下:
其中m 为激光的带宽变量,变化范围依据图像尺寸确定。下面是跟常用的几种算法与灰度质心法的效果图,如图6 所示灰度质心法通过进一步的去除伪极大值,消除阶跃点,稳定性好,可以连接间断点,使中心线平滑连续。处理后的图像如图6 所示。
图6 灰度质心法提取到中心线
3.4.2 特征点提取
针对L 型板工件的V型坡口焊缝,其激光条纹基本上是由数个直线段构成的,在直线段的相交点位置就是所需要寻找的焊缝特征点,直线段的获取可以通过最小二乘法进行拟合,也可以通过霍夫变换等方式得到,不过霍夫变换方法计算过程比较复杂,同时需要花费较长的处理时间,不利于焊缝跟踪的实时处理。对V 型坡口激光条纹图像采用最小二乘法进行直线拟合,可得到的特征点最终结果如图7 所示。
图7 焊缝特征点提取
4 实验数据分析
为了验证图像特征点提取的准确性,利用示教器提取工件上3 条焊缝和它的固定点位之间的距离,记录下两两之间的实际长度,将它与经过图像处理后的特征点世界坐标两两之间的距离长度相比较,获得平均误差,计算该误差为±0.15mm,满足焊接的精度需要。如表1 所示。
表1 实际距离与实验距离下的焊缝长度值