A point cloud is a discrete set of data points in space. The points may represent a 3D shape or object. Each point position has its set of Cartesian coordinates (X, Y, Z).[1] [2] Points may contain data other than position such as RGB colors, normals,[3] timestamps[4] and others. Point clouds are generally produced by 3D scanners or by photogrammetry software, which measure many points on the external surfaces of objects around them. As the output of 3D scanning processes, point clouds are used for many purposes, including to create 3D computer-aided design (CAD) or geographic information systems (GIS) models for manufactured parts, for metrology and quality inspection, and for a multitude of visualizing, animating, rendering, and mass customization applications.
See main article: Point set registration. When scanning a scene in real world using LiDar, the captured point clouds contain snippets of the scene, which requires alignment to generate a full map of the scanned environment.
Point clouds are often aligned with 3D models or with other point clouds, a process termed point set registration.
The Iterative closest point (ICP) algorithm can be used to align two point clouds that have an overlap between them, and are separated by a rigid transform.[5] Point clouds with elastic transforms can also be aligned by using a non-rigid variant of the ICP (NICP).[6] With advancements in machine learning in recent years, point cloud registration may also be done using end-to-end neural networks.[7]
For industrial metrology or inspection using industrial computed tomography, the point cloud of a manufactured part can be aligned to an existing model and compared to check for differences. Geometric dimensions and tolerances can also be extracted directly from the point cloud.
While point clouds can be directly rendered and inspected,[8] [9] point clouds are often converted to polygon mesh or triangle mesh models, non-uniform rational B-spline (NURBS) surface models, or CAD models through a process commonly referred to as surface reconstruction.
There are many techniques for converting a point cloud to a 3D surface.[10] Some approaches, like Delaunay triangulation, alpha shapes, and ball pivoting, build a network of triangles over the existing vertices of the point cloud, while other approaches convert the point cloud into a volumetric distance field and reconstruct the implicit surface so defined through a marching cubes algorithm.[11]
In geographic information systems, point clouds are one of the sources used to make digital elevation model of the terrain.[12] They are also used to generate 3D models of urban environments.[13] Drones are often used to collect a series of RGB images which can be later processed on a computer vision algorithm platform such as on AgiSoft Photoscan, Pix4D, DroneDeploy or Hammer Missions to create RGB point clouds from where distances and volumetric estimations can be made.
Point clouds can also be used to represent volumetric data, as is sometimes done in medical imaging. Using point clouds, multi-sampling and data compression can be achieved.[14]
MPEG began standardizing point cloud compression (PCC) with a Call for Proposal (CfP) in 2017.[15] [16] [17] Three categories of point clouds were identified: category 1 for static point clouds, category 2 for dynamic point clouds, and category 3 for LiDAR sequences (dynamically acquired point clouds). Two technologies were finally defined: G-PCC (Geometry-based PCC, ISO/IEC 23090 part 9)[18] for category 1 and category 3; and V-PCC (Video-based PCC, ISO/IEC 23090 part 5)[19] for category 2. The first test models were developed in October 2017, one for G-PCC (TMC13) and another one for V-PCC (TMC2). Since then, the two test models have evolved through technical contributions and collaboration, and the first version of the PCC standard specifications was expected to be finalized in 2020 as part of the ISO/IEC 23090 series on the coded representation of immersive media content.[20]