+86-13951940532
contact@oakchina.cn

通过硬件触发信号实现OAK多相机之间的同步拍摄

通过硬件触发信号实现OAK多相机之间的同步拍摄

▌前言

本教程将解释如何通过外部硬件触发信号,实现OAK多个相机模组或者多个OAK相机之间的硬件同步。这允许在多个相机模组或者OAK相机之间精确同步,并可以实现OAK和其他设备之间的硬件同步,例如激光雷达、闪光LED或IMU惯性导航单元。

这可以通过FSIN(类似于输入快门信号)或STROBE(类似于输出热靴信号)信号来实现。这里有一个全局快门传感器时序的例子,它展示了这两个信号之间的区别。

注意:目前,FSIN I/O尚未正式启用,但我们正在增加对它的支持,可在这里这里查看。

对于与外部LED闪光灯同步,我们建议使用STROBE,因为你可以直接连接到LED驱动信号。我们已经在OAK-D-Pro和OAK-D-Pro-PoE上这样做了,它们有板载的照明红外LED和红外激光点阵发射器。

▌连接FSIN/STROBE

即将到来的OAK-D-Pro-PoE将有M8 I/O连接器,这也将包括FSIN(帧同步)和STROBE(用于驱动闪光灯)信号。

如果你不打算使用OAK-D-Pro-POE,你需要在设备的PCB上焊接一根线。以OAK-D-PoE为例:https://user-images.githubusercontent.com/18037362/142761081-83742829-2527-4277-ad31-a8da500e1039.png

在测试垫TP18上连接一根线,就可以从外部驱动STROBE信号。

▌软件“软”同步

通过固件同步,我们可以监控漂移并调整摄像机的捕捉时间戳,这些时间戳是在MIPI帧开始事件时拍摄的。左/右全局快门相机由相同的时钟驱动,由I2C上的通信写入启动,所以即使在没有同步的情况下自由运行,也不会发生漂移。利用上述功能,还可以将FSIN配置为一个传感器的输出,另一个传感器的输入。RGB卷帘式快门在计时/帧时间上略有不同,因此当我们检测到一个小的漂移时,我们会对下一帧的帧时间(行数)进行少量修改以进行补偿。

默认情况下,所有3台摄像机都使用上述方法进行软同步,只要它们配置了相同的FPS(默认为30)。

▌触发FSIN

外部相机对FSIN的触发将是可能的,通过Myriad X与脚本节点中的GPIOs或外部来源。在这个分支上已经有一个基本的实现,但目前只适用于全局快门OV9282/OV9782。在这种情况下,曝光是在FSIN的上升沿之后不久开始的,所以我们可以在同一时间让外部电路驱动STROBE。你可能需要确保网络通信的低延迟(例如目前没有其他流量),或者在你通过网络发送捕获触发命令的同时启用闪光灯,并在配置的相机曝光时间+一些延迟时间内保持激活。

▌相关示例

参考示例

Tags: