结构光三维测量技术

八步相移+三频法详解

技术概述

结构光三维测量技术是一种基于主动光投射的非接触式三维测量方法。通过向被测物体投射特定的结构光图案,分析光图案在物体表面的变形来重建物体的三维形貌。

核心原理:八步相移法提供高精度相位提取,三频法解决相位模糊问题,两者结合实现高精度、大范围的三维测量。
关键公式速览:
  • 八步相移:φ = arctan2(分子, 分母)
  • 三频解包裹:Φ₃ = φ₃ + 2πk₃
  • 三维重建:z = dΦ₃/(2πf₃ + Φ₃tanθ)

八步相移法

基本原理

八步相移法通过投射8幅具有不同相移的正弦条纹图案,提取高精度的相位信息。相移步长为π/4,能够有效抑制谐波误差。

条纹强度表达式

$$I_k(x,y) = A(x,y) + B(x,y)\cos\left[\phi(x,y) + \frac{k\pi}{4}\right]$$

其中:k = 0, 1, 2, ..., 7

相位计算公式

$$\phi(x,y) = \arctan2\left(\sum_{k=0}^{7} I_k(x,y) \sin\left(\frac{k\pi}{4}\right), \sum_{k=0}^{7} I_k(x,y) \cos\left(\frac{k\pi}{4}\right)\right)$$

三角函数值计算

k 相位角 sin(kπ/4) cos(kπ/4) 对应图像
0 0 0 1 I₀
1 π/4 √2/2 √2/2 I₁
2 π/2 1 0 I₂
3 3π/4 √2/2 -√2/2 I₃
4 π 0 -1 I₄
5 5π/4 -√2/2 -√2/2 I₅
6 3π/2 -1 0 I₆
7 7π/4 -√2/2 √2/2 I₇

展开计算

分子(正弦项)计算:

$$\text{分子} = \sum_{k=0}^{7} I_k \sin\left(\frac{k\pi}{4}\right)$$

展开各项:

$$\begin{align} &= I_0 \cdot 0 + I_1 \cdot \frac{\sqrt{2}}{2} + I_2 \cdot 1 + I_3 \cdot \frac{\sqrt{2}}{2} \\ &\quad + I_4 \cdot 0 + I_5 \cdot \left(-\frac{\sqrt{2}}{2}\right) + I_6 \cdot (-1) + I_7 \cdot \left(-\frac{\sqrt{2}}{2}\right) \end{align}$$

化简结果:

$$\boxed{\text{分子} = \frac{\sqrt{2}}{2}(I_1 + I_3 - I_5 - I_7) + I_2 - I_6}$$

分母(余弦项)计算:

$$\text{分母} = \sum_{k=0}^{7} I_k \cos\left(\frac{k\pi}{4}\right)$$

展开各项:

$$\begin{align} &= I_0 \cdot 1 + I_1 \cdot \frac{\sqrt{2}}{2} + I_2 \cdot 0 + I_3 \cdot \left(-\frac{\sqrt{2}}{2}\right) \\ &\quad + I_4 \cdot (-1) + I_5 \cdot \left(-\frac{\sqrt{2}}{2}\right) + I_6 \cdot 0 + I_7 \cdot \frac{\sqrt{2}}{2} \end{align}$$

化简结果:

$$\boxed{\text{分母} = I_0 - I_4 + \frac{\sqrt{2}}{2}(I_1 - I_3 - I_5 + I_7)}$$

最终相位公式:

$$\phi(x,y) = \arctan2\left(\frac{\sqrt{2}}{2}(I_1 + I_3 - I_5 - I_7) + I_2 - I_6, I_0 - I_4 + \frac{\sqrt{2}}{2}(I_1 - I_3 - I_5 + I_7)\right)$$
重要说明:I₁前面的符号取决于所使用的相位提取算法。上述公式是标准的离散傅里叶变换(DFT)方法,在某些文献中可能采用不同的符号约定或算法变种。

