基于线结构光的强干扰下焊缝特征跟踪算法研究

2021-11-29 10:46於双飞刘楚天
组合机床与自动化加工技术 2021年11期
关键词:弧光跟踪器线段

杨 智,於双飞,李 坚,刘楚天

(广东工业大学机电工程学院,广州 510006)

0 引言

在自动化和智能化发展的大背景下,工业制造对自动化焊接要求越来越高[1-2]。传统的焊接机器人采用的是示教-再现的方法实现自动焊接[3],但是示教-再现无法应对热变形、制造误差等问题。目前激光三角测量原理[4]在焊缝检测中应用十分广泛,通过二维图像中的激光条纹可以获取焊缝的三维坐标。焊接时,为了减少弧光干扰,激光视觉传感器平行安装在焊炬正前方一定的距离,但是过大的前视距离会使跟踪滞后导致焊接精度不足,前视距离过小使得图像容易受到飞溅、弧光的干扰[5]。因此在焊接过程中如何从有噪声干扰的图像中精准找到焊缝特征点是焊缝跟踪的关键问题。传统方法是使用形态学的方法降低图像中的噪声,再从图像中提取焊缝特征点。文献[6]提出了一种基于区域优化的图像二值化的方法。该方法自适应的确定ROI区域,并建立区域判定优化模型确定二值化的阈值。文献[7]利用激光条纹在图像中的连续性,提出了一种提取焊缝中心线的序列重力法(SGM),减小光学噪声对特征点定位准确性的影响。文献[8]根据焊缝特征的连续性提出了一种基于图像列方向像素灰度分布的曲线峰值提取方法。 文献[9]提出一种字符串描述符来描述焊缝轮廓。在焊接过程中使用卡尔曼滤波跟踪激光条纹,再用字符串描述符描述焊缝轮廓,确定焊缝位置。在焊接时会产生大量的弧光和飞溅,基于形态学的图像处理方法在无人干预的情况下很难满足实际的生产需求。本文中针对焊接环境中弧光、飞溅等干扰的问题,提出了一种基于高斯核相关滤波器(KCF)[10]的双滤波器焊缝特征跟踪方法,该方法用每帧中都建模的跟踪器Rp和只在噪声干扰较小的可靠帧中建模的跟踪器Rn的两个滤波器跟踪焊缝特征,再使用卡尔曼滤波器融合两个跟踪器输出结果,提高系统鲁棒性。同时,为了能同时适应坡口焊、搭接、T型等常见的焊接接头,在起始帧中对激光线段分段,再用线段方向聚类的方法将方向不同的激光线分类,最后用最小二乘法拟合激光线,求解线段交点,得到焊缝特征点。最后实验表明该方法具备良好的跟踪精度。

1 初始帧焊缝特征点位置检测

为了实现焊缝特征跟踪,需要在第一帧中确定焊缝位置。在焊枪开启前,由于没有弧光干扰,可以在第一帧中采用形态学的方法确定焊缝特征点的初始位置。焊接的工件由金属块组成,当激光照射在工件焊接件接头时,图像中会呈现出折线,如图1所示,折线的拐点即为焊缝位置特征点。

(a) 实物图 (b) 激光视觉传感器成像

本文对激光条纹切片再使用方向聚类的方法区分不同的线段,提取焊缝特征。算法步骤如下:

(1)首先对相机采集的图像预处理。为了降低反光等光学噪声的影响,在图像中依次使用中值滤波,阈值分割,形态学膨胀和形态学腐蚀操作。使用距离变换[11]计算激光线条的骨架,并将骨架上的点作为激光条纹线的中心点,线激光的中心点的集合设为{P}。图2a中的T型接头的图像经过步骤(1)提取的激光线条的骨架如图2b所示。

(2)对激光条纹中心点集合{P}分段。把集合{P}中每m个连续的像素点近视为一个直线线段Li,并用最小二乘法对其拟合,得到线段的方程f,方程f由Pc,V两个参数表示,Pc=[x,y]确定该线段的位置信息,V=[vx,vy]为线段的方向矢量。集合{P}中的点分成若干条线段,可表示为集合{L}={L1,L2,...,Li}。

