Have you ever wanted to 3D scan a stuffed animal, or a little ceramic dinosaur, or perhaps an owl whistle? You know, to contribute to the volumetric digital repository of civilization. Well, I have good news for you - all you need is a lightbox, a cheap turntable display, a big sheet of white paper, and a phone (with camera). Or you could use an old microwave.
This rig is 10x less expensive than every monochrome 3D scanner out there - and it's in color.
Background: I was trying to 3D scan a small ceramic owl whistle* and found out that my favorite 3D scanning rig for people and scenes (the Primesense Carmine 1.09 with Skanect) couldn't do it - the whistle was too small. So I did a quick search online and to my surprise, there was nothing on the market for under $1000 that could make high quality color 3D scans of objects smaller than a basketball. I shrugged and decided to drown my disappointment with some Orville Redenbacher's popcorn. And then it hit me.
This is how to make your own Microwave -- a color 3D scanner for digitizing the small things in your life.
*The keen observer may ask, why was I was trying to scan a small ceramic owl whistle? For this project.
Step 1: Theory
A lot of people have used photo-stitching software like 123D Catch. And almost as many people think it sucks. The background always seems to get blended into the subject matter being scanned, making for terrible 3D models of small objects. The problem is, the software is designed to force the photographer to walk around the subject, leading to uneven lighting and a bunch of undesired background imagery being pulled into the final 3D model.
Quite a few folks (myself included) have naively tried to take photos of spinning objects to get around this issue - I once tried to 3D scan a turkey in a rotisserrie oven - but alas, if the background is static and the subject is rotating/spinning, photogrammetry software like 123D Catch doesn't work at all.
Turns out, the solution to this problem and the key to using photogrammetry to 3D scan small objects is to eliminate the background and all shadows with a trick photographers call the infinity wall.
It's insanely simple. And it works.
Step 2: Tools & Materials
- A single large white piece of paper (A3/Legal or larger is best); if you are scanning white objects, you'll need a black piece of paper instead.
- A turntable display that makes a full revolution in between 15 - 30 seconds.
- A light: can be either a diffused light bulb or an LED light panel
- A box, slightly bigger than a large microwave - in Step 3 I'll include some drawings of a lasercut plexi box that works well.
- A phone with a camera: newer phones with "burst" mode work well. A DSLR camera will work as well or better.
- (if you want to get fancy) Some magnets and a hairband or lobster claw rubberband
- A set of hex keys (if you assemble the box based on the plans in Step 3)
- A little tape
- 123D Catch (free) or Agisoft ($179)
It's actually kind of silly to use an actual microwave for this, since the game here is to trick some software into doing something it doesn't want to do, using a perfectly monotone background, even lighting, and a small turning table. For the intrepid, a microwave will work, and here's how to get at the turntable motor and power it separately. For everyone else, this instructable will show how to make the "Microwave" 3D scanner from scratch.
Step 3: Build the Lightbox
For the lightbox, I used laser cut acrylic with a LED lightpanel. Any box that is white will probably do - including microwaves or painted FedEx cardboard boxes. The LED lightpanel goes on top.
The box detailed here was designed by my colleague in Looking Glass lab, Angus - it's 18" x 16" x 16" and is made of translucent white acrylic, held together with some simple 90 degree bracket. Plans are attached to this step. This is opensource under the Creative Commons Attribution-ShareAlike 3.0 license.
Note: there are a few improvements to this simple ilghtbox that make the scanning more consistent, including shifting the lightpanel towards the front opening. If there's enough interest I'll put together together a kit - let me know in the comments.
Step 4: Make Your Paper Backdrop
I used the trick that all photographers use for "infinity" photos with no discernible background -- it's just a slightly curved well-lit piece of paper behind the subject. An A3/legal-sized sheet will work fine, but any large sheet of paper cut to your box size will do.
The only important thing to keep in mind is that the paper cannot have any wrinkles or creases and it must be completely, absolutely clean. Any photographed speck of dirt or wrinkle in the backdrop will get picked up by the photogrammetry software and the image will not render.
While you're at it, cut a hole in the paper for your rotating turntable and cover the turntable with a bit of the same white paper used for the backdrop.
Step 5: Place Your Object and Take a Burst of Photographs
If you follow the plans for the lightbox detailed in this instructable, you'll see there's a crossbar with some embedded magnets included. This is meant to hold a phone with an elastic band, set on a curved steel track to improve scanning at different positions from the object. This is only needed if you want to get fancy. If you've a steady hand, you can just hold your phone or camera and shoot a burst of photographs. The object should fill as much of the photo's area as possible.
Burst mode, as opposed to taking a series of photographs with separate trigger presses, will ensure your camera phone doesn't shake while the object is being scanned. That said, a burst set of photographs yields more photos than you need to make a high quality 3D model. So, select just 30-35 photos from the burst set for the base and top of your object (ideally 30-70 photos in total).
Note: rather than using "burst mode" on your phone or camera, you can also use timer software to take a photo every 0.5 - 1 second or so. Some free software I've tried is Gorillacam, but I'm sure there are loads of other options.
Step 6: Stitch Your Photos With Off-the-shelf Software
Pro tip: For objects with overhangs, you'll likely need to mask out each photo, which is pretty easy with a solid white background in each image. Agisoft rather than 123D Catch will be a better bet once you make this leap into scanning lego creations and other complex assemblies with overhangs. Also, if you are scanning white objects, you'll need a monotone non-white background.
Here's the owl whistle after I scanned it and ran the photos through 123D Catch.
I'm finding this overall method is much more reliable than the standard walk-around photo-scanning for small objects - and maybe it could work people-scanning, with a huge Microwave or backdrop.
Like I mentioned, if there is enough interest I'll put together a kit of all the parts in this instructable - including a really nice LED light panel, the acrylic housing, and the turntable all integrated together. I'm thinking it would come out to a $100 kit.