Point Cloud Library (PCL)
List of projects accepted into Point Cloud Library (PCL)
The Point Cloud Library (PCL) is a standalone, large scale, open project for point cloud processing. 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 such as the output of a stereo camera, 3D scanner, or time-of-flight camera. With the advent of new, low-cost hardware such as the Microsoft Kinect or Asus XTionPro 3D cameras and continued efforts in advanced open source 3D point cloud processing, 3D perception gains more and more importance in many fields.
The PCL library contains numerous state-of-the art algorithms including filtering, feature estimation, surface reconstruction, registration, model fitting, segmentation, tracking, recognition, and many more. These algorithms can be used, for example, to filter outliers from noisy data, stitch 3D point clouds together, segment relevant parts of a scene, extract keypoints and compute descriptors to recognize objects in the world, and create surfaces from point clouds and visualize them -- to name a few.
PCL is released under the terms of the BSD license and is open source software. It is free for commercial and research use. Development of PCL is a large collaborative effort driven by researchers and engineers from many different institutions and companies around the world. PCL is cross-platform, and has been successfully compiled and deployed on Linux, MacOS, Windows, and Android. To simplify development, PCL is split into a series of smaller code libraries, that can be compiled separately. This modularity is important for distributing PCL on platforms with reduced computational or size constraints. PCL aims to be for 3D processing, what the Boost set of libraries are for C++: a collection of fast, modular, and community peer reviewed code libraries that can be used to create powerful and complex applications. PCL is written entirely in C++ and makes use of modern C++ libraries such as Boost and Eigen for all its internal data structures. In order to support applications that require real time point cloud processing, PCL has been designed to take advantage of SSE instructions when available, and a GPU interface is currently under development in association with NVIDIA.
The Point Cloud Library aims to unite the field of point cloud processing. By providing an extensible framework for all the geometric algorithms necessary for 3D perception, PCL enables developers to create applications limited by their imaginations, rather than their 3D geometric knowledge.