A point cloud is a collection of data points in 3D space, where each point represents the X-, Y-, and Z-coordinates of a location on a real-world object’s surface, and the points collectively map the entire surface.
Point clouds are used to capture real-world scenes and are commonly produced by lidar scanners, stereo cameras, and time-of-flight cameras.
They can be classified into two categories based on the data type:
- Organized point clouds are typically generated by sensors in stereo and time-of-flight cameras. They have the format M x N x C, where M is the number of rows, N is the number of columns, and C is the number of channels. Similar to 2D images, this data type contains information about the relationships among adjacent points.
- Unorganized point clouds have the format M x C, where M is the number of points and C is the number of channels. Raw data from lidar sensors are generated as unorganized point clouds.
Point cloud processing is used for perception and navigation in robotics and automated driving applications. It can also be used in augmented reality (AR) and virtual reality (VR) applications. MATLAB® provides tools and reference applications that support point cloud processing, particularly through Lidar Toolbox™ and Computer Vision Toolbox™.
Common workflows and tasks include:
- Reading, writing, and streaming point clouds
- Preprocessing: downsample, median filter, transform, extract features from, and align 3D point clouds
- Lidar camera calibration
- Object detection and semantic segmentation
- Object tracking
- Registration, map building, and SLAM
- Deployment on CPUs and GPUs