(3)线段是方向性的矢量数据,{L}中的线段Li按不同方向分组可以构成方向集合,方向不同的线段的集合设为{D}={D1,D2,...,Dj},其中{Di}中为方向相同的直线线段。按式(1)对相邻的两个线段Li和Li+1方向余弦比较,如果这两个线段夹角的余弦小于阈值,则认为两条线段都是属于同一条直线,线段Li和Li+1都添加到子集合{Di}中,否则需要生成一个新的子集合{Ds},将线段Li+1添加到集合{Ds}中,并将子集合{Ds}添加到{D}中。图2b中激光线的骨架经过步骤(2)、步骤(3)后得到红绿两条方向不同的线段,结果如图2c所示。

(1)

(4)经过以上计算可以把方向不同的激光条纹分成不同组。再采用最小二乘法分别对集合{D}中的各元素{Di}中的点直线拟合,求解相邻两条直线的交点。焊缝特征点为其中一个交点。图2c经过步骤(4)后得到焊缝特征点,结果如图2d所示。

(a) T型接头原图 (b) 激光线的骨架

2 焊缝特征跟踪算法

2.1 KCF跟踪算法原理

在焊接过程中,由于有很强的光学噪声干扰,用图像形态学的方法很难从干扰的图像中提取焊缝特征,因此使用KCF算法实时对图像中的焊缝特征跟踪。KCF根据第一帧中指定的目标区域训练跟踪器,利用跟踪器对下一帧中预测位置附近进行采样点响应,响应值最大的位置认为是目标点的位置。焊接之前,图像没有弧光干扰,用上文中的方法提取焊缝确定焊缝特征的位置,以特征点为中心,从图像中提取M×N大小的区域作为正样本。训练的负样本由循环位移得到。设训练样本为(xi,yi),则线性回归函数为:

f(xi)=wTxi

(2)

其中,w表示权重系数,训练的目的是找到合适的权重w让损失函数的值最小,即:

(3)

式中,λ为惩罚系数。令式(3)导数等于0,可以求得权重系数为:

w=(XHX+λI)-1XHy

(4)

(5)

目标模型Z在分类器的响应值为:

f(z)=wTz=∂Tα(X)α(z)

(6)

则基于核函数的岭回归可以表示为:

∂=(K+λI)-1y

(7)

其中,∂是∂i组成的向量,K为核矩阵,K=α(X)α(X)T。因此将求解w最优的问题转化为求解∂最优的问题。为了加速对式(7)的计算,算法中引入循环矩阵,KCF所有的训练负样本都采用循环矩阵循环位移得到。所有循环矩阵在傅里叶空间具有对角性质,核矩阵可以表示为[12]:

(8)

下文中用∧表示离散傅里叶变换,kxx为核矩阵的第一行。利用循环矩阵的性质可以求出:

(9)

目标模型Z在当前帧中的响应为:

(10)

在新一帧图像中,特征点的坐标如下:

(ci,si)=maxf(z)

(11)

(12)

2.2 双跟踪器跟踪算法

由于视频中连续两帧图像的变化较小,KCF通过在前一帧训练滤波器,推测目标在后一帧中的位置,所以在跟踪时候有较高的精度。但是在焊接的过程中由于弧光、飞溅等干扰,如果对每一帧中焊缝特征建模更新模型参数,则容易在模型中引入背景,导致跟踪焊缝特征的时候出现漂移。如果在跟踪时不积极更新模型参数,在检测的时候会导致检测精度不足。所以为了能更好的适应焊接的环境,在每帧图像上使用两个KCF跟踪器(Rn,Rp)跟踪同一个焊缝特征点,其中Rp在每一帧中都对焊缝特征建模并更新模型参数,而Rn只在响应值f(z)大于阈值的可靠帧中更新模型参数。最后采用卡尔曼滤波融合Rn和Rp的输出结果。焊缝特征k时刻的状态向量为:

Sk=(px,py,vx,vy)T

(13)

(px,py)T为焊缝特征的像素坐标,为上一次的最优估计。(vx,vy)T是焊缝特征在像素坐标上的两个坐标轴的速度分量, 由跟踪器Rp计算得到。在用卡尔曼数据融合过程中,由于无法准确求出目标的加速度,因此在两帧之间的运动视为匀速运动,加速度对系统的影响视为噪声。则状态向量的预测方程可以表示为:

(14)

(15)

(16)

其中,Pk为k时刻的最优估计的协方差矩阵。Q为模型中的噪声矩阵,是位移和速度矢量的协方差矩阵。AT表示A的转置矩阵,卡尔曼增益为:

(17)

