基于数字条纹投影的在线深度获取技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 基于数字条纹投影的深度获取基本原理

傅里叶变换轮廓术、相位测量轮廓术、空间载波相移技术,均需主动投影正弦条纹图在被测物体表面,通过分析变形条纹图得到物体的相位信息。若采用传统的物理光栅,不仅对光栅片的制作工艺有很高的要求,而且对光栅投影装置的控制系统有一定的要求,尤其在相位测量轮廓术中,相移量的严格控制增加了系统搭建的成本。近年来,数字技术的飞速发展,传统的物理光栅被数字光学投影设备(LCD、DLP投影仪)所取代。计算机编码生成深度获取所需的条纹图像,经数字光投影仪直接投影于被测物体表面用于相位计算,省去了制作实物光栅的繁杂过程,简化了投影系统的复杂程度,同时避免了相移误差,使基于条纹投影的深度获取装置更具普适性。与此同时,借助数字条纹易于编码和投影的优势,“频分复用”思想被引入到基于条纹投影的深度获取技术中,产生了基于正交复合条纹投影的相位测量轮廓术[80~84]。该方法可以有效减少条纹投影帧数,提高深度重建的实时性,丰富了基于数字条纹投影的深度获取技术的内容。

传统的物理光栅被数字光投影仪(DLP/LCD)取代后,深度系统更为简易,基于数字条纹投影的深度获取系统框图如图1-4所示。其深度重建过程可分为条纹图的产生、相位计算、相位展开、深度计算等。

图1-4 基于数字条纹投影的深度获取系统框图

1.3.1 面结构光的产生

为了从变形光场中解调物体的深度信息,需要投影一特定光强分布的面结构光在被测物体表面。通常采用光强分布呈正弦规律变化的条纹图像作为面结构光,由计算机编码的正弦条纹图的透过率可表示为

其中,表示图像坐标系,a、b为常数,f 为条纹频率。

将该数字条纹图像经投影仪投影到被测物体表面后,由CCD获取的受物体深度调制的变形条纹图可表示为

式中,(x,y)表示摄像系统坐标系,R(x,y)表示物体表面反射率分布,A(x,y)为背景光,B(x,y)为条纹的对比度,表示物体表面变形条纹的相位分布,f0为采集到的条纹图基频,为物体深度产生的相位调制。

当物体的深度h(x,y)=0,即条纹图投影于参考面时,由CCD采集到的受参考面调制的变形条纹图可表示为

其中,表示参考面条纹的相位分布,为参考面产生的相位调制。

求解物体相对于参考面引起的条纹相位变化,根据系统光路建立相位和物体深度间的关系,就可计算出物体各点的深度。

1.3.2 相位计算

通过分析采集到的变形条纹图,获取相位分布的方法有很多。这里主要介绍两种解相方法:相位测量轮廓术(PMP)和傅里叶变换轮廓术(FTP)。

PMP也称为相移测量轮廓术(PSP),用多帧具有一定相移的变形正弦条纹图来计算物体的相位。用数字条纹代替传统的物理光栅后,原来带动物理光栅移动、改变投影条纹相位的相移装置就可省去,直接由计算机生成多帧相移数字条纹图,依次投影于被测物体表面,CCD同步采集变形条纹图即可。假设计算机生成的第n帧正弦条纹图相对第一帧条纹图的相移量为δn,此时由 CCD 同步获取的变形条纹图相移量也为δn,故采集到的第n帧变形条纹图可表示为

由式(1-4)可知,使用三帧或三帧以上的变形条纹图联立方程即可解出物体表面变形条纹的相位分布。使用条纹图的帧数不同及解方程的方法不同,计算相位的表达式也不同[85~89]。这里以满周期等相移算法为例介绍PMP的解相过程[90,91]。设参与解相的条纹图的总帧数为N,则第n帧正弦条纹图相对第一帧条纹图的相移量为

由这N帧变形条纹图,利用三角函数的正交性可以计算物体表面变形条纹的相位分布,其表达式如下[90]

投影同样的N帧正弦条纹图于参考面,根据式(1-6)可获得参考面上条纹的相位分布,即可算得物体深度相对于参考面引起的条纹相位变化

