本发明涉及焊缝跟踪领域,特别是一种薄板搭接焊缝实时焊接图像特征提取方法。
背景技术:
随着工业自动化、智能化焊接的迅猛发展,焊缝跟踪系统也越来越被工业领域广泛地接受和应用,尤其是在应对一些高难度、高要求、工件易变形的设备焊接中,如飞机、轮船等。要实现智能化焊接,焊缝实时跟踪是关键。实现焊缝跟踪,其中最关键的技术问题是要实现焊缝位置的自动识别。
目前,基于视觉传感器的焊缝识别,正在快速发展并得到了广泛应用,其中由ccd和激光组成的激光视觉传感器由于具有结构简单、测量精度高、非接触式等优点得到了广泛应用。基于视觉传感的焊缝识别需要用到图像处理技术,而图像处理的复杂性、多样性等特点促使对焊缝的识别成为研究热点。
激光视觉传感是将激光投射到焊缝表面,得到包含焊缝轮廓信息的条纹。为了识别出焊缝特征信息,需要得到光条中心,并分析处理得到焊缝特征信息。
现有采用激光视觉传感进行缝特征信息提取时,存在着如下不足,有待进行改进:
1、传统滤波处理方法,无法有效去除烟尘和飞溅干扰,导致后续图像分割难、处理时间长。
2、焊接过程多变、噪声复杂、现场电磁干扰等多种不确定因素造成的图像断点。
3、小尺度、特殊形态、位置噪声干扰,例如飞溅恰巧覆盖焊缝特征点位置,飞溅形态近似激光条纹图像等。
技术实现要素:
本发明要解决的技术问题是针对上述现有技术的不足,而提供一种薄板搭接焊缝实时焊接图像特征提取方法,该薄板搭接焊缝实时焊接图像特征提取方法定位精度高,能准确快速提取激光条纹中心线,鲁棒性强。同时,还能有效克服小尺度、特殊形态噪声图像干扰,有效提高特征提取的抗干扰能力,运算耗时少,满足实际薄板焊接高速高精度应用场景。
为解决上述技术问题,本发明采用的技术方案是:
一种薄板搭接焊缝实时焊接图像特征提取方法,包括如下步骤。
步骤1,图像预处理:将采集的原始焊缝图像进行形态学处理,使得原始焊缝图像在基于位置和形状不变的同时,去除弧光、飞溅、烟尘,得到包含全部激光扫描条纹的初始化图像。
步骤2,有效图像提取:将步骤1得到的初始化图像,通过滤波、腐蚀去噪处理,得到有效图像。
步骤3,阈值分割:将步骤2提取的有效图像,进行行放大增强处理。接着,对增强后图像进行阈值分割,获得二值化图像。
步骤4,形态学修整:将步骤3获得的二值化图像进行形态学修整,减少二值化图像的噪声。
步骤5,激光条纹中心线提取:采用灰度重心法和预测算法,对步骤4修整后的二值化图像提取激光条纹中心,获得连续的激光条纹中心线。
步骤6,特征点提取:采用数学特征值和机器学习算法相结合的方法,对步骤5提取的激光条纹中心线进行特征点提取,获取焊缝图像特征点。
步骤1中,采集的原始焊缝图像进行形态学处理的过程,包括如下步骤:
步骤11、消除激光条纹和点状飞溅:选择卷积核20×1,对采集的原始焊缝图像进行卷积运算,消除激光条纹和点状飞溅,获得图像a1。再用采集的原始焊缝图像减去图像a1,获得图像a2,则图像a2保留有亮斑块一,亮斑块一包括激光条纹、连续的飞溅噪声、片状烟尘和弧光噪声。
步骤12、消除点状和连续的飞溅噪声:选择卷积核1×20,对采集的原始焊缝图像进行卷积运算,消除点状和连续的飞溅噪声,获得图像b1。再用采集的原始焊缝图像减去图像b1获得图像b2,则图像b2保留有亮斑块二,亮斑块二包括飞溅条纹、连续的激光条纹、片状烟尘和弧光噪声。
步骤13、获得图像c:通过计算像素点的方法,将步骤11获得的图像a2减去步骤12获得的图像b2,得到图像c。图像c能在获得高对比度激光条纹的基础上,消除连续的飞溅噪声、片状烟尘和弧光的干扰。
步骤14、对图像c进行滤波操作,获得图像d。
步骤15、对滤波后的图像d进行增强操作,获得包含全部激光扫描条纹的初始化图像。
步骤13中,像素点计算时,先计算像素点的平均像素差,再计算实际像素差,图像c按照如下方式获得:
a)当实际像素差值大于平均像素差时,则图像c保留图像a2的像素值。
b)当实际像素差值小于平均像素差且大于0时,图像c保留实际像素差值。
c)当实际像素差值为负值时,则图像c的像素值设为0。
步骤15中的增强方法为拉普拉斯增强。
步骤2中,通过滤波、腐蚀去噪处理的过程,包括如下步骤:
步骤21、计算列图像像素和:将步骤1获得的初始化图像的列方向作为x方向,行方向作为y方向。按x方向对初始化图像进行扫描,计算每列图像像素和。
步骤22、选取像素和最大列:比较步骤21计算得出的各列图像像素和的大小,选取像素和最大列xmax。
步骤23、截取图像:像素和最大列xmax为激光条纹中心所在列,选取xmax±δx作为有效图像的x方向边界,δx一般取值20-30,沿x方向边界进行图像截取,截取后的图像将作为有效图像。
步骤5中,采用灰度重心法和预测算法,提取激光条纹中心的方法,包括如下步骤:
步骤51、对形态学修整后的二值化图像,按y方向进行扫描,计算每行二值化图像中像素点的像素值与x坐标乘积的和svalue。
步骤52、计算每行二值化图像中像素点的像素值的和value。
步骤53、以每行二值化图像的svalue除以每行二值化图像的value,获得该行二值化图像的重心位置坐标xg。
步骤54、存在断点或者像素点列坐标x偏差较大时,通过位置预测算法,填补和修正当前像素点列坐标x。
步骤55、计算当前像素点的修正重心位置kg[j],计算公式如下:
kg[j]=kg[j-1]+kk[j]*k_gra[j]*(g[j]-kg[j-1])
k_gra[j]=ssumpixel[j]/maxvaluey
kk[j]=1/b[j]
b[j]=lam*b[j-1]+1
式中,kg[j-1]为上一次计算得到的修正重心位置,迭代获取。kk[j]为增益系数。k_gra[j]为灰度增益系数。g[j]为步骤53得到的当前像素点列坐标xg,kg[0]=g[0]=2δx。0≤j≤最大行坐标-1;ssumpixel[j]为当前像素点所在行的像素点的灰度之和。maxvaluey为最大行灰度之和。lam为增益加权系数,b[0]=1。
步骤56、激光条纹中心提取:对形态学修整后的二值化图像,每行只保留修正后重心位置kg[j]所对应的像素点,并赋予该像素点的像素值为255,其余像素点为0,从而使得每行图像只有一个像素值为255的像素点,简称为单像素激光条纹图像。
步骤6中,采用数学特征值和机器学习算法相结合,获取焊缝图像特征点的方法,包括如下步骤:
步骤61、像素点集参数设置:设置前置像素点集起始点距离offset_begin1、前置像素点集终点距离offset_end1、后置像素点集起始点距离offset_begin2和后置像素点集终点距离offset_end2。offset_begin1和offset_begin2一般取值5-15,offset_end1和offset_end2一般取值20-30。
步骤62、获取前置像素点集和后置像素点集:沿步骤5提取的含有激光条纹中心线的图像的y方向进行扫描,选取前置像素点终点距离offset_end1作为y方向坐标扫描起始参考点,后置像素点集终点距离offset_end2作为y方向坐标扫描终止参考点。
步骤63、获取拟合直线:沿y方向,采用最小二乘法对各行像素点的前置像素点集和后置像素点集分别进行拟合,得到前置拟合直线和后置拟合直线。
步骤64、建立数学特征值与焊缝图像特征点关系模型,建立方法如下:
步骤64a、参数计算:沿步骤5提取的含有激光条纹中心线的图像的y方向进行扫描,分别对至少三个不同的像素点进行前置点集直线拟合和后置点集直线拟合,计算每个像素点与前置拟合直线与后置拟合直线的数学特征值,包括前置距离dist、后置距离af_dist、前置斜率k、后置斜率af_k和夹角angle。前置距离dist为像素点到前置点集拟合直线的距离,距离带方向。后置距离af_dist为像素点到后置点集拟合直线的距离,距离带方向。前置斜率k为前置点集拟合直线的斜率,后置斜率af_k为后置点集拟合直线的斜率。夹角angle为每行像素点到前置点集拟合直线和后置点集拟合直线的夹角。
步骤64b、建立数学特征值与焊缝图像特征点关系模型:根据步骤64a计算的参数,获取权重percent[i]:以前置距离dist、后置距离af_dist、前置斜率k、后置斜率af_k和夹角angle作为数学特征值,按照数学特征值对于特征识别的贡献分配权重percent[i]。percent[i]根据大量实验基础数据统计分析得出,i=0、1、2、3和4。其中,percent[0]为前置距离dist权重、percent[1]为后置距离af_dist权重、percent[2]为前置斜率k权重、percent[3]为后置斜率af_k权重和percent[4]为夹角angle权重。
步骤65,首先根据内置的标准搭接焊缝图像获取前置距离calib_dist、后置距离calib_af_dist、前置斜率calib_k、后置斜率calib_af_k和夹角calib_angle。
然后按照下式计算图像像素点得分值point[j]:
point[j]=percent[0]*abs(dist[j]-calib_dist)+percent[1]*abs(af_dist[j]-calib_af_dist)+percent[2]*abs(k[j]-calib_k)+percent[3]*abs(af_k[j]-calib_af_k)+percent[4]*abs(angle[j]-calib_angle)。
将图像像素点得分值point[j]最低的点作为焊缝图像特征点。
所述步骤3中的阈值分割采用最大熵方法。
步骤4中的形态学修整采用开运算。
本发明具有如下有益效果:
1、通过基于位置和形状不变的处理方法,可以有效降低弧光、飞溅、烟尘对图像的影响,在保证不改变激光条纹形态的基础上(定位精度高),大幅度提高图像信噪比,突出激光条纹,耗时约10ms,高效解决了传统滤波处理后图像分割难、处理时间长的问题。
2、采用灰度重心法和位置预测算法结合的连续的激光条纹中心线提取方法,在确保激光条纹定位精度的前提下,克服图像因焊接过程多变、噪声复杂、现场电磁干扰等多种不确定因素造成的图像断点,可以准确快速提取激光条纹中心线,鲁棒性强。
3、基于多种数学特征值结合实际焊接参数,运用多特征值变权重计分法,有效克服小尺度、特殊形态噪声图像干扰,有效提高特征提取的抗干扰能力,运算耗时少,满足实际薄板焊接高速高精度应用场景。
附图说明
图1显示了实施例中薄板搭接焊缝图像获取系统的示意图。
图2显示了一种薄板搭接焊缝实时焊接图像特征提取方法的流程示意图。
图3显示了实施例中薄板搭接焊缝的焊接图像。
图4显示了对图3进行卷积处理后,主要保留激光条纹部分的图像。
图5显示了对图3进行卷积处理后,主要保留非激光条纹部分但亮度较高部分的图像。
图6显示了图4和图5运算处理后滤除了飞溅、烟尘的图像。
图7显示了对图6进行了分割处理的图像。
图8显示了对图7进行了激光条纹中心线提取的图像。
图9显示了焊缝特征提取图。
其中,上述图中a和b分别表示两幅不同实时焊接图像的处理流程。
具体实施方式
下面结合附图和具体较佳实施方式对本发明作进一步详细的说明。
本发明的描述中,需要理解的是,术语“左侧”、“右侧”、“上部”、“下部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,“第一”、“第二”等并不表示零部件的重要程度,因此不能理解为对本发明的限制。本实施例中采用的具体尺寸只是为了举例说明技术方案,并不限制本发明的保护范围。
如图1所示,一种薄板搭接焊缝实时焊接图像特征提取系统,为现有技术,包括上位机、执行机构、焊枪、视觉传感器和搭接焊缝。
执行机构根据上位机的指令使焊枪对搭接焊缝进行焊接,视觉传感器对搭接焊缝的焊接图像进行实时采集,并将采集的焊缝图像传送给上位机,上位机根据焊接图像,自动计算焊接偏差数据,并根据偏差数据,指令执行机构进行修正,形成闭环。
本申请采用图1所示的系统结构获取焊缝图像,本实施例中对图3所示的1.5mm厚薄板搭接焊缝的焊接实时图像进行特征信息提取。
如图2所示,一种薄板搭接焊缝实时焊接图像特征提取方法,包括如下步骤。
步骤1,图像预处理:将采集的原始焊缝图像进行形态学处理,使得原始焊缝图像在基于位置和形状不变的同时,去除弧光、飞溅、烟尘,得到包含全部激光扫描条纹的初始化图像。
上述采集的原始焊缝图像进行形态学处理的过程,以图4为例说明,包括如下步骤:
步骤11、消除激光条纹和点状飞溅:选择卷积核20×1,对采集的原始焊缝图像进行卷积运算,消除激光条纹和点状飞溅,获得图像a1。再用采集的原始焊缝图像减去图像a1,获得图像a2,则图像a2保留有亮斑块一,亮斑块一包括激光条纹以及少量连续的飞溅噪声和片状烟尘、弧光噪声。
步骤12、消除点状和连续的飞溅噪声:选择卷积核1×20,对采集的原始焊缝图像进行卷积运算,消除点状和连续的飞溅噪声,获得图像b1。再用采集的原始焊缝图像减去图像b1获得图像b2,则图像b2保留有亮斑块二,亮斑块二包括飞溅条纹以及少量连续的激光条纹和片状烟尘、弧光噪声。
步骤13、获得图像c:通过计算像素点的方法,将步骤11获得的图像a2减去步骤12获得的图像b2,得到图像c。图像c能在获得高对比度激光条纹的基础上,消除连续的飞溅噪声、片状烟尘和弧光的干扰。
上述像素点计算时,先计算像素点的平均像素差,再计算实际像素差,图像c按照如下方式获得:
a)当实际像素差值大于平均像素差时,则图像c保留图像a2的像素值。
b)当实际像素差值小于平均像素差且大于0时,图像c保留实际像素差值。
c)当实际像素差值为负值时,则图像c的像素值设为0。
步骤14、对图像c进行滤波操作,获得图像d。其中,中值滤波模板形状优选为正方形,大小优选为3×3(像素)。
步骤15、对滤波后的图像d进行增强操作,增强方法优选为拉普拉斯增强,获得包含全部激光扫描条纹的初始化图像。其中,拉普拉斯算子优选为(1,1,-1,3,5,3,-1,1,1)。
步骤2,有效图像提取,也即roi提取,将步骤1得到的初始化图像,通过滤波、腐蚀去噪处理,得到有效图像,从而能降低弧光及细小图像。
上述通过滤波、腐蚀去噪处理的过程,以图5为例说明,包括如下步骤:
步骤21、计算列图像像素和:将步骤1获得的初始化图像的列方向作为x方向,行方向作为y方向。按x方向对初始化图像进行扫描,计算每列图像像素和。
步骤22、选取像素和最大列:比较步骤21计算得出的各列图像像素和的大小,选取像素和最大列xmax。
步骤23、截取图像:像素和最大列xmax为激光条纹中心所在列,选取xmax±δx作为有效图像的x方向边界,δx一般取值20-30,沿x方向边界进行图像截取,截取后的图像将作为有效图像。
步骤3,阈值分割:将步骤2提取的有效图像,进行行放大增强处理;优选沿列(x)方向放大,放大倍数优选为2。接着,对增强后图像优选采用最大熵方法进行阈值分割,获得二值化图像,如图7所示。
步骤4,形态学修整:将步骤3获得的二值化图像进行形态学修整,,对图像进行轮廓提取,计算各封闭轮廓面积,滤除面积小于100的区域,减少二值化图像的噪声。其中,形态学修整优选采用开运算。
步骤5,激光条纹中心线提取:采用灰度重心法和预测算法,对步骤4修整后的二值化图像提取激光条纹中心,获得连续的激光条纹中心线。
上述采用灰度重心法和预测算法,提取激光条纹中心的方法,以图6为例说明,包括如下步骤:
步骤51、对形态学修整后的二值化图像,按y方向进行扫描,计算每行二值化图像中像素点的像素值与x坐标乘积的和svalue。
步骤52、计算每行二值化图像中像素点的像素值的和value。
步骤53、以每行二值化图像的svalue除以每行二值化图像的value,获得该行二值化图像的重心位置坐标xg。
步骤54、存在断点或者像素点列坐标x偏差较大时,通过位置预测算法,填补和修正当前像素点列坐标x。
步骤55、计算当前像素点的修正重心位置kg[j],计算公式如下:
kg[j]=kg[j-1]+kk[j]*k_gra[j]*(g[j]-kg[j-1])
k_gra[j]=ssumpixel[j]/maxvaluey
kk[j]=1/b[j]
b[j]=lam*b[j-1]+1
式中,kg[j-1]为上一次计算得到的修正重心位置,迭代获取;kk[j]为增益系数;k_gra[j]为灰度增益系数;g[j]为步骤53得到的当前像素点列坐标xg,kg[0]=g[0]=2δx;0≤j≤最大行坐标-1,以下j均按此进行取值;ssumpixel[j]为当前像素点所在行的像素点的灰度之和;maxvaluey为最大行灰度之和;lam为增益加权系数,此处取值0.001,b[0]=1。
当前像素点的修正重心位置,可以在存在特殊噪声形态(如覆盖焊缝特征点、无法从激光条纹上分割)时,依旧保证单像素激光条纹的连续性和准确性。
步骤56、激光条纹中心提取:对形态学修整后的二值化图像,每行只保留修正后重心位置kg[j]所对应的像素点,并赋予该像素点的像素值为255,其余像素点为0,从而使得每行图像只有一个像素值为255的像素点,简称为单像素激光条纹图像,如图8所示。
步骤6,特征点提取:采用数学特征值和机器学习算法相结合的方法,对步骤5提取的激光条纹中心线进行特征点提取,获取焊缝图像特征点。
上述采用数学特征值和机器学习算法相结合,获取焊缝图像特征点的方法,包括如下步骤:
步骤61、像素点集参数设置:设置前置像素点集起始点距离offset_begin1、前置像素点集终点距离offset_end1、后置像素点集起始点距离offset_begin2和后置像素点集终点距离offset_end2;offset_begin1和offset_begin2一般取值5-15,offset_end1和offset_end2一般取值20-30。
步骤62、获取前置像素点集和后置像素点集:沿步骤5提取的含有激光条纹中心线的图像的y方向进行扫描,选取前置像素点终点距离offset_end1作为y方向坐标扫描起始参考点,后置像素点集终点距离offset_end2作为y方向坐标扫描终止参考点。
步骤63、获取拟合直线:沿y方向,采用最小二乘法对各行像素点的前置像素点集和后置像素点集分别进行拟合,得到前置拟合直线和后置拟合直线。
步骤64、建立数学特征值与焊缝图像特征点关系模型,建立方法如下:
步骤64a、参数计算:沿步骤5提取的含有激光条纹中心线的图像的y方向进行扫描,分别对至少三个不同像素点进行前置点集直线拟合和后置点集直线拟合。
本实施例中,选择四个不同像素点,分别为y[ts]、y[ts-2]、y[ts+2]、y[ts+4]、y[ts-4],其中,y[ts]为当前像素点。
然后,分别计算像素点y[ts]、y[ts-2]、y[ts+2]、y[ts+4]、y[ts-4]与前置拟合直线与后置拟合直线的数学特征值,包括前置距离dist、后置距离af_dist、前置斜率k、后置斜率af_k和夹角angle;前置距离dist为像素点到前置点集拟合直线的距离,距离带方向;后置距离af_dist为像素点到后置点集拟合直线的距离,距离带方向;前置斜率k为前置点集拟合直线的斜率,后置斜率af_k为后置点集拟合直线的斜率;夹角angle为每行像素点到前置点集拟合直线和后置点集拟合直线的夹角。
步骤64b、建立数学特征值与焊缝图像特征点关系模型:根据步骤64a计算的参数,获取权重percent[i]:以前置距离dist、后置距离af_dist、前置斜率k、后置斜率af_k和夹角angle作为数学特征值,按照数学特征值对于特征识别的贡献分配权重percent[i],i=0、1、2、3和4。
percent[i]根据大量实验基础数据统计分析得出,并赋予初始数据。
percent[0]为前置距离dist权重、percent[1]为后置距离af_dist权重、percent[2]为前置斜率k权重、percent[3]为后置斜率af_k权重和percent[4]为夹角angle权重。
步骤65,首先根据内置的标准搭接焊缝图像获取前置距离calib_dist、后置距离calib_af_dist、前置斜率calib_k、后置斜率calib_af_k和夹角calib_angl。
前置距离calib_dist为标准搭接焊缝图像中当前像素点到前置点集拟合直线的距离,为矢量;后置距离calib_af_dist为标准搭接焊缝图像中当前像素点到后置点集拟合直线的距离,距离带方向;前置斜率calib_k为标准搭接焊缝图像中前置点集拟合直线的斜率,后置距离calib_af_dist为标准搭接焊缝图像中后置点集拟合直线的斜率;夹角calib_angl为标准搭接焊缝图像中每行像素点到前置点集拟合直线和后置点集拟合直线的夹角。
然后按照下式计算图像像素点得分值point[j]:
point[j]=percent[0]*abs(dist[j]-calib_dist)+percent[1]*abs(af_dist[j]-calib_af_dist)+percent[2]*abs(k[j]-calib_k)+percent[3]*abs(af_k[j]-calib_af_k)+percent[4]*abs(angle[j]-calib_angle)
将图像像素点得分值point[j]最低的点作为焊缝图像特征点。
上述迭代运算开始后,计算各数学特征值与标准值之间的方差,根据方差变化,动态调整percent值,不断的将得分值最低的点作为焊缝图像特征点,该方法能能有效避免可能存在的特殊形态噪点,稳定准确提取焊缝特征点,如图9所示。
以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。