摘要:视觉传感已经成为焊接智能化的关键技术之一。边缘检测在视觉技术的应用中占有重要地位。焊接环境存在各种各样的噪声污染,常用的边缘检测技术不能直接拿来用到焊接环境的识别中。本文分析了焊缝类型的特点,根据图像边缘对焊缝边缘进行了分类。同时根据焊接的特点分析了几种常用的边缘检测算法,指出了其在焊接智能化应用中的适用性。
关键词:焊接环境;图像处理;边缘检测;焊缝
前言
焊接生产自动化、智能化已经成为焊接技术发展的重要方向。在焊接智能化过程中,传感器的应用是关键技术之一,其中光学传感器跟踪精度高,动态响应快,信息丰富,是目前研究最多的传感器之一。图像传感具有非接触性的特点且受焊接电弧、电磁场干扰小,在焊接领域得到了广泛应用,为实现焊接操作自动化提供了有力手段。CCD等视觉传感器的小巧体积和低廉价格也使得其工业应用成为可能。目前视觉传感和图像处理技术已广泛应用到焊缝识别、熔池动态智能控制、焊缝跟踪、预测焊接组织、结构及性能等方面[1-3]。
要想利用视觉技术识别焊缝或提取熔池特征进行焊缝跟踪、熔透控制等,其中一个重要的步骤就是提取焊缝或者熔池的特征参数。如在一幅工件图像上,焊缝和形成焊缝的工件的灰度是不连续的,因此,在工件图像上焊缝表现为一条边缘。对于熔池图像,熔池和电弧的灰度差别也体现在图像边缘上,反应了熔池的形状特征。故边缘是一个重要的特征量。Poggio等[4]定义边缘检测为“主要是灰度变化的度量、检测和定位”。边缘与图像中物体的边界有关但不同。要利用光学传感和图像处理技术来进行焊接智能化,焊缝或熔池边缘的提取是一个必须的过程。
1959年,文献上最早提到边缘检测[5]。1965年L. G. Roberts最早开始系统研究边缘检测[6]。以后每年都会出现很多关于边缘检测的文章,重要的文章大都发表在IEEE Trans. On Pattern Analysis and Machine Intelligence,CVGIP: Image Processing,IEEE Trans. On Image Processing,Journal of the ACM等上。尽管已有成千上万的边缘检测方法,但是没有一种方法具有通用性和广泛的适应性,能直接拿来用在某种特定的应用上,因此探索已有算法的特点发现适合焊接特点的算法和发展新的算法来用于焊接过程具有一定的现实意义。
1.焊缝边缘类型特点分析
在图像处理理论中[7],图像边缘点可能对应不同的物理意义。根据对应的不同物理意义可以将边缘分为如下4类(如下图):
图 图像边缘类型
(1)1类边缘。如图1中标为1的边缘线,1类边缘为两个不同曲面的或平面的交线,该点处物体表面的法线方向不连续,在1类边缘线的两边,图像的灰度值有显著得变化。
(2)2类边缘。2类边缘线是由材料类型不同或颜色差异产生的。上图中由两种不同材料组成,由于它们对光的反射系数不同,使2边缘线的两侧灰度有显著变化。
(3)3类边缘。3类边缘线是物体与背景的分界线。如上图中圆柱上有两条3类边缘线,一般称为外轮廓线。在3类边缘点上,三维物体表面的法线方向是连续的,出现边缘点是由于从一定视角看物体时,3类边界点是物体与背景的交界处。由于物体与背景在光照条件与材料反射系数等方面差异很大,因此在3类边缘两侧,图像的灰度也有显著变化。图中标以3′的边缘,既是物体与背景的交界处,也是物体上表面法线的不连续处,但引起它两侧灰度跃变的原因是前者。
(4)4类边缘。4是阴影引起的边缘。由于物体表面某一部分被另一物体遮挡,使它得不到光源的照射,从而引起边缘点两侧灰度值有较大的差异。
对于焊前的接缝而言,无论是对接焊缝、带坡口的焊缝或者搭接的焊缝都表现为两个明显的边缘,对搭接而言可以看作是边缘的重叠。而对于焊接熔池表现为一个明显的边缘轮廓,对应于熔池形状。同时焊接环境较为复杂,比如焊件表面的不一致性(划痕、氧化色、标记、油污等等),又如弧光的干扰。对于像铝这样的强反射工件,还存在光的反射,焊枪等的倒影问题,使得识别异常困难。分析焊缝和熔池的这些特点,可以看出焊接环境的边缘包括上述的2,3,4类边缘。在选用和提出新的边缘提取算法时必须考虑这些因素的影响。
2.常用的边缘提取算法及其在焊接环境识别中的适用性
如前所述,边缘提取的方法粗略可以分为梯度检测法(如Roberts算子、Prewitt算子和Sobel算子等)、二阶导数零交叉点检测法、统计型方法、小波多尺度检测、模糊数学方法,还有数学形态学、神经网络、边缘流法等检测方法。这么多算法只有针对特定的应用领域时才能说哪种更好。1986年Canny[8]总结了以往理论和实践的成果,提出边缘检测Canny三准则:好的检测结果,好的定位还有对单一边缘低重复响应,并给出了他们的数学表达式。下面结合焊接环境的特点,分析现有的边缘提取算法对焊接环境识别的适用性。
2.1微分算子
2.1.1梯度算子
梯度对应于一阶导数,相应的梯度算子就对应于一阶导数算子。对于一个连续函数f(x,y),其在(x,y)处的梯度定义如下:
梯度是一个矢量,其幅值和相位分别为:
该算法需要对每一个象素位置进行计算,这样运算量很大,实际中常常采用小模板利用卷积运算近似,Gx和Gy各自使用一个模板。常用的模板是Robert算子,较为复杂的常用模板有Prewitt算子、Sobel算子、Kirsch算子。而这几种算子中其好坏取决于噪声的结构,如果在每个点噪声都是相同的,那么Prewitt算子是比较好的,如果靠近边缘的噪声是沿着边缘的2倍,那么Sobel算子是比较好的。
这样梯度算子考虑了幅度和方向两个参数。而在焊接环境的识别中,我们希望实时获得焊缝的信息,同时又希望能预测下面焊缝前进的方向。所以梯度算子给我们提供了一种可行的方法。但是梯度算子对噪声敏感,这对于复杂的焊接环境来说,会识别出很多伪边缘。因此单独采用梯度算子对焊缝边缘提取效果不理想。可以通过先对图像做平滑以改善结果,会把一些靠在一起的边缘平滑掉,而且会影响对边缘的定位。用这些模板卷积后得到的边缘可能是跨跃好几个点而不是一个点,因此应该同时考虑两个因素,边缘像素不只是要大于阀值,而且在梯度方向上梯度的大小要大于它的前者和它的后者,这个方法称之为非极值抑制。
2.1.2 Laplacian算子
Laplacian算子是一种二阶微分算子,其在数字图像中的一般表示形式是:
其中 s 是以 f(m,n)为中心的邻点的集合,可是4或8邻点。可直接以作为边缘象素灰度,也可把的象素作为边缘。
梯度算子和 Laplacian 算子对噪声都比较敏感。对此可以在做边缘提取前先用邻域平均法做平滑处理,同时可以用高斯形二维低通滤波器对图像进行滤波,然后再作Laplacian边缘提取。这就是常用的Laplacian-Gauss算子。 在焊接工件上有很多噪声点,而微分运算对那些孤立的噪声点有“扩散”作用,尤其是Laplacian算子,不但扩散而且强度显著增大。所以在微分算子检测边缘之前最好清除噪声。而对于对接的焊缝,当间隙较小时其边缘特征显示为细直线,微分运算后会变宽。由于梯度算子可以检测图像边缘的方向,更适合于焊接环境的识别。 2.2 小波多尺度边缘检测方法[9][10]
小波变换可以通俗的理解为:将原始的信号和小波函数的左端进行比较,求出两个函数的相似性系数,然后将小波函数右移一个小波函数的距离,进行比较和计算,直至完成整个信号的运算;这样得到一个尺度下的小波系数。将小波函数膨胀,重复上述过程,得到一系列尺度下的小波系数。图像中的突变点是分析图像时的关键特征,通常就是感兴趣的边缘特征。边缘检测就是从小波系数的变化梯度方向上找到阶跃的突变点。为了检测到图像中大目标结构的边缘和细节特征,研究者提出了多尺度边缘检测的概念,即在大尺度上检测出目标的大边缘,在小尺度上检测到目标细节。相关理论可参见文献[9][10]。该方法是当前图像