测量步骤:

  1. 投射8幅相移图案:相移量分别为0, π/4, π/2, 3π/4, π, 5π/4, 3π/2, 7π/4
  2. 采集对应的8幅变形图像
  3. 应用八步相移算法计算包裹相位
  4. 相位范围:(-π, π]

三频法相位解包裹

频率设计

选择三种不同频率的条纹图案,频率比通常为简单整数比,如1:3:9或1:4:16。

频率类型 频率值 周期数 作用
低频 f₁ 基准频率 1个周期 粗略测量,范围确定
中频 f₂ 8f₁ 8个周期 中等精度测量
高频 f₃ 64f₁ 64个周期 高精度测量

1:8:64频率比例的相位解包裹算法

频率关系:f₂ = 8f₁, f₃ = 64f₁ = 8f₂

算法流程:

步骤1:计算低频和中频的相位差

$$\Delta\phi_{12}(x,y) = \phi_2(x,y) - 8\phi_1(x,y)$$ $$\Delta\phi_{12}(x,y) = \text{wrap}(\Delta\phi_{12}(x,y)) \quad \text{归一化到}(-\pi, \pi]$$

步骤2:确定中频相位的周期序号

$$k_2(x,y) = \text{round}\left(\frac{8\phi_1(x,y) - \phi_2(x,y) + \Delta\phi_{12}(x,y)}{2\pi}\right)$$

步骤3:计算中频绝对相位

$$\boxed{\Phi_2(x,y) = \phi_2(x,y) + 2\pi k_2(x,y)}$$

步骤4:计算中频和高频的相位差

$$\Delta\phi_{23}(x,y) = \phi_3(x,y) - 8\Phi_2(x,y)$$ $$\Delta\phi_{23}(x,y) = \text{wrap}(\Delta\phi_{23}(x,y)) \quad \text{归一化到}(-\pi, \pi]$$

步骤5:确定高频相位的周期序号

$$k_3(x,y) = \text{round}\left(\frac{8\Phi_2(x,y) - \phi_3(x,y) + \Delta\phi_{23}(x,y)}{2\pi}\right)$$

步骤6:计算高频绝对相位

$$\boxed{\Phi_3(x,y) = \phi_3(x,y) + 2\pi k_3(x,y)}$$
1:8:64频率比例的优势:
  • 理论测量范围扩大64倍
  • 相位解包裹更加稳定可靠
  • 适合大尺寸物体的高精度测量
  • 8倍关系使得计算更加简洁

解包裹可靠性分析

相位差范围限制:

$$|\Delta\phi_{12}(x,y)| < \pi \quad \text{(低频-中频解包裹条件)}$$ $$|\Delta\phi_{23}(x,y)| < \pi \quad \text{(中频-高频解包裹条件)}$$

这确保了相位解包裹的唯一性和可靠性

最大可解包裹梯度:

$$\left|\frac{d\phi_1}{dx}\right| < \frac{\pi}{8} \quad \text{(低频梯度限制)}$$ $$\left|\frac{d\Phi_2}{dx}\right| < \frac{\pi}{8} \quad \text{(中频梯度限制)}$$

梯度限制确保在物体边缘和不连续区域的解包裹稳定性

三维重建

相位-高度转换

通过标定得到的参数,将绝对相位转换为三维坐标。

高度计算公式:

$$z(x,y) = \frac{d \cdot \Phi_3(x,y)}{2\pi f_3 + \Phi_3(x,y) \cdot \tan\theta}$$

其中:d为投影仪与相机的基线距离,θ为投影角度,f₃为高频条纹频率

三维坐标计算

世界坐标系转换:

$$X(x,y) = \frac{(x - c_x) \cdot z(x,y)}{f_x}$$ $$Y(x,y) = \frac{(y - c_y) \cdot z(x,y)}{f_y}$$ $$Z(x,y) = z(x,y)$$

其中:(cₓ, cᵧ)为相机主点坐标,fₓ, fᵧ为相机在x、y方向的焦距参数

完整的三维重建流程:

$$\begin{align} &\text{1. 相位计算:} \quad \phi_i(x,y) = \arctan2(\text{分子}, \text{分母}) \\ &\text{2. 相位解包裹:} \quad \Phi_3(x,y) = \phi_3(x,y) + 2\pi k_3(x,y) \\ &\text{3. 高度重建:} \quad z(x,y) = f(\Phi_3(x,y), \text{标定参数}) \\ &\text{4. 坐标转换:} \quad (X,Y,Z) = \text{相机坐标系到世界坐标系} \end{align}$$

精度分析

相位测量精度

八步相移法精度公式:

$$\sigma_\phi = \frac{\sigma_I}{B} \cdot \frac{1}{\sqrt{N/2}}$$

其中:σᵢ为图像噪声标准差,B为条纹调制度,N为相移步数(N=8)

对于八步相移:σ_φ = σᵢ/(B·√4) = σᵢ/(2B)

深度测量精度(1:8:64)

深度精度公式:

$$\sigma_z = \frac{d \cdot \sigma_\phi}{2\pi \cdot 64f_1 \cos^2\theta} = \frac{d \cdot \sigma_\phi}{128\pi f_1 \cos^2\theta}$$

高频条纹(64倍基频)提供最高精度,精度与频率成反比

精度比较分析:

$$\begin{align} &\text{四步相移精度:} \quad \sigma_{\phi,4} = \frac{\sigma_I}{B\sqrt{2}} \\ &\text{八步相移精度:} \quad \sigma_{\phi,8} = \frac{\sigma_I}{2B} \\ &\text{精度提升比:} \quad \frac{\sigma_{\phi,4}}{\sigma_{\phi,8}} = \frac{2}{\sqrt{2}} = \sqrt{2} \approx 1.414 \end{align}$$

与其他频率比例的比较:

频率比例 理论精度 测量范围 解包裹难度
1:3:9 基准 基准 容易
1:4:16 1.78倍 1.78倍 容易
1:8:64 7.11倍 7.11倍 中等

高精度

八步相移法相比四步相移法,相位精度提高约40%

大范围

三频法解决相位模糊,测量范围可达数米

高稳定性

多频率验证,对环境干扰具有良好的鲁棒性

实时性

算法优化后可实现25-30FPS的实时测量

误差分析与补偿

主要误差源

  • 相移误差:投影器相移精度偏差
  • 非线性误差:投影器和相机的非线性响应
  • 标定误差:相机和投影器标定参数偏差
  • 环境干扰:环境光和振动影响

误差补偿方法

误差补偿公式:

$$\phi_{\text{corrected}} = \phi_{\text{measured}} + \Delta\phi_{\text{nonlinear}} + \Delta\phi_{\text{calibration}}$$

其中补偿项通过预标定获得,包括非线性误差和标定误差

非线性误差建模:

$$\Delta\phi_{\text{nonlinear}} = \sum_{n=2}^{N} a_n \sin(n\phi_{\text{measured}}) + b_n \cos(n\phi_{\text{measured}})$$

使用傅里叶级数展开建模设备的非线性响应特性

快速公式参考

八步相移相位

φ = arctan2(分子, 分母)

分子: √2/2(I₁+I₃-I₅-I₇)+I₂-I₆

分母: I₀-I₄+√2/2(I₁-I₃-I₅+I₇)

相位解包裹

频率比 1:8:64

Φ₃ = φ₃ + 2πk₃

k₃ = round((8Φ₂-φ₃+Δφ₂₃)/2π)

三维重建

z = dΦ₃/(2πf₃+Φ₃tanθ)

X = (x-cₓ)z/fₓ

Y = (y-cᵧ)z/fᵧ

精度分析

σφ = σᵢ/(2B)

σz = dσφ/(128πf₁cos²θ)

八步比四步精度提升√2倍

技术参数速查

图像数量

3频率 × 8相移 = 24幅

相移步长

π/4 (45°)

频率比例

1:8:64 (高精度)

测量精度

0.01% - 0.05%

🏠 回到首页