11

I'm doing research into natural phenomena in computer vision, and I'm looking for a method of shooting video from multiple camera angles. It's likely that the subject will move very erratically, therefore any synchronization issues between the cameras will be a problem. Imagine a flame or flowing water, it's hard to say exactly but it's going to need to be microseconds rather than milliseconds. I will want to use as many as 8 cameras, ideally constrained by budget rather than the ability to keep them in sync.

The cameras the department owns are Canon DSLRs, however after much searching it seems infeasible to synchronize them, especially with this level of accuracy. Therefore if I can find affordable cameras that can be synchronized easily, we might be able to buy some.

The two options available to me seem to be genlock and LANC. From what I can tell, I'm not going to get hold of a single genlock-able camera for under, say, £5000. Even forgetting the genlock signal, that's too much for us to be able to afford one, let alone 8. The Sony/Canon LANC thing seems more feasible, however I can't find any reliable information about how to go about setting this up or what cameras actually support it which are available now. I keep hitting dead-ends trying to look into this, and it doesn't help that mostly everyone doing this is trying to shoot in just stereo. Can anyone advise me on what set up we'd need and how much it would roughly cost? Or if there's some other synchronization solution that someone would like to recommend? Ease and cost are the biggest factors! Quality of video would of course be nice, but something is better than nothing.

Thanks! And I hope this doesn't sound like a shopping recommendation question. While I do want to go shopping, I really just need help understanding the synchronization techniques, and I'll work out what to buy after that!

3
  • If you are worried about a difference of 8 milliseconds, don't you think you need to rent cameras that shoot in ultra slomo like 200 fps +? GEN lock would probably be included on those cams.
    – user4806
    Commented Oct 4, 2013 at 15:23
  • Ideally I'd love to be able to rent such things, but again cost is prohibitive. Nothing consumer-level (that I've found) has genlock, even the high fps cameras. And even 'high fps' is still nowhere near high enough to give genlock-like synchronisation with just a clapperboard. I still find it really hard to even track down whether a camera has genlock or not, it seems like an industry understood thing, which I'm completely oblivious to. Anyway thanks for replying to such an old thread :). Commented Oct 4, 2013 at 22:32
  • I asked a similar question in case you are interested: video.stackexchange.com/questions/12312/…
    – Kozuch
    Commented Aug 6, 2014 at 16:43

5 Answers 5

5

A year after posting this question, I'm getting a few extra comments and answers, which is really great. It is technically still a problem, but let me share what I've learned in the last year, in case anyone else stumbles on this page with a similar problem.

We came up with two inexpensive solutions to the problem which I think will work, in the right conditions.

  1. Use a high speed strobe light. This only works if the subject does not emit light (unfortunately not the case for me) and can be placed in a very dark room. Get hold of a very fast very accurate strobe light, then set it to go off at the same frequency as the cameras, say 50fps/50hz. Then set the shutter speed of all the cameras to 1/50th of a second, i.e. the shutter is always open. Place the subject in a very dark room, and set the aperture such that the video appears black without the light. Then illuminate with the strobe light. The videos will naturally be synchronised, because the only light they get is from the strobe, and it happens once per frame. Difficulty is getting a precise enough strobe. But I hear that they are used in heavy manufacturing operations to inspect blades/wheels/belts etc, which can't be turned off. You light the tool only with a strobe that has analogue control, and slowly increase the speed of the strobe, and as you reach the frequency of the tool it will appear to slow down, and eventually stop. Now you can inspect for problems. Just don't touch it ;).
  2. Use the vsync signal on the composite video out of the cameras. This is inspired by http://samj.snappages.com/. This signal is sent out regularly every frame, and with some electronics you can measure the difference between the signal on two (or more) different cameras. You can then power cycle the camera (or on some cameras, take a picture. More on that later...) and measure it again, and so on. If you are clever with the timing on the power cycling you can bring them closer and closer together to within a threshold. We didn't end up trying this just because we didn't end up building the circuit, and we figured this would just be too fiddly to work with, especially with more than 2 cameras.

As I said, we didn't end up doing either of these. We ended up putting in a bid for funding for a not-inexpensive system, one that is designed for this exact purpose, from a company such as NorPix. These are synchronised over ethernet and come set up. I was never able to find out how exactly (protocol etc) they use ethernet to synchronise, so if someone wants to explain that I'd be very interested. Last time I was updated, I was told we did find some money, but of course, if you know anything about academic bureaucracy you won't be surprised to find out that I'm still waiting for the equipment!

If anyone does have a magic idea that achieves true synchronisation inexpensively, I'm still open to suggestions.

To close, I will mention a strategy that did not work, in my tests. And that is the one on this website: http://3dfilmfactory.com/index.php?option=com_content&view=article&id=93:gen-lock-canon-5d-mark-ii-cameras-and-shoot-3d

Granted, we have different hardware, Canon 60Ds, and we had very cheap off-brand wireless shutter releases. However I have no reason to think they caused any noticeable difference to the setup in the link. I set up tests using an LED device, like Bokan suggested in his answer, and the average difference in synchronisation only dropped by about 1ms after using the wireless shutter release compared to the control tests, and sometimes it made it worse. I didn't do any statistical analysis, but I suspect it would not be significant compared to chance. I think it's very likely that 3D Film Factory either weren't shooting material in which they'd notice the synchronisation problem, or their more expensive hardware gave a slightly more reliable result which still isn't measurably that different. Scaling to more than 2 cameras, I'm confident that it's not a reliable method.