其中,H是状态向量和观测的转换矩阵。R为观测噪声协方差矩阵。

(18)

(19)

(20)

其中,Sk+1为k+1时刻的最优估计,但是为了卡尔曼滤波不断的运行下去,需要更新Sk+1的协方差矩阵:

(21)

其中,I为单位矩阵。在k+2时刻,Pk+1为式(17)中的Pk,再依次完成预测方程计算,更新状态方程,最后得到k+2时刻的最优估计。

3 实验验证

为了验证本文中的算法的有效性,分别进行坡口焊、搭接、T型等常见焊接接头的焊缝特征点提取和焊接图像特征跟踪实验,并对实验的结果评估分析。

3.1 焊缝特征点初始位置检测

实验采用搭接、T型和坡口接头的钢板进行实验,其中坡口和T型的钢板厚6 mm,搭接类型的钢板厚为10 mm,原始图像分别如图3a、图3c、图3e所示。用上文中的焊缝特征提取算法依次读取焊缝的原始图像,输出结果如图3b、图3d、图3f所示,其中不同的颜色代表区分出的不同的线段,“+”代表计算得到的特征点。结果显示本文中算法能自适应的从搭接、T型和坡口接头的图像中准确地提取出所有的特征点。

(a) 搭接接头 (b) 搭接接头处理结果

(c) T型接头 (d) T型接头处理结果

(e) 坡口接头 (f) 坡口接头处理结果

3.2 焊缝特征图像跟踪

为了验证本文中跟踪算法的可靠性,实验使用现场焊接的图像数据对该方法检验,实验用线结构光传感器获取焊缝信息,相机为映美精DMK 23UM021,相机和激光传感器相距50 mm,安装在ABB IRB1410焊接机器人上。线结构光传感器与焊接工件距离为16 cm,焊接电流为218 A,焊接速度为6 mm/s,获得451张焊接图像数据。并对图像中的焊缝特征点进行标注,以获得焊缝特征在图像中的实际位置。在图4第一帧中,焊接电源还没有开启,图像中的噪声较小,从第一帧中提取焊缝特征点,以提取的焊缝特征点为中心,提取80×40大小的区域作为跟踪目标。

第001帧 第100帧 第240帧 第340帧 第450帧

在开始焊接后,分别使用本文提出的方法和KCF算法持续对第一帧中的焊缝特征跟踪,并从焊接过程中随机选取五张图。其中不同的颜色代表不同的算法,如图5所示,红色代表本文所提出的方法,绿色为KCF。“+”符号表示焊缝特征点。从图中可以看到在强弧光干扰时候,KCF算法会出现较大误差,不利于长时间跟踪。本文中提出的方法能够在噪声干扰下准确定位,抗干扰能力较好。为了更加合理地评价本文中的方法,使用图像中标注的像素坐标和算法输出像素坐标的欧几里得距离衡量跟踪误差,误差折线图如图5所示。从图中可以看到在焊接过程中,KCF在跟踪时随着跟踪的时间增加误差逐渐变大,在连续的强噪声干扰的图像中产生了过大的误差。本文中提出的方法可以有效地抑制跟踪目标点的漂移,减少跟踪误差,跟踪的最大误差小于8个像素,整体表现较好,满足焊接需求。

图5 两种算法的跟踪误差曲线

4 结束语

本文针对焊接过程中弧光飞溅等干扰导致焊缝特征提取困难的问题,利用焊缝在时间和空间中的连续性,使用KCF跟踪算法跟踪焊缝特征。针对焊缝跟踪过程中光学噪声干扰过大导致焊缝特征跟踪出现漂移的问题,提出使用两个活跃程度不同的跟踪器跟踪焊缝特征,最后使用卡尔曼滤波器融合两个跟踪器输出结果。经过实验测试,在强弧光和飞溅等光学噪声干扰的情况下,该方法能抑制跟踪过程中的出现的跟踪漂移,减小跟踪误差。在451张测试的图像中,平均跟踪误差为3.71个像素,具有较高的跟踪精度。

猜你喜欢
弧光跟踪器线段
光伏跟踪器阵列跟踪精度的测算方法研究
弧光保护技术及其在电网中的应用综述
基于GOOSE 通信的弧光保护方案
画出线段图来比较
浅析一种风光储一体化跟踪器
超长待机的自行车位置跟踪器
怎样画线段图
我们一起数线段
数线段
双向多轨迹判定方法在目标跟踪中的应用研究