Personally i find this an extremely interesting project. The way in which you explain your design considerations/choices amazes me each time i watch one of your videos!
I love the way you think, Mike.I've spent a good portion of my career as a one-off solution engineer and really enjoy these cerebral chats. Thanks for the video and of course the inspiration. Retired. Lucent Bell Labs, "Jack of all trades, master of none"
I watched the whole thing, I watch every one of your videos, I am not into electronics engineering at all but I find your content incredibly interesting regardless.
I love watching your videos mostly because you have so many nice ideas about how to design and implement things. They should make some of your videos a part of electronics engineering curriculum, so we would see more good designs in the consumer products.
An interesting project would be an high-dynamic-range welding helmet (someone posted one of these on Hackaday a year ago.) A bunch of cameras capture at a range of exposures, a small computer aligns the images and selects video sources for parts of the image that are neither over or under exposed. The final processed image is displayed on a screen inside the helmet. Optics focus this at infinity.
Usually bullet time sequences are used to "stop" an action sequence and rotate around it. For example a subject leaps into the air and is frozen in space while the camera array pans around. One problem I see with this idea is the slow shutter speed on these cheap cameras. Rather than getting a nice "frozen" image of a person mid leap, you'd probably wind up with a blurred mess
SATA is a great high speed bus, there are some six figure oscilloscopes that use it to shuffle data around, but you’re really constrained by the very limited length of the cable and the protocol itself has no provisions for power as far as I know of, even tiny low power hard drives or SSDs have to be powered externally, but that limitation is offset by the fact that you can just give it a single 5v supply and away you go.
Love the concept - wish I knew more about fpga coding but it seems totally doable. In order to deal with delay could the boards tell the master after the fact how many boards exist on the system, then the master could ping each board, and each board could have a "insert ping divide by x delay based on how far down the chain I am"
This is way above my mental capacity...I would love to do this for my photogramettry project. Im thinking of using Raspberry Pis and Raspberry Pi Cameras. Why didnt I take electrical engineering in college?
As for bullet time, one problem is the physical alignment and uniformity of the cameras to make the frames look like they came from the same camera. It usually involves a lot of manual post processing to keep it from flickering and jerking. Also the camera chips need a minimum of image quality or it will have a distinct less than desirable webcam look.
I suppose you could overscan the picture to allow for a percentage of alignment variance. Then the software could be used to line the images up after capture. Similar to RU-vid removing shaking from videos. Another option would be setting up a target for alignment or at least so the software could center itself. In industrial robotics there are frequently several alignment points in the build cell that all the robots can calibrate themselves to.
I think there would be more applications than bullet-time setups for cheap camera nodes on a bus.. multiple cameras on a quad copter driven by a single pi or beaglebone, multiple cameras for big model railway setups etc.
For the trigger, why not run a second switchable power line to increase power to things during flash, image transfer, etc. Maybe just the flash? This would then act as the trigger point for all the cameras. You could set up your delays for effects prior to the signal.
Hi Mike, have one question. Since you know about cameras, i have project where i need to read light position ( like laser sopt with ~10um resolution ). I need simple interface CMOS camera, that would have larger than 4x4mm active area, can you give any model or something ? i want to use STM32F4XX with camera interface to get raw data and store to sram for processing.
For coherent light you will have interference rings if your camera sensor has protective glass over it. Most do, so you will want to remove the glass. Older sensors that use wire bonding (vs flip chips) have glass that can be removed. Newer sensors tend to be flip chips, and I'm not sure about whether the glass can be removed from them.
Excellent video! I love these type of ideas and you're obviously experienced in the problem domain. But why not make a bus architecture - why through the FPGA? Thanx!
The problem will not be the electronics - although depending on the number of lenses you want to incorporate, it may be somewhat of an issue - but it will always boil down to the lens mount & it's ability to have the correct X, Y, Z location & X, Y, Z orientation. Having said that, I did see an Arduino project online about a month ago, where a school, or a student, was making a "bullet time" camera array.
Was this actually built? I recently came across a holographic display called the „Looking Glass“ and thought that a cheap bullet time camera setup would be perfect for it, as you could take interesting hologram images with just one shot. It would need 48 Cameras so i have no idea if thats even possible or easy enough to do.
The JPEG phone cameras I've looked at (admittedly 5 yearsish ago) had a 'proper' JPEG compressor inside - but they had no internal framebuffer. They require you to take several frames to get the codec 'stable' and then read out at high speed as the exposure happens.
mike, why not a cheap sync trick: broadcast a 'brightness detect' message then physically fire a camera flash at the target- regardless of bus position, each node will be watching simultaneously and set their local timestamp as time zero
I had an idea, admittedly not as developed; for a similar array of cameras and accelerometer mounted into a large hula hoop for fast motion stabilize 3D image capture. Though most of my speculation was about the software implementation to map and process the capture. Alas, interesting in conception, but not something I really need.
Watched the whole thing, absolutely agree, can't fault (or really improve on) all your suggestions. I think I'd use RJ45 but they are pretty physically chunky. If the camera were relatively close together (and with 100 cams they would be) might be cost-effective to try to run multiple modules off one controller board (e.g. 4) using a beefier FPGA rig.
There are all kinds of cheap Car Cameras with full HD. Many are less then $20. If your going to design hardware to control a bunch of cameras, why not NOT re-invent the camera interface. All these Car Cameras have the Camera, an SD card interface and a USB interface and a battery. USB software could be used to control 100 cameras without the hardware design.
+public nonsense at 27:00 he covers this - it's impossible to sync them properly; you'll have huge (many milliseconds) random difference between the frames shot by each camera, which gives very poor results for bullet-time. People have made arrays from RPi's and they have this problem. Not having the camera frame start synced just right (and the exposure matched, and everything else) gives surprisingly bad results and it's not fixable with software tweaks etc, it's a fundamental design issue.
Interesting I was thinking about the same thing yesterday. Are you going to use this project for shots of Destruct-O-Tron or Jacob's ladder? I would love to see a "bullet-time" shot of a large spark before and during plasma formation. I am not sure if anyone ever tried that. Watched till 16:16 only If memory serves me well, only one or two dozen cams were used in Matrix shots (2 or 3 frames per cam) P.S.: I have to watch again Dave's EEVblog #595 - World’s Shittiest Camcorder: Teardown. Maybe it would be possible to hack them to sync the frames. Only $7.5 per cam. Everything else in software.
Make a good design and create a standard, publish it and say you will prosecute anyone that copies it, sell units in sample quantities for US$16 each and some Chinese supplier will rip off the design and sell them at half the price. :-)