FTP 需投影一帧正弦数字条纹图,用傅里叶分析的方法从变形条纹图中解调物体深度引起的相位变化。对式(1-2)进行傅里叶变换,考虑到数字光投影仪、CCD的非线性效应,频谱分布中有高次谐波出现,对应变形条纹图的频谱分布如图1-5所示。选择合适的带通滤波器,滤出图中阴影所示的基频分量,再进行逆傅里叶变换可得

图1-5 变形条纹图的空间频谱

对参考面上CCD获得的光强分布式(1-3)进行同样的运算得到

故由物体深度引起的相位变化为

其中,lm{}表示取复数的虚部,*表示共轭运算。

1.3.3 相位展开

由式(1-6)或式(1-9)获得的相位均被截断在反三角函数的主值区间[-π,π]内,是不连续的值。而与物体深度分布所对应的原始相位分布是一个连续的值,为了将截断相位恢复成连续相位,需要进行相位展开(Phase Unwraping)[92~100]。在物体表面不存在面形突变及反射率较高的条件下,相位展开的路径可以沿着相位矩阵的任意方向进行。最简单的展开路径是按行(或列)进行展开。展开的具体方法是:在展开路径上计算相邻两个像素点的相位差,如果这个差值小于-π,则后一个像素点的相位值应该加上2π;如果这个差值大于π,则后一个像素点的相位值应该减去2π。下面以一维相位分布为例来具体说明上述相位展开过程。如果用表示一维的截断相位分布,其中,j表示像素点的序号,N为像素点总数,用表示相位展开后的连续相位分布,相位展开过程可以表示如下

由于实际计算得到的截断相位数据是一个跟像素坐标有关的二维阵列,所以相位展开算法应该沿二维方向进行。因此将二维阵列按某一行(或列)进行展开后,还要以该行(或列)展开后的相位为基准,再沿每一列(或行)进行相位展开,从而得到连续相位分布。上述相位展开过程实际上已经包含了这样的一个假定:任何两个相邻像素点之间的非截断相位变化小于π,即每个条纹周期最少应该有两个像素点(即两个抽样点)满足抽样定理的要求。满足这个条件后,相位展开过程可以沿着任意路径进行。

当涉及复杂物体的深度重建时,物体表面的较大起伏变化将导致采集到的变形条纹图的分布较为复杂,如存在局部阴影或条纹截断,这样在变形条纹图的某一区域就不能满足抽样定理的要求,即相邻像素点之间的相位变化大于π,对于这样的非完备条纹图像,相位展开还简单地按行(或列)的路径进行,就会导致相位展开错误。

在对非完备图像的相位进行展开时,出现的展开错误主要表现为:①在展开路径上,相邻像素点间对应的物体深度差大于半个等效波长,导致后一个像素点的连续相位发生错误;②由物体面形变化剧烈区域反射回来的光线比较发散,反射率较低导致计算得到的截断相位的可靠性较低,引起相位展开错误。如何实现非完备条纹图像的顺利展开,一直都是国内外诸多学者研究的难点和热点。选择合理的相位展开路径是实现相位正确展开的关键。下面主要介绍Huntly提出的极点和截断线的概念[92],苏显渝提出的调制度为导向相位展开概念 [93~97]及各类相位展开技术。

极点与截断线 Huntly 指出,根据物面深度分布的性质,对于一个合理的相位分布,当相位展开从任意一点出发并沿着某一闭合路径结束时,起始点和结束点的相位值应该相等。如果起始点和结束点的相位值不相等,则认为展开路径是不合理的。为了尽可能地缩小无效点的范围,突出误差点,选择相邻的4个像素点作为封闭路径。在该封闭回路中,定义一个K值,具体表示为

其中

式中,INT表示取整运算,表示沿着封闭路径方向后一点的截断相位,表示前一点的截断位相。

当K=0时,定义这4个像素点就为正常的相位展开点;当K>0时,定义这4点为正极点;当K<0时,定义这4点为负极点。

截断线通常出现于条纹断裂处,条纹断裂往往由物面深度分布的边界或反射率较低引起。若相位展开的路径穿过了截断线,就会进入不满足抽样定理或相位可靠性较低的区域,会导致相位展开错误,并将这些错误沿着展开路径传播出去。正负极点往往出现在截断线的两侧,选择适当的线将它们连接,即设置截断线的过程,相位展开时避免横穿截断线,可抑制相位展开错误的发生。

