APP下载

基于图像处理的爬壁机器人焊缝识别与跟踪

2021-04-01杨玥旻闫维新

机械与电子 2021年3期
关键词:爬壁壁面算子

杨玥旻,闫维新

(上海交通大学机械与动力工程学院,上海 200240)

0 引言

随着工业自动化与智能化的不断发展,爬壁机器人由于其高度的灵活性与机动性,引起了研究者的广泛关注。爬壁机器人根据其吸附方式的不同,主要分为真空吸附式、磁吸附式和静电吸附式;根据其移动机构的不同,可分为轮式、履带式、足式和轨道式等[1]。国内爬壁机器人的研究大多偏重于应用型,主要用于油罐、管道和船体壁面等的清洗除锈及焊缝检测[2]。为实现爬壁机器人的焊缝跟踪,引导其沿焊缝行进,需要获取更准确的焊缝位置信息。非接触的视觉传感器,被广泛应用于焊缝跟踪过程中。针对不同的应用环境,研究者分别讨论了基于单目视觉的方法、基于双目视觉的方法,以及基于激光机构光与视觉传感器相结合的方法,获取焊缝的二维或者三维立体信息[3-5]。

对于采集到的图像信息,一般有2种处理方法:空间域和频域。空间域方法是把图像看作平面上各个像素组成的集合,直接对像素点进行处理;频域方法需先对图像进行正交变换后,再处理变换域的系数矩阵[6]。由于数字图像信息量大、处理器运算速度有限,而频域方法计算过程不直观、计算量大,不满足实时性要求,更常用的是空间域方法,如图像模板匹配、模式识别等。

本文的爬壁机器人,应用于三峡水电站发电机组压力钢管的焊缝检测,管道直径不小于12.5 m,机器人需要高空作业。考虑到吸附力与机器人自重限制,希望视觉系统尽可能简单;考虑到焊缝高度相对较小,三维特征不明显,希望通过二维信息获取焊缝位置;考虑到图像信息量及处理速度限制,希望选用效率较高的算法。基于以上原因,选用基于单目视觉的图像采集方式,以及基于灰度形态学的图像处理方法,搭建了三峡爬壁机器人实验平台,并基于机器人传回的图像研究了焊缝识别与位置提取算法,并对算法的准确率和实时性进行了分析。

1 爬壁机器人及视觉系统

爬壁机器人采用模块化设计方法,电机驱动4组履带轮作为移动模块,能适应曲率半径不同的壁面;使用永磁式吸附结构,确保运动过程中吸附可靠性;使用里程计+位姿传感器,解决压力钢管内大范围的定位问题。采用机器视觉方法,实现焊缝循迹,图像采集使用海康网络PTZ摄像机。相机置于爬壁机器人前端云台,距离壁面高度可调节,行进过程中垂直于壁面俯拍焊缝图像。考虑到管道内部光照强度较低,在相机上方增加白色条形光辅助照明,提高图像采集质量。机器人上还安装有六自由度关节式机械臂、焊枪和喷涂装置等,可以实现移动中的焊缝维护。实验系统构成如图1所示,设计质量约200 kg。

图1 爬壁机器人及图像处理系统

云台相机采集图像,传回上位PC控制端,在Python3.0软件平台上,进行图像实时处理,识别焊缝并提取焊缝位置。位置信息反馈到移动平台控制器,引导爬壁机器人沿焊缝前进。

2 焊缝识别及位置检测

CCD视觉传感器获得的原始图像如图2所示(图像左侧方框中为需要识别的焊缝大致所在区域)。焊缝图像信息量大,有效区域小,信噪比高。为此,将图像处理流程设计为预处理和焊缝提取2个步骤,如图3所示。预处理流程目的在于压缩图像信息,弱化图像噪声,凸显焊缝特征;焊缝提取步骤通过边缘检测等方法,表征焊缝具体位置,并获取坐标。

图2 视觉传感器获取的焊缝原始图像

图3 图像信息处理流程

2.1 焊缝图像预处理

2.1.1 灰度化处理

原图为1 024×1 280的RGB 三色图,分辨率和画面质量较高。为减少图像信息,提高运算速度,将RGB图像转换为灰度图像。转换方式采用根据人眼灰度视觉效果得到的心理学灰度公式:

