documentation segmentation on the pointclouds.org website
A point cloud is a data structure used to represent a collection of multi-dimensional points and is commonly used to represent three-dimensional data. In a 3D point cloud, the points usually represent the X, Y, and Z geometric coordinates of an underlying sampled surface. When color information is present, the point cloud becomes 4D.
Point clouds are most often created by 3D scanners. Point clouds can be directly rendered and inspected, but generally they are not directly usable in most 3D applications, and therefore are usually converted to polygon or triangle mesh models, NURBS surface models, or CAD models through a process commonly referred to as surface reconstruction.
Here comes in the Point Cloud Library (PCL), a standalone, large scale, open project for 3D point cloud processing. The PCL framework contains numerous state-of-the art algorithms including filtering, feature estimation, surface reconstruction, registration, model fitting and segmentation, as well as higher level tools for performing mapping and object recognition. PCL is released under the terms of the BSD license and it’s free for commercial and research use.
The PCL website provides a blog, a news, media and download section and a great documentation with tutorials, descriptions, API’s and advanced topics about 3D point clouds.
One example of a PCL project is the open source version of KinectFusion.
Microsoft Kinect Fusion Demo Picture
Microsofts research project KinectFusion investigates techniques to track the 6DOF (six degrees of freedom) position of handheld depth sensing cameras, such as Kinect, as they move through space and perform high quality 3D surface reconstructions for interaction. The technique is shown on the KinectFusion demo video on Youtube.
Two research papers, co-authored by more than 10 researchers across Microsoft Research and three universities, have been published :
- Shahram Izadi, David Kim, Otmar Hilliges, David Molyneaux, Richard Newcombe, Pushmeet Kohli, Jamie Shotton, Steve Hodges, Dustin Freeman, Andrew Davison, and Andrew Fitzgibbon, KinectFusion: Real-time 3D Reconstruction and Interaction Using a Moving Depth Camera, ACM Symposium on User Interface Software and Technology, October 2011
- Richard A. Newcombe, Shahram Izadi, Otmar Hilliges, David Molyneaux, David Kim, Andrew J. Davison, Pushmeet Kohli, Jamie Shotton, Steve Hodges, and Andrew Fitzgibbon, KinectFusion: Real-Time Dense Surface Mapping and Tracking, in IEEE ISMAR, IEEE, October 2011
Until now, Microsoft has not yet released the code of Kinect Fusion. Based on the scientific paper that describes the algorithms in some detail, an open source implementation of KinectFusion has been developed by the project team of the Point Cloud Library (PCL). Jasper Brekelmans from the Netherlands, Technical Director at Motek and developer of the Brekel Kinect Tool, compiled a binary version of the PCL solution (KinFu). He provides also an all-in-one OpenNI Kinect auto driver installer with all needed files to run his application or the Kinect Fusion program.
Another outstanding program to construct 3D models in realtime with a Kinect (or with another depht sensing device), based on the ideas of KinectFusion, is the project ReconstructMe developped by Christoph Heindl of PROFACTOR GmbH.
Additional informations about the KinectFusion project are available at the following links :