但对于物体深度变化比较剧烈的区域,有多个正负极点同时存在,给极点配对设置截断线带来困难,苏显渝提出用调制度作为依据为两个正负极点配对的方法[95],在一定程度上解决了正负极点配对困难的问题。

调制度 相位测量轮廓术中由多帧相移条纹计算调制度,其表达式为[93]

其中,In(x,y)为CCD采集到的N帧变形条纹图,具体表示为

式中,R(x,y)表示反射率分布,A(x,y)为背景光,B(x,y)为条纹的对比度。将式(1-14)代入式(1-13),得到

由式(1-15)可以看出,调制度M(x,y)的分布与反射率R(x,y)和条纹的对比度B(x,y)的乘积成正比。在条纹图对比度变化较小的情况下,相位的精度与R(x,y)成正比,故M(x,y)越大的地方对应区域的截断相位计算的精度越高。对于深度变化剧烈的地方对应的反射率R(x,y)较低,M(x,y)越小,相位展开的可靠性越小。

对调制度设置阈值,二值化后生成一个二元模板,模板上值为1的点为有效点,值为0的点为无效点。相位展开时只展值为1的点,对于无效点,通过插值的方法获得连续相位。对于展开路径,可以根据所求得的调制度分布,从调制度高的区域向调制度低的区域进行,这样可以提高展开的正确性。对调制度阈值的选择非常重要,阈值的选择也是学者们研究的对象。阈值过大,无效点的数目会很大,给后期插值带来困难;阈值过小,降低了被认为是可靠点的可靠性,加大了相位展开时的错误概率。采用迭代的方法来求解最佳阈值的方法就是一种有效的阈值设置方法[97]

菱形算法 菱形相位展开算法的路径如图1-6所示。设点X为相位展开的起点,建立一个列队Q,按照顺时针或逆时针的顺序将X周围的4点A、B、C、D放入队列Q中(图中采用的是逆时针顺序),如果A、B、C、D 4点有无效点,则不放入列队。按照列队中放入点的顺序对各点进行展开,展开后将这个点移出列队,并标记为已展开点。再以已展开点为起点,将其周围4点中未展开的有效点放入列队继续展开。假如首先参与相位展开的点为A点,将其展开后移出列队,再依次判断其周围未展开的E、F、G、X 4点,假设F点处二元模板上的值为零,则在列队Q中放入E、G两点,再依次判断B点周围F、H、I、X 4点中未展开的有效点,依此类推,直到列队Q为空。这样的展开路径,在二维相位平面上被展开的点看起来是以菱形的形状向外扩展,故形象地称为菱形相位展开算法,这种方法的优点是展开速度快,但出现展开误差扩散的概率大。

图1-6 菱形相位展开算法的路径

洪水算法 洪水相位展开算法与菱形相位展开的区别在于在对X周围的A、B、C、D 4点(假设这4点全为有效点)放入列队Q进行相位展开时,首先要根据这4点处调制度的值进行排序,对调制度值大的点先进行展开,展开后移出列队,同时将其周围4点中未展开的有效点放入列队,对新队列中的点按照调制度再进行排序,对调制度最高的点进行相位展开,依此类推,直到对所有的点完成相位展开。该方法的优点在于展开路径更为合理,可以在一定程度上抑制展开错误的累积扩散,但每次展开前对放入列队中的点要重新排序,降低了展开速度。

可靠度导向的相位展开算法 这种方法弥补了洪水算法中每次对列队中的点重新排序浪费时间的不足[95]。该方法的原理是将展开点的可靠度分为多个等级建立查找表,通过查找表将需要展开的点放入一个虚拟列队进行相位展开。展开过程与洪水算法类似,先对可靠度最高等级中的点进行展开,展开后将其移出列队,同时将其周围4点中未展开的有效点按可靠度放入列队的对应位置,逐步展开。由于查找表代替了调制度排序操作,相位展开的速度得到极大的提高。

1.3.4 深度计算

截断相位的计算及相位展开的最终目的是获得物体的深度信息,而从相位到深度的函数关系取决于实际重建过程中光学系统的结构,这里主要讨论远心照明系统和发散照明系统。

远心照明系统 远心照明系统常用于小尺寸物体的深度获取,采用高频率的结构光场照明能够达到很高的深度重建精度,系统的光路图如图1-7所示。平行光的照明方式使采集系统获得的参考面上的正弦条纹是等周期分布的,设其周期为p0,参考平面上的连续相位分布ψ(x)是坐标x的线性函数,可以表示为

