This week we had to scan and print a 3D object, not necessarily the same one. I was pretty short on time so I quickly got an STL file together for the 3D-print batch our TAs were doing in the architecture lab. I spent more time on 3D scanning this week.
Recently back from a trip to Scotland, where my Dad's from, I've been really into stags. It turns out that they are in both my tarot card readings and my family crest.
The idea was that I could grab a model from Thingiverse, crop out the stag and then create a new cap for my Grado headphones, where the stag sits across the open-ear grill.
Well, I did the first part. Ran out of time and had lots of issues trying to get the stag to scale down to less than 3"x3"x3" using Meshlab and SketchUp. I would edit the mesh in Meshlab, export to SketchUp for scaling, then import back into MeshLab as an .OBJ file in order to export the final STL file. Unfortunately, scaling in SketchUp created holes at the base of the antlers (shown in red below).
Eventually, I figured out how to (a) reduce the number of triangles in Meshlab to make loading/saving faster, and (b) scale the stag down to its 3" envelope.
Although I finally got the stag scaled down without holes, I wasn't actually able to get the print finished by class. The STL file for the stag is here.
UPDATE!: My girlfriend Jenni works at FormLabs and kindly printed the stag (without horns, cause apparently I still hadn't gotten rid of all the holes), on the fabulous Form 1. So I have a very smooth, blue-grey cow!
I first tried 3D object scanning using 123d catch, a web-based application built by Autodesk. First, I tried to scan my face by getting my girlfriend to take several pictures of myself.
The 3D model I got was horrible, even after a second try.
I moved onto a simpler example. Scanning a set of matches, I made sure to take many pictures with overlapping features. Unfortunately, the front and back of the matchbox looked almost identical. Either way, the reconstruction was more successful than when trying to scan myself. The back of the matchbox is missing.
Finally, I scanned a colorful mug with (my) childish paint (from 2 weeks ago) on it. Once again, it didn't come through all the way as the back of the mug was missing.
Here are the STL files for the matchbox and cup:
Since my group's research involves user interface design with the Microsoft Kinect, I found a Kinect for Xbox 360 lying around.
For those who don't know, the Kinect has a depth camera that can determine how far away each pixel in an image is. With this information, you can do some pretty amazing things, including 3D scanning (aka scene reconstruction):
I used a piece of Windows software to try out 3D reconstruction with the Kinect, called ReconstructMe. The idea is that you can take a depth picture with the Kinect, then move the camera around the object and take a new perspective snapshot. The software then uses the multiple snapshots to build a 3D model. This is basically, the same idea as 123d catch, except with depth information that gives a more direct sense of the object's structure.
First, I calibrated the Kinect camera following ReconstructMe's instructions.
Next, I tried scanning just the colorful cup, but that didn't turn out so well. Whenever I tried to move the Kinect around the cup, its shape would fall apart. I figured this might be because there weren't enough points of reference for ReconstructMe to reason about what side of the cup it's looking at.
So instead, I tried to scan a more complicated scene with: a lamp, a big cat (Raoul), a teddybear, a sheep with a Tam cap, as well as the matches and cup.
More objects seemed to help with reconstruction. Things still fell apart when I moved too quickly, but I was able to capture a decent 3D model of the entire scene by moving slowly around the table.
The cup and matches. Note how the cup has shape all the way around, although there appears to be a small glitch on its left side.
The cat / Raoul.
The bear and lamb. Note that because I didn't go all the way around the table, the backs of the bear and lamb are unknown. I made sure to circle around the cup, however.
The STL file for the reconstructed scene is here.