论文阅读笔记2:结构光相位误差分析(来源:基于数字光栅投影的结构光三维测量技术与系统研究 [博])


标题:基于数字光栅投影的结构光三维测量技术与系统研究 [博]

单位:华中科技大学

作者:李中伟

年份:2009

注:这里只记了相位出现问题的原因分析,如何校正,看最新论文。


相位测量轮廓术,误差主要有四个来源:

  1. 相移机构的相移误差:

    相移步距不相等,在机械式相移中,相移难避免,但DLP数字式光栅这块误差很小。

  2. 随机噪声:

    相移法对随机噪声有较好的抑制,且相位计算前可以通过高斯滤波等图像预处理操作进行滤除。

  3. 光栅图像条纹,离散化误差:

    选择合适的光栅图像周期、灰度范围、投影仪和相机的像素比。

  4. 光栅图像条纹,非正弦化(主),由两部分引起:投影仪的Gamma非线性曲线、CCD相机的非线性响应

举例:如果投出去的条纹非正弦,那么我们的解码就会有问题,比如说:

  • 相邻两个像素点,左边像素投射出去亮度为 148,右边像素同样为 148,那么就很难区分这两个像素点;
  • 投射出去条纹非正弦化,解码公式同样存在问题。

01 传递模型

在整个测量过程中,CCD相机拍摄光栅图像的过程如下图所示:

image-20210416135414713

假设由计算机生成并发送到投影仪离线的光栅图像灰度分布:
I n ( x , y ) = a 0 + b 0 cos ⁡ [ φ ( x , y ) + δ n ] {I_n}\left( {x,y} \right) = {a_0} + {b_0}\cos \left[ {\varphi \left( {x,y} \right) + {\delta _n}} \right] In(x,y)=a0+b0cos[φ(x,y)+δn]
其中:

  • a 0 a_0 a0:平均亮度
  • b 0 b_0 b0:调制幅值
  • φ ( x , y ) \varphi(x,y) φ(x,y):相位主值
  • δ n \delta_n δn:第 i i i 副图像的相移值

经投影仪投射出的光栅灰度分布:
I n p ( x , y ) = f p ( I n ( x , y ) ) I_n^p\left( {x,y} \right) = {f_p}\left( {{I_n}(x,y)} \right) Inp(x,y)=fp(In(x,y))
其中**: f p ( I ) f_p(I) fp(I) I I I 的函数,代表投影仪对输入光强的响应。**

假设投影仪投射在被测物体上的光栅图像的反射率为 r ( x , y ) r(x,y) r(x,y),周围的环境光为 a 1 ( x , y ) a_1(x,y) a1(x,y),则被测物体反射回来的光的灰度分布:
I n o ( x , y ) = r ( x , y ) [ I n p ( x , y ) + a 1 ( x , y ) ] I_n^o\left( {x,y} \right) = r\left( {x,y} \right)\left[ {I_n^p\left( {x,y} \right) + {a_1}\left( {x,y} \right)} \right] Ino(x,y)=r(x,y)[Inp(x,y)+a1(x,y)]

注:图案已经变形,灰度分布依旧,所以这里强调的是灰度分布。

经被测物体反射回来的光 I n p ( x , y ) I_n^p(x,y) Inp(x,y) C C D CCD CCD 相机拍摄,假设进入相机的环境光为 a 2 ( x , y ) a_2(x,y) a2(x,y),则相机最终拍摄到的光栅图像的光强分布:
I n c ( x , y ) = f c ( I n O ( x , y ) + a 2 ( x , y ) ) I_n^c(x,y)=f_c(I_n^O(x,y)+a_2(x,y)) Inc(x,y)=fc(InO(x,y)+a2(x,y))
其中**: f c ( I ) fc_(I) fc(I) I I I 的函数,代表CCD相机对输入光强的响应。**

联立前面的式子,可得:
I n c ( x , y ) = f ( I n ( x , y ) ) = f c ( f p ( I n ( x , y ) ) ) I_n^c(x,y)=f(I_n(x,y))=f_c(f_p(I_n(x,y))) Inc(x,y)=f(In(x,y))=fc(fp(In(x,y)))