图1-7 远心照明系统的光路图

与探测器上Dc点相对应的参考平面上C点的相位可表位为

D c也可用于计算物体表面 D 点的相位,而 D 点的相位又与参考平面 A点的相位相等,即

于是有

设D点处物体的深度DB=h,可得

式中,θ与θ’分别表示投影方向和采集方向与法线的夹角,当采集系统的采集方向垂直于参考平面时,式(1-20)可以进一步简化为

给系统定义一个参数,称为等效波长,其表达式为

一个等效波长正好等于能够引起2π相位变化的深度变化量。在激光干涉计量中,以真实光波波长为尺度来计量微观的变形和不平行;而在结构光照明的深度获取中,以等效波长为尺度来计量宏观的深度信息。正是两个波长尺度存在的巨大差异决定了这两种计量方法应用领域的不同。作为基于结构光照明深度获取方法的一个重要参数,等效波长代表了深度获取系统的深度重建精度。

发散照明系统 对于尺寸较大的被测物体,为了获得较高的照明强度,常采用发散照明系统,光路图如图1-8所示。发散的照明方式使采集系统获得的参考面上的相位分布不再呈线性分布,这种系统比远心照明系统更为复杂,需要建立相位深度映射算法来完成深度的计算。对于图1-8,投影系统的入瞳和出瞳分别为P1和P2;成像系统的入瞳和出瞳分别为I2和I1,且成像系统的光轴垂直于参考面;投影和成像系统的两光轴交于参考面上的O点。将正弦条纹图投影到参考面上时,参考面上沿着x方向的光强可以简单表示为

式中,是x的非线性函数,但参考平面上每一点的连续相位值相对参考点O是唯一且单调变化的,根据系统的结构参数或基准平面的测量,可以建立起参考面坐标与相位分布之间的映射关系。将映射关系以映射表的形式存储于计算机中备用。

图1-8 发散照明系统的光路图

在对物体的深度信息进行重建时,探测器阵列上Dc点可以用于计算物面上D的相位ψD,它的相位又与参考平面A点的相位ψA相等。探测器阵列上的同一点Dc对应于参考面C的相位ψC已经以映射表的形式存储于计算机中,这意味着OC已知。参考面上A点位置可以在映射表中查找与ψA最接近的相位值通过插值实现,说明OA可以由相位值的计算和映射关系求出。CA=OC-OA,由相似三角形P2DI2和ADC的相似关系可以算出物面上D点的深度分布为

式中,d和L是图1-8中深度获取系统的两个参数。在大多数的实际重建过程中,AC≪d,因此上式可以进一步简化为

1.3.5 深度校准

在1.3.4节描述的发散照明系统中,我们假定系统装置满足以下约束条件:

(1)投影系统和成像系统的光轴相交于参考平面上的O点;

(2)投影、成像系统光心的连线平行于参考平面;

(3)成像系统的光轴与参考平面垂直。

实际深度重建过程中要满足这三个条件是十分困难的,同时对系统参数L、d的测量也没有精确的方法。于是Zhou和Su提出了一种普适的相位深度映射关系,只需满足第三个约束条件,将对深度获取装置的要求放宽,该关系表示为[101]

式中,h(x,y)表示物面深度,ψ(x,y)表示物体深度引起的相位变化的连续值。该式不需要对系统参数L、d进行测量,通过测量两个已知深度的平面建立方程即可求得系数a(x,y)和b(x,y)。文永富等人将对系统装置的约束进一步放宽,在成像系统光轴不垂直参考面的情况下,推导出了与式(1-26)形式一样的相位深度映射关系[102]

对具有一定深度的物体进行重建时,尽量使投影系统和采集系统聚焦在参考面上,但对物面处或多或少都会存在一定的离焦,会对重建精度产生影响。此外,投影系统和成像系统不可避免的相差也会给系统引入重建误差,考虑到此类因素对1/h(x,y)、1/ψ(x,y)之间线性关系的影响,李万松、苏显渝等人又对式(1-26)进行了修正[102,103]

式(1-27)中a(x,y)、b(x,y)和c(x,y)的值,可以通过测量三个已知深度的平面解方程组求得,也可通过重建更多已知平面用最小二乘法求得。