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。相机依次拍摄三张图像。
时序如下:
- 投影仪输出I1,同时输出“帧有效”信号为高电平
- 相机收到触发信号,开始曝光(曝光时间设为5ms)
- 相机曝光结束,输出“曝光结束”信号
- 投影仪收到“曝光结束”信号,切换到I2
- 重复步骤1-4,直到三幅条纹全部拍完
这个流程里,关键点是:投影仪切换必须在相机曝光结束后进行。否则就会产生帧间串扰。
我的习惯:
在投影仪切换和相机曝光之间,留一个安全间隔。比如500微秒。这样即使有信号延迟,也不会出问题。
下面我用一张图来总结整个同步信号的知识体系:
这张图把四个核心模块串起来了。你想想看,硬件触发是“开关”,曝光时间是“窗口”,帧同步是“对齐”,PWM是“调光”。四者配合,才能拍出高质量的结构光图像。
好了,这一章就到这里。同步信号的基础,说白了就是让投影仪和相机“步调一致”。下一章我们会深入具体的硬件接口和接线方法。