Zxy=0.11Rxy+0.59Gxy+0.3Bxy

(1)

Zxy为转换后的灰度图像在(x,y)点处的灰度值;Rxy、Gxy、Bxy分别为原彩色图像中红、绿、蓝分量在(x,y)点处的值。

2.1.2 自适应中值滤波去噪

在图像采集、传输过程中存在许多干扰因素,如管道壁面不完全平整,光照条件不一致,焊缝周围存在飞溅物、车轮印等。这些噪声严重影响到焊缝特征提取,必须予以滤除。传统的滤波方法,如高通滤波、低通滤波和中值滤波等,往往在去噪的同时模糊了图像的细节特征,不利于后续处理。为了有效消除噪声的同时,保留焊缝细节,本文采用自适应中值滤波方法。

自适应中值滤波在传统的中值滤波基础上,实时更正滤波窗尺寸,提高其适用性。基本工作过程分2步完成[7]:

a.A1=Zmed-Zmin-1;A2=Zmed-Zmax+1。 若A1>0且A2<0,转b,否则放大窗口Sxy;若Sxy≤Smax,重复a,否则输出Zxy。

b.若B1=Zxy-Zmin-1;B2=Zxy-Zmax+1。若B1>0且B2<0,输出Zxy,否则输出Zmed。

其中,Sxy为像素点(x,y)的领域;Zxy为像素点(x,y)的灰度值;Zmax、Zmed、Zmin分别为领域Sxy中的灰度最大值、中值和最小值;Smax表为自适应滤波窗口最大尺寸。

步骤a的作用是判断滤波器输出Zmed是否为噪声点,由于噪声点灰度值为极大或极小,当Zmin

与一般的自适应滤波方法不同,将判断条件由A1=Zmed-Zmin改为A1=Zmed-Zmin-1,增加了常数项,是考虑到噪声幅度过高或噪声面积过大时,可能出现Zmed和Zmax或Zmin相等的情况,避免将噪声点误判为有用信号输出。经测试,该方法有效弱化了焊缝边缘的噪声。

2.1.3 二值化和细化处理

在采集的管道焊缝图像中,焊缝处的灰度值低于焊缝附近背景灰度,可以通过选择合适的阈值,将焊缝与背景区分开。先对图像进行直方图均衡化,再依据直方图中灰度值的分布,按最大类间方差法(OTSU算法)求得最佳分割阈值。

经阈值分割处理的二值化图像,突出了焊缝边缘信息,但周围还存在众多离散分布的噪点。对图像进行1次开运算,即先膨胀后腐蚀,消除离散点,平滑焊缝边界。由于焊缝余高不均匀,二值化后的焊缝边界可能出现断裂,为此对图像进行1次闭运算,即先腐蚀后膨胀,尽可能消除断点影响。焊缝图像预处理结果如图4所示。

图4 预处理后的焊缝图像(局部)

2.2 焊缝位置提取

经预处理得到的二值化图像,焊缝特征更为突出。为了从图像中提取焊缝,确定其位置,首先通过边缘检测得到其轮廓,再进一步确定中心线坐标。

2.2.1 边缘检测

焊缝边缘,即灰度值Zxy在其周围发生阶跃变化的像素点(x,y)的集合,也即灰度值函数z(x,y)的梯度极具变化的位置。由于梯度计算涉及偏微分较为复杂,常用离散逼近的算子代替。常见的有一阶的Sobel算子、Prewitt算子,二阶的Gauss-Laplace算子、LOG算子,以及特殊的非微分Canny算子等。其中,Canny算子抗干扰性最强,能检测到弱边缘。

在本文中,由于焊缝边缘与周围背景灰度值差别小,信噪比高,目标边缘特征较弱。故采用检测精度最高的Canny算法,先用高斯滤波器平滑图像,再通过双阈值法(double-threshold)检测,确定真实和潜在的边缘。该方法能在检测到弱边缘的同时,抑制不与强边缘相连接的孤立部分[8]。Canny算子边缘检测结果如图5所示,焊缝边缘连续无断点,但周围存在少量离散的噪点。

图5 Canny算子检测的焊缝边缘图像

2.2.2 中心线坐标提取

