连军莉,魏 鹏
(中国电子科技集团公司第四十五研究所,北京 101601)
超声扫描显微镜是用于检测物体表面、内部区域,产生高分辨率特征图像的检测系统,广泛应用于无损检测领域。由于超声能量的传递要求介质是连续的,所以如气孔、杂质、分层、裂纹等不连续界面都会干扰超声信号传播或致使超声信号发生反射。在气孔、分层处会发生相位反转,在图像中表现为红色区域。
确定器件是否合格,就是判断气孔、分层等缺陷的尺寸(也就是相位图像中的红色区域)是否超出容差范围。传统的人工目测,即使使用测量工具,也不能精确判断各缺陷的面积和尺寸,很难适应产品批量的要求。因此如何快速进行缺陷分类成为工艺线上必须解决的大问题。而缺陷自动分类系统可以对缺陷进行自动分类,减少缺陷分析时间,以及主观造成的缺陷分类错误,分析结果更加精确,重复性更高,从而大大提高了整体效率。
系统打开一幅图像,进行缺陷分析,测量出各缺陷特征,然后根据各设定阈值,判断是否可以忽略该缺陷。该系统可以离线操作,也可以嵌入到主检测程序中。系统流程如图1所示。
图1 缺陷自动识别系统流程图
由超声扫描检测设备得到的扫描图像中,有气泡、分层的地方会发生相位反转,在图像中用红色来标识。由于缺陷的灰度值相等,故本系统中采用改良的区域标记算法[1-4]对各缺陷进行标记,将缺陷(即红色像素)视为物体。该方法对图像进行充分处理,可快速标记出图像中所有目标物体。标记算法的流程图如图2所示。
算法步骤描述:
(1)从左到右,从上到下逐个像素扫描。
(2)若当前点为首行像素,且为物体,判断左前点是否为物体,若是,当前点标记与左前点相同的值;否则,数标加1,此数组值为1;
(3)若当前点为首列像素,且为物体,判断右上是否为物体,若是,当前点标记与左前点相同的值;否则,判断正上是否为物体,若是,当前点标记与正上相同的值;否则,数标加1,此数组值为1;
图2 缺陷标记流程图
(4)若当前点为最后一列像素,且为物体,判断正上是否为物体,若是,当前点标记与正上点相同的值;否则,判断左上是否为物体,若是,当前点标记与左上相同的值;否则,判断左前是否为物体,若是,当前点标记与左前相同的值;否则,数标加1,此数组值为1;
(5)若当前点不是上述点,是图像中间像素(包含最后一行),且为物体,则依次判断该像素点的右上点、正上、左上及左前是否为该物体,优先级依次降低的顺序为右上点、正上点、左上点及左前点。若右上点为物体,则当前点标记和右上点相同的值;否则,判断正上是否为物体,若是,当前点标记与正上点相同的值;否则,判断左上是否为物体,若是,当前点标记与左上相同的值;否则,判断左前是否为物体,若是,当前点标记与左前相同的值;否则,数标加1,此数组值为1;若该点的左上、正上、右上及左前点共4个点的像素值都不为物体,则把数标加1,且此数组值为1,作为另一物体的区别。
(6)若该点的左上、正上、右上及左前点共4个点的像素值都不为物体,则把数标加1,且此数组值为1,作为另一物体的区别。
(7)其中有一特别调整:当前点的右上点及左前点为不同标记,正上点和左上点不为物体,则当前点标记同右上点置相同的值。此时,扫描当前像素点之前的图像,把所有同当前点标记相同的像素值都标记成与右上点同样的值。有多少个像素点转换,则统计右上点像素值(标记值)的数组就加多少。而把统计左前点的像素值(标记值)的数组置0。
在超声扫描检测中,非常关注的问题之一是缺陷的大小。当缺陷的尺寸超出一定的值,即认定为缺陷。故在本系统中,主要统计缺陷的面积和最大尺寸。
在标记图像中,相互连接的物体像素集合组成一个区域。对图像内每个像素进行标记操作,将物体的像素值改为标号,求各种标号的总和,即求得不同区域的面积数目。具体步骤如下:
(1)遍历标记图像,设置一维数组,维数为标记物体的个数;
(2)循环取得各点像素值,像素值就是标号;
(3)根据不同的标号,加到对应的数组;
(4)得到各连通区域的面积。
在标记图像中,找到各种标号的出发点,然后将其余带此标号的像素的坐标值和出发点的坐标值比较,可得到此标号区域x、y坐标的最大和最小值。由此可计算出最大的长和宽。实现步骤如下:
(1)在标记图像内,根据不同的像素值,即不同的连通区域,循环取得各点像素值的标号,搜索一个出发点,记录其坐标值;
(2)遍历标记图像,将相同标记的像素坐标值和出发点坐标值进行比较,最后可得到此连通区域坐标的最大最小值;
(3)根据不同的像素值,依次执行第(2)、(3)步;
(4)根据每个连通区域的最大最小值,计算连通区域的最大长度和宽度。
将得到的结果,每个连通区域的面积和最大的长和宽,与预先设定的值进行比较。具体如下:
(1)如果:实际值>预先设定值,只要满足一个条件,即记录为缺陷;否则:实际值<预先设定值,忽略;
(2)输出此器件是否为合格品。
为验证本系统的效果,本文进行了大量实验。结果表明,本系统在毫秒级的时间内能够快速处理图像,准确率99%,重复率100%,真实反映了检测器件的合格状况。图3、图4、图5、图6为本文从大量实验中随机挑选的一组结果图。
图3 原始图像
图4 处理结果1
图5 处理结果2
图6 处理结果3
说明:图4中设置总阈值为10(即总的缺陷面积阈值为10),单个阈值为2(即单个缺陷面积阈值为2),下部分表格中的显示结果为所有缺陷信息;图5显示结果为满足条件(即单个缺陷的面积大于单个阈值2)的缺陷信息,点击“处理”按钮即可执行,点击“恢复”按钮即可恢复为图4所示的表格;图6显示结果为判断结果,整个面积、单个面积只要有一个超出设定范围,即表示此器件不合格,点击“判别分析”按钮即可执行。
本文描述的缺陷自动分类系统,可在毫秒级时间内对图像进行自动分析、分类,减少了缺陷分析时间,以及主观分类错误,结果更加精确,重复性更高。
[1]杨淑莹.VC++图像处理程序设计[M].北京:清华大学出版社、北京交通大学出版社,2003.163-167.
[2]章德伟,蒲晓蓉,章毅.基于Max-tree的连通区域标记新算法[J].计算机应用研究,2006(8):168-170.
[3]张桂林.基于跑长码的连通区域标记算法[J].华中理工大学学报,1994,22(5):11-14.
[4]王铁生,施鹏飞.二值图像的快速标记方法及其应用[J].微型电脑应用,2004,20(6):6-8.