工件表面微小缺陷的检测与识别方法
2014-06-28赵君爱贾民平
赵君爱 贾民平
(1东南大学机械工程学院,南京211189)
(2江苏农林职业技术学院机电工程系,句容212400)
工件表面缺陷检测是产品质量检测中的一个重要环节.缺陷目标在整个图像中所占的像元很少,并且信噪比低、背景区域分布不均匀、背景与目标灰度值区分不明显等复杂情况给缺陷检测带来很大的困难.目标检测中的重要部分是目标的分割,分割结果的优劣会直接影响后续的分类和识别.目前关于图像分割方法有很多,包括阈值分割、边缘检测法、区域生长法、聚类法和松弛法[1]等.其中,阈值分割方法中的Otsu法由于其快速、稳定且适应性好得到最为广泛的应用,该方法是实现较为简单的分割方法,其核心是找出一个最优的阈值进行目标区与背景区的分割.文献[2]指出Otsu法虽然简单,但是对于微小缺陷、目标区域与背景区域灰度对比不明显等情况,会出现严重的错分.文献[3]采用基于Otsu的递归方法,分割效果比一次Otsu好,但递归次数不易确定;文献[4]中,采用金字塔式分块,并对小分块进行Otsu分割,这种分割常常会使小图像块的边缘被错分,且整个分块过程复杂.上述方法的共同点均把当前像素看成是一个孤立的元素,并没考虑到相邻像素间的相关性.
目标分割前需进行去噪处理.中值滤波(median filter,MF)由于算法简单和具有一定的细节保护能力而得到广泛的重视[5].但中值滤波会修改图像中的每一个像素,从而使得恢复图像的能力有所下降[6];当图像中噪声密度过大时,平滑效果不好,而均值滤波在去除高密度噪声方面则有较大的优势.
因此,针对在图像背景像素分布不均匀、背景与目标对比不明显图像中存在微小缺陷分割的问题,本文首先利用改进的中值和均值滤波方法进行去除噪声,同时考虑到在较小邻域内同一目标的像素相似的特点,在目标分割中采用先分块、再排除、初定目标和剔除伪目标的分割方法,并在此基础上进行了缺陷的识别与分类工作.
1 微小缺陷检测相关算法
1.1 基于中值和均值滤波的去噪算法
本文综合小窗口滤波、中值滤波及均值滤波的优点,提出了一种新的去除图像噪声的算法.该算法分噪声点检测、窗口控制和滤除噪声点3个步骤.
1)噪声点检测,初步确定图像噪声.对于一幅m ×n 大小的灰度图像 X,fi,j表示位置(i,j)处的像素值,若此处的灰度值为0或255,则认为该像素可能是噪声像元.若图像标记为F,则
式中,Fi,j=1 表示(i,j)处的像元可能是噪声;Fi,j=0表示(i,j)处的像元为非噪声.从模型(1)可以看出,噪声点的灰度值和原始像素灰度值相互独立,所以在采用恢复技术时尽量不使用噪声点自身的灰度值信息.
2)窗口控制.滤波窗口尺寸关系到滤波效果,小尺寸的滤波窗口,能较好地保护细节,但滤波效果较差;滤波窗口增大时,平滑噪声效果较好,但图像会变得模糊.对于严重噪声污染的图像,一次滤波很难得到很好的滤波效果.根据此特点,本文采取3×3小窗口反复迭代滤波的方法进行噪声去除.
3)滤除噪声点.在滤波时,结合中值滤波和均值滤波的适应特点,本文利用窗口中非噪声点的中值 ni,j和均值 mi,j的加权值 β1ni,j+ β2mi,j来替代窗口中心的噪声像素值.这里,β1,β2为加权值,其取值关系到滤波的效果,经过大量的实验,确定β1=0.2,β2=0.8.
去噪算法实现过程如下:
①当前像元fi,j为中心的3×3窗内,定义所有像素构成集合为,即
②对于非中心位置的其他8个像元,排除灰度值为0或255的噪声像素后,将其余非噪声点构成为集合,即
1.2 基于缺陷像元搜索的目标分割算法
本分割算法的理论基础为:若一幅图像的背景区与目标区若整体上灰度对比不明显,但在小范围内背景与目标却是可分的[7];图像的方差能够反映图像灰度值的变化幅度[8];相邻像元灰度差值的大小能反映它们的归属区域;目标区域不会孤立存在,同时满足均匀性和连通性的原则.
具体实施过程如下.
1)首先把经预处理后图像X分割成均匀的若干小块 X={X1,X2,…,Xn}.在分割时,每个小块可以全部为背景,也可以是背景和缺陷的组合,但不能全部为缺陷.接着计算每小块图像的方差,并按方差由小到大的顺序排列成有序序列{(j)};然后从{(j)}中去掉由小到大60%(微小缺陷的区域面积与整幅图像的面积比值小于0.5)的方差值对应的图像块[4],再将{(j)}中剩余的40%的方差组成新的方差序列,此时{(j)}所对应的图像块中,一部分是包含缺陷的图像块,同时还有一部分是背景区域图像块.
遍历fi,j后的像元若满足下面条件:
则认为像元 fi,j+1同前一个像元 fi,j性质相同,同标记为背景点或缺陷目标点,否则当前像元与前一个像元性质相反.
3)在初次遍历结束后,每一小块图像中的像元被分割为背景和缺陷目标2部分,在这个过程中,有少部分背景被错分为缺陷目标,所以需要剔除初次遍历后的伪目标点.缺陷目标以一定大小的连通域存在,为了判断初次遍历中所标记的缺陷像元是否为真正的缺陷,以当前像元为核心,在形成3×3窗口中,若至少包含有一半以上的缺陷像元,则认为该像元为缺陷点,并利用式(5)重新判断其后的像元性质.
在初次遍历过程中,首先采用每个图像的块整体均值作为初始分割阈值,而此条件是判断当前像元是否为缺陷的充分不必要条件,所以在后续中还需要进一步缩小寻找缺陷点的范围.式(5)作为进一步判断缺陷目标的依据,若相邻两像元的灰度差值在规定范围内,那么它们的属性相同;若灰度差值越过规定范围,则它们分属于不同区域.其中,参数α用于控制相邻两像元的差值范围.α太小,使得进入下面计算中的像元数目过多,计算量增大;α太大,会使一些缺陷目标点判定为背景点,造成漏检.
2 实验及分析
为验证本分割算法的有效性,这里选择了孔洞、裂纹、划痕和砂眼4种缺陷情况进行验证.图1(a)为孔洞缺陷,图片中背景区域灰度分布不均匀,且背景区域有反光;图1(b)为裂纹缺陷,图片中裂纹不明显,与背景区域灰度值接近;图1(c)、(d)为划痕缺陷和砂眼缺陷,图片中目标不明显且面积很小,所有这些情况给后面的缺陷目标的分割带来难度.
图1 原始表面缺陷图像
为验证本文提出的去噪算法的有效性,对图1(a)加入20%和70%的椒盐噪声并进行滤波,如图2所示.从图2中可以看出,本文提出的去噪算法对于低密度和高密度噪声均具有很好的适应性,但对于高密度噪声,去噪后图像边缘会出现程度较小的局部失真.
图2 加噪及滤波后图像
基于缺陷像元搜索算法对缺陷区域进行分割的过程中,其关键是式(5)中α值的确定.文献[9]的实验研究表明,α在[0.1,0.2]范围内能得到较好的分割效果,所以本文在[0.1,0.2]之间选取数值,进行实验后确定α的数值.图3为α=0.11,0.14,0.18时轴类零件缺陷分割后的效果图.从图3中可以看出,当α取值较小时,部分背景会被错分成目标,当α取值较大时,会出现缺陷目标漏检的情况,所以这里取α=0.14进行目标分割.
为验证本文提出的分割算法的有效性,选择图1(a)作为测试图像,将本文算法与传统Otsu法、文献[3]和文献[4]算法进行对比,分割结果如图4所示.
图3 不同α取值时分割效果图
图4 分割算法对比
由图4可见,采用Otsu算法,出现了严重的错分,整个上半部分都错分为目标.采用文献[3]的局部递归算法,当递归次数增加时,出现漏分;当递归次数减少时,又出现更为严重的错分.采用文献[4]中先分块再利用Otsu分割的算法,小图像块边缘出现错分,效果较差.经比较可以看出,本文的分割算法效果较好(见图4(a)).
为了进一步验证本文所提出分割算法的适应性,对图1(b)、(c)、(d)进行了分割,并经过数学形态学的闭运算,结果如图5所示.
下面对目标分割后的缺陷进行分类识别.由于图1(a)、(b)这两张图中的缺陷几何形状明显不同,所以选择矩形度Rt和区域占空比Rq来描述孔洞、裂纹这两种缺陷.矩形度Rt反映了目标的形状;区域占空比Rq反映了目标对于其最小外接矩形的充满程度[10].在计算缺陷的特征值前,需确定目标的最小外接矩形,如图6所示.由于图6(a)中缺陷目标较多,形状相似,因此这里选出3个缺陷目标来计算其特征值,图1(a)、(b)两图像的缺陷的特征数值如表1所示.
图5 分割后的图像
图6 缺陷目标最小外接矩形图像
表1 2种缺陷的特征值
表1中,接近于圆形的孔洞缺陷的矩形度数值较大,远大于不规则的细长型裂纹缺陷的矩形度数值;区域占空比反映了缺陷目标充满最小外接矩形的程度,缺陷为矩形时,数值接近于1;圆形时,数值为细长型裂纹时,数值较小.因此,Rq数值大小也能有效地反映出缺陷的类型.
3 结语
针对单一阈值等算法在微小缺陷分割中的不足,提出了先分块、排除背景块、逐一遍历像元初定缺陷目标、剔除伪目标的缺陷像元搜索的算法进行微小缺陷分割;对于目标分割前的预处理,考虑到中值和均值滤波各自的适应性,提出了基于小窗口、中值和均值滤波的改进去噪算法,并进行了目标的特征提取.实验结果表明,该算法能够有效分割微小目标缺陷,边界形状准确,算法效果较好.
References)
[1]Xia Yong,Feng Dagan,Wang Tianjiao.Image seg-mentation by clustering of spatial patterns[J].Pattern Recognition Letters,2007,28(12):1548-1555.
[2]Sezgin M,Sankur B.Survey over image thresholding techniques and quantitative performance evaluation[J].Journal of Electronic Imaging,2004,13(1):146-165.
[3]汪国有,邹玉兰,凌勇.基于显著性Otsu局部递归分割算法[J].华中科技大学学报,2002,30(9):57-59.Wang Guoyou,Zou Yulan,Ling Yong.An algorithm for salience-based local recursive Otsu segmentation[J].Jornal of Huazhong University of Science and Technology,2002,30(9):57-59.(in Chinese)
[4]何志勇,孙立宁,芮延年.一种微小表面缺陷的机器视觉检测方法[J].应用科学学报,2012,30(5):532-538.He Zhiyong,Sun Lining,Rui Yannian.Detection of small surface defects based on machine vision[J].Journal of Application Science,2012,30(5):532-538.(in Chinese)
[5]Singh K M.Fuzzy rule based on median filter for grayscale images[J].Journal of Information Hiding and Multimedia Signal Processing,2011,2(2):108-122.
[6]Wang Z,Zhang D.Progressive switching median filter for the removal of impulse noise from highly corrupted images[J].IEEE Trans Circuits Sys,1999,46(1):78-80.
[7]Li Chunming,Kao Chiu-Yen,Gore John C,et al.Implicit active contours driven by local binary fitting energy[C]//Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Minneapolis,USA,2007:1-7.
[8]樊冬进,孙冰,封举富.基于方差及方差梯度的指纹图像自适应分割算法[J].计算机辅助设计与图形学学报,2008,20(6):742-747.Fan Dongjin,Sun Bing,Feng Jufu.Adaptive segmentation based on variance and its gradient[J].Journal of Computer-Aided Design & Computer Graphics,2008,20(6):742-747.(in Chinese)
[9]刘运龙,薛雨丽,袁素真,等.基于局部均值的红外小目标检测算法[J].红外与激光工程,2013,42(3):816-825.Liu Yunlong,Xue Yuli,Yuan Suzhen,et al.Infrared small targets detection using local mean[J].Infrared and Laser Engineering,2013,42(3):816-825.(in Chinese)
[10]韩芳芳.表面缺陷视觉在线检测关键技术研究[D].天津:天津大学精密仪器与光电子工程学院,2011.