Turn your Kinect into a 3D Scanner

Xbox-360-Kinect-Standalone

Hey everyone! I figured I would mix things up a bit. Here’s a tutorial with the deets on how to turn your ordinary Kinect into a 3D scanner! It’s not going to have the accuracy of the pros, but it’s not going to have the price ($2k+!) of the pros, either.

Sorry Mac users – you can get a Kinect to run on your machine, but the process is much much harder. However, the software we will use today (Skanect, by Occipital) runs on Mac and Windows, so if you can get your hands on a Primesense Carmine, Asus Xtion, or Structure Sensor, you can start scanning too!

What you’ll Need is:

A scanner (we’re using the Xbox 360 Kinect, but you can use the Asus Xtion, Structure Sensor, or Primesense Carmine)

Newer Kinects will require an AC adapter.

The latest version of Windows Kinect SDK

Meshlab

A 3D scanning program like Skanect or ReconstructMe. We’ll be using Skanect.

A fast computer with a decent graphics card. ReconstructMe has a good list of expected card performances here.

Updated drivers for your graphics card.

Setup

1) Update the drivers for your specific card. AMD and NVIDIA (the two major GPU manufacturers), both have excellent auto-detect driver applications. Just download them and click through the steps. You can find AMD’s auto-installer here and NVIDIAs’ here.

2) Make sure your Kinect is unplugged. Install the Kinect SDK.

3) Install Skanect.

4) Plug in your scanner and open Skanect to see if it’s detected. If it’s not, try restarting your machine. If you still can’t get it to work, email me at jordan.pelovitz [at] gmail.com. :)

Connect your Kinect

Scanning

1) Set your bounding box. The smaller your box, the more detail you can pick up. Often you can stitch multiple smaller, more detailed scans together to create a larger scan of a big object. However, no matter what your bounding box is, your scanner will have a minimum and maximum distance it can be from an object. Play with it until the majority of your object is visible in the preview window.

BoundingBoxSetup

2) Start recording! In Skanect, the shortcut is the spacebar on your keyboard, or you can hit the circle-in-square “record” button. Move slowly around the object until you managed to capture all the data you want. If the scan becomes misaligned, just try to line up the black and white image overlay with the physical data until it snaps back. Sometimes, you may have to take multiple scans to get everything.

Couchscan2

3) Hit spacebar or the “Stop” square to stop the recording. Proceed through the reconstruction and processing phases, where you can fuse your scans together and add color.

Scan3

4) Save & Export. Under the “Share” tab, Skanect can export to .PLY, .STL, and .OBJ. All are polygon-based formats. Make sure to use the most recent version of Skanect and select “Texture UV” under the “Colors” option. This will give you 3 files; an .OBJ, an .MTL (material definition), and a .PNG with color information. Upload these into your 3D application to give your scanned model some color.

 

Further Refinement

eye_cropped

Meshlab is an open source tool for editing and converting your file to a multitude of other formats. You can use it to remove unwanted portions of your model or align multiple scans.

 

Now What?

Ok, so you’ve got some scans. What can you do with them? How is this stuff useful?

Reverse Engineer it – Scan a part and “trace” it in CAD to duplicate it, or build an add-on part that fits to the original.

Modify it – Use free programs like Sculptris and Blender to modify your part and explore new design concepts virtually.

Print it – Make endless copies of you/your loved ones/that perfect slice of toast.

Render it – Want to try a new lighting scheme in your home? Scan a room and change the lights virtually.

Share your designs on the web – free services like Sketchfab allow you to upload and embed your models anywhere.

 

Like what you read? Please consider subscribing:


 

3 thoughts on “Turn your Kinect into a 3D Scanner

  1. Thank you very much! I have been looking around for an affordable scanning option that even if is not necessarily professional its use and its result doesn’t suck. I knew Kinect was an option but I had some concerns until I read what you wrote and checked you wrote this just two weeks ago. Sir, you earned my subscription big time :D

  2. why meshlab is used,from which site i can download meshlab,which version, my kinect sensor is not being detected by skanect, is this due to the absence of meshlab?

    • Meshlab can be downloaded here: meshlab.sourceforge.net

      Meshlab is used to modify your scans. It is not necessary to have it installed to scan, however.

      Have you updated the drivers for your video card? Have you installed the Kinect SDK?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>