检测到焊缝边缘之后,为确定焊缝位置,需用直线拟合焊缝中心。经Canny算子检测的焊缝图像中,边缘信息复杂、噪点多,难以用传统的最小二乘等方法拟合直线。考虑到工作中的实时性要求,本文采用计算量较小的Hough变换方法。

Hough变换是将直角坐标系中寻找共线点的问题,转换为极坐标中寻找共点曲线的问题。直角坐标中的点(x,y),在极坐标中表示为一条正弦曲线ρ=xcosθ+ysinθ,因此直角坐标系中同一直线上的点,对应到极坐标系中交于点(ρ0,θ0)的一簇曲线。将焊缝边缘图像中每一点映射到极坐标系,统计通过每一点的正弦曲线数,计数值最大的点(ρ0,θ0),即对应与焊缝共点数最多的一条直线。该方法能有效抑制离散噪点的影响。

本文实验系统中相机置于爬壁机器人前端云台上,距离壁面焊缝远,拍摄视角宽,视野中焊缝宽度小。Hough变换得到的直线近似为焊缝中心线,其在图像中的坐标近似为焊缝位置。

3 结果分析

手动控制爬壁机器人在管道壁面沿焊缝爬行,采集1组连续的焊缝图像,进行本文所述的图像处理和焊缝提取。机器人爬行速度约为20 cm/s,图像采集速率12 帧/s。爬行过程中不同位置拍摄的图像,壁面情况及焊缝特征有所不同,从中随机选取4组不同位置的焊缝图像,处理结果如图6所示。

图6 4组图像焊缝位置提取结果

4组图像(a、b、c、d)每组2张,分别为机器人行进过程中拍摄的连续2帧图像,即管道壁面上相近位置的焊缝图像。图6中,θ表示焊缝拟合直线相对垂直方向的偏角,以逆时针方向为正方向;x0表示焊缝相对位置,以图像左下角为原点,水平向右为x轴正方向。提取焊缝位置如表1所示。

表1 焊缝位置提取结果

表1中,dθ、dx0分别表示每组2幅图像焊缝角度、横向位置的偏移量。从测试结果来看,提取的直线可以比较准确地表征焊缝位置。a、b组壁面平整,信噪比相对较低,可以提取到完整的焊缝;c、d组壁面存在明显噪声,对提取精度有一定影响。共测试图像7 474幅,其中5 305幅可得到较为准确的焊缝位置。综合测试结果,焊缝提取成功率达到70%以上,单幅图像处理时间为200 ms(处理器为Intel(R)Core(TM)i5-8250U CPU@1.60 GHz 1.80 GHz,系统为Windows 10 64位,Python 3.0)。处理时间主要体现在自适应滤波算法上,实际工作中爬壁机器人移动速度不超过20 cm/s,该算法处理速度5~6帧/s,能够满足实时性要求。

同组连续2张图像提取的焊缝信息相近,其偏差反映了爬壁机器人在当前位置的行进方向和横向位移。起始位置机器人行进方向平行于焊缝,偏角θ为0。若希望机器人保持沿焊缝移动,则需控制偏角在一定范围内。x0反映机器人相对初始位置的水平偏移量,将提取的焊缝位置信息反馈到运动控制器,辅助爬壁机器人的定向,引导其沿焊缝移动。

4 结束语

基于爬壁机器人移动平台和视觉传感器构成的焊缝图像采集系统,本文设计了一种基于CCD图像处理的焊缝识别和焊缝位置提取算法。

a.采用了焊后焊缝图像处理方法,能过滤焊接和图像采集过程中的噪声和干扰,从高信噪比的图像中准确提取焊缝位置,有效解决爬壁机器人移动过程中的焊缝信息采集。

b.提出了一种基于单目视觉和图像处理的爬壁机器人辅助定向方案,引导机器人沿焊缝方向行进,处理速度满足机器人移动过程中的实时性要求。

猜你喜欢

爬壁壁面算子
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
二维有限长度柔性壁面上T-S波演化的数值研究
爬壁机器人系统的Noether 对称性和守恒量1)
爬壁机器人系统的广义Lagrange方程
拟微分算子在Hp(ω)上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一类Markov模算子半群与相应的算子值Dirichlet型刻画
壁面温度对微型内燃机燃烧特性的影响
永磁式油罐爬壁机器人研制
颗粒—壁面碰撞建模与数据处理