Since I was already waist deep in the world of photogrammetry at work (the reconstruction of 3D data from photographs), I decided to build a camera rig for capturing the faces of the visitors (mostly kids). Now if you have kids, or have ever seen a kid on TV, you know that they very rarely sit still for more than 0.25 seconds unless they are sleeping or in an Elmo-induced hypnotic trance... though even that lasts for only about 0.58 seconds. How then, can kids be photographed from multiple angles simultaneously?
Hmm... we could get a super high speed camera (let's say 10,000 frames per second), put the child on a stool in front of the camera and spin him really fast! Surely we'll get at least a few useable angles with high similarity and no vomit. The parents have an issue with that? Whatever! Little Johnny will almost certainly experience much worse, likely self-inflicted scenarios.
Fine, next idea: Purchase 6 cheap-wad digital cameras and wire them up to one trigger button. That's it! Simple and obvious!
This photo gallery (with annotations) illustrates the 3-week long process of sourcing, cutting, soldering, rigging, wiring and data collecting. In the end, you'll see that the ability to freeze little people in time from multiple angles pays off!
Read on, friends!

































Visit Our Store »
Go Pro Today »




I use Autodesk's 123DCatch for processing. Its fast, clean and so far free! :D
Better results than competitors in my testing (like Agisoft).
I'd definitely recommend it, even before I found out that Instructables was purchased by Autodesk! ;)
if you follow the guidelines for Catch (lots of YouTube videos from Autodesk), you should get good results.
The most important things that I found were:
1. Take clear and well spaced photos. This means little image grain, no motion blur, sharp focus and plenty of overlap between shots (15-30 degree increments). Try not to rotate camera too much. Keep all shots either in landscape or portrait.
2. Watch the exposure! This is huge, especially with skin. You need to set the exposure on your camera so that there are no blown out highlights and no black shadows. The software has nothing to "latch onto" in these types of areas, and you'll get crazy lumps in the mesh. On a mobile phone, I just tap the brightest spot on the subject and it auto exposes and focuses on that which usually works. Best results with a good camera or DSLR though.
3. There should be no movement in your scene from shot to shot. No moving leaves, shadows, facial expressions, cars, hair etc. that's why this 6 camera system works great.
Good luck! Feel free to ask any questions you have.
I tried this trick with simple stereo (2 camera) rig. I even bought a couple of video cameras that have IR remote control. In my experience with both sets of cameras, still and video, there's a problem of "over design" in their electronics, i.e. they are too internally complex to guarantee that shutters triggered simultaneously will actually take simultaneous pictures. In other words, something in the software/hardware is building inconsistent latency, which results in in shutter skew. I took some photos of people and at least 30% of them show movement between frames, even though they were triggered simultaneously!
Since I noticed those cheapy GE cameras, I've been fantasizing about getting ~6-10 cameras to create a light-field array (a real one, not the Lytro "focus later" gimmick), which can also serve the functions of taking more than 2 frames for lenticular 3D array and super hi-def panoramas.
But spending ~500$ and only realizing later that the latency issue makes my camera only good for still images, on a 0MPH wind days, is going to be heartbreaking.
So my obvious question is: are the GE cameras displaying that annoying "feature" when you use them in an array? I was hoping they are simple enough (or at least sold with a single software version).
Thanks for the instructable.
IR protocols are designed to add redundancy because IR propagation is not very reliable and you're not always pointing straight at the receiver. They re-send the same command multiple times and I think what happens with the cameras is that the different cameras get the correct reading at different times. For example, because the IR transceiver in the camera is slightly more or less sensitive or it's running on a slightly lower voltage or simply the IR window has a thumb print on it.
Since we are talking about really slow speed IR protocols, the difference in time between the moments when each camera can finally get enough good readings to guarantee a reliable command, can be really big, certainly big in a photography shutter speed sense.
Hardwire them, I think you'll find that the slight differences in timing because of the cameras' internal complexity are so slight that they are probably measured in microseconds and would not register in the photographs. I think IR is what's holding you back.
Cheers!
I was going to trigger the shutters with a mechanical lever or servo depressing each button, but ran into problems there too: these cheap cameras focus themselves when the shutter is depressed halfway, and so they would independently try to acquire the best focus for their own view per shot. This added a large 1+ second lag before the photo was snapped, and also presented the risk that some cameras might focus on a wall instead of the subject.
The solution I landed on was to manually half-depress each shutter button at the beginning of a session (just once per poewr on cycle, not bad at all), to focus all of the cameras on a test-subject. Then, when the shutter button contacts were closed, due to the soldered contact points I chose through trial and error, the cameras all just captured, and skipped the focus step. BTW, there is no manual focus mode on cheap cameras. Boo.
Lastly, I neglected to include my camera settings step in this Instructable, partially by accident, but I think they wouldn't matter unless someone sourced the exact same model. My fault though.
I set all of the cameras to the exact same settings before shooting, leaving nothing to default or automatic mode. This included the ISO, exposure offset, flash mode (off), turning off face-detection, as this adds to the delay per camera, setting focus type (center/9 point) the same, and any other settings or modes which could potentially affect the ability to fire instantaneously.
I ended up with all 6 firing within a 10th of a second or so.
Admittedly not good enough to capture action shots, or low light shots, but definitely worked for every subject who followed the rules of "sit still, look here, and press button when you're ready"!
Good luck in your quest.
Unfortunately, the best answer means buying good DSLRs with cabled shutter releases and manual focus modes and settings.
just something to think about...
The words "3d" and "printer" come up in every other sentence I squeeze out of my lungs. I'm on it! :)
Nobody else is ever on board with me though. C'est la vie and stuff!!
Sniff.
It's all good "on paper"; but just a fantasy so far...
I'll start "small" by buying two cameras and making a stereo pair using your method. 100$ is a reasonable tuition.
Thanks elabz and Tall-drinks for the useful input.
I want to do this to take pictures of my dogs mainly and then 3d model them. You can't tell the dog to sit still so you need to take all the pics at once. I want to capture the whole head (body would be even better, but need more cameras).
If you use Canon P&S cameras and hack the firmware with CHDK there are some nice DIY and premade switches you can get.
http://www.gentles.ltd.uk/gentstereo/sdm.htm
I did experiment with webcams, kids cheap point and shoots, Kinects and such early on. Try to grab as much meta data as OpenCV will allow too. If you can keep the metadata stored in the jpgs, it'll be a great help to the 123dcatch system in terms of calibrating the lens properties and giving you a more true result.
Check this out too:
http://digiteyezer.com/joomla/index.php?option=com_content&view=article&id=77&Itemid=445
They are using 9 webcams I believe in a very pleasant and automated package.
Good luck!
However, on my laptop, I am exceeding the USB controllers bandwidth and can only access three web-cams. booo.
I am trying to find ways around this. Anyone have an ideas?
The experience was horrifying.
Yes.
High quality?
Not yet.
I don't always reconstruct meshes from photographs, but when I do, I use 123DCatch (or Agisoft, decent but not free).
I've run 1080p video stream data through catch in the form of snapshots from a very slow rotation. The result is passable for a base model shape, but nearly zero detail makes it through. You really do need a good 3mp image set or higher to get into details (which happens to be where Catch draws the line (in free mode).
There are a couple of sites out there based in Europe which take in video and output mesh, but they are simply automating that snapshot process on their servers. The results are not great. Now get some Red video footage in there and maybe we have something!
There are really exciting things going on in structure from motion development, which is how 3d features can be derived from motion video. Check it out on wiki. Pretty cool stuff. Look up SLAM, PTAM, structure from motion, bundle adjustment, Bea Arthur, sandwiches, yada yada.
Yes, I actually sent one to Shapeways and added that to the end of this instructable. The detail is definitely there for printing, but I chose a very small scale (0.5 inches wide) so I wasn't happy with the quality of the print. Im going to try another one 2X larger in metal next.