利用散斑嵌入条纹和查找表进行三维面形测量 下载: 1080次
1 引言
光学三维测量方法具有非接触、灵活、快捷、高精度和低成本等优势[1-2],在工业自动控制、生物医学、智能监控、动画制作、人机交互等领域[3-5]发挥着越来越重要的作用。常用的光学三维测量方法有条纹投影轮廓术(Fringe Projection Profilometry, FPP)[6-7]、立体视觉[8]、飞行时间法[9]和莫尔轮廓术[10]等。随着数字光投影设备的发展,基于FPP的高速实时三维测量技术得到迅速发展[11-13]。从相位解调方式的角度来说,目前最常用的FPP当属傅里叶变换轮廓术(Fourier Transform Profilometry, FTP)[14-15]和相移轮廓术(Phase Shifting Profilometry, PSP)[16-17]。仅用单帧高频条纹图案分析和恢复相位信息的FTP[18],由于其高效性,特别适用于动态三维测量和重建。与FTP相比,多帧条纹PSP不仅鲁棒性更强,而且可以实现更高分辨率和更高精度的逐像素相位测量,但PSP需要更多时间来获取多个条纹图案。另外,PSP和FTP两种方法均是利用反正切函数计算相位信息,会将相位截断在(-π,π]的不连续区间之内,因此,通常需要采用空间或时间相位展开方法来获得最终重建三维面形的连续相位[19]。为了避免空间相位展开时每个像素与相邻像素之间的错误传递,一种有效的解决方案是利用额外的截断相位周期标记图案信息以进行时间相位展开,但在重建时间有严格要求的情况下这类方法的应用受到限制。因此,综合考虑测量速度和测量精度就显得尤为重要,近年来一些研究人员围绕这个问题进行了相应的研究[20-24]。
具体来说,就是将诸如三角波或散斑之类的附加编码嵌入到原始条纹图案中,以获得用于相位展开的辅助信息,如Tao等[25]将三角波嵌入到相移条纹中以生成复合图案。而散斑作为一种辅助相位展开的编码信号,具有全局唯一性和出色的空间分辨率,备受研究者的青睐。Lohry等[26]为了维持相移条纹的信噪比,将条纹强度幅值调整到适当的值,把散斑信号嵌入到二值离焦条纹图中。Wang等[27]提出了一种不减小条纹强度幅值的周期编码策略,但投影条纹的频率受到图案数量的限制。为了保持条纹的满振幅和高频,Zhang等[28]将散斑信号有效地嵌入到三幅正弦条纹图案中,但此时的散斑易受环境光的影响。因此,Yin等[29]提出了一种基于立体视觉辅助结构光的三维测量系统,其中散斑图案被嵌入到传统的四步相移中,没有牺牲投影条纹的强度幅值,但该系统的辅助相机增加了硬件设备的复杂性和成本。
文献[ 30-31]提出了一种新方法,将条纹级次信息编码到投影条纹的相位域中,相位展开过程可以消除环境光和相机噪声的影响,具有较强的鲁棒性。在此基础上,本文将相移方法与散斑相结合,即将散斑嵌入到四步相移条纹图的相位域中以得到四幅高频复合条纹图,从而提高了投影图案的利用率。特别地,还引入了查找表(Lookup Table,LUT)[32-35]方法以进行快速数据处理,从而保证三维重建的速度和准确性。实验结果证实了所提方法的有效性。
2 测量原理
首先进行实际测量前的准备:向不同高度参考平面投影复合条纹图案,独立计算每个参考平面上的截断相位,得到解调的参考散斑图;利用截断相位及其对应的空间高度直接逐像素地建立截断相位-高度LUT,同时,考虑到散斑相关计算的速度较慢,对参考散斑图的一些强度信息进行了预先存储。在实际测量时,由上述方法同时解算得到被测物体的截断相位和目标散斑图,利用物体截断相位,通过查表得到多个候选高度值,而目标散斑则用于消除这几个候选高度的高度歧义,进而得到唯一的空间高度值。特别地,物体的阴影或边缘区域以及高度陡变区域,不可避免地会出现高度错误,需要针对性进行相应的高度补偿,最终实现被测物体的高质量三维面形重建。
2.1 复合条纹设计
散斑已被广泛用于结构光投影技术中,可以作为结构光直接调制和解调被测面形,也可以作为编码标记信号来辅助条纹进行相位展开。对于传统的时间散斑相关方法而言,散斑直接调制被测面形时,其质量直接影响着测量精确度。而在利用截断相位-直接查表进行高度重建时,本文嵌入的散斑主要是辅助消除高度歧义,故只需要嵌入的散斑图具有局域唯一性,而不是传统的全域唯一性。因此,本文方法所需的嵌入散斑图主要参考文献[
29,36]来进行设计。嵌入的散斑图案S(x,y)如
将生成的上述散斑作为编码信号嵌入到四步相移的正弦条纹的相位域中,得到四幅复合条纹图,其中一幅如
式中:A和B分别表示条纹图的背景强度和调制强度,通常均设为0.5;ϕ(x,y)为测量相位,其包含了物体的三维信息;S(x,y)表示嵌入的散斑图;I1~I4表示条纹强度。
图 1. 生成的投影图案。(a)嵌入的散斑图;(b)复合条纹图之一
Fig. 1. Generated projection patterns. (a) Embedded speckle pattern; (b) one of composite fringe patterns
利用相移算法可以同时解算得到截断相位φ(x,y)和解调散斑S'(x,y):
式中:无穷小量ε是用来避免当I1(x,y)=I4(x,y)和I2(x,y)=I3(x,y)时分子和分母同时为零。通常,当嵌入的散斑S(x,y)通过投影仪和相机的低通滤波模式后,成像记录的散斑已不再是0,1的二值分布;但解调散斑S'(x,y)仍然满足局部唯一性及归一化特性,因此仍可以为系统提供可靠性指导。
2.2 测量前准备
对于本文所提方法,在实际的三维测量之前需要进行两项必要的准备工作。一是有效地建立截断相位-高度LUT,以便后续利用它快速直接地获得候选高度。利用嵌入散斑可以巧妙消除候选高度的歧义性,然而散斑相关运算是一个相对耗时的过程,因此第二项准备工作是预先对参考散斑图的某些信息进行必要的存储,以提升散斑的相关运算速度。
2.2.1 建立截断相位-高度LUT
建立LUT的原理图如
2.2.2 参考散斑准备
图 2. 测量前的准备示意图。(a)系统测量原理图;(b) 计算得到的截断相位和参考散斑;(c)用于建立LUT的不同高度处的截断相位图;(d)建立l上点的截断相位-高度LUT;(e)预先存储不同高度处的参考散斑图
Fig. 2. Schematic of preparation before measurement. (a) Principle diagram of measuring system; (b) calculated wrapped phase and reference speckle; (c) wrapped phase maps at different heights for building LUT; (d) establishment of wrapped phase-to-height LUT of one pixel along light ray l; (e) reference speckle images at different heights for saving in advance
一般而言,散斑的区分度是通过每个子区的自相似性来衡量的。常用的互相关函数是归一化互相关函数(Normalized Cross-Correlation, NCC)和零均值归一化互相关函数(Zero-Normalized Cross-Correlation, ZNCC) [33],分别表示为
式中:f和g分别是目标散斑子区和参考散斑子区;(x',y')是与(x,y)对应的同名像素点;
ZNCC具有稳健的抗噪性能并对照明光的线性变换和偏移不敏感,备受研究者的青睐[34],但它的运算会增加散斑计算量。在实验中,一方面通过测量复杂面形,比较NCC和ZNCC在确定准确高度时的错误率,结果如
图 3. NCC和ZNCC的重建结果及错误率比较。(a)石膏模型和对应的散斑图;用(b) NCC和(c) ZNCC进行三维重建的结果;(d)(e)对应的错误点分布
Fig. 3. Comparison of reconstruction results and error rates between NCC and ZNCC. (a) Plaster model and corresponding speckle pattern; 3D measurement results with (b) NCC and (c) ZNCC; (d) (e) corresponding error point distributions
表 1. 不同情况下散斑相关计算的耗时比
Table 1. Time-consuming ratio of speckle correlation computation in each case
|
对于NCC而言,当仅有10个参考散斑图参与相关运算时,相比所有参考散斑图参与运算,速度快10倍以上。与此同时,考虑到(4)式中的分母项
2.3 高度重建
通过相关计算得到嵌入散斑的信息后,使用LUT重建被测物体的空间高度。当被测物体上点的高度等于参考平面的高度时,两个点所在的位置不仅具有相似的散斑子区域,而且具有相同的截断相位。
为了从这多个候选高度值中唯一确定出点P的真实高度,需要借助散斑进行辅助查找,以解决这种高度歧义问题。
对于本系统而言,如果被测物体表面光滑且面形简单,那么所提方法得到的散斑相关曲线的单峰性较好,最大相关峰的位置容易定位;相反,当测量复杂物体的阴影或边缘区域以及高度陡变区域时,所提方法无法正确辨别少数点的散斑相关峰,会出现散斑多相关峰情况,即便经过查表映射,重建高度结果仍然会出现错误。为了纠正这样的错误,本文采用基于中值滤波的高度补偿算法。比较错误点的邻域中值与相应多个候选高度值的绝对差,选取其中最小值所对应的候选高度作为错误点的正确空间高度,并对应替换原来的错误值,将误差降到最低。
图 4. 高度重建原理示意图。(a)系统测量原理图;(b)对应的截断相位和散斑;(c)在LUT中查找得到多个候选高度值;(d)候选高度对应的参考散斑子区与以点S'p(x,y)为中心的目标散斑子区之间的散斑相关运算
Fig. 4. Principle diagram of height reconstruction. (a) Principle diagram of measuring system; (b) corresponding wrapped phase and speckle; (c) several candidate heights from LUT; (d) speckle correlation computation between reference speckle subareas corresponding to candidate heights and target speckle subarea centered on point S'p(x,y)
3 实验结果
为了验证本文所提方法的有效性,搭建了
3.1 精度评价
为了定量评估系统的测量精度,使用本方法测量了
图 6. 精度评价实验结果。(a)被测标准工件;(b)三维重建结果及工件三个面的高度差;(c)误差分布
Fig. 6. Experimental results of accuracy evaluation. (a) Workpieces to be measured; (b) 3D reconstruction results and height differences among three planes; (c) error distributions
图 7. 单一物体的三维重建结果。(a)石膏模型;(b)对应的截断相位和散斑图;(c)补偿前的三维测量结果和细节发大图;(d)最终的三维测量结果和细节放大图
Fig. 7. 3D reconstruction results of single object. (a) Plaster model; (b) corresponding wrapped phase map and speckle pattern; (c) 3D measurement result before compensation and enlarged detail chart; (d) final 3D measurement result and enlarged detail chart
图 8. 孤立物体的三维重建结果。(a)人像雕塑和时钟模型;(b)对应的截断相位和散斑图;(c)补偿前的三维测量结果和细节发大图;(d)最终的三维测量结果和细节放大图
Fig. 8. 3D reconstruction results of isolated objects. (a) Portrait plaster model and clock model; (b) corresponding wrapped phase maps and speckle patterns; (c) 3D measurement results before compensation and enlarged detail charts; (d) final 3D measurement results and enlarged detail charts
图 9. 动态场景的三维测量。(a) 不同时刻的截断相位;(b)不同时刻的散斑图;(c)对应的三维重建结果
Fig. 9. 3D measurement of dynamic scene. (a) Wrapped phase maps at different moments; (b) speckle patterns at different moments; (c) corresponding 3D reconstruction results
3.2 静态三维测量
为了验证所提方法在静态场景中的可靠性,分别测量了一个较为精细的石膏模型及一个由人像石膏模型和时钟模型构成的孤立场景,如
3.3 动态三维测量
利用所提方法在动态场景中进行实验。测试了
4 结论
提出了一种基于散斑嵌入相移条纹和截断相位-高度LUT的三维面形测量方法,只需投影四幅图就能由相移算法同时得到截断相位和额外的散斑信息。常规编码方法通过减小条纹强度幅值来嵌入辅助信号,这意味着测量精度无法得到保证。所提方法是将散斑嵌入到条纹的相位域中,借助散斑解决查表之后存在的高度歧义性问题,进而获得被测物体的逐像素空间高度,不仅保持了完整的条纹强度幅值和高测量精度,还避免了相位展开过程。另外,通过嵌入散斑和查找表的方式,无需在整个测量范围内对散斑进行匹配,从而提升了相关运算的效率;同时利用LUT精准定位到候选高度,降低了系统对散斑精确匹配的要求。由于散斑相关算法比较耗时,用类似LUT的方式预先存储一些必要的参考散斑图信息,提升了实际测量速度。最后利用基于中值滤波的高度补偿算法修正被测物体的错误重建高度。当然,也可以采用事后插值补缺算法进行错误高度纠正,即当散斑相关运算出现多峰时,先利用合适阈值将当前点判定为数据无效的孔洞,后续采用成熟的孔洞插补算法进行插值补缺,进而得到完整的重建高度分布。实验结果验证了所提方法对复杂、孤立的动/静态场景的测量是高精度的且具有较好的鲁棒性。
实验电脑配置是Intel i5-7400,内存为16GB,所有算法在中央处理器中运行,由于查找、修正和散斑相关处理均为逐像素,重建三维结果的耗时较长,其中大部分时间花费在散斑相关计算上。因此,后续研究将采用高速并行计算的图形处理器来辅助条纹分析和高度重建,进一步提高测量系统的计算速度,以实现高速、实时的三维面形测量。
[3] 陈雨婷, 曹益平, 陈澄, 等. 基于不等占空比二元光栅的相位测量轮廓术[J]. 光学学报, 2018, 38(8): 0815021.
[7] 韩梦奇, 陈文静. 提高二维S变换轮廓术测量精度的方法[J]. 光学学报, 2019, 39(10): 1012001.
[8] Lazaros N, Sirakoulis G C, Gasteratos A. Review of stereo vision algorithms: from software to hardware[J]. International Journal of Optomechatronics, 2008, 2(4): 435-462.
[9] CuiY, SchuonS, ChanD, et al. 3D shape scanning with a time-of-flight camera[C]∥2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, June 13-18, 2010, San Francisco, CA, USA. New York: IEEE, 2010: 1173- 1180.
[10] Takasaki H. Moiré topography[J]. Applied Optics, 1970, 9(6): 1467-1472.
[11] Huang P S. High-speed 3-D shape measurement based on digital fringe projection[J]. Optical Engineering, 2003, 42(1): 163-168.
[12] Feng S J, Chen Q, Zuo C, et al. High-speed real-time 3-D coordinates measurement based on fringe projection profilometry considering camera lens distortion[J]. Optics Communications, 2014, 329: 44-56.
[13] Wu ZJ, Guo WB, Li YY, et al. and high-efficiency three-dimensional shape measurement based on Gray-coded light[EB/OL].( 2020-01-19)[2020-06-13]. https:∥arxiv.org/abs/2001. 06790.
[14] Takeda M, Mutoh K. Fourier transform profilometry for the automatic measurement of 3-D object shapes[J]. Applied Optics, 1983, 22(24): 3977-3982.
[15] Su X Y, Chen W J. Fourier transform profilometry: review[J]. Optics and Lasers in Engineering, 2001, 35(5): 263-284.
[16] Srinivasan V, Liu H C, Halioua M. Automated phase-measuring profilometry of 3-D diffuse objects[J]. Applied Optics, 1984, 23(18): 3105-3108.
[19] 韩宇, 张启灿, 吴应山. 三种基本相位展开算法及其融合算法的性能比较[J]. 光学学报, 2018, 38(8): 0815006.
[20] Wang Y, Zhang S. Optimal pulse width modulation for sinusoidal fringe generation with projector defocusing[J]. Optics Letters, 2010, 35(24): 4121-4123.
张嘉玲, 郭文博, 吴周杰, 张启灿. 利用散斑嵌入条纹和查找表进行三维面形测量[J]. 光学学报, 2021, 41(5): 0512003. Jialing Zhang, Wenbo Guo, Zhoujie Wu, Qican Zhang. 3D Shape Measurement Using Speckle-Embedded Fringes and Lookup Table[J]. Acta Optica Sinica, 2021, 41(5): 0512003.