6
\$\begingroup\$

I'm interested in having two or more cameras precisely synchronized for machine vision purposes. All the global shutter cameras I've seen basically have two modes: free-running, with a maximum frame rate of X FPS, and triggered, with a maximum triggering rate of X/2 FPS.

This is a frustrating limitation. Shouldn't it be possible keep two free running cameras very closely synchronized using an external feedback controller? Each camera could pulse a pin letting you know when it's capturing a frame, and as long as there was a scheme for introducing a very slight delay into one or the other of them, you could nudge them together, similar to how the NTP daemon nudges a computer's clock.

Does anything like this exist? Is there a camera sensor or module out there which has the necessary rate control capability necessary for it?

Thanks for any thoughts or input.

\$\endgroup\$
1
  • \$\begingroup\$ You can synchronize multiple cameras using an external central sync generator, but cameras shuld have this capability. If you want to play with this generator timing, use proper delay devices. This devices usually it is also a frame grabber and store, so you can adjust the delay. See PCI-1408 and PCI-1409 from National Instruments \$\endgroup\$
    – GR Tech
    Commented Jan 31, 2015 at 5:29

3 Answers 3

1
\$\begingroup\$

One way to keep two cameras precisely synchronized is to send a genlock signal to both cameras.

"another application for which genlock is used is to ensure both sensors on two-camera 3D rigs fire at the same time." -- Timothy McDougal

Unfortunately, many good cameras do not have a genlock input.

\$\endgroup\$
1
\$\begingroup\$

Stochastic approach:

  1. Have a way to evaluate the synchronization accuracy by inspecting the live frames. For example using a flash of light of a known short duration, we start by synchronizing it with camera 1 and the software test checks if it's visible in camera 2 as well.
  2. Restart the trigger of camera 2 at random until the synchronization test passes.

The duration of the flash corresponds to the max acceptable error. The number of attempts before having a match should be proportional to the ratio of that acceptable error over the half-frame interval.

\$\endgroup\$
0
\$\begingroup\$

I think unless you also synchronize exposure times (= exposures will be same for both sensors) then genlocking (feeding a common clock to the camera modules) is not a solution since after different exposure times the sensors will drift immediately from each other by the difference of exposure... Syncing exposures may be a bit tricky.

The other option is to use a sensor with HW exposure/trigger pin. Unfortunately there are not many affordable camera modules with such pin, the cheapest I found are mt9v032/mt9v034 modules on AliExpress - they are around $60.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.