基于条纹投影的物体三维形貌测量理论与仿真实验-含Matlab代码

✳️ 一、引言

基于光栅投影的光学三维面形测量具有非接触、精度高、速度快、低成本、全场测量和易于实现等特点,在逆向工程、工业检测、质量控制、虚拟现实、医学诊断、文物修复和物体识别等领域应用广泛。相移轮廓术(PSM)和傅里叶变换轮廓术(FTP)是两种传统方法。相移法计算简单,测量精度高,但对噪声比较敏感,噪声会引起解相位结果存在大量虚假2π跳变,增加了相位展开的难度,且至少需要三幅以上的条纹图像,适用于静态测量;傅里叶变换法是M.Takeda 等人在1983年提出来的,它只需要一幅条纹图案,即可恢复物体三维形貌,可用于动态物体的三维形貌测量;但由于傅里叶变换不具有局部分析的能力,频谱混叠等问题,影响了其测量精度。小波变换具有多分辨率分析特点,抑噪能力强,可分为一维小波变换轮廓术(1D WTP)和二维小波变换轮廓术(2D WTP)。小波脊提取是小波变换轮廓术的关键步骤,最大模法是常见的小波脊提取方法。

✳️ 二、条纹投影原理

✳️ 2.1 相移轮廓术

相移法的投影条纹一般为余弦条纹(或正弦),得到条纹的灰度值用下式(1)表示:
g ( x , y ) = a ( x , y ) + b ( x , y ) cos ⁡ [ 2 π f 0 x + ϕ ( x , y ) ] (1) \text{g}\left( x,y \right)=a\left( x,y \right)+b\left( x,y \right)\cos \left[ 2\pi {{f}_{0}}x+\phi \left( x,y \right) \right] \tag{1} g(x,y)=a(x,y)+b(x,y)cos[2πf0x+ϕ(x,y)](1)

式中, a ( x , y ) a\left( x,y \right) a(x,y)为背景光强值, b ( x , y ) b\left( x,y \right) b(x,y)为调制强度, f 0 {{f}_{0}} f0为载波频率, ϕ ( x , y ) \phi \left( x,y \right) ϕ(x,y)为被测物体高度调制相位。

沿着垂直于光栅条纹方向在一个周期内移动n次,n∈(3,5)。当n=3时称为三步相移法,当n=4时称为四步相移法,当n=5时称为五步相移法。以四步相移法为例,四幅带有π/2相移的灰度值函数分别用下式表示:

g 1 ( x , y ) = a ( x , y ) + b ( x , y ) cos ⁡ [ 2 π f 0 x + ϕ ( x , y ) ] g 2 ( x , y ) = a ( x , y ) + b ( x , y ) cos ⁡ [ 2 π f 0 x + ϕ ( x , y ) + π / 2    ] g 3 ( x , y ) = a ( x , y ) + b ( x , y ) cos ⁡ [ 2 π f 0 x + ϕ ( x , y ) + π ] g 4 ( x , y ) = a ( x , y ) + b ( x , y ) cos ⁡ [ 2 π f 0 x + ϕ ( x , y ) + 3 π / 2    ] (2) \begin{align} & {{g}_{1}}\left( x,y \right)=a\left( x,y \right)+b\left( x,y \right)\cos \left[ 2\pi {{f}_{0}}x+\phi \left( x,y \right) \right] \\ & {{g}_{2}}\left( x,y \right)=a\left( x,y \right)+b\left( x,y \right)\cos \left[ 2\pi {{f}_{0}}x+\phi \left( x,y \right)+{\pi }/{2}\; \right] \\ & {{g}_{3}}\left( x,y \right)=a\left( x,y \right)+b\left( x,y \right)\cos \left[ 2\pi {{f}_{0}}x+\phi \left( x,y \right)+\pi \right] \\ & {{g}_{4}}\left( x,y \right)=a\left( x,y \right)+b\left( x,y \right)\cos \left[ 2\pi {{f}_{0}}x+\phi \left( x,y \right)+3{\pi }/{2}\; \right] \\ \end{align} \tag{2} g1(x,y)=a(x,y)+b(x,y)cos[2πf0x+ϕ(x,y)]g2(x,y)=a(x,y)+b(x,y)cos[2πf0x+ϕ(x,y)+π/2]g3(x,y)=a(x,y)+b(x,y)cos[2πf0x+ϕ(x,y)+π]g4(x,y)=a(x,y)+b(x,y)cos[2πf0x+ϕ(x,y)+3π/2](2)

得到

tan ⁡ [ 2 π f 0 x + ϕ ( x , y ) ] = g 4 ( x , y ) − g 2 ( x , y ) g 1 ( x , y ) − g 3 ( x , y ) (3) \tan \left[ 2\pi {{f}_{0}}x+\phi \left( x,y \right) \right]=\frac{{{g}_{4}}\left( x,y \right)-{{g}_{2}}\left( x,y \right)}{{{g}_{1}}\left( x,y \right)-{{g}_{3}}\left( x,y \right)} \tag{3} tan[2πf0x+ϕ(x,y)]=g1(x,y)g3(x,y)g4(x,y)g2(x,y)(3)

求取反正切函数,得到:

在这里插入图片描述

式(4)反正切运算得到的相位值 包裹在(-π,π]之间,称为相位主值(或包裹相位),需要通过相位解包裹算法展开得到实际相位。

✳️ 2.2 傅里叶变换轮廓术

傅里叶变换解相位的基本原理是在频域中把代表背景光的零频分量和代表噪声的高频分量通过合适的滤波器滤除掉,剩下的是包含有用相位信息的基频分量,再对基频分量进行逆傅里叶变换,通过正切运算即可解出被测物体高度调制相位主值。

根据欧拉公式,式(1)可以(5)表示为:

g ( x , y ) = a ( x , y ) + c ( x , y ) + c ∗ ( x , y ) (5) \text{g}\left( x,y \right)=a\left( x,y \right)+c\left( x,y \right)+{{c}^{*}}\left( x,y \right) \tag{5} g(x,y)=a(x,y)+c(x,y)+c(x,y)(5)

式中:

c ( x , y ) = 1 2 b ( x , y ) exp ⁡ ( i ( 2 π f 0 x + ϕ ( x , y ) ) ) c ∗ ( x , y ) = 1 2 b ( x , y ) exp ⁡ ( − i ( 2 π f 0 x + ϕ ( x , y ) ) ) (6) \begin{align} & c\left( x,y \right)=\frac{1}{2}b\left( x,y \right)\exp \left( i\left( 2\pi {{f}_{0}}x+\phi \left( x,y \right) \right) \right) \\ & {{c}^{*}}\left( x,y \right)=\frac{1}{2}b\left( x,y \right)\exp \left( -i\left( 2\pi {{f}_{0}}x+\phi \left( x,y \right) \right) \right) \\ \end{align} \tag{6} c(x,y)=21b(x,y)exp(i(2πf0x+ϕ(x,y)))c(x,y)=21b(x,y)exp(i(2πf0x+ϕ(x,y)))(6)

沿 x 方向对式(5)采用一维傅里叶变换,得到:

G ( f ) = A ( f ) + C ( f − f 0 ) + C ∗ ( f + f 0 ) (7) \text{G}\left( f \right)=\text{A}\left( f \right)+\text{C}\left( f-{{f}_{0}} \right)+{{C}^{*}}\left( f+{{f}_{0}} \right) \tag{7} G(f)=A(f)+C(ff0)+C(f+f0)(7)

上式(7)由-1级 C ∗ ( f + f 0 ) {{C}^{*}}\left( f+{{f}_{0}} \right) C(f+f0)、0级 A ( f ) \text{A}\left( f \right) A(f)、1级 C ( f − f 0 ) \text{C}\left( f-{{f}_{0}} \right) C(ff0)三种频谱信号组成,如图0所示

在这里插入图片描述

图0 一维傅里叶变换的基频分量提取[1]

其中 A ( f ) \text{A}\left( f \right) A(f)其代表零频背景信号,而 C ( f − f 0 ) \text{C}\left( f-{{f}_{0}} \right) C(ff0) C ∗ ( f + f 0 ) {{C}^{*}}\left( f+{{f}_{0}} \right) C(f+f0)包含了所需的相位信号。这里选取 C ( f − f 0 ) \text{C}\left( f-{{f}_{0}} \right) C(ff0),逆傅里叶变换得到:

c ( x , y ) = 1 2 b ( x , y ) [ cos ⁡ ( 2 π f 0 x + ϕ ( x , y ) ) + i sin ⁡ ( 2 π f 0 x + ϕ ( x , y ) ) ] (8) c\left( x,y \right)=\frac{1}{2}b\left( x,y \right)\left[ \cos \left( 2\pi {{f}_{0}}x+\phi \left( x,y \right) \right)+i\sin \left( 2\pi {{f}_{0}}x+\phi \left( x,y \right) \right) \right] \tag{8} c(x,y)=21b(x,y)[cos(2πf0x+ϕ(x,y))+isin(2πf0x+ϕ(x,y))](8)

