5 ms·
Which brings me to this Gedankenexperiment: If you buy/build 10 of the raspberry pi based high speed cameras and run them in parallel and could make sure each c
by ktpsns 7y ago
Which brings me to this Gedankenexperiment: If you buy/build 10 of the raspberry pi based high speed cameras and run them in parallel and could make sure each camera sees the same (we don't consider details here for the time being), is it possible to merge the videos in order to reach the frame rate of a "top of the line high-speed camera"? I could imagine two scenarios:
1. Start recording with time delay. Probably requires
excellent clock synchronisation, a real time kernel,
reliable/comparable hardware (gatter timings differ at
small timescales). If this works, this would provide a
high quality equidistand framerate.
or
2. Start recording randomly, synchronize by time or
with an video event, and merge the frames. This will
result in a stochastic distribution of frame rates. The
usefulness of such a movie depends on what it is
supposed to be used for (thinking of scientific usage).
Will probably not give nice slow-mo movies. But
here comes the catch: With interpolation, the shortest
reachable frame rate dictates the quality of this
"superposition camera". How many cheap cameras do we
need to archieve, on average, the top line high speed
camera?
I leave the questions open for friends of Gedankenexperiments ;-)
- rasz 7y agopee cameras are clocked externally(EMI made them include 25MHz clock gen on camera module itself), so in theory you could connect them all to a single clock distribution source with appropriately shifted phases
- sansnomme 7y agoHow do you disable onboard clock or is it automatic?
- rasz 7y agoits already external, on the back of each camera
- sansnomme 7y agoBut it's only selectively enabled no?
- simcop2387 7y agoYou'd likely have to de-solder the one on the board and maybe do a few other small modifications to get it to work properly. I imagine you'd want to use a completely different kind of source and then use some op-amps to both shift the waveform and also then strengthen the signal so that the load of each camera doesn't cause issues.
- rasz 7y agono analog at those frequencies, you would want dedicated Multi-phase Clock Buffer chip, something like a couple CY7B9945V
- londons_explore 7y agoI think you could probably just parallel connect the quartz clock terminals on the cameras. As long as your leads didn't have too much capacitance, it ought to just work. The phase shifting you can do in software by (for example) restarting the camera hundreds of times till by chance it starts a frame with the phase offset you want, and then just run on from there.
- sansnomme 7y agoWon't two clocks interfere with each other?
- londons_explore 7y agoAs long as they're tuned close-ish to eachother, they will synchronize and oscillate in lockstep. I'm talking the actual quartz crystal here, not the output of some digital clocking chip (which you're right, wouldn't work).
- anfractuosity 7y agoThat's a good question, I'm wondering though, if the shutter speed on commercial high speed cameras is faster, but I could be wrong? "A Phantom camera he uses goes up to a maximum of 1000 fps in 4K — an exposure time of 1/2000 sec with a 180° shutter speed — and the image starts looking pretty dark on the screen." I'm just trying to find what shutter speed you can get with the Pi camera. Edit: Just having a little play: ./raspiraw -eus 500 -md 7 -t 1000 -ts tstamps.csv -hd0 hd0.32k -h 64 --vinc 1F --fps 660 -r "380A,0040;3802,78;3806,0603" -sr 1 -o /dev/shm/out.%04d.raw 2>/dev/null 500 microsecond exposure (1/2000 seconds) seems to run.
- HermannSW 7y ago> I'm just trying to find what shutter speed you can get with the Pi camera. You can reduce the shutter time nearly arbitrarily, as long as you increase light intensity. I did place fast rotating propeller just above a 5000lm led, and did two 9us long flashes. See this image on how bright the two blades of propeller look, at both captured locations (the rest is dark, image was taken inside a closed cardbox, without flash everything was just black): https://raw.githubusercontent.com/Hermann-SW/Raspberry_v1_camera_global_external_shutter/master/res/two.HWsync.3.jpg https://raw.githubusercontent.com/Hermann-SW/Raspberry_v1_ca...
- dx7tnt 7y agoYou'd have to also have some sort of mirror system and lens to distribute the light in the same phase, because all of those ten sensors are in different places. You couldn't have them all in the same point, focussed on the same thing - the image would flicker around. A cool effect but not exactly the same thing as a 6600fps camera.
- User23 7y agoI like this. It reminds me of an idea I had about making an ultra-hd projector by running consumer projectors in a grid with careful alignment and cooling. Your idea is similar, but over time instead of space. Both are just dimensions so I don't see why it couldn't work, so long as you had the timing circuit.
- snek 7y agoThis isn't just a thought experiment, this is how some of the most influential slow motion to date has been shot, from the famous bullet dodge in the matrix to the first 1-billion fps camera. (Okay yes technically the 1-billion one is the same camera run many times but it's the same synchronization problem)
- HALtheWise 7y agoThe raspberry pi camera is rolling shutter, which adds some complications. To properly simulate a high framerate camera, you would want to build each frame from sections of several images that are being simultaneously exposed. Doing so without leaving artifacts at the borders would require some sort of really fancy interpolation, but might be possible.
- HermannSW 7y agoI think that would be possible, just a problem of adjusting all cameras to get overlapping FOV. There was a MIT student project group that took 16 v1 cameras(!) global external shutter frames and created an animated .gif from that! "Ultra high-speed imaging, capturing matrix style bullet time" https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=240442 https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=2404...
- dekhn 7y agoHave some fun: http://graphics.stanford.edu/projects/array/ http://graphics.stanford.edu/projects/array/ Reproducing something like this using cheap sensors would require some hardware acumen, but isn't unfeasible. Most industrial cameras, even cheap ones, have external triggers/clocks with nanosecond latency.
- HermannSW 7y agoA group of MIT students did synchronize 16 PIs with 16 cameras just over GPIOs to shoot at exactly the same point in time. And they built in microsecond delay for adjusting on when exactly the bullet has passed through apple and leaves: https://news.ycombinator.com/item?id=20635132 https://news.ycombinator.com/item?id=20635132
- dekhn 7y agoedgerton would be proud
- HermannSW 7y agoTrue, and he started with 1/100,000 second exposure time humming-bird images 83 years ago! The MIT group used a flash with 0.5us exposure time. I asked for details without answer yet, but assume that it is costly (Vela One does cost 940£) and one-shot, no fast repeating flashes (Vela One has only 50Hz maximal continuous strobe frequency). I used cheap 2$ 5000lm LEDs with 7$ led driver to convert mains to 38V/1.5A DC. I was able to do global external shutter captures with that led with 4us shutter time, did not try below yet. Most interestingly these LEDs allowed for 8.33us flashes at 9KHz frequency and used that to capture 109m/s flying airgun pellet 10 times in a single multiple exposure frame (9000eps, exposures per second). PI pwm should easily allow for 90,000eps frames for capturing 900m/s 0.50bmg bullets multiple times per frame in flight ... You can do the same with 6$ Raspberry v1 camera clone (not with v2), bill of materials as well as global external shutter setup, software and example captured frames can be found here: https://github.com/Hermann-SW/Raspberry_v1_camera_global_external_shutter#introduction https://github.com/Hermann-SW/Raspberry_v1_camera_global_ext...