Friday, July 6, 2012

3D Scan

Microsoft's Kinect Xbox camera is a pretty neat piece of technology. For little money you get a 3D scanner capable of a lot of things.
But as with most gadgets: Software's important. The internet is full of videos showing kinect-hacks, but working software in production quality is a little rare.


We  used ReconstructMe, which is free for noncommercial use, to power the scanning process.
MeshLab to postprocess the scanned data, remove glitches and align multiple scans.
And finally Autodesk's 123D Make to transform the digital model to paper patterns to cut our model from.

The beauty of this approach is, that the ReconstructMe works with a metric space, allows us to measure distances and get the scale of the model right. 123D Catch, which extracts 3D data from videos or sequences of still images has no means of achieving that. You'd get a model, but no clue how big it is.
Second advantage is that ReconstructMe has access to the accelerometer inside the kinect, so the number of rotational degrees of freedom is reduced to one. (Actually they don't do that. From our own experiments with kinect raw data we assumed they would, because the software handles viewport direction changes that well.)
In principle ReconstructMe works in realtime, displaying the geometry it condensed from the kinect input, but you need at least graphics card power, as some OpenCL features are required.


There were still some minor difficulties: First of all the the head is still up quite some distance from the ground. We had to build our own custom rig including aluminum tubes, a monopod and a mighty magic arm, mounting the kinect on top of it and climbe the pedestal beneath the horse to get a proper view.
Second, the kinect needs 12V power supply in addition to the USB. We had to wire some 1.5V batteries in series, tape cluster them up and hope that they'd last one mobile scanning session. Sadly there are no pictures of this operation.
As the laptop we had available didn't support all OpenCL features required, we didn't have realtime preview of the scan. We hat to scan blindly and hope that the data was good. Took us two sessions...

Here is a video of what the ReconstructMe processing looks like for a single take. Yes it's shaky, but remember, how high up the head is. You can see how the geometry is enlarged and refined as more of the head comes into view.

Next 4 individual scans (from the second session) covering different views of the head were combined and post-processed in MeshLab. This is the result:

No comments:

Post a Comment