其实部和虚部分别为:

Re ⁡ { c ( x , y ) } = 1 2 b ( x , y ) cos ⁡ ( 2 π f 0 x + ϕ ( x , y ) ) Im ⁡ { c ( x , y ) } = 1 2 b ( x , y ) sin ⁡ ( 2 π f 0 x + ϕ ( x , y ) ) (9) \begin{align} & \operatorname{Re}\left\{ c\left( x,y \right) \right\}=\frac{1}{2}b\left( x,y \right)\cos \left( 2\pi {{f}_{0}}x+\phi \left( x,y \right) \right) \\ & \operatorname{Im}\left\{ c\left( x,y \right) \right\}=\frac{1}{2}b\left( x,y \right)\sin \left( 2\pi {{f}_{0}}x+\phi \left( x,y \right) \right) \\ \end{align} \tag{9} Re{c(x,y)}=21b(x,y)cos(2πf0x+ϕ(x,y))Im{c(x,y)}=21b(x,y)sin(2πf0x+ϕ(x,y))(9)

被测物体高度调制相位主值可以写成:

ψ ( x , y ) = Im ⁡ { c ( x , y ) } Re ⁡ { c ( x , y ) } = arctan ⁡ [ 2 π f 0 x + ϕ ( x , y ) ] (10) \begin{align} & \psi \left( x,y \right)=\frac{\operatorname{Im}\left\{ c\left( x,y \right) \right\}}{\operatorname{Re}\left\{ c\left( x,y \right) \right\}} \\ & =\arctan \left[ 2\pi {{f}_{0}}x+\phi \left( x,y \right) \right] \end{align} \tag{10} ψ(x,y)=Re{c(x,y)}Im{c(x,y)}=arctan[2πf0x+ϕ(x,y)](10)

同相移法类似,傅里叶变换法得到的相位主值也是截断的,即包裹在(-π,π]之间,需要相位解包裹才可得到实际相位。

✳️ 三、仿真分析

✳️ 3.1 傅里叶变换轮廓术仿真实验

原始待测物体及其三维形貌如图2(a)与(b)所示,模拟得到的参考条纹与变形条纹如图1(a)与©所示。分别对参考条纹与变形条纹图进行傅里叶变换,其各自频谱如图1(b)与图1(d)所示。提取+1级频谱进行居中处理后,进行逆傅里叶变换变换即可得到包裹相位信息,对其进行解包裹后进行解包裹,即可恢复出待测物体的相位信息。重构结果如图2©与(d)所示。
在这里插入图片描述

图1 模拟得到的参考条纹与变形条纹

在这里插入图片描述

图2 原始待测物体与傅里叶变换轮廓术重构物体三维形貌

✳️ 3.1.1 Matlab代码获取

傅里叶变换轮廓术仿真实验Matlab代码下载链接如下:

傅里叶变换轮廓术仿真实验

✳️ 3.2 相移轮廓术仿真实验

待测物体任然如图2(a)与(b)所示。以四步相移为例,分别获取四副参考条纹图与变形条纹图,如图3(a)-(h)所示。根据四步相移算法,可分别解调得到参考包裹相位以及目标包裹相位,如图3(i)与(j)所示。通过解包裹算法即可重构出待测物体的相位信息,其结果分别如图3(k)与(l)所示。

在这里插入图片描述

图3 相移轮廓术仿真实验结果

✳️ 3.2.1 Matlab代码获取

相移轮廓术仿真实验Matlab代码下载链接如下:

相移轮廓术仿真实验-Matlab代码

✳️ 参考文献

[1] 徐昆鹏, 王建华. 光栅投影三维测量解相位方法的对比研究[J]. 电子制作, 2022, 30(15): 64-69.


⭐️◎⭐️◎⭐️◎⭐️ · · · **博 主 简 介** · · · ⭐️◎⭐️◎⭐️◎⭐️

▁▂▃▅▆▇ 博士研究生生 ,研究方向主要涉及定量相位成像领域,具体包括干涉相位成像技术(如**全息干涉☑**、散斑干涉☑等)、非干涉法相位成像技术(如波前传感技术☑相位恢复技术☑)、此外,还对各种相位解包裹算法☑相干噪声去除算法☑等开展过深入的研究。


  • 5
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简单光学

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值