kinect3dscanning
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
Previous revision | |||
— | kinect3dscanning [2015-10-05 15:55] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | < | ||
+ | Date: Sat, 6 Apr 2013 14:09:05 +0100 | ||
+ | From: Martin Ling < | ||
+ | Reply-To: discuss@edinburghhacklab.com | ||
+ | To: " | ||
+ | Subject: [hacklab-discuss] Notes on the state of 3D scanning with a Kinect | ||
+ | Hi all, | ||
+ | |||
+ | Wren & I have just spent a while trying to scan ourselves with the lab's | ||
+ | Kinect, with the aim of getting models that would be useful for sizing & | ||
+ | designing clothes. For the benefit of anyone else trying to do something | ||
+ | similar, here are some notes on how it works and what the state of | ||
+ | available software is. | ||
+ | |||
+ | Hardware: | ||
+ | |||
+ | - The lab's Kinect is the version designed for the Xbox 360, and came | ||
+ | with a weird Xbox-specific connector that carries 12V + USB. I have | ||
+ | now modded this to have a standard USB connector and a 12V mains | ||
+ | supply, so you can plug it into a PC. You can still use it with an | ||
+ | Xbox 360 if you want to. | ||
+ | |||
+ | - The Kinect lives in the lab store room. | ||
+ | |||
+ | Drivers / SDK: | ||
+ | |||
+ | - The official software is Microsoft' | ||
+ | can get from: | ||
+ | http:// | ||
+ | |||
+ | Note that although this SDK is marketed as being for the " | ||
+ | Windows" | ||
+ | apparent difference in the more expensive " | ||
+ | is a firmware that enables "near mode" operation down to ~40cm, rather | ||
+ | than the ~80cm limit of the original models. | ||
+ | | ||
+ | As of version 1.7 released two weeks ago, the SDK includes the Kinect | ||
+ | Fusion code which was developed at Microsoft Research. This can build | ||
+ | 3D models on the fly from the Kinect data stream, but you need a high | ||
+ | spec GPU to do the processing. Unsurprisingly I couldn' | ||
+ | my laptop. Perhaps a GPU with this sort of capability would be a good | ||
+ | addition to a lab workstation. | ||
+ | |||
+ | - The open source alternative stack is OpenNI: http:// | ||
+ | This is a framework for working with all sorts of Kinect-like devices. | ||
+ | There is a Kinect driver for it that works with Windows, Mac and Linux: | ||
+ | https:// | ||
+ | |||
+ | - You can have both drivers installed at the same time on Windows, but | ||
+ | you need to select which is used for the Kinect through Device Manager | ||
+ | before starting software that depends on one driver or the other. | ||
+ | |||
+ | Scanning Software: | ||
+ | |||
+ | - The best thing seems to be ReconstructMe: | ||
+ | This runs on Windows and works with both OpenNI and the Kinect for | ||
+ | Windows drivers. | ||
+ | |||
+ | The GUI version for this is very simple - one button to record and | ||
+ | reconstruct a mesh on the fly - but I you'd need a fast GPU for this | ||
+ | to work. Also they charge for a non-crippled version. | ||
+ | |||
+ | The console version (not crippled, but for non-commercial use only) | ||
+ | allows recording and offline processing. It also has a stitcher that | ||
+ | will join up multiple scans, although this doesn' | ||
+ | them, just simple stitching. | ||
+ | |||
+ | There are essentially no options or manual adjustments in this | ||
+ | software - it's just data in, model out. | ||
+ | |||
+ | Without a GPU the processing is very, very slow, but it works well. | ||
+ | You have to make sure to move the sensor very slowly. | ||
+ | |||
+ | It doesn' | ||
+ | mesh, rather than just a point cloud. It outputs .obj files. If you | ||
+ | need to post-process or convert these to something else, I recommend | ||
+ | MeshLab: http:// | ||
+ | |||
+ | - The other software we tried was SCENECT: | ||
+ | http:// | ||
+ | It runs on Windows and uses OpenNI and the driver from the link above, | ||
+ | which it installs for you. | ||
+ | |||
+ | This is a modified version of the SCENE LT laser scanning software | ||
+ | which uses the Kinect as a data source instead of a laser scanner. | ||
+ | So it already has lots of features for visualіsing, | ||
+ | exporting the data. | ||
+ | |||
+ | It does on-the-fly point cloud reconstruction, | ||
+ | easier to just record the data stream and process it offline. | ||
+ | |||
+ | This almost worked for us. The problem is that the tracking between | ||
+ | frames often jumps, leaving mismatches in the data. To try and | ||
+ | get round this we ran multiple shorter, slow-moving scans from | ||
+ | different angles, and tried to match them up afterwards. The software | ||
+ | has an automatic matching feature for this, but it didn't like our data. | ||
+ | |||
+ | It's possible that with more effort we could get this to work. It | ||
+ | runs faster and offers a lot more control than ReconstructMe, | ||
+ | outputs colour data. | ||
+ | |||
+ | Hope this is useful to someone! | ||
+ | |||
+ | |||
+ | Martin | ||
+ | </ |
kinect3dscanning.txt · Last modified: 2015-10-05 15:55 by 127.0.0.1