郝利华,王明泉
(1.中北大学仪器科学与动态测试教育部重点实验室,太原 030051;2.中北大学信息与通信工程学院,太原 030051)
改进的Canny算法在直焊缝图像缺陷边缘检测中的应用⋆
郝利华1,2,王明泉1,2
(1.中北大学仪器科学与动态测试教育部重点实验室,太原 030051;2.中北大学信息与通信工程学院,太原 030051)
对含有夹渣、气孔和裂纹缺陷的直焊缝X射线图像进行缺陷的边缘检测时,传统的Canny算法虽然可以检测出缺陷的边缘,但具有自适应差和容易出现伪边缘的缺点。提出了一种改进的Canny算法,对经过非极大值抑制后的梯度直方图,利用像素最值梯度和像素最值梯度方差自适应获取连接缺陷边缘所需的高、低阈值;同时也改进了计算梯度图像所需的模板。实验结果证明,改进的Canny算法不仅进一步抑制了噪声,也避免了伪边缘的出现,在保留缺陷的边缘细节方面具有良好的效果。
改进Canny算法,边缘检测,像素最值梯度方差
随着科学技术的发展,焊接钢管已广泛应用在工业生产的各个领域,焊缝质量的检测也成为决定产品质量的关键因素。X射线检测技术因具有穿透能力强、灵敏度高等优点被广泛应用于工业生产的焊缝质量检测中[1]。由于采集到的焊缝射线图像大多都存在纹理不清楚、图像对比度等影响图像质量的问题,不能直接用于缺陷检测,因此,缺陷特征的检测和提取是焊缝检测中一个非常重要的问题,会直接影响焊缝缺陷判别的准确性。
实际采集的X射线焊缝图像中,缺陷主要为夹渣、气孔和裂纹[2]。由于夹渣的灰度值也小于钢材的灰度值,因此,夹渣表现为黑色,边缘轮廓明显但不规则,灰度值较均匀。气孔和裂纹的灰度值高于焊缝的灰度值,呈白色,其中裂纹多为椭圆形或近圆形,边界明显,外形较规则;气孔形状不规则,顶端多呈齿状。本文主要对含有夹渣、气孔和裂纹缺陷的焊缝图像进行缺陷检测。
图1 系统框图
要想从采集的焊缝图像中有效提取缺陷区域,关键是如何准确地检测出缺陷区域的边缘。Canny算子具有良好的信噪比、检测精度、噪声去除、边缘细节保留等性能,在图像处理领域Canny算子的应用非常广泛。Canny算子在实现边缘检测过程中,主要包括4个步骤:高斯滤波,计算梯度,抑制局部像素非最大梯度点,双阂值方法搜索边界起点和跟踪并连接边缘[3]。
2.1 高斯滤波
用如式(1)所示的二维高斯函数 G(x,y)对焊缝灰度图像f(x,y)进行卷积运算,已达到去燥目的,得到平滑图像I(x,y)。
式中,σ为高斯函数的标准差,用来控制平滑程度。
2.2 计算梯度的幅值和方向
传统的 Canny 算子,对平滑后图像 I(x,y)的梯度幅值和梯度方向一般采用2×2领域内的一阶差分算子来计算
由以上两公式可得到每一个像素点[i,j]的梯度幅值 M[i,j]和梯度方向 θ[i,j]:
新疆维吾尔自治区喀什市在“十二五”期间,按照“领导办点、部门包村、队员驻村、集中指导、整村推进”的工作思路,扎实推进精准扶贫工作[1]。但在政策执行、管理体制、可持续发展、扶贫成效等方面存在一些不足。
2.3 对梯度幅值图像进行非极大值抑制
为了确定边缘,不仅要得到全局的梯度,还要保留局部梯度最大的点,抑制非极大值。为此,在3×3领域内,将中心元素M[i,j]与沿梯度方向上的灰度值进行比较,如果M[i,j]的值小于梯度方向的灰度值,就将 M[i,j]对应的边缘标志位赋予 0值,即不是边缘。
2.4 双阈值检测与边缘连结
设定一个合适的高阈值Th和一个低阈值Tl对经过非极大值抑制的梯度图像M[i,j]进行处理,分别得到边缘图像Th[i,j]和Tl[i,j],且Tl∶Th大致在1∶2到1∶3之间。由于图像Th[i,j]是由高阈值处理得到的,含有较少的伪边缘,但是却有很多很长的间断;图像Tl[i,j]是使用低阈值得到,虽然含有较多的伪边缘,但是在真正的边缘上却比Th[i,j]连续。连接Th[i,j]中的边缘,到达间断端点时,在由低阈值得到的边缘图像Tl[i,j]的8领域内搜索可以连接到轮廓上的边缘点,填补Th[i,j]中的边缘空隙。利用递归跟踪算法不断在Tl[i,j]中搜索边缘,直到将Th[i,j]中所有的空隙都连接起来为止[4-5]。
(1)传统的Canny算子在计算梯度幅值时采用的是2×2领域内一阶偏导数的有限差分,对噪声造成的影响非常敏感,会出现许多伪边缘[6]。
(2)从2.4节分析中可看出,高低两个阈值的确定关系到边缘检测的质量问题。高阈值Th越大,可去除越多因噪声产生的假边缘,但丢失的边缘信息就越多;而低阈值Tl则包含着连接边缘操作的终止条件,Tl越小,所能连接的边缘就越多,但是也可能会产生较多的假边缘,当Tl增大时,边缘阈值图像Tl[[7]。但是传统的Canny算子中两个阈值的选择需要人工指定,对图像容易造成平滑去噪与保持边缘和细节、连续的边缘与出现假边缘的矛盾;对于一组固定高、低阈值,对某一幅图像可能会有很好的效果,但是如果图像有变化或者换为其他图像,就可能会产生不理想的结果,使其在图像处理的应用中具有一定的局限性。
4.1 改进梯度的计算方法
将原来的2×2领域改成8领域,改进后的模板矩阵分别为
这样式(2)和式(3)分别变为
由式(6)~式(8)可以看出,改进后的梯度计算不再把像素点[i,j]考虑在内,只用其领域的数值进行计算,可以在高斯函数平滑的基础上进一步抑制噪声,有效地减少了伪边缘出现的概率[8]。
4.2 改进阈值的选取方式
与图像的灰度直方图不同的是,梯度直方图反映的是边缘等细节特征信息。但是由于在一幅图像中边缘细节只占很少的一部分,所以在描述图像边缘强度的梯度直方图中对应图像非边缘部分有一个很高的尖峰,反映了非边缘的区域占据了梯度图像的绝大部分;梯度直方图中对应原图像的边缘的区域没有显示出明显的尖蜂,而是处于近似均匀递减分布的状态;在梯度直方图中非边缘和边缘区域之间没有明显的谷底界限,因此,不能简单地用灰度直方图判断双峰的方法来分割梯度直方图。
通过分析经过非极大值抑制后的梯度图像直方图的特点,提出了一种自适应识别边缘和非边缘区域的方法,从而自动生成双阈值。
图像中非边缘所占的比例远大于边缘所占比例,具体表现为:低梯度区域的像素个数较多,峰值较大,而高梯度区域对应的峰值较小,因此,梯度直方图中峰值最大点的梯度值对应的是非边缘点的梯度值。为此,在经过非极大值抑制后的梯度图像直方图中定义像素最值梯度Hmax为拥有最大像素数量的梯度值,在此基础上再定义像素最值梯度方差σmax,即全部像素的梯度相对于像素最值梯度Hmax的方差:
式中,Hi代表像素点对应的梯度幅值,k代表梯度最大值,N表示像素总数,Ni表示对应于Hi的像素的数目。
当原图像中不存在边缘时,其相应的梯度直方图只存在单峰,这时梯度值都集中在像素最值梯度Hmax附近的区域,像素最值梯度方差σmax较小;反之,当原图像中既有边缘又有非边缘时,其图像梯度直方图不但存在非边缘像素梯度的单峰,还存在边缘像素梯度的分布,边缘像素梯度分布在距离像素最值梯度Hmax相对较远的位置,因此,像素最值梯度方差σmax很大。由此可以看出,梯度直方图的像素最值梯度方差σmax反映了梯度分布相对于非边缘区域的离散程度,所以可以通过Hmax和σmax确定出所需的高、低阈值(Th和Tl)。
为了防止伪边缘的干扰,Th要选在非边缘以外的区域,基于此可得分割图像所需的高、低阈值分别为:
式中,0<β<1为阈值调整参数,在工程实践中根据需要确定。通过调节β的值,可以实现高阈值在非边缘区域以外选取,低阈值在弱边缘附近选取。若β过小,则易丢失有用的弱边缘,反之出现伪边缘,一般β设定在0.15~0.5之间。通过测试,本文选取的β的值为0.25。
图2 含夹渣缺陷图像对比结果
分别以含有夹渣、气孔和裂纹的焊缝缺陷图像为对象,对本文提出的改进Canny算法和传统的Canny算法进行了对比实验,结果分别如图2~图4所示。分别对比图2~图4中的(b)和(c)可以看出,传统的Canny算法虽然能检测出缺陷的边缘,但由于对噪声比较敏感,造成在图像边缘处检测出许多伪缺陷边缘。本文提出的改进Canny算法检测结果中,噪声数量明显减少,而且伪边缘明显消除。对比缺陷轮廓可以看出,改进Canny算法检测出的缺陷轮廓更加光滑,且缺陷边缘的完整性较好。由此可见,本文提出的改进Canny算法在焊缝缺陷边缘检测中能具有更好效果。
图3 含气孔缺陷图像对比结果
图4 含裂纹缺陷图像对比结果
本文对传统Canny算法进行了改进,提出了基于像素最值梯度方差的自适应高、低阈值设置方法,有效避免了伪边缘的出现;同时改进了梯度的计算方法,进一步有效地抑制了噪声。实验结果证明,改进后的缺陷边缘检测方法取得了满意的效果。
[1]佟彤,基于X射线图像的焊缝缺陷检测与识别研究[D].上海:上海交通大学博士学位论文,2014.
[2]申清明,高建民,李成.焊缝缺陷类型识别方法的研究[J].西安交通大学学报,2010,44(7):100-103.
[3]叶德周,杨风健,貌程浩,等.基于Canny算子的红外影像边缘检测算法[J].激光与红外,2015,45(9):1129-1132.
[4]米林,马亚洲,郝建军,等.一种基于Canny理论的边缘提取改进算法[J].重庆理工大学学报(自然科学版),2010,24(5):54-8.
[5]王佳,李波,徐其志.边缘检测中局部区域的动态阈值选取方法[J].计算机应用研究,2010,27(2):772-774.
[6]BAO P,ZHANG L,WU X.Canny edge detection enhancement by scale multiplication [J],Pattern Analysis and Machine Intelligence,IEEE Transactions on,2005,27(9):1485-1490.
[7]王佐成,刘晓冬,薛丽霞.Canny算子边缘检测的一种改进方法[J].计算机工程与应用,2010,46(3):202-204.
[8]SUN Y,BAI P,SUN H Y.Real-time automatic detection of weld defects in steel pipe[J].NDT&E International,2005,38(7):522-528.
[9]鲁学军,武鹏达,郭旭东.二值形态闭运算在优质耕地集中连片划定中的应用[J].中国图象图形学报,2016,21(2):199-206.
[10]郭伟,高媛媛,刘鑫焱.改进的基于混合高斯模型的运动目标检测算法[J]. 计算机工程与应用,2016,52(13):195-200.
Application of Improved Canny Algorithm in Defect Edge Detection of Straight Weld Image
HAO Li-hua1,2,WANG Ming-quan1,2
(1.Key Laboratory of Instrumentation Science&Dynamic Measurement,North University of China,Taiyuan 030051,China;2.School of Information and Communication Engineering,North University of China,Taiyuan 030051,China)
When defect edge detection is conducted to the X-ray image of a straight weld with clamp slag,pores and cracks,the traditional Canny algorithm,though being able to detect edge defects,is poorly adaptable and prone to false edges.An improved Canny algorithm is presented in this paper,suppressing gradient histogram of pixels by non-maximal value,and the required high and low threshold are adaptively acquired to connect defect edges by using the maximal pixel gradient and the maximal gradient variance;it also improves the template for image gradient calculation.The experimental results show that the improved Canny algorithm not only restrains the noise,but also avoids false edges,and has favorable effect on retaining details of defect edge details.
improved canny algorithm,edge detection,maximal gradient variance of pixel
TP391
A
10.3969/j.issn.1002-0640.2017.07.012
1002-0640(2017)07-0052-04
2016-05-05
2016-08-07
国家自然科学基金(61171177);国家重大科学仪器设备开发专项基金资助项目(2013YQ240803)
郝利华(1976- ),男,山西怀仁人,副教授。研究方向:智能信息处理,计算机视觉。