查笑春 高炜欣 汤 楠 程世东
(1.西安石油大学电子工程学院 陕西西安) (2.长庆油田公司油气工艺研究院 陕西西安)
基于X射线图像的长输管道焊缝快速边缘检测方法研究
查笑春1高炜欣1汤 楠1程世东2
(1.西安石油大学电子工程学院 陕西西安) (2.长庆油田公司油气工艺研究院 陕西西安)
针对X射线实时成像系统采集到的长输管道焊缝图像复杂背景的特点,对中值滤波和边缘检测技术在灰度图像分割中的应用进行了研究,提出了一种基于中值滤波、Sobel算子和最小二乘法相结合的边缘检测算法。该算法比传统的边缘检测能更有效地抑制噪声和提高边缘检测精度,具有更好的边缘提取效果和边缘连续性。实验结果证明,该算法对含噪低对比度图像有更好的检测效果。
长输管道;阈值;最小二乘法
管道投入运行的早期和后期是事故的高发期,所以对管道的检测主要是如下两个方面:①在管道铺设过程中的检测,主要是对焊缝质量的检测;②在管道使用过程中的检测,主要是对裂纹或泄漏的检测。前者是现在应用的热点,后者是将来发展的重点,也是难点。石油天然气长输钢质管道对接焊缝主要采用X射线数字化实时成像检测技术。
X射线实时成像检测技术采集到的图像,由于焊缝缺陷在底片上一般呈现模糊轮廓的条状或块状图象,缺陷检测的实质可归结为边缘检测[2]。
图像边缘检测是图像分割、目标区域识别、区域形状提取等图像分析领域的基础。图像理解和分析的第一步往往就是边缘检测,其结果的正确性和可靠性将直接影响到机器视觉系统对客观世界的理解。边缘检测目前已成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位[2]。
图像的边缘是指其周围像素灰度有阶跃变化或屋顶状变化的那些像素的集合。它一般存在于目标与背景、目标与目标、区域与区域、基元与基元之间。
边缘具有方向和幅度两个特征,沿边缘走向,像素值变化比较平缓;垂直于边缘走向,像素值变化比较剧烈,可能呈现阶跃状,也可能呈现斜坡状。因此,边缘可以分为两种:一种为阶跃性边缘,它两边的像素灰度值有着明显的不同;另一种为屋顶状边缘,它位于灰度值从增加到减少的变化转折点。对于阶跃性边缘,二阶方向导数在边缘处呈零交叉;而对于屋顶状边缘,二阶方向导数在边缘处取极值。
实现边缘检测有很多不同的方法,也一直是图像处理中研究的热点,人们期望找到一种抗噪强、定位准、不漏检、不误检的检测算法。经典的边缘检测方法是对原始图像中像素的某小邻域来构造边缘检测算子。常用的边缘检测算子有Roberts算子、Sobel算子、Prewitt算子、Kirsch算子、LOG算子等,本文针对Sobel算子进行研究。
Sobel算子利用像素的左、右、上、下邻域的灰度加权算法,根据在边缘点处达到极值这一原理进行边缘检测。该方法不但产生较好的检测效果,而且对噪声具有平滑作用,可以提供较为精确的边缘方向信息[3]。
为分析各因素对模孔挤压压强的影响规律,在上述压强模型基础上借助Matlab软件进行分析计算,绘制模孔压强在各参数下的变化规律曲线。计算过程中,各参数取值范围如下:泊松比νyz和νyx取值相同,取值范围从0.1到0.5;摩擦系数μ取值范围从0.1到0.5;模孔长径比λ=L/rh取值范围从6到12。分析过程中对纵坐标进行归一化处理,取PL/PN0相对压强作为计算结果。
Sobel边缘算子所采用的算法是先进行加权平均,然后进行微分运算,算子的计算方法如下:
Δxf(x,y)=-1×f(x-1,y-1)+0×f(x-1, y)+1×f(x-1,y+1)-2×f(x,y-1)+0×f(x, y)+2×f(x,y+1)-1×f(x+1,y-1)+0×f(x +1,y)+2×f(x+1,y+1)
Δyf(x,y)=1×f(x-1,y-1)+2×f(x-1, y)+1×f(x-1,y+1)+0×f(x,y-1)+0×f(x, y)+0×f(x,y+1)-1×f(x+1,y-1)-2×f(x +1,y)-1×f(x+1,y+1)
式中,f(x,y)为(x,y)点的灰度值;Δxf(x,y)为水平检测算子计算后的灰度值;Δyf(x,y)为垂直检测算子计算后的灰度值。Sobel算子的边缘检测是在图像空间利用两个方向模板与图像进行邻域卷积来完成的。这两个方向模板:一个是检测水平边缘,一个是检测垂直边缘。如图1所示。
图1 Sobel算子模板
图1(a)检测图像中垂直方向的边缘,图1(b)检测图像中水平方向的边缘。每个像素点取两个模板卷积的最大值作为该像素点的输出值,运算结果是一副边缘图像。
在数字图像处理中,用Sobel算子检测图像边缘的步骤如下:
(1)分别将两个方向模板沿着图像从一个像素移到另一个像素,并将模板的中心像素与图像中的某个像素位置重合;
(2)将模板内的系数与其对应的图像像素值相乘;
(3)将所有乘积相加;
(4)将两个卷积的最大值,赋给图像中对应模板中心位置的像素,作为该像素的新灰度值;
(5)利用最小类内方差法求取适当的阈值TH,若像素新灰度值≥TH,则认为该像素点为边缘点。
由上述可知,Sobel算法的优点是计算简单,速度快,具有一定的噪声抑制能力,在检测阶跃边缘时可以得到至少两个像素的边缘宽度[4]。但由于Sobel算子只采用了两个方向的模板,只能检测水平方向和垂直方向的边缘,而且Sobel算法认为新灰度值大于或等于阈值的像素点都是边缘点,如果许多噪声的新灰度值也满足条件,则会造成边缘点误判[5]。
针对Sobel算子检测出的边缘不连续,并且存在检测出的边缘粗且对噪声极其敏感的缺点,考虑到最小二乘法的特点,采用最小二乘法来定量分析绘制这两条边缘线。
文献[3]提出了应用Sobel算子以及一些简单的前期处理来检测含噪低对比度图像的算法流程,在此基础上结合最小二乘法算法可以定量计算出两条边缘线的斜率和截距,本文确定的图像处理算法如图2所示。
Sobel算子与最小二乘法相结合求取图像边缘的步骤如下:
(1)对原始图像(含噪低对比度图像)作直方图均衡化处理,以增强对比度。直方图均衡化的基本思想是把原始图像的直方图变换成均匀分布的形式,这样就增加了像素灰度值的动态范围,从而达到了增强图像整体对比度的效果。
(2)利用最小类内方差法对均衡化后的图像求取阈值,并用该阈值对图像进行二值化处理,灰度值小于阈值的取0,灰度值大于阈值的取255。
(3)对第2步所得图像中各个像素点进行判断,若该像素点8邻域内各个像素点的值均为255,则该像素点的灰度值取255,否则灰度值取0;将8邻域内所有像素点的值均为255作为判断中心像素值的条件,既可以有效地去除噪声又为下一步检测到平滑的图像边缘打下良好的基础;
(4)用简单的Sobel算子检测第3步所得图像的边缘从而得到原始图像的边缘;
(5)利用最小二乘法拟合曲线的方法寻找原始图像的边缘,从而得到计算机可以识别的图像边缘[6]。
图2 流程图
本文利用所提出的算法对某钢管厂实际X射线焊缝图像进行了处理,结果如图3所示。
图3 实验结果图
图3(a)是利用X射线采集到的原始灰度图像,图3(b)是原始图像经过二值化后阈值减6的效果图。图3(c)为原始图像经过二值化并进行Sobel算子处理后的结果图。从图中可以看出,由于采用最小类内方差法求取阈值处理后图像的边缘以及边缘线之间比较模糊,不易找出图像的边缘,因此针对含噪低对比度的图像在最小类内方差法求取阈值的基础上适当地增加或者减少一定的数值(本文对求取的阈值减3)并利用最小二乘法找出图像的边缘,如图3(d)所示。
针对X射线采集到的灰度图像,利用中值滤波、Sobel算子和最小二乘法相结合的图像边缘检测方法,并对最小类内方差法求取的阈值进行一定数值的改变,从而得到图像的两条边缘线,仿真试验证明了该算法的有效性。实验证明,本文提出的改进算法对含噪低对比度图像有较好的检测效果,而且此算法优于一般的基于微分运算的边缘提取算法,能够很好地去除噪声,所处理的图像细节损失少,边缘细节损失小,光滑效果好,边缘清晰、连续,并且算法易于编程实现。
[1] 马宏伟,陈 富,杜功儒.长输管道无损检测自动化技术的研究进展[J].中国机械工程,2003,14(23)
[2] 钱蓉晖.自动识别X射线底片缺陷图像处理技术[J].无损检测,1999,21(6)
[3] 卢 洋,张旭秀.图像边缘检测算法的对比分析与研究[J].研究与探讨,2009,(3)
[4] 郑 敏,王有熙,税冬东.基于Sobel算子含噪低对比度图像的边缘检测方法[J].石河子大学学报,2008,1(26)
[5] 袁春兰,熊宗龙,周雪花,等.基于Sobel算子的图像边缘检测研究[J].图像与信号处理,2009,39(1)
[6] 程世东,汤 楠,高纬欣,等.基于CCD的埋弧焊焊缝跟踪系统数字图像处理方法[J].焊接技术,2008,37(2)
[7] 高炜欣,汤 楠,穆向阳,等.埋弧焊焊缝CCD跟踪系统研制[J].焊接,2007,54(4)
TG445
B
1004-9134(2010)02-0084-03
查笑春,女,1983年生,硕士研究生,西安石油大学检测技术与自动化装置专业,主要研究方向为图像处理工业自动化。邮编: 710065
2009-09-10 编辑:姜 婷)
·计算机与通讯技术·