If you have seen the KinectFusion algorithm in action, you know it's an exciting and powerful technique - but it just got better. Kintinuous uses a Kinect to build a very big, mesh-based, model simply by pointing the Kinect at the environment.
Kintinuous uses a Kinect to build very large 3D models. It has been implemented by a team from the Department of Computer Science, NUI Maynooth and CSAIL, MIT
It takes the original KinectFusion algorithm and makes some important changes. First the region of the model isn't fixed; it expands as you scan new areas. The second is that it dynamically builds a triangulated mesh that represents the 3D data.
The way that the algorithm works is also interesting and casts some light on the original KinectFusion algorithm. The surface being reconstructed is stored in the GPU as a Truncated Signed Distance Function (TSDF), basically a 3D array of distances and weights. The pose of the camera within the TSDF, i.e. the position and direction the camera is pointing in, is given by rotation and translation matrix.
In the KinectFusion algorithm the camera was not allowed to move outside of the TSDF, but in the new algorithm the TSDF is re-centered on the camera once it moves too far from the origin.This allows the volume of the model to increase. As the TSDF is moved, the parts of the point cloud that are no longer included are streamed out to the CPU, where a greedy mesh algorithm is applied to extract a triangulated model.
The algorithm is capable of creating very large models - a complete computer lab, the view from a moving car, and so on.
You can see it in action in the video:
If you are using a WebGL browser, i.e. almost apart from IE, then you can also explore the point clouds that were collected - be warned these are large datasets and take time to process.
What could you use Kintinuous for?
The system is being designed to allow robots to build models of their surrounding - Simultaneous Localization and Mapping or SLAM. The idea is that, with the addition of a Kinect and a fairly modest GPU-equipped processor, a robot can learn about its surroundings and get from A to B without running into walls, etc.
Of course, good quality 3D models are also required for all sorts of equally adventurous tasks such as virtual reality, augmented reality, simulation and 3D printing.
The key factor is that Kintinuous can create very big models - street size and building size models - and it can do it very quickly with low-cost hardware.
Do you need more evidence that low-cost 3D input is changing what is possible.
The big news at Xamarin's Evolve developer conference is that its SDK is now open source and under the care of the .NET Foundation. Bigger news would have been a clearer view of where it's all going - [ ... ]