基于线结构光视觉传感器的焊缝特征提取

2020-06-10 07:40郭海冰
电子技术与软件工程 2020年4期
关键词:毛刺细化条纹

郭海冰

(1.沈阳新松机器人自动化股份有限公司工业机器人BG 辽宁省沈阳市 110168)

(2.天津新松机器人自动化有限公司研发中心 天津市 300100)

自动化是未来发展的必然趋势,利用机器代替人工进行自动操作,不仅可以显著提高生产效率,而且可以有效改善生产质量。而快速有效的焊缝跟踪是实现焊接自动化的关键步骤[1]。目前,焊缝跟踪的传感器主要有光学式、机械式、电弧式和电磁式等[2]。其中,基于结构光的视觉传感器具有主动性、非接触、精度高、抗电磁干扰能力强和能获取物体三维信息等优点,被广泛应用在焊缝跟踪领域[3]。

焊缝焊接过程中,尽管已经在硬件方面采取了一系列措施,如在视觉传感器上加装挡板来阻隔飞溅、烟尘,在视觉传感器前端加装滤光片以滤除弧光等[4],飞溅、弧光、烟尘等噪声还会对焊缝图像产生很大的干扰。图1为结构光视觉传感器采集的原始焊缝图像。因此,滤除这些噪声干扰以获得高质量的焊缝图像,并精确提取合格的焊缝特征是实现焊缝跟踪的关键所在。

传统的图像滤波算法如高斯滤波、中值滤波等很难提取出焊缝图像中的干扰信息。刘习文[5]、何银水[6]等人采用频域滤波方法对图像做了一些预处理工作,效果不错,但由于耗时过长,无法满足机器人运动中实时性的要求。王平[7]采用连续的多帧图像进行运算,能够过滤掉图像中不同区域的干扰,但无法过滤掉图像中相同区域的干扰信息,滤波后的图像仍然有很多噪声点。

本文针对线结构光焊缝图像的特点,采用动态ROI提取、LOG滤波、均值滤波、Otsu自适应阈值二值化图像、去孤立块、角度滤波等图像预处理方法,有效地去除了飞溅、弧光、烟尘等干扰,然后利用图像细化、毛刺去除以及随机采样一致性算法与最小二乘法相关联的方式精确提取到了焊缝特征点。

1 焊缝图像预处理

1.1 动态ROI提取

动态ROI提取是从每幅原始图像中划分出目标所在区域,从而去除多余的无用信息,这样既可以提高处理速度,还可以消除ROI区域之外的干扰信息,提高精度。

焊缝跟踪过程中由于焊缝特征的一致性,前后相邻两帧图像基本类似,使用上一帧图像获取的焊缝特征信息,可以很容易获取当前帧图像的ROI区域。如图2所示,设前一帧图像处理后的焊缝三个特征点坐标FP1(u1,v1),FP2(u2,v2),FP3(u3,v3),通过这3个坐标点可以规划出绕着激光线的一个不规则区域。假设ROI边缘到激光中心线的间距为2n,则ROI角点P1到P6的坐标为:

图1:原始焊缝图像

图2:焊缝图像动态ROI

图3:LOG滤波后的图像

1.2 LOG滤波

焊接过程中,激光器与目标之间的距离变化很小,因此焊缝图像中激光条纹的宽度基本一致。一维LOG滤波器非常适用于处理这种宽度几乎不变的焊缝图像,其对列方向上尺寸远远大于或小于激光条纹宽度的干扰噪声具有较强的滤除效果。

图4:均值滤波后的图像

图5:二值化后的图像

图6:去孤立块及角度滤波后的图像

图7:细化后的图像

一维LOG滤波器的函数形式为:

将其进行离散处理后为:

其中,w为激光条纹宽度。

LOG滤波后的焊缝图像如图3所示。激光条纹影响大不,而噪声基本上都变成了离散的、孤立的小块干扰。

1.3 均值滤波

利用均值滤波对焊缝图像进行平滑处理,模糊灰度急剧变化的边缘,同时抑制噪声。采用5×5窗口的均值滤波后的图像如图4所示。

1.4 图像二值化

由于焊接环境的不稳定性与不可预测性,所以对跟踪过程中采集的每一张焊缝图像进行分割处理时都要进行具体分析,确定最佳的分割阈值。本文采用Otsu自适应阈值将焊缝图像从灰度图像转化为二值图像,处理速度快,且目标和背景分割清晰可靠,如图5所示。