However, using the remote shutter release does reset the video. If you use the 'record' button on the cameras (or a remote), then it simply starts saving the footage that is already being processed. In other words, if you measure the synchronisation in several different tests without turning the camera off, taking a picture, or letting it go into power save mode, then the synchronisation will be the same. You could incorporate this mechanism into approach number (2) above: rather than power cycling the cameras it could take pictures until the vsync signals were in line. It would be a cool device, we just never got round to actually building it.

Thanks again for any suggestions. I hope someday someone will find this useful, and the months I wasted trying to solve it will save someone a bit of time!

1
2

I've done 4-camera DSLR shoots with Nikon gear (D7000 & D3S). For our shots, we simply did a clapstick after all the cameras rolled AND just before cutting, so we had two sync points. Our longest shot was about 18 minutes long, and there was no noticable drift in sync in out post system. Although genlock is the PREFERRED way to go, I've found that a lot of digital equipment is ~close enough~ (heck, I've shot a music video with playback from a CD boombox and a constant speed (not crystal controlled) camera motor and it was SPOT ON.

For something that's under a minute, which your project sounds like, I'm fairly confident you won't need to worry about sync.

Just get a clapboard, make sure all the cameras can see it clearly and are RUNNING, then clap it down. Without cutting, jsut reposition your focus and focal length to where you need it for the shot. Capture the shot, then, again without cutting, zoom back out to where all eight cameras can see the clapstick, and clap. THEN you can cut your cameras. Sync up the frames where the clapstick hits in all 8 shots, e viola.

Good luck!

1
  • 2
    The issue isn't drift, but rather millisecond differences between the cameras that happen at startup. e.g. even assuming I'm shooting both cameras at 60fps, that means there's ~16ms between "shots" in the video. In the worst case, two cameras could be 8ms out and this would be totally uncorrectable in post, it's only possible to move one frame "left or right" without interpolating/faking a higher fps, and one frame is a movement of 16ms, so you go from being 8ms behind to 8ms in front. For a lot of subjects this is probably no problem, but unfortunately not flickering flames! Thanks anyway. Commented May 17, 2012 at 12:48
1

If your research involve some motion analysis, you should consider shooting at high FPS. You'll get better synch by default as the synch error cannot exceed the time gap between two frames.

Shooting at high frameratee in high resolution cost a lot, but you can trade resolution for FPS on cheap cameras (like sports cameras). Resolution is often less important than we think. Computer vision has sub-pixel accuracy, if you move a white object on a black background the edge will be aliased (grey). If your software take this grey shades into account it can theoretically get a precision of 1/256 pixel width. But for this to work you must have uncompressed data because compression quantize color and therefore change the information.

For cheap synching solution I can think of this :

  • link all start buttons together electrically
  • build a led small device with several leds displaying accurate time in binary (one led per bit), show this device to each camera then manually synch the shots. Kind of advanced clap.

The syncing difference could be handled on software side. If you are studing motion, you can analyse it in 2D for each camera, then interpolate results from one camera to guess what was the position at the time shot by the other camera. Ask if this is not clear for you.

This software compensation is definitely the way to go. Especially if you have to compensate also rolling shutter effect that most cameras have. Top of frame is shot slightly before bottom of frame.

3
  • A high framerate is definitely preferable, the resolution isn't a big issue at all (although a lot of high framerate low resolution cameras also tend to have terrible image quality). But I was told by previous researchers (whose work I am working from) that wire synchronisation is necessary for their system. To emulate that just with a high framerate, I would need over 1000 FPS. Maybe I could get away with less, but really I posted the question because of lack of understanding of hardware synchronisation methods. We already have an LED device as you suggest. But thank you for the answer! Commented Oct 8, 2013 at 11:24
  • Remember that taking a picture is only about capturing light. You need as much light as possible to get faster shutter time and sharp pictures.
    – bokan
    Commented Oct 8, 2013 at 11:28
  • Right, and that's why the low resolution cameras tend to be terrible quality too at high frame rates. Although videoing fire does mean that you get quite a lot of light! We investigated software compensation, and that creates more headaches than it solves in this case. I am looking for 'ground truth', these are going to be used for reconstructions and motion artefacts are going to cause massive problems, even ignoring the fact that it would undermine the claim of being from real data. Also, research done into flames in particular has shown it is nearly impossible to interpolate frames. Commented Oct 8, 2013 at 15:24
0

FreeMocap has a way of syncing multiple webcam videos based on source time code after the capture and may be what you are looking for. Free but in pre-alpha.

-1

I think the solution is rather simple,hold large stopwatch in front of two cameras for the first few seconds; during editing can easily be synced. I used this methods, working fine.

2
  • 1
    This is not a solution. The correct solution is to acquire cameras that support GENLOCK. GENLOCK ensures that the shutters of both cameras are in sync. There is simply no mechanism other that that that can guarantee any consistency of synchronization based on any attempt to start the cameras all at the same time. Commented Jun 1, 2017 at 20:24
  • @MichaelTiemann is correct. As I've pointed out above the problem was not lining up the video during editing, in fact a single flash discharge is much simpler (since we were shooting in the dark). The problem was synchronising the actual capture of the frames themselves. As I think I also commented the solution we ended up using was buying cameras that had proper synchronisation (don't know if it was GENLOCK or otherwise, they came from a scientific camera company and worked over ethernet). Also this was all 5 years ago! But I appreciate this question still occasionally gets comments... Commented Jul 19, 2017 at 16:10

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.