一种改进的格雷码相位展开方法

2020-05-22 12:52董营顾琦张庆德
山东青年 2020年3期

董营 顾琦 张庆德

摘 要:格雷码结构光相位展开方法可以扩展相移算法的包裹相位。由于格雷码图像的黑白边界存在过渡区域,使得这些边界位置容易产生错误的展开相位。为此,本文提出了一种改进的格雷码相位展开方法。改进方法在传统的格雷码图案基础上,附加一个新的格雷码图案,并且给出了相应的相位展开方法。在改进的方法中,过渡区域不参与相位计算过程,因此该方法比传统格雷码相位展开方法更为可靠。

关键词:条纹投影;格雷码;相移法;相位展开

1.前言

条纹投影轮廓测量技术是一种非接触式的快速光学测量方法,适用于扫描复杂和不连续的物体三维轮廓。在条纹投影技术中,相移法是获取相位信息的主要方法。然而,相移法会产生周期为2π的不连续相位分布,经过相位展开过程才能得到连续的相位分布图。

格雷码相位展开方法属于时间相位展开方法,是解决相位解包裹问题最简单直接的方法。通过使用二进制编码图案,格雷码解相位方法具有抗干扰的特点。但是格雷码方法也有明显的缺点,最突出的问题是在二值边界区域容易出现周期跳跃相位误差。由于物体表面的散焦和不均匀的反射率,在采集的格雷码图像上,黑白边界区域不是理想的亮度突然转换情况,有过渡区域存在。这将导致在格雷码图案边缘区域确定相位阶数时存在不确定性,容易在边缘过渡区域产生错误的相位阶数以及展开相位误差和相位误差。

针对这个问题,本文提出了一种改进的格雷码相位展开方法。在改进的展开方法中,过渡区域的展开相位值是由传统格雷码图案以及一个附加的格雷码图案决定。改进方法以包裹相位和稳定的格雷码非边缘过渡区域亮度确定过渡区域的相位阶数,可以有效的消除边缘过渡区域存在的相位階数误差和相位误差。

2.传统格雷码方法

2.1 相移法

相移法具有较高的计算效率和精度,被广泛应用于光学测量领域。在相移法中,第i个理想正弦条纹的亮度可以表示为:

(1)

式中,Iα(x,y)是平均亮度,Im(x,y)是亮度调制,φw(x,y)是相位信息,N表示条纹图案数量。相位信息φw(x,y)可以使用最小二乘法计算得到:

(2)

由式(2)求解的相位值是周期为2π的不连续相位,正弦条纹图案和和计算的未展开相位。为了重构连续的物体表面三维轮廓,需要用相位展开方法将不连续的周期相位扩展成连续的绝对相位分布。

2.2 传统格雷码相位展开方法

格雷码方法是一种简单、有效的相位展开方法。一组三位的理想格雷码图案如图1(b)所示。基于这些图案的二值化结果,可以计算出其相应的条纹顺序,如图1(c)所示。如果格雷码图案的周期与相位条纹的周期一致,按照格雷码图案计算的条纹顺序也可以称为相位阶数G(x,y)。根据相位阶数可以将周期相位φw(x,y)展开成连续的绝对相位分布φu(x,y),展开的连续相位分布如图1(d)所示。

(3)

2.3 边界相位误差

在实际采集的格雷码图像中,因为离焦、物体表面不均匀反射等原因,在图像黑白边界处亮度不是突然转变,存在亮度变化过渡区域,如图1(a)所示。过渡区域的亮度在二值化计算时存在不确定性,导致实际的格雷码图案边缘与周期相位的边缘不能完全一致,存在轻微错位,示意图如图1(b)和1(c)所示。在利用式(3)进行相位展开时,这种错位会产生边缘相位误差,如图1(d)所示。

图1.过渡区域和边界相位误差示意图:(a)过渡区域图像(b)周期未展开相位(c)阶梯边缘不准的相位阶数(d)具有边界相位误差的连续相位。

3.改进格雷码相位展开方法

