-
-
摘要:自动视觉检测系统利用了数字图像处理技术,是一种高速、准确、无损的方法,目前得到了广泛的应用。概述了这一领域的研究成果,并根据多层薄膜电路的实际情况,提出了一种参考和非参考比较相结合的故障检测与分类方法,并以此为基础构造了一个微机实时检测系统。
关键词: 薄膜电路 参考比较 非参考比较
电路制造技术正朝着将更多的集成电路安装在一块PCB电路板上的方向发展,从而使PCB的尺寸增大、层数增多;同时,电路板本身也变得越来越小、越来越复杂。由于这些原因,生产及更换它们的成本也越来越高。所以,需要相应的质量控制手段,使每一层上的线路都能够在上一层铺设之前被检查。在这里,自动视觉检测能够以相对较小的代价发现许多致命的错误,因而发展非常迅速。
1 电路板故障检测研究的发展状况
在PCB 及其它相近的线路板如薄膜电路的故障检测方面,人们进行了大量的研究工作,并形成了一些应用系统。它们多是基于图像处理的自动视觉检测,其硬件部分包括:机械装置、照明系统、摄像头、图像采集卡、图像处理器、计算机等;软件部分:主要是进行控制和图像的处理。系统工作流程如图1所示。
近年来,出现了很多电路检测算法,在M,Madhav和F.Ercal发表的综述[1]中,它们大致可分为3类:参考算法、非参考算法以及混合算法。
参考算法使用待测电路板的全部信息,一般是先将标准图像(可以是无故障的图像或是设计时的CAD版图)与待测图像进行比较,也称为逐象素比较。其中最直接的是将两幅图像进行XOR运算,这是速度最快的一种方法,并且易于用硬件实现。但是它也有一些缺点,例如对光照和定位的要求比较高、所需的存储空间较大、难以分类等等。
非参考算法并不需要所谓标准图像的信息,它是基于一定的设计规则的。例如,可以假设正常的线路都具有规则的几何形状,而存在故障则意味着其外形不规则。另外还可以根据线路的特征如最大和最小线宽、最大和最小焊盘半径来进行判断。常用的方法是图像通过编码来获得边缘信息,例如使用链码或游程编码。对于非参考方法而言,它主要的优点是提高了运算速度,降低了存储空间;但是,它的缺点也是显而易见的,即只能检测那些违反设计规则的故障,并且要求有一个标准的导线类型。对于某些不违反规则的情况,例如和正常线路形状相似的短路线,可能就无法判断。非参考方法在检测全局性的故障方面也存在一些缺欠。而参考方法则容易漏掉一些微小的错误。图2表示了它们和故障尺寸的关系。所谓的混合方法综合了参考和非参考方法的优点,以求达到更高的检测率。
Mandeville[2]提出了一种所谓的通用方法,它的基本思路是通过腐蚀、膨胀、细化等图像变换手段生成骨架图像,从中可以方便地检测出电路特征,从而形成特征表。将标准与待测图像的特征表进行比较,其中如有冲突的元素,那么就隐含着故障。实际上,在这种方法中需要进行大量的形态学运算,而且,对于每一种故障类型,都定义了自己的一种运算方法,所以计算量很大,难以达到实时要求。另外,还有的方法将整个电路划分为许多小的子模块,然后对相应位置的模块进行匹配,但它们的缺点是对每一种电路版图都需要进行学习,可移植性不好[3]。
2 针对薄膜电路提出的检测算法
所谓薄膜集成电路即是采用真空沉积技术,也可辅以其它沉积技术形成膜的集成电路[4]。薄膜电路检测的方法与一般PCB相似。但是,它也有自己的特点(如图3)。由于它的尺寸较小,只能通过显微镜分区域放大后由摄像头成像,因此对于检测区域的精确定位就显得非常重要。由于电路的电气特性与尺寸密切参考,所以,线条的尺寸不是固定的。其中较窄一些的称为金属化线条,较宽一些的称为金属化键合区。由于线条尺寸存在多样性,故而利用简单的非参考方法,试图通过对整幅图像的进行形态学变换来提取特征的非参考方法就很难实现。而且,在检测后还要求对故障进行分类,因此在这里我们采用了参考比较和非参考比较相结合、以参考比较为主的方法。通过参考比较对故障进行分类和判别,而使用非参考比较在较小的缺口和突起等故障上,作为对前者的补充。
首先,对采集的图像进行预处理,包括消除噪声,使用逆滤波对亮度不均匀进行处理。这里,逆滤波是通过用曲线对摄像机的传输函数进行拟合实现的。对于一个m次多项式:
我们采用二次多项式就可以取得很好的效果。然后去除各种干扰,二值化形成待测图像I。我们事先已经存储了标准二值图像S,它是没有故障的。设灰度1代表线条区(金属区),灰度0代表非线条区(基片区),下同。则比较后的图像为C(i,j)=I(i,j)$S(i,j)
操作符$定义如下:
C(i,j)包含了待测图像和标准图像中的所有差别。为了进行下一步的分类和判别,我们对0中的目标进行边界跟踪,这里使用的是Freeman的8方向链码,得到对其形状的链码表示Chain(i).0≤i≤k,k为缺陷数目)。 对Chain(i)进行分析,则对每一待判缺陷都可以得到一组描述符D(i):
(up,down,left,right,area,track_border,substrate_border,
type)。
up,down,left,right:缺陷区域的最上,下,左,右点。
area:缺陷区域的面积,它可以利用链码数据position[i]来计算:
track_border:缺陷区域边界与金属区域相交的线段。
substrate_border:缺陷区域边界与基片区域相交的线段数。
type:缺陷的种类。
对缺陷进行分类的依据就是它们与金属区和基片区共有的边界数目。对于短路和断路,各与金属区和基片区有两段相交;对于缺口和突起,则各有一段相交;对于洞孔,它的边界则全部是金属区。track_border和substrate_border可以由遍历缺陷边界链码得到。
在此基础上,考虑到模式类别有限且分类器的级数不宜过多,我们依据缺陷的几何形态,构造了一个分类器。
分类按下述步骤进行:
1:对于线路缺陷内的点,若对应的C(i,j)=1则划至缺口类,令type=1;对应的C(i,j)=2则划至多余物类,令type=2。
2:若type=1,则转3;若type=2,则转4。
3:若track_border=1,substrate_border=1,则type=1划痕),转5;若track_border=1,substrate_border=0,则type=2(洞孔),转5。
4:若track_border=2,substrate_border=2,则type=3断路);其它情况,type=8,转5。
5:结束。
参照分类结果,我们对缺陷进行判别,一般认为,如果缺陷在线宽方向的尺寸超过线宽的1/3,则认为其构成了故障。由于电路线条宽度各不相同,因此对于每一个缺陷,都需要根据它们对应位置处的线条宽度作出相应的判断,如果相对标准图像有线条错位的情况,判别的准则与上面是相同的。另外,如果缺陷的面积大于某一阈值,我们也认为发生了故障。在某些情况下,相邻的缺陷类型单独不构成故障,但是它们结合在一起,则可能对线路的特性造成比较大的影响,如图4所示。因此对于各个故障在单独判别后还需要结合其位置作出相应判别。
以上基于参考比较,完成了对故障的分类和判别。但遇到微小的故障,如小的缺口和突起或线条位置有错开等情况时,用这种方法容易产生遗漏,所以我们使用非参考方法作为参考方法在分类和判别时的补充。它通过对待查电路板的边界进行跟踪,使用可变长度的滤波器来检测边界上的高频成分,如图5所示。A是边界上两点间直线距离,而B是两点间边界点数。当B>K*A时,存在不规则边界;而A≈B,意味着边界是近似直线的。West.C等在它们的工作中,采用了固定长度,这样实际上限制了可被发现的故障尺寸[5],因此这里我们使B为可变长度。开始时,B取值较小,当遇到目标后,将B的值逐点增加,并计算此时的A,直至遇到规则边界为止,这样就可以将缺陷范围都包含在内。为了去除边界噪声干扰,需要事先对边界链码进行平滑。通过实验,我们取K=1.5,可以检测出各种尺寸的不规则边界。对于以上的结果,为了判别它是否构成故障,同样也需要进行线宽的比较。
3 系统实现
利用上述的检测算法,我们实现了一个基于微机的薄膜电路故障检测系统。由于薄膜电路是分层的,因此在每一层的生产工序完成之后,都必须对该层进行检测,然后再生产上一层。电路板的面积很小,因此必须通过显微镜成像。为保证一定的分辨率,我们将全电路板分为8×8的区域,用步进电机控制显微镜和摄像机的移动,实现精确的定位,并用图像匹配对定位进行调整,定位误差可以小到1个象素。摄入的图像经图像采集卡数字化后送入计算机。由于显微镜的光场亮度不匀,因此首先进行亮度校正,用曲线拟合亮度衰减,生成畸变矩阵进行校正。接着对图像进行消噪和增强边缘的处理。由于透光性的原因,下层会对上层构成干扰,所以采用多目标分割方法,依据校正后的直方图,将当前检测层提取出来。对于上下层线条交叉处的干扰,则参考下层线路延长线的边缘特性加以去除。另外,还需从标准图像中提取出通孔和键合区的位置以供判别时参考。最后,将图像分割的结果与标准图像进行参考比较和非参考比较,以进行后继的分类和判别。图像处理和检测算法都是通过软件实现的,通过对算法进行优化,大大提高了运算速度。经过上述处理后,对于一幅512×512×8bit的灰度图像,可以在1s内完成检测程序,从而可以满足检测中实时要求。
1楼
0
0
回复
总共 , 当前 /