在对微/纳机电系统(micro/nano electro me-chanical system, MEMS/NEMS)结构的特性参数进行测量和MEMS/NEMS可靠性进行测试的过程中,常要求对结构表面的三维轮廓、粗糙度、微小的位移和变形等物理量做精密测量[1-3]。目前显微干涉法凭借其高精度、高垂直分辨率、测量简单快捷、无损等优点,成为这类测量中最常用的手段之一[3-5]。
在使用相移显微干涉法对MEMS/NEMS结构表面进行测量时,先通过驱动电路驱动参考镜产生次波长量级的光程变化,即可由电荷耦合器件摄像机(CCD)和图像采集卡获得一组时间序列上的相关干涉图像,然后由干涉图的光强信息解算出被测表面的相位值,提取包裹的相位信息,最后通过一定的相位解包裹算法得到被测表面真实的相位信息和相应的表面高度,从而得到被测结构表面的3-D轮廓[5-6]。由此可见,相位解包裹,也就是相位展开是微结构表面3-D轮廓测量中至关重要的一步。用于相位展开的方法很多,但通常都具有很强的针对性和局限性。而微纳结构的表面轮廓复杂,并且经常含有孔洞、沟槽、突起等特征形状,传统的解包裹算法不能绕过这些非理想数据区域,并且导致的误差会在被测面内传播,以致影响整个相位展开的结果。这里提出一种基于模板的广度优先搜索的相位解包裹方法,它通过模板的使用来剔除对相位展开有影响的非理想数据区域,使解包裹算法能够绕过这些区域进行,从而得到比较可靠的结果。
1 基于模板的相位解包裹
1.1 相位解包裹
通过相位提取算法,包含在光强中的代表被测物表面高度信息的相位值被提取出来。但在实际测量中,由于物体表面高度的相位变化通常都远远超出一个波长周期。因此,各种相位提取算法计算出来的相位值均是以反正切函数的形式表示,即得到的相位分布被截断成为多个2π范围内变化的区域,形成包裹相位。为最终得到被测表面真实的高度信息,必须将多个截断相位的区域拼接展开成连续相位,这个过程称为相位解包裹,或相位展开[6]。干涉测量中要求相邻两像素点的相位差小于2π,否则无法恢复其真实相位。当满足这个要求时,真实相位的差值则与包裹相位间差值再进行包裹运算W2的结果相等,即:
Δφ(n) = W2{ΔW1[φ(n)]} (n =1,2,…,N) (1)
式中Δ为差值运算,φ(n)是第n个像素点对应其包裹相位W1[φ(n)]的真实相位,N为像素点数。因此,通过对包裹的反正切函数主值差进行求和运算即可实现相位展开[7]:
φ(m) =φ(0)+∑mn=1W2{ΔW1[φ(n)]}(2)
MEMS/NEMS表面3-D轮廓测量针对的通常都是连续变化的结构表面,符合相邻像素点相位差小于2π的要求,因此依据式(2)所示的原理即可逐点实现相位展开。
1.2 基于模板的相位解包裹
随着相位展开技术的深入发展,相位解包裹算法层出不穷[7-8]。如果仅仅应用于简单区域(未展开相位图中不存在非理想数据点)的相位展开,使用普通的基于深度的优先搜索算法即可达到目的。它通过使用阈值来判断2π相位跳变,然后建立补偿函数,最后将未展开相图与补偿函数相加,得到展开后的相位图。此算法非常简单快捷,图1是应用于一个简单区域的相位展开结果,左边为被测表面的包裹相位图,右边为其相位解包裹后的表面轮廓图。
图1 使用传统相位解包裹算法对简单区域进行相位展开的结果
然而, MEMS/NEMS结构经常具有比较复杂的轮廓,含有孔洞、沟槽、突起等特征形状,被测表面也可能存在缺陷,例如表面镀膜脱落或者粘附上灰尘等,再加上阴影和噪声等的影响,用普通的相位展开方法就可能引入误差,并且误差会传播到在当前像素点之后展开的所有点。图2为使用传统相位解包裹算法对含有非理想数据点的圆形薄膜进行相位展开的结果,左边为薄膜表面的包裹相位图,右边为其相位解包裹后的表面轮廓图。
图2 使用传统相位解包裹算法对含有非理想数据区域进行相位展开的结果
为了能在相位展开过程中绕过非相容点(包裹相位图中的非数据点和进行相位展开运算时可能产生误差的非理想数据点的总称),引入基于模板的广度优先搜索算法,它是一种逐点展开的生长算法。在相位展开运算之前,先用模板将非相容点标记出来。相位展开过程是从任意的一个相容点开始,然后均匀地向其邻域弥散生长,得出其邻域的展开相位值,再一周一周扩大,直至整幅图像。在其遍历过程中,遇到由模板标记的非相容点时,就暂时绕过而不做处理。用此方法处理的像素点都是相容点,即好的数据点,因而能够大幅度地提高相位展开的质量。
2 标记模板的方法及实验结果
用以标记非相容点的模板可以通过多种途径获得。根据不同应用的需要,可以选择实现不同功能的不同复杂程度和不同灵敏程度的模板标记方法。本文提出三种不同类型的模板标记方法,用以在不同的应用需求下选择使用:1、子区域相容性判断法;2、边缘检测法;3、干涉图灰度差值提取法。对应于不同标记模板的方法,我们给出了它们应用于相位解包裹算法中的具体应用实例,各方法均由MATLAB编程实现。
2.1 子区域相容性判断法
2.1.1 方 法
这种方法在包裹相位图的基础上进行判断。判断一个像素点是否相容,需要利用其周围的另外三个像素点的信息。这四个像素点组成一个2×2的子区域(图3)。按顺时针方向计算这四个像素点两两之间的灰度值之差,得到Δ1、Δ2、Δ3、Δ4;然后确定一个阈值T(如T=π),该阈值就是用来判断相位条纹跳变边界的那个“固定阈值”,并由此阈值判断Δk,(k=1,2,3,4):如果|Δk|》T,即可认为路径穿过了跳变的界线,此时,若Δk》0,则Δk=Δk-2π,若Δk《0,则Δk=Δk+2π,目的是将Δk限定在-π到π之间;最后求ΣΔk,再次作判断:如果ΣΔk=0,则该点定义为相容点,如果ΣΔk≠0,则该点定义为非相容点[6]。
图3 标记2×2区域相容性示意图
2.1.2 实验结果
图4是一幅通过模拟得到的包裹相位图(左)及使用子区域相容性判断法得到的模板图(右)。包裹相位图中的黑色小方块是加入的非相容区域,从模板图可以看出,使用子区域相容性判断法可以将此非相容区域很好地提取出来,然而,它在识别出噪声点的同时,一部分相位跳变边缘也被识别成了非相容点,以至于相位解包裹之后一些原本好的数据点也被绕过,见图5.
图4 模拟的包裹相位图(左)及使用子区域相容性判断法得到的模板图(右)
图5 使用子区域相容性判断法获取模板得到的相位展开结果
子区域相容性判断法理论上可行,但实验结果证明其不太适合用于实际应用,特别是噪声多,结构复杂的测试。但由于此方法运算速度非常快,而且对噪声、断点等灵敏度很高,所以当图像区域小,噪声点远离相位跳变边缘时,仍可以考虑使用。
2.2 边缘检测法
2.2.1 方 法
此方法在由干涉图合成的亮场图像上运用边缘检测算法来提取非相容区域的边缘。在五步相移干涉测量中,由得到的五幅干涉图像可以合成为被测表面的亮场图像[9],公式为:
式中的Ii为第i幅干涉图中一个像素点的灰度值(i=1,2,3,4,5),Ibf为对应像素点亮场图像的灰度值。得到整个待测区域的亮场图像之后,接下来选择合适的边缘检测算法得到非相容区域模板。应用于边缘检测的算子有很多,最常用的有Sobel, Prewitt, Roberts, Canny和Laplacian ofGaussian(Log)等几种。由于它们使用不同的梯度算子和检测法则来确定边缘区域,因此具有不同的特点.Sobel算子和Prewitt算子类似,对噪声有一定的抑制作用,但容易检测出伪边缘并丢失有用的边缘信息;Roberts算子的检测定位精度比较高,但对噪声敏感;Canny算子的最优化逼近算子和双阈值的使用使其能有效抑制噪声,并能精确确定边缘位置;Laplacian of Gaussian(LoG)算子选择滤波的尺度参数是关键,小尺度的LoG算子可以得到比较准确的边缘定位,但对噪声较为敏感,大尺度的LoG算子滤波效果较好,但过度平滑图像,容易丢失如角点这样的边缘信息[10-11]。
2.2.2 实验结果
图6为图2所示的圆形薄膜部分的一幅干涉图像(左)和由五幅干涉图像合成的亮场图像(右)。使用MATLAB中的edge函数,可以很方便地得到使用不同边缘检测算法得到的边缘提取结果,如图7(阈值均为缺省设置)。
图6 圆形膜部分的干涉图及亮场图像
图7 使用不同算法得到的边缘检测结果
从上图结果可以看出,只有使用Canny算子的结果得到了非理想数据区完整闭合的边缘。图8是对Canny算法的阈值进行改变得到的结果。可见,当阈值设定为(0.3,0.6)时可得到所需剔除区域的完整边缘。将相应的标记有非相容点边缘的模板代入到生长法程序中,得到解包裹结果如图9.
图8 更改Canny算法的阈值得到的结果
图9 使用边缘检测法获取模板得到的相位展开结果
使用边缘检测来获取相位解包裹模板的方法使用方便,并且可以根据具体应用选择合适的阈值来进行灵活控制,比较适合应用于具有孔洞等非相容区域的被测表面的相位解包裹运算中。然而,由于干涉测量中噪声的影响,合成的亮场图像本身已含有误差,应用于大范围的比较复杂的表面时这种方法则较难在控制噪声和精确定位边缘之间找到平衡。
2.3 干涉图灰度差值提取法
2.3.1 方 法
这种方法在原始干涉图的基础上得到相位解包裹的模板。在五步相移干涉测量中,驱动电路驱动压电陶瓷使得参考镜步进移动从而产生步进相移,由此得到时间序列上的五幅干涉图像。参考光路的微小变化使得光程差发生相应变化,致使各幅干涉图上被测表面的条纹产生相对位移。而由于非数据区没有条纹,或者非相容区域的条纹信息不够理想,所以可以根据各幅干涉图中对应像素点灰度的差值来判断哪些是相容区域,从而将非相容区域提取出来,得到相位解包裹的模板。具体实施的方式为:先将各幅干涉图对应像素的灰度两两相减,得到它们之间的灰度差值,然后设定一个合适的阈值,当所有的灰度差值都小于这个阈值时,此像素点即被判定为没有发生干涉条纹相对变化的非相容点。
2.3.2 实验结果
如果想要对如图10干涉图所示的圆形薄膜进行全视场范围的解包裹运算,由于其轮廓较为复杂,并包含有相当部分的非数据区和非理想数据区,所以使用干涉图灰度差值提取的方法来获得模板。设定合适的阈值得到的模板结果如图11,图中白色区域为较为理想的条纹区域,黑色区域为解包裹运算中需要绕过的区域。图12是将图11所示的模板以及包裹图像代入
图10 圆形膜五幅干涉图中的一幅(1024x1528像素)
图11 干涉图灰度差值提取法获得的解包裹模板图
图12 使用干涉图灰度差提取法获取模板得到的相位展开结果
生长算法得到的相位解包裹后并以圆形膜四周的基底区域作为基准面调平后的圆形膜表面3-D轮廓图像。可以看出,使用干涉图灰度差值提取法获得模板并使用生长算法在全视场范围内进行相位展开获得干涉图灰度差值提取法的计算相对较为复杂,但是由于它在最原始的干涉图像信息上进行判断,所以成功率高,也可以通过改变阈值灵活地控制模板的灵敏度,并且使用范围很广,对于复杂轮廓、沟槽、噪声等提取都适用。
3 结 语
具体应用实例的实验数据证明,基于模板的广度优先搜索相位解包裹方法可以根据不同应用的需要标记模板,从而绕过非相容区域准确地实现相位展开。如果有必要,可以根据被绕过区域周围像素点的灰度信息,使用滤波、插值等方法回添这些点的展开相位数据。此方法能够克服普通相位展开方法的局限性,并因其简便、灵活、准确的特点而能被广泛应用于EMS/NEMS结构较为复杂的轮廓表面测量的相位展开。其不足在于不能应用于非连续表面轮廓的测量.