3. 相机曝光与读出时序解析
在多相机同步系统中,很多工程师把注意力集中在“触发信号是否同时到达”上,却忽略了相机内部从触发到曝光、从曝光到读出、从读出到下一帧的完整时序链。实际上,即使两台相机收到触发信号的时刻完全一致,只要它们的曝光时间、读出时间或触发延迟不同,最终采集到的图像在时间轴上仍可能错开数毫秒甚至数十毫秒。本节从相机内部时序出发,逐层拆解曝光、读出、帧率、触发延迟与抖动这几个关键参数,并说明它们如何共同决定多相机系统的同步精度。
一、一帧图像的完整时序链
对于一台支持外部触发的工业相机,从触发信号到达相机接口到一帧图像被读出并传输,通常经历以下几个阶段:触发信号被相机接收并识别(触发延迟)、曝光开始、曝光持续(曝光时间)、曝光结束、电荷转移与读出(读出时间)、图像传输与下一帧准备。其中,触发延迟和曝光时间决定了“光积分窗口”在时间轴上的位置,读出时间决定了相机何时能再次接受下一次触发,而帧率则是这些时间共同作用的结果。
需要特别强调的是,曝光时间与读出时间在多数CMOS相机中是部分重叠的。现代卷帘快门或全局快门CMOS传感器支持“重叠触发”或“流水线读出”,即上一帧还在读出时,下一帧的曝光已经可以开始。因此,帧周期并不等于曝光时间加读出时间的简单相加,而是取决于相机是否允许重叠、以及重叠的程度。
二、曝光时间对同步的影响
曝光时间决定了传感器积分光信号的时长。在多相机系统中,如果两台相机的曝光时间不同,即使曝光开始时刻相同,曝光结束时刻也会不同。对于拍摄运动物体或变化光源的场景,这意味着两台相机捕获的是不同时间窗口内的光强积分,图像内容会出现运动模糊程度差异或亮度差异。
更隐蔽的问题是:部分相机的曝光时间参数并非直接以微秒为单位设置,而是通过“曝光行数”或“曝光时钟周期”间接换算。例如某相机以行周期为基本单位,设置曝光行数为1000行,行周期为20微秒,则实际曝光时间为20毫秒。如果两台相机行周期不同,即使设置相同的曝光行数,实际曝光时间也会不同。因此,在多相机同步中,应统一以绝对时间(微秒或毫秒)为基准设置曝光时间,并在配置后通过相机寄存器或时间戳回读验证。
三、读出时间与帧率的约束关系
读出时间是从传感器像素阵列中逐行或逐块读取电荷并转换为数字信号所需的时间。它主要受传感器分辨率、像素时钟频率、ADC转换速度和接口带宽影响。读出时间决定了相机在完成一次曝光后,需要多长时间才能输出完整图像并准备下一次曝光。
帧率与读出时间的关系可以近似表示为:
帧率上限 ≈ 1 / (曝光时间 + 读出时间 - 重叠时间)
其中:
重叠时间 = 曝光与读出可并行执行的时间
若相机不支持重叠,则 重叠时间 = 0
若完全流水线,则 重叠时间 ≈ min(曝光时间, 读出时间)
举例来说,某500万像素相机在全分辨率下读出时间约为15毫秒,曝光时间设为5毫秒。若相机不支持重叠,则帧周期至少为20毫秒,对应最高帧率50 fps。若支持完全重叠,则帧周期由较长的读出时间决定,约为15毫秒,对应最高帧率约66 fps。这个差异在多相机系统中非常关键:如果一台相机运行在50 fps,另一台运行在66 fps,它们无法长期保持帧对齐,必须通过触发信号强制统一帧率。
四、触发延迟与抖动
触发延迟是指从触发信号到达相机接口到曝光实际开始之间的时间。它包含信号整形、光耦隔离、内部逻辑处理和传感器启动等多个环节,通常在几微秒到几百微秒之间。触发延迟本身如果是固定值,对同步的影响可以通过校准补偿;真正麻烦的是抖动,即每次触发延迟的随机变化量。
抖动通常以均方根值或峰峰值表示。假设两台相机的触发延迟均为50微秒,但抖动分别为±2微秒和±20微秒,那么第二台相机的曝光开始时刻会在50微秒附近随机波动,导致两台相机的曝光窗口无法稳定对齐。对于高速运动分析、双目立体视觉或事件关联等应用,这种抖动会直接降低数据质量。
五、多相机同步中的参数配置示例
假设一个双目系统使用两台同型号相机,要求曝光窗口对齐误差小于10微秒。已知相机触发延迟典型值为40微秒,抖动为±3微秒;读出时间为12毫秒;曝光时间设为2毫秒;相机支持曝光与读出完全重叠。配置步骤如下:
- 将两台相机均设置为外部硬件触发模式,触发源为同一信号发生器。
- 曝光时间统一设置为2000微秒,不使用行数模式,避免行周期差异。
- 关闭自动曝光和自动增益,防止参数漂移。
- 根据读出时间12毫秒和曝光时间2毫秒,设置触发周期为14毫秒(约71.4 fps),确保每帧读出完成后再接受下一次触发,避免触发丢失。
- 使用示波器同时测量两台相机的曝光有效信号(Strobe输出),观察上升沿时间差。若差值稳定在40微秒左右,说明延迟一致,可在后处理中统一补偿;若差值波动超过10微秒,则需检查触发线缆和接地。
在这个示例中,最终同步误差主要来自抖动±3微秒,满足小于10微秒的要求。如果忽略读出时间而将触发周期设为5毫秒,相机将无法完成读出,导致触发被丢弃或图像不完整。
六、参数之间的相互制约
曝光时间、读出时间、帧率和触发延迟并不是独立可调的。增加曝光时间会压缩帧周期中的可用读出窗口,可能迫使帧率下降;提高帧率会缩短帧周期,可能要求减少曝光时间或读出时间;触发延迟和抖动则决定了同步精度的下限。在多相机系统设计时,应先明确同步精度要求,再反推允许的抖动和延迟偏差,最后选择相机型号和触发方案。
| 参数 | 典型影响 | 调整方向 |
|---|---|---|
| 曝光时间 | 决定光积分窗口长度,影响运动模糊和亮度 | 按光照和运动速度设定,多相机保持一致 |
| 读出时间 | 限制最高帧率,决定触发最小间隔 | 降低分辨率或开窗可缩短读出时间 |
| 帧率 | 由曝光、读出和重叠策略共同决定 | 通过触发周期强制统一 |
| 触发延迟 | 固定偏差,可校准补偿 | 选择低延迟相机或硬件触发 |
| 抖动 | 随机偏差,决定同步精度下限 | 优化信号完整性,减少干扰 |
理解这些参数的物理含义和相互制约关系,是设计多相机同步方案的基础。在实际工程中,建议先用示波器测量单台相机的触发延迟和抖动,再扩展到多台,逐步验证曝光窗口是否对齐,而不是仅凭参数表估算。