3、同步信号基础:硬件触发、曝光时间、帧同步、PWM调制与投影时序

做结构光系统,最怕什么?

怕投影仪和相机各玩各的。

投影仪刚切到下一幅条纹,相机还在读上一帧。结果你拍到的图像,条纹位置是乱的。重建出来的点云,全是噪点。我刚开始做这个方向时,就吃过这个亏。后来才明白——同步,才是结构光的灵魂

这一章,我们就把同步信号的基础打牢。说白了,就是搞懂四个东西:硬件触发曝光时间帧同步PWM调制与投影时序

3.1 硬件触发:让相机听你的命令

相机默认是“自由运行”模式。你按下录制,它就按自己的节奏一帧一帧拍。但在结构光系统里,我们需要相机严格跟随投影仪的节奏

硬件触发,就是给相机一个外部电信号。告诉它:“现在,给我拍一张。”

我个人习惯用上升沿触发。也就是信号从低电平跳变到高电平的那一瞬间,相机开始曝光。为什么?因为上升沿的时序抖动最小,大概能控制在几十纳秒级别。

触发信号的关键参数:

  • 触发延迟:从收到信号到实际开始曝光的延迟。好的工业相机可以做到微秒级。
  • 触发抖动:每次触发延迟的偏差。抖动越小,同步越稳。
  • 触发频率:每秒能触发多少次。一般30fps到120fps够用。

嗯,这里要注意:不是所有相机都支持硬件触发。买相机时,一定要看有没有“GPIO接口”或“Trigger Input”。我见过有人用USB摄像头做结构光,结果发现根本没有触发引脚,只能软件延时——那精度,惨不忍睹。

3.2 曝光时间:不是你想象那么简单

曝光时间,就是相机感光芯片收集光子的时长。单位通常是微秒或毫秒。

你可能会想:“曝光时间越长,图像越亮,不就好了?”

但在结构光系统里,曝光时间决定了运动模糊信噪比的平衡。

举个例子。我做过一个产线项目,传送带速度是1米/秒。曝光时间如果设成10毫秒,那物体在图像上会移动10毫米。条纹边缘全是拖影。重建出来的三维模型,边缘像被狗啃过。

后来我把曝光时间压到1毫秒。运动模糊没了,但图像变暗了。怎么办?

两个办法:

  • 提高投影亮度——用更高功率的LED或激光
  • 增大光圈——但会降低景深

我个人建议:先定曝光时间,再调亮度。曝光时间优先满足运动模糊要求,然后通过投影亮度来补光。

经验值:

静态场景:曝光时间 5-20ms

低速运动(<0.5m/s):曝光时间 2-5ms

高速运动(>1m/s):曝光时间 0.1-1ms

3.3 帧同步:让投影和相机对齐

帧同步,就是让投影仪的每一帧,和相机的每一帧,在时间上严格对齐。

为什么需要帧同步?

因为投影仪不是瞬间切换图像的。DLP投影仪切换一帧,大概需要几百微秒到几毫秒。如果相机在这段时间内曝光,就会拍到两幅条纹的混合图像——这叫“帧间串扰”。

我曾经踩过这个坑。当时用DLP LightCrafter 4500投影,相机用全局快门。我设了相同的帧率,以为就同步了。结果重建出来的点云,每隔几帧就出现一条奇怪的条纹。查了两天才发现——投影仪切换时,相机正好在曝光。

解决方案是什么?

投影仪的“帧有效”信号来触发相机。投影仪在切换完成后,会输出一个高电平信号。相机收到这个信号,才开始曝光。这样就能保证:相机曝光时,投影画面是稳定的。

帧同步的典型时序:

投影帧切换:  |---帧1---|---切换---|---帧2---|---切换---|
投影有效信号:  |高电平  |低电平   |高电平  |低电平   |
相机触发信号:  |        |         |触发    |         |
相机曝光:      |        |         |████    |         |

注意:相机触发信号只在投影有效信号为高电平时才发出。

3.4 PWM调制与投影时序

PWM,脉冲宽度调制。在结构光系统里,PWM用来控制投影仪的亮度曝光时序

你可能见过投影仪有“PWM输入引脚”。这个引脚接收一个方波信号。方波的占空比,决定了投影的亮度。占空比50%,亮度就是50%。

但PWM还有一个更重要的作用——与相机曝光同步

我做过一个系统,需要投影高亮度的结构光条纹。但投影仪LED的额定电流有限,不能一直满功率。怎么办?

用PWM控制LED,只在相机曝光的那几毫秒内,把LED开到最大亮度。相机曝光结束,LED立刻降回低亮度。这样既保证了图像亮度,又不会烧坏LED。

注意:

PWM频率不能太低。如果PWM频率低于100Hz,人眼会看到闪烁。对于相机来说,如果PWM频率低于曝光时间的倒数,也会拍到明暗条纹。

一般建议PWM频率 > 1kHz。对于高速相机,可能需要10kHz以上。

3.5 整体时序设计:一个实战案例

说了这么多,我们来看一个完整的时序设计。假设我们要做一个三步相移法的结构光系统。

投影仪依次投射三幅条纹:I1、I2、I3。相机依次拍摄三张图像。

时序如下:

  1. 投影仪输出I1,同时输出“帧有效”信号为高电平
  2. 相机收到触发信号,开始曝光(曝光时间设为5ms)
  3. 相机曝光结束,输出“曝光结束”信号
  4. 投影仪收到“曝光结束”信号,切换到I2
  5. 重复步骤1-4,直到三幅条纹全部拍完

这个流程里,关键点是:投影仪切换必须在相机曝光结束后进行。否则就会产生帧间串扰。

我的习惯:

在投影仪切换和相机曝光之间,留一个安全间隔。比如500微秒。这样即使有信号延迟,也不会出问题。

下面我用一张图来总结整个同步信号的知识体系:

同步信号基础:知识体系 硬件触发 曝光时间 帧同步 PWM调制 上升沿触发 / 下降沿触发 触发延迟 & 抖动 运动模糊 vs 信噪比 亮度补偿策略 帧有效信号 帧间串扰避免 占空比控制亮度 与曝光同步 核心目标:投影与相机严格同步 高质量结构光图像 → 精确三维重建

这张图把四个核心模块串起来了。你想想看,硬件触发是“开关”,曝光时间是“窗口”,帧同步是“对齐”,PWM是“调光”。四者配合,才能拍出高质量的结构光图像。

好了,这一章就到这里。同步信号的基础,说白了就是让投影仪和相机“步调一致”。下一章我们会深入具体的硬件接口和接线方法。


专注资料整理