02 误差原因

这里的误差主要有两部分:

  • 对于环境光的干扰,我们采用蓝波波段投影,在相机端加相应的滤色片,去除其他波段的光,从而大幅降低环境光的影响
  • 投影仪、相机的非线性响应,引起拍摄到的光栅图像的灰度的非正弦化

注:对于物体表面反射率不一致,相移法通过外差的方法,这种影响,在计算相位解码过程中得到了很大程度的抑制。

对于投影仪的非线性响应,其主要由伽马变换引起。在普通商用投影仪中,由于人眼的非线性感光,伽马变换用来改善投影仪投射图案的视觉效果,可以由指数变换表示:
I n p ( x , y ) = [ I n ( x , y ) ] γ I_n^p(x,y)=[I_n(x,y)]^{\gamma} Inp(x,y)=[In(x,y)]γ
CCD相机输入光强与输出电压之间是非线性的,影响较大的是二阶、三阶的非线性响应,可以表示:
I n c ( x , y ) = e 0 + e 1 [ I n 0 ( x , y ) + a 2 ( x , y ) ] + e 2 [ I n 0 ( x , y ) + a 2 ( x , y ) ] 2 + e 3 [ I n 0 ( x , y ) + a 2 ( x , y ) ] 3 I_n^c\left( {x,y} \right) = {e_0} + {e_1}\left[ {I_n^0\left( {x,y} \right) + {a_2}\left( {x,y} \right)} \right] + {e_2}{\left[ {I_n^0\left( {x,y} \right) + {a_2}\left( {x,y} \right)} \right]^2} + {e_3}{\left[ {I_n^0\left( {x,y} \right) + {a_2}\left( {x,y} \right)} \right]^3} Inc(x,y)=e0+e1[In0(x,y)+a2(x,y)]+e2[In0(x,y)+a2(x,y)]2+e3[In0(x,y)+a2(x,y)]3

Q:相机为什么出厂前不通过软件做成线性的呢?

可能原因:跟光圈、焦距这些有关,而这些参数是可以调整的,因此无法在出厂就做好。

将前面三个式子结合,滤除掉环境光的干扰,可得:
I n c ( x , y ) = k 0 + k 1 [ I n ( x , y ) ] γ + k 2 [ I n ( x , y ) ] 2 γ + k 3 [ I n ( x , y ) ] 3 γ I_n^c\left( {x,y} \right) = {k_0} + {k_1}{\left[ {{I_n}\left( {x,y} \right)} \right]^\gamma } + {k_2}{\left[ {{I_n}\left( {x,y} \right)} \right]^{2\gamma }} + {k_3}{\left[ {{I_n}\left( {x,y} \right)} \right]^{3\gamma }} Inc(x,y)=k0+k1[In(x,y)]γ+k2[In(x,y)]2γ+k3[In(x,y)]3γ
由此可见,相机拍摄的光栅图案,存在着高阶( 3 γ 3 \gamma 3γ)的非线性,而光栅图像的非线性表现,表现为图像存在高次谐波,也就是我们常见的水波纹。

03 误差分析

我们实际拍摄到的光栅图案 [48,101,102]
I n c ( x , y ) = f ( I n ( x , y ) ) = a 0 + ∑ k = 1 K a k cos ⁡ ( k [ φ ( x , y ) + δ n ] ) I_n^c\left( {x,y} \right) = f\left( {{I_n}\left( {x,y} \right)} \right) = {a_0} + \sum\limits_{k = 1}^K {{a_k}\cos \left( {k\left[ {\varphi \left( {x,y} \right) + {\delta _n}} \right]} \right)} Inc(x,y)=f(In(x,y))=a0+k=1Kakcos(k[φ(x,y)+δn])
其中:

  • K K K:最大谐波次数
  • a k a_k ak k k k 次谐波的系数

