基于MCSA的感兴趣区域定位方法
2015-09-23许浩均等
许浩均等
摘 要: 图像边缘检测过程中产生的许多噪声边缘不仅影响后续算法的效率,还严重影响目标的准确识别。这里提出一种基于最大连续子序列算法的目标预定位方法。先利用LoG提取图像边缘,在标定边缘坐标的基础上,计算所有边缘的最大灰度差,经阈值初步去除大部分噪声边缘后,再用最大连续子序列算法将与缺陷边缘相接的噪声边缘滤除,最后利用区域填充得出待定缺陷区域。实验结果表明,该方法能有效地去除噪声边缘并获得包含缺陷边缘的掩膜区域,从而有效提高后续缺陷识别算法的效率。
关键词: 预处理; 最大灰度差图像; 最大连续子序列算法; 区域填充
中图分类号: TN911.73?34 文献标识码: A 文章编号: 1004?373X(2015)17?0103?04
Location method of interested region based on MCSA
XU Haojun, HUANG Qian, LIANG Zhaomin, LI Xueyong
(School of Electronics and Information Engineering, South China University of Technology, Guangzhou 510640, China)
Abstract: Numerous noise edges produced in the process of image edge detection can affect the efficiency of the following algorithm and accurate recognition of the targets. A target pre?positioning method based on maximum continuous subsequence algorithm (MCSA) is proposed. The image edge is extracted by using LoG, and the maximum grayscale differences of all the edges are calculated on the basis of calibrating edge coordinates. Most noise edges are eliminated by threshold, then noise edges connected with defect edges are eliminated by using MCSA. The undetermined defect regions are obtained by region filling. The experimental results show that this method can eliminate noise edges effectively and obtain mask regions containing defect edges, which can improve the efficiency of subsequent defect recognition algorithm greatly.
Keywords: pretreatment; maximum grayscale difference image; MCSA; region filling
0 引 言
在工业射线检测中,由于人工判别缺陷存在稳定性和可靠性不高等问题,人们一直在寻求高效准确的缺陷自动检测算法。目前国内外在缺陷自动检测方面使用的算法大致分为:基于阈值的检测[1]、基于边缘的检测[2]、基于聚类的检测[3]、使用支持向量机进行识别的方法[4]以及多视角检测缺陷的方法。D. Mery提出了一种使用多射线源得到的图像序列进行缺陷检测的方法[5],这种方法基于图像处理技术,能有效去除单一视角检测中误检的缺陷。
为了提高铸件缺陷检测效率和准确性,通常需要将缺陷所在的小区域预先进行分割,如何保证将工件的缺陷无遗漏地覆盖,是缺陷识别算法工作的关键。本文提出一种自动提取X射线图像中的缺陷区域,即感兴趣区域(Region of Interest,RoI)的定位算法,该算法可以准确提取出一组空间范围更小的候选缺陷掩膜区域。实验结果表明,该算法能够保证在有效去除噪声边缘的同时保留缺陷边缘,从而很大程度地提高后续处理的速率。
1 RoI定位算法及其实现
1.1 铸件缺陷的特征
X射线无损探伤的主要原理是射线衰减原理[6],X射线透过被检工件照射到探测器上,探测器根据接收到的射线强度得到一幅灰度图像,工件中不连续的部分在图像中表现为灰度值不连续。检测人员可通过射线图像观察到工件中的空隙、气孔、裂痕等缺陷。
图1所示为一张铸件X射线图像及其经过LoG边缘检测的结果图。结果图中包含了很多封闭的边缘。图1(a)中箭头[B]所指的平滑区域受噪声的影响同样会产生大量封闭的边缘。这些封闭的噪声边缘严重地增加了后续缺陷识别算法的处理时间。
分析图1(a)和图1(b)中两个箭头所指区域可以发现,箭头B所指区域的灰度值明显比箭头A所指区域的灰度值低。利用铸件射线图像中有缺陷区域与无缺陷区域灰度差不同这一先验特征,本文提出一种用于缺陷区域预判的算法流程。
1.2 最大灰度差图像
最大灰度差图像通过测试图像及其边缘图像获取,获取方法为:对图1(b)的每个边缘点及其八邻域(如图2所示)进行下列步骤的处理。
(1) 在以下四个方向上计算灰度差的绝对值:
[f(x-1,y-1)-f(x+1,y+1), f(x,y-1)-f(x,y+1),][f(x+1,y-1)-f(x-1,y+1),][f(x-1,y)-f(x+1,y)。]其中[f(x,y)]是原始图像中点[(x,y)]的灰度值。
(2) 找出(1)中的最大值作为最大灰度差图像点[(x,y)]的值。整幅最大灰度差图像的生成过程可以表示为:
[MGDIx,y=maxfx-1,y-1-fx+1,y+1, fx,y-1-fx,y+1,fx+1,y-1-fx-1,y+1, fx-1,y-f(x+1,y) (1)]
图3所示为一幅最大灰度差图像,图3(c)圆圈内的缺陷区域的灰度差较平滑区域大。
1.3 最大连续子序列算法
通常去除噪声边缘并提取RoI是利用最大灰度差图像计算每一条边缘上所有点的最大灰度差的平均值,选择一个合适的阈值去除噪声边缘,但当噪声边缘和缺陷边缘连接在一起时,噪声边缘和缺陷边缘则无法区分,如图4所示。图4(b)的圆圈内既有缺陷边缘又有噪声边缘,这将给进一步的目标准确识别带来很多冗余信息。本文提出一种基于最大连续子序列算法(Maximum Continuous Subsequence Algorithm,MCSA)的方法解决上述噪声边缘问题。
对于最大灰度差图像中的每一条边缘[Ei,]进行如下处理:
(1) 记录边缘点的信息
沿着边缘[Ei]进行跟踪,并用顺序循环表[Li]记录每一个边缘点的坐标[C,]以及在最大灰度差图像中对应点的计算值[V。]顺序表[Li]中每个元素都是由边缘点的坐标[C]及其在最大灰度差图像中对应点的值[V]两部分组成。在表[Li]中,元素均沿着边缘[Ei]顺序记录,每个元素都在其相邻元素的八邻域中,如果是噪声边缘,由于其周围的灰度差很小,则噪声边缘的[V]值相对于缺陷边缘的[V]值将是很小的值,在平滑区域则接近于0。
(2) 判定筛选噪声边缘
由于大部分非缺陷边缘的[V]值很小,如图3(c)所示,选择一个合适的阈值[θ,]将循环表[Li]中所有元素的[V]部分同时减去[θ。]如果边缘点处[V-θ≤0,]则判断该边缘是噪声边缘;将不再保留该边缘。如果边缘点处[V-θ>0,]则判断该边缘包含缺陷边缘,该部分边缘予以保留。
对边缘点处既有[V-θ≤0]又有[V-θ>0]的边缘进行如下处理:寻找循环表中所有[V-θ>0]的最大连续子序列并保存下来,舍弃表中其余元素。
(3) 连接相邻的端点
通过检查子序列的首尾元素的坐标[C]是否在彼此的八邻域中,可以检查上一步保存下来的所有最大连续子序列是否封闭。如不封闭但其首尾元素的坐标[C]在另一最大连续子序列的首尾元素的八邻域中,则将其连接起来保证边缘的封闭性。
(4) 判断筛选工件边缘
工件中缺陷的大小相对于整体工件结构小很多,但上述保留边缘的方法有可能将工件边缘作为封闭边缘予以保留,因此选择一个边缘的长度阈值[l]进一步去除非缺陷边缘。
(5) 区域填充
本文进一步采用文献[7]的扫描线种子填充算法对上一步得到的边缘图像进行区域填充,如图5所示。区域填充后得到的是包含缺陷的掩膜区域而不仅仅是边缘,另外,区域填充能够去除不封闭的边缘,更准确地定位缺陷区域,提取出包含缺陷的RoI为后续的缺陷提取算法服务。图5(a)中圆圈内不封闭边缘经过区域填充后被去除。
2 实验结果与分析
2.1 实验结果
本节对上述算法进行实验验证。经过反复测试调整,得到了一套较为稳定的参数,具体的参数设置为:LoG算子的高斯标准差[σ=2.5,]阈值[θ=4,][l=200,]实验过程中参数保持一致。对80幅轮毂X射线图像进行了测试,其中绝大部分图像的RoI定位得到了满意的效果,图6给出了其中一部分的实验结果。图6中由左至右的每列图像分别为原始图像,LoG边缘检测的结果图像,使用最大连续子序列提取RoI的图像,以及经过填充的图像。将所有的LoG边缘检测的结果图像和经过填充的图像进行对比,由图可以看出,本文所提出的RoI定位方法不仅能去除大量的噪声边缘,同时还保证所有的缺陷边缘得以保留,令噪声边缘与缺陷边缘连接在一起的问题也得以解决。
下面还利用了覆盖率和提速率评估本文提出的算法。
2.2 覆盖率
覆盖率是评估算法得出的RoI是否能包含全部缺陷的标准。覆盖率的计算如公式(2)所示:
[覆盖率=RoI缺陷的数量原始图像缺陷的数量] (2)
覆盖率是一个重要的评估标准,如果得不到很高的覆盖率,本文的RoI定位方法则实用意义不大。实验中,80幅图像得出的平均覆盖率是99%。考虑到一些小的或者模糊的缺陷在铸件检测中属于合格产品范围,则本文方法在覆盖率方面已经很高。图6图像的覆盖率如表1所示。
2.3 提速率
提速率是评估本文提出方法的另一个标准,提速率的计算如公式(3)所示:
[提速率=LoG边缘图像边缘的总数量RoI边缘的总数量] (3)
图6中图像的提速率如表2所示,从表中数据可知,经过本文提出的预处理方法处理后,后续的缺陷提取至少能提高5倍的速度。
2.4 与其他预处理方法对比
文献[8]使用一种先用山峰定位算法定位缺陷位置,再用卷积得出RoI的预处理方法。对图6中第4幅图的处理结果如图7所示。
从图7方框内的RoI可以看出,本文提出的预处理方法定位缺陷更精确。相对于文献[8]需多次遍历图像的方法,本文方法不仅定位准确,而且耗时更少。
3 结 论
本文提出一种利用最大连续子序列去除噪声边缘,然后经过区域填充得出铸件X射线图像RoI的缺陷识别预处理方法。实验结果表明,这种方法在保留缺陷轮廓的同时能有效地去除噪声边缘,从而很好地提高后续缺陷提取算法的速度。
参考文献
[1] 龙建武,申铉京,陈海鹏.自适应最小误差阈值分割算法[J].自动化学报,2012,38(7):1134?1144.
[2] DOLLAR P, ZITNICK C L. Structured forests for fast edge detection [C]// 2013 IEEE International Conference on Computer Vision. Sydney: IEEE, 2013: 1841?1848.
[3] ZHOU Huiyun, LI Xuelong, SCHAEFER G, et al. Mean shift based gradient vector flow for image segmentation [J]. Journal of Computer Vision and Image Understanding, 2013, 117(9): 1004?1016.
[4] 李东,卢虹冰.基于免疫算法优化的乳腺肿瘤图像识别[J].现代电子技术,2014,37(4):108?111.
[5] MERY D, RIFFO V, ZUCCAR I, et al. Automated X?Ray object recognition using an efficient search algorithm in multiple views [C]// Proceedings of 2013 IEEE Conference on Computer Vision and Pattern Recognition Workshops. Washington, DC: IEEE, 2013: 368?374.
[6] MERY D. Processing digital X?ray images and its application in the automated visual inspection of aluminum casting [C]// 2003 the 3rd Panamerican Conference for Nondestructive Testing. Rio de Janeiro: PANNDT, 2003: 641?655.
[7] 郭文平,龙帮强.扫描线种子填充算法的改进[J].天津工业大学学报,2008,27(2):48?51.
[8] 吴炜峰.基于水平集的灰度不均匀图像分割研究[D].广州:华南理工大学,2013.