3D reconstruction of the moving object with double-shooting based on phase shifting profilometry

一句话看懂投影仪每投射一幅条纹,相机拍摄两次。结合跟踪得到的物体运动,从混合相移中恢复相位,并复用采集图像,提高运动物体的三维重构帧率。
问题背景
相移轮廓术(PSP)是当前最常用的三维测量技术之一,具有精度高、鲁棒性强和全场测量等优点。投影仪向物体表面投射至少三幅带相移的正弦条纹图,相机从另一个角度拍摄。条纹因物体高度而发生扭曲,条纹中的相位信息反映这种形变,再结合系统参数即可完成三维重构。由于要使用多幅条纹图,传统 PSP 要求物体在重构过程中保持静止;一旦物体在条纹投射和采集过程中移动,就会产生测量误差。
帧率是另一个限制。投影仪投射 8 位条纹图的帧率一般可达 120 Hz,而相机帧率较容易达到 1000 Hz 以上,因此重构点云的帧率受限于投影仪。借助散焦技术,投影仪投射二进制条纹得到正弦条纹的帧率可达 1000 Hz 以上,但散焦程度难以控制和量化;高速相机和投影仪虽能实现高帧率,成本却显著增加。本文关注的问题是:如何用低成本设备实现运动物体的高帧率三维重构。

方法原理
在相机和投影仪之间增加触发控制设备,使相机对每幅投射条纹拍摄两次,获取更多运动物体的条纹信息。随后分析连续三张条纹图中物体运动引起的相位变化,建立包含物体运动的条纹模型,在混合相移下提取相位,并复用采集到的图像以获得更多重构帧。

- 双采样。 投影仪按正常速率投射 N 幅相移条纹图,在每个投影周期内触发相机两次。因此每幅投射条纹都对应运动物体的两张图像。
- 混合相移。 同一幅投射条纹下拍摄的两张图像之间,只存在物体运动引起的相移;不同投射条纹下拍摄的图像,既有运动引起的相移,又有 PSP 的传统相移。对于三张图像 I1、I2、I3,相移量为 δ1 = δ2 = 0,δ3 = 2π/N。
- 包含运动的条纹模型。 物体运动跟踪算法计算描述物体运动的旋转平移矩阵,由此得到图像之间的坐标变换关系 (fn, gn)。每张图像表示为 In = a + B cos hn + C sin hn,其中 hn = ϕ(fn, gn) + δn,ϕ 为参考平面的相位,a 为环境光强度。
- 最小二乘求相位。 对每个像素,以模型与实拍条纹图之差的平方和最小为准则,求出 a、B、C。B 和 C 携带了物体形状引起的相位变化 φ(B = cos φ、C = −sin φ),因此 φ = arctan(−C / B)。
- 图像复用。 对采集到的图像进行复用:每三张相邻图像得到一帧物体相位,而传统 PSP 的每一帧都由各自独立的一组图像得到。因此每采到一张新图像就能得到一帧新的相位,而不必等一整组图案采完。由此在投影速度受限的情况下提高运动物体的重构帧率。


实验结果
实验系统由工业相机(OPT-CC1-048A-RM-G,分辨率 1800 × 1600 像素)、投影仪(TJ-S50,分辨率 1280 × 720 像素)和电动位移台组成,被测物体为面具。相机帧率为 20 帧/s,位移台速率为 20 mm/s,视场为 70 mm × 80 mm。先用传统 PSP 重构静止的面具,以此作为误差评估的真值。面具随位移台运动时,同一幅投射条纹下的两张图像中只有物体运动,不同投射条纹下的图像中则既有物体运动又有条纹相移。旋转平移矩阵由物体运动跟踪算法计算得到,每三张相邻图像得到一幅相位图。本文方法成功重构了运动中的面具,而用传统 PSP 重构同一运动物体则存在较大误差。
作者指出,影响最大的局限是物体跟踪算法的精度:它直接决定重构精度,而现有跟踪算法难以描述大幅度运动。该方法只能重构做二维平移运动的物体,受运动跟踪算法所限,无法处理二维旋转运动和三维运动。方法不要求物体匀速运动,但相机需拍摄到清晰的运动物体条纹图。



引用
@article{zhang20233d,
title={3D reconstruction of the moving object with double-shooting based on phase shifting profilometry},
author={Zhang, Qinghui and Li, Hao and Lv, Lei and Lu, Shenglin and Pan, Wei},
journal={Infrared and Laser Engineering},
volume={52},
number={12},
pages={20220891--1},
year={2023},
publisher={Beijing Zhongke Journal Publising Co. Ltd.},
doi={10.3788/irla20220891}
}