对这个实际光栅进行解码得到的相位值:
φ ′ ( x , y ) = − arctan ⁡ [ ∑ n = 0 N − 1 { a 0 + ∑ k = 1 K a k cos ⁡ ( k [ φ ( x , y ) + δ n ] ) } sin ⁡ ( δ i ) ∑ n = 0 N − 1 { a 0 + ∑ k = 1 K a k cos ⁡ ( k [ φ ( x , y ) + δ n ] ) } cos ⁡ ( δ i ) ] \varphi '\left( {x,y} \right) = - \arctan \left[ {\frac{{\sum\limits_{n = 0}^{N - 1} {\left\{ {{a_0} + \sum\limits_{k = 1}^K {{a_k}\cos \left( {k\left[ {\varphi \left( {x,y} \right) + {\delta _n}} \right]} \right)} } \right\}\sin \left( {{\delta _i}} \right)} }}{{\sum\limits_{n = 0}^{N - 1} {\left\{ {{a_0} + \sum\limits_{k = 1}^K {{a_k}\cos \left( {k\left[ {\varphi \left( {x,y} \right) + {\delta _n}} \right]} \right)} } \right\}\cos \left( {{\delta _i}} \right)} }}} \right] φ(x,y)=arctann=0N1{a0+k=1Kakcos(k[φ(x,y)+δn])}cos(δi)n=0N1{a0+k=1Kakcos(k[φ(x,y)+δn])}sin(δi)
通常,五次以上的高次谐波对相位计算影响非常小,因此,后续计算中 K K K 的取值: 1 − 5 1-5 15。而其是由理想相位值 φ \varphi φ 与相位误差 Δ φ \Delta \varphi Δφ 构成的,即:
φ ′ ( x , y ) = φ ( x , y ) + Δ φ ( x , y ) \varphi '\left( {x,y} \right) = \varphi \left( {x,y} \right) + \Delta \varphi \left( {x,y} \right) φ(x,y)=φ(x,y)+Δφ(x,y)
对于标准的三步相移,解码得到的相位值:
φ ′ ( x , y ) = arctan ⁡ [ a 1 sin ⁡ [ φ ( x , y ) ] − a 2 sin ⁡ [ 2 φ ( x , y ) ] + a 4 sin ⁡ [ 4 φ ( x , y ) ] − a 5 sin ⁡ [ 5 φ ( x , y ) ] a 1 cos ⁡ [ φ ( x , y ) ] + a 2 cos ⁡ [ 2 φ ( x , y ) ] − a 4 cos ⁡ [ 4 φ ( x , y ) ] + a 5 cos ⁡ [ 5 φ ( x , y ) ] ] \varphi '\left( {x,y} \right) = \arctan \left[ {\frac{{{a_1}\sin \left[ {\varphi \left( {x,y} \right)} \right] - {a_2}\sin \left[ {2\varphi \left( {x,y} \right)} \right] + {a_4}\sin \left[ {4\varphi \left( {x,y} \right)} \right] - {a_5}\sin \left[ {5\varphi \left( {x,y} \right)} \right]}}{{{a_1}\cos \left[ {\varphi \left( {x,y} \right)} \right] + {a_2}\cos \left[ {2\varphi \left( {x,y} \right)} \right] - {a_4}\cos \left[ {4\varphi \left( {x,y} \right)} \right] + {a_5}\cos \left[ {5\varphi \left( {x,y} \right)} \right]}}} \right] φ(x,y)=arctan[a1cos[φ(x,y)]+a2cos[2φ(x,y)]a4cos[4φ(x,y)]+a5cos[5φ(x,y)]a1sin[φ(x,y)]a2sin[2φ(x,y)]+a4sin[4φ(x,y)]a5sin[5φ(x,y)]]
相位误差:
这里插入图片描述
其中: c 1 c_1 c1 c 2 c_2 c2 为常数,且通常 c 1 c_1 c1 要远大于 c 2 c_2 c2,因此相位误差可近似。

其他步长的相移误差同理可得:

由此可推得:当拍摄的光栅图像存在高次谐波时,由:3步相移算法计算的相位,会出现三倍频的周期误差,4步,四倍频。

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值