Intro: The Microwave: a Color 3D Scanner for Small Objects
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: A few years ago 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.
This is how to make your own Microwave -- a color 3D scanner for digitizing the small things in your life.
*If you're someone who likes the absurd joy of 3D scanning objects from the real world and then interacting with those 3D scans back in meatspace in a lightfield display -- well, more on that coming soon!
Step 1: Theory
A lot of people have used photo-stitching software. 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 the now-defunct 123D Catch and even better software like Agisoft doesn't seem to 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
- Agisoft Professional Edition (there's a 30-day free trial version with full model download A-OK)
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 our lab at Looking Glass, 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 you might want to try that make the scanning more consistent, including shifting the lightpanel towards the front opening.
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
Load 30-70 of the photos you took in Step 5 into Agisoft Photoscan Professional Edition (there's a 30-day free trial with full download of the generated 3D model). Click a few buttons and 10-20 minutes later, you will have your digitized object!
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. 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 this process.
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.