邱飞达,熊新炎,董 静
(哈尔滨商业大学 轻工学院, 哈尔滨 150028)
随着图像处理与计算机技术的发展,基于视觉传感的焊缝提取技术已被引入焊接生产领域.近年来,基于视觉的检测技术因其检测精度高、测量稳定性强,且数据易于保存统计等优点而在自动引导焊接中广为应用[1].
由于一些视觉传感器无法识别带有一定高度差工件拼接焊缝且无法适应大尺寸工件工具遮挡等复杂因素所带来的影响,导致其焊缝的识别过程受到干扰,造成视觉系统识别错误以及缺焊、错焊等现象,且识别的精度不高.为满足焊接的精度与自动化焊接的控制要求,需要提取工件上焊缝位置的三维位置信息来确定焊接起止点并确定焊枪行走路径,能够稳定提取焊缝位置精确的三维坐标信息对大尺寸工件的焊接的自动化有着重要意义.
基于大尺寸工件中拼接焊缝提取中存在的以上问题,本文提出了一种基于面结构光的工件拼接焊缝三维位置提取方法.机器人手臂带动视觉传感器在工件正上方沿预先识别的焊缝方向移动,在识别位置进行工件扫描,基于面结构光进行点云的三维重建,得到该位置相对应的点云图并转化为该位置工件表面的深度图像.基于深度图像进行焊缝识别,通过对二维深度图的图像处理,拟合出每组焊缝起止点位置并由二维与三维的对应关系转化为三维坐标,机器人通过手眼关系传递进行焊接.
基于结构光的三维点云重建技术是一种非接触的主动式视觉测量技术,具有精度高、速度快、单次测量点云数据稠密等优点[2].测量过程中,投影仪依次在工件表面投影出多种频率且具有一定相位差的正弦结构光,并由摄像机采集得到工件表面的变形条纹图像,对该条纹图像进行相位解算并根据系统标定的参数结果即可重建出物体表面在相机坐标系下的三维点云数据[3-4].
本文采用四步相移法进行单频率结构光下的相位主值的求解,并采用时间相位解包裹的多频外差法[5]进行解相位.根据文献[6]可知,由几何关系推导,可知二维像素坐标系下某一点的绝对相位θ与其在相机坐标系中的三维坐标(Xc,Yc,Zc)存在以下关系:
(1)
其中:a1~a8为待标定参量.在相机标定过程中拾取若干组标定点作为特征点,在标定过程中得到其像素坐标(mi,ni)及其相机坐标(Xci,Yci,Zci),根据相位主值的求解得到像素点处的绝对相位θi,在标定中选取多组(Xci,Yci,Zci)与θi的对应关系即可拟合出一组合理的系统标定参量.
根据相机的成像原理,某一点图像坐标系下的二维坐标(m,n)和相机坐标系下的三维坐标(Xc,Yc,Zc)满足以下关系:
(2)
其中:c1~c5为相机内参,由相机的标定过程获得.联立式(1)、(2)可以解得每个像素点所对应在相机坐标系下的三维坐标,逐像素点依次进行三维重建.其中:某二维像素点(m,n)和其相机坐标系下的三维坐标(Xc,Yc,Zc),存在如下关系:
(3)
深度图像也被称为距离影像,与普通的RGB图像相比,它可以直接反映物体可见表面的几何形状,其像素值可以反映场景中物体到相机的距离,可以有效区分焊缝与工件背景以此克服复杂背景因素的影响并保证焊缝轮廓的完整性[7],并能直接地体现出物体在相机坐标系下的三坐标.深度图像的获取大体分为两种形式:一种是主动深度传感;另一种是被动测距传感.本文选择第一种方式进行图像获取,由式(3)中的二维与三维对应关系,使二维像素点的像素与该点重建所得的高度值Zc相匹配,并将其标准化.扫描单幅工件所得的点云图如图1所示,对其进行深度图的转化,所得到的的深度图像如图2所示.
图1 工件表面点云图Figure 1 Point cloud diagram of workpiece surface
图2 工件表面深度图Figure 2 Workpiece surface depth map
由深度图可以直观看出被测物的高度信息,以此为依据进行干扰物的过滤,作为第一步滤波.高度方向的滤波可以较好的过滤掉焊缝上的遮挡以及大部分噪声信号.在图2中可以可以看出图中依然存在噪声信息,通过图像处理技术可以对深度图进行预处理、滤波等操作,即能够获得焊缝起止点的三维信息.
2.1.1 图像预处理
图像的预处理能够消除图像中非必要信息,得到真实有用的信息,改善图像质量,有利于后期计算机的图像处理与特征检测.
由于深度图片中含有的冗余信息较多,首先在图片中拼接焊缝周围设置ROI区域,忽略距离焊缝较远位置的特征信息,仅保留所需要的焊缝附近的边缘特征,ROI尺寸选取为300×1 024像素处于图像中心时ROI结果如图3(A)所示.
由于在扫描过程中很容易因为工件表面剖光、曝光调节不当等原因造成拍摄工件图片部分模糊不清,噪声在图像常表现为一引起较强视觉效果的孤立像素点或像素块,在深度图像中造成除焊缝边缘以外的边缘特征信息,给图像的后续边缘提取造成困难,对此本文使用高斯滤波对得到的深度图像进行去噪处理.采用离散化的高斯函数产生一组归一化的高斯核,对图像进行线性平滑滤波用以消除高斯噪声.相对于均值滤波与中值滤波,高斯滤波对图像边缘信息保留的比较细致,这有利于以后对图像的处理[8].高斯滤波的结果如图3(B)所示.
由图3(B)可以看到高斯滤波后有很多小干扰区域,干扰后续的图像处理.为填充深度图像上的黑点,用闭操作对图片进行进一步处理.闭操作会平滑轮廓的一部分,并弥合较窄的间断,将高斯滤波的结果进行闭操作后的图像如图3(C)所示,可以看出,进行闭操作处理后的ROI图像已经过滤掉了大部分冗余噪声,可以进行边缘采集.
图3 图像预处理Figure 3 Image preprocessing
2.1.2 Canny边缘提取
为得到焊缝位置,首先要得到其两侧边缘点的像素位置信息.物体边缘是以图像局部特征不连续的形式出现的,即是指图像局部亮度变化最显著的部分,具有方向和幅度两个特性.图像边缘提取算法通过边缘检测算子进行,与其他算子相比较,Canny 算子在各方面性能优越,所以一直以来都被作为一种标准的边缘算子[9-10].Canny边缘提取的主要过程有:
1)使用一阶偏导数计算图像各点的梯度的幅值和方向;
2)对梯度进行非极大性抑制,以消除边缘检测带来的杂散响应;
3)应用双阈值过滤掉无用的边缘信息.
对图像预处理后的深度图像进行Canny边缘检测,进行Canny变换之后的图像由于去除了冗余的边缘以及噪声信息,焊缝特征已较为明显,如图4所示.
2.2.1 三维拟合点提取与优化
通过图4可以得到焊缝边缘的信息,但仍需要通过进一步处理才能得到所需的焊缝三维位置信息.由于Canny边缘检测得到的图像只有0与255两个灰度值[11-12].本文采取的拼接焊缝提取算法如下:
图4 Canny边缘采集Figure 4 Canny edge acquisition
从第一行开始,在程序中分别对每一行从左到右依次进行像素扫描,滤除掉每行的边缘数量不为2的情况并分别记录下每行第一次遇到灰度值为 255 的像素的二维坐标和第二次遇到灰度值为 255 的像素的二维坐标,分别作为拼接焊缝左右边缘像素坐标,并设定焊缝的像素宽度阈值进行过滤.通过式(3),将每行的得到的左右边缘像素坐标(mi,ni),(mj,nj)分别转换至三维坐标(Xci,Yci,Zci)、(Xcj,Ycj,Zcj),并以两个点的中点(x,y,z)初步作为拼接焊缝线在该行的拟合点.
由于理想的拟合点近似分布在一条直线上,分别计算所有拟合点的x,y,z轴坐标平均值与每个拟合点的x,y,z轴坐标值.若两值偏差大于阈值,则判定该点为偏离点应当舍去,以此类推,分别以x,y,z三轴为基准进行迭代直至满足阈值条件.
2.2.2 三维直线方程的建立
由2.2.1得到一系列拟合的三维点,将这些点通过最小二乘法拟合成一条三维直线,作为该视场下提取出的焊缝三维信息.已知三维直线的点向式方程:
(4)
根据文献[13],对该方程进行等价转换,得:
(5)
其中:k1=m/p,b1=x0-(m*z0)/p,k2=n/p,b2=y0-(n*z0)/p.经过计算得到,拟合直线参数分别为:
(6)
通过拟合参数建立三维直线方程,并根据焊接工艺要求确定相机坐标系下的焊接路径,即可通过手眼关系生成焊接起止点的用户坐标并传递给机器人进行焊接.
为验证本文提出所三维焊缝识别系统的实用性,本文在车间环境下进行了实验与分析.本实验所选相机的分辨率为1 280×1 024像素,数字光栅投影仪的分辨率为912×1 140像素.传感器的工作距离为400 mm,系统测量视场的深度范围为300~500 mm,单幅扫描的范围为300 mm×250 mm.实验采用FANUC M-20iA型号6轴机器人,将视觉传感器固连在焊接机器手末端.
为评定系统中三维焊缝重建过程中由于标定误差以及相机畸变等问题带来的三维精度误差,本文参考三维点云重建中二维与三维坐标的对应关系,使用阵列为11×9,圆心距为25.00 mm,精度为0.01 mm的黑底白圆标靶对点云重建的结果进行评测[14-15],实验步骤依次为:
1)拍摄黑底白圆标靶的图像,利用图像处理技术圆检测找出所有圆的位置并提取出所有圆心的二维图像坐标.
2)仅对该标靶上提取出的圆心点进行三维重建,提取所有标定圆圆心位置所对应的三维坐标.
3)计算每两个相邻标定圆圆心的欧式距离,并与标准圆心距进行比较即可得到该组结果的测量误差.
在某一组实验中,在黑底白圆标靶二维图像中识别出圆心位置及其重建出其三维坐标如图5所示,实际距离与测量距离的部分误差结果如表1所示.
图5 圆心位置Figure 5 Center position
表1 测量结果与实际值的误差Table 1 Error between measurement result and actual value
通过多组实验验证,在本文选用的传感器工作距离与视场条件下,三维焊缝识别系统中重建算法平均误差在0.3 mm左右,最大误差可以控制在0.75 mm以内.
为观察焊缝位置并对焊缝提取的结果进行分析,在车间环境下采用该视觉系统识别一条间距为2~5 mm、边缘高度差为5~7 mm的拼接焊缝并对该处工件进行三维重建,实验示意如图6所示.
图6 实验示意图Figure 6 Schematic diagram of experiment
根据本文提取算法对该拼接焊缝进行提取,首先通过三维重建完成深度图的建立,其次进行图片的处理与焊缝拟合.得到每列上焊缝边缘以及拟合焊缝点在相机坐标系下的三维坐标,经过对拟合点进行偏离值过滤, 得到n组三维坐标值如表2. 将所得的三维点集通过最小二乘法进行拟合,得到的点向式空间直线方程式(7).
表2 拟合边缘与焊缝点三维位置Table 2 3D position of fitting edge and weld point
(7)
最终在所得的三维点云图中对拟合的三维焊缝结果进行可视化,如图7所示.由提取的焊缝与该处点云的可视化结果可以看出,文中所提出的基于面结构光的工件拼接焊缝三维位置提取方法较好的拟合出了拼接焊缝在相机坐标系下的三维位置,可以根据具体工艺要求确定焊接长度并通过手眼关系转化为用户坐标进行焊接.
图7 焊缝提取结果可视化Figure 7 Visualization of weld extraction results
本文提出了基于面结构光的工件拼接焊缝三维位置提取方法,通过相机与面结构光投影仪所组成的视觉传感器系统在工件上方对其焊缝位置进行扫描得到深度图,并基于深度图进行焊缝识别,拟合出焊缝线与其起止点位置,为自动化焊接提供数据.通过大量实验表明,本文所提出的提取算法速度较快、精度较高、稳定性较强、自动化程度较高,并可以通过返回的点云结果对得到的焊缝准确性进行判断,重建阶段平均误差约为0.3 mm.能够较好地返回焊缝起止点的三维位置并进行焊接,满足一定精度的焊接要求.本文方法只针对拼接焊缝,对于其他种类以及带有一定坡口的焊缝需要进一步研究.且对图像质量的要求较高,对环境光要求较为严格.