1.5 去孤立块及角度滤波

二值图像中存在一些小的孤立块,其面积远远小于目标激光条纹的面积,故采用八邻域标记法将面积小于阈值的孤立块去掉。

此外,目标激光条纹可以划分为两个子区,每个子区内激光条纹点具有固定的角度范围(根据实际采集到的图像经验确定),因此滤掉不符合要求的其他区域。

经过去孤立块及角度滤波最后得到目标激光条纹如图6所示。

2 焊缝特征点提取

2.1 图像细化

激光条纹具有一定的宽度,通过对焊缝图像进行细化处理,可以降低提取焊缝特征点的难度。中轴变换法提取的激光条纹中心不易断裂,且算法简单、处理速度快。图7所示为焊缝图像的细化处理结果。

2.2 去毛刺

对于大部分焊缝图像,图像预处理阶段可以完全将弧光、飞溅等干扰去除,细化后的激光条纹不存在毛刺。但对于少数干扰特别强烈的焊缝图像,尤其是多个飞溅重叠的情况,预处理后无法完全滤除飞溅干扰,仍可能有部分残余,如图7所示,这类图像细化后,激光条纹上会产生毛刺,毛刺的存在容易使后续计算得到的特征点存在误差,因此有必要在特征点提取之前先对图像进行毛刺去除处理,从而提高焊缝特征提取的精度。

细化后焊缝图像的像素点灰度值只有两种情况,0或者1,0表示背景区域,1表示目标区域。对于细化图像中骨架上的任意点P,其8邻域表示如图8所示,交叉数为:

其中,Pi为像素点的灰度值。

点P的8邻域纹线点数为该点8邻域内像素点灰度值之和:

根据点P的8邻域交叉数和纹线点数可以将骨架上的点划分为以下几种:

(1)端点:S(P)=1或S(P)=2or3,C(P)=1;

(2)连续点:S(P)=2或S(P)≥3,C(P)=2;

(3)分支点:S(P)≥3,C(P)≥3。

从端点沿激光线搜索,当其8邻域中有分支点时停止搜索,将搜索路径中的纹线点去除,并将该分支点的分支数减1,此时分支点变为连续点。继续搜索直至激光线不存在分支点,停止搜索。由此可以去除所有的毛刺。去毛刺处理的结果如图9所示。

2.3 焊缝特征点计算

计算图像行方向像素点灰度值之和,从下到上找出图像第一个灰度值之和不为0的行,并从左到右搜索该行中第一个不为0的像素点,记录该点坐标。找出激光条纹最左、最右像素点坐标。根据以上信息,分别对激光条纹左斜线、右斜线开小窗,分割结果如图10所示。

采用随机采样一致性算法与最小二乘法相结合的方式对开小窗后的激光条纹数据直线拟合。直线方程表示为:

矩阵形式为:

其中,(x1,y1)、(x2,y2)...(xn,yn)为随机采样一致性算法筛选出的有效数据。

拟合直线求交点,即可得到焊缝特征点,如图11所示。

3 结论

对焊缝图像利用动态ROI提取、LOG滤波、均值滤波以及Otsu自适应阈值二值化图像、去孤立块、角度滤波等图像预处理方法,有效地去除了飞溅、弧光、烟尘等干扰,将激光条纹从噪声中分离出来,得到清晰的焊缝图像,然后再对其进行图像细化、毛刺去除,并通过随机采样一致性算法与最小二乘法相关联的方式可以精确地提取到焊缝特征点,具有很强的抗干扰能力。

使用主频2.4GHz、内存8G的计算机上,处理大小为1280× 1024的图像,平均耗时35ms,满足焊缝跟踪的实时性要求。

图8:点P的8邻域

图9:去毛刺后的图像

图10:激光条纹分割结果

图11:焊缝特征点

猜你喜欢
毛刺细化条纹
一种铸铁钻孔新型去毛刺刀具的应用
一种筒类零件孔口去毛刺工具
谁是穷横条纹衣服的人
别急!丢了条纹的斑马(上)
别急!丢了条纹的斑马(下)
“细化”市场,赚取百万财富
可抑制毛刺的钻头结构
“住宅全装修”政策亟需细化完善
新型铜合金化学去毛刺剂的研制
基于数据分析的大气腐蚀等级细化研究