为了消除在过渡区域中出现的相位误差,我们提出了一种改进的格雷码相位展开方法。在这种方法中,格雷码图案过渡区域的相位是基于未展开相位和格雷码图案非过渡区域编码值确定。因此,该方法可以在过渡地区提供可靠的相位阶数。本文所提出的方法主要分为四个步骤:

步骤1:确定像素坐标是否位于过渡区域中

为了提高计算效率,我们需要在采集的格雷码图像中找出位于过渡区域的像素点进行专门的相位展开计算,其他区域的像素点可以采用传统的格雷码方法计算展开相位。由于格雷码图案的周期是与相移法图案周期的整数倍,即理论上,格雷码图案的过渡区域应在未展开相位的相位突变位置附件。因此,本方法认为过渡区域像素点位于未展开相位过渡区域的±π/2的范围内,即(-π≤φw<-π/2)和(π/2≤φw<π)。

步骤2:识别格雷码图像

图2所示的阴影区域是确定的过渡区域,三条实现代表传统的三位格雷码图案的二值化结果。可以看出,三幅传统格雷码图案上的过渡区域分别与未展开相位的相位突变位置一一对应。为了识别过渡区域所对应的格雷码图像,本方法使用了附加的格雷码图案,图2中虚线代表附加的格雷码图案二值化结果。

图2.改进格雷码相位展开方法原理

如果某像素点位于格雷码图案过渡区域中,可以从附加格雷码图案开始依次扫描各格雷码图案在该像素坐标的二值化状态,确定过渡区域属于哪个格雷码图案。在确定过程中,如果我们发现附加格雷码图案在像素位置的二进制状态为真,则可以确定该像素坐标所处的过渡区域属于格雷码图案2。否则,如果附加格雷码图案中的二进制状态为假,并且在格雷码图案2中为真,则过渡区域属于格雷码图案1。依次类推,当格雷码图像1在像素位置的二进制状态为真,在其他格雷码图案上为假时,可以确定过渡区域位于格雷码图像0。

步骤3:识别过渡区域边缘类型

过渡区域的格雷码图案边缘可以分为上升沿和下降沿两种类型,需要进行区分对待。在每个格雷码图案上(除了图案0),上升沿和下降沿是按规则顺序出现的。利用周期更大的格雷码图案可以计算待确定格雷码图案上过渡区域的编码,根据编码值可以确定该过渡区域是上升边缘或者是下降边缘。以图案2上的过渡区域为例,共有四个过渡区域。根据过渡区域在图案0和图案1的二值化结果,可以确定该区域的编码值(分别为0,1,2和3)。由此,可以判断出编码值为0和2的过渡区域为是上升边缘,编码值为1和3的过渡区域为是下降边缘。

步骤4:校正所识别的格雷码图像中的边缘

最后根据上述确定的参数,确定过渡区域的二进制状态。如果像素点位于格雷码图像的过渡区域,其二进制状态将确定为:

根据式(4)和(5)确定的过渡区域二值化结果,过渡区域的上升边缘或者下降边缘与未展开相位的相位突变位置精确对齐。因此,本方法可以得到准确的相位阶数,消除由此引起展开相位误差。

4.实验结果与分析

为了验证本方法的有效性,本文使用泡沫鱼作为被扫描目标。这里分别采用传统格雷码方法和改进的格雷码方法计算泡沫鱼表面轮廓的绝对相位。图3(a)所示为传统格雷码解相方法计算得到的连续相位结果。从该图上可以明显看出,被扫描表面的展开相位不光滑,存在周期性的相位误差。图3(b)为改进格雷码解相方法的计算结果。从图3(b)可以看到,改进的解相方法可以有效地去除边缘相位误差,使被扫描表面的展开相位更加光滑。

图3. 重构表面效果对比:(a)传统格雷码方法结果(b)改进格雷码方法结果

5.结论

为了消除传统格雷码解相方法中存在的条纹边缘相位误差,本文提出了一种改进的格雷码解相方法。该方法基于未展开相位和非边缘区域亮度确定边缘区域的相位阶数,能够在边缘区域给出可靠的相位展开结果。实验结果验证了该方法的可行性和有效性。

(作者单位:山东化工技师学院,山东 枣庄 277500)