Point clouds explained: scanning, processing, 3D models
Beginners might be surprised to find that their 3D scans turn out not as solid 3D models, but as clusters of spatial data points. So what exactly is a point cloud, and what can you do with it?
3D scanners produce point clouds of varying densities
Point clouds are an important concept in 3D scanning and 3D modeling. Sometimes consisting of tens of millions of individual data points, point clouds can represent anything from a tiny piece of jewelry to an entire football stadium.
So what exactly are point clouds? Where do they come from and how are they used? This article goes over the essential facts, looking at the basics of 3D scanning, point cloud formats, and point cloud software.
What is 3D scanning?
Before we get into the nitty gritty of point clouds, we should take a moment to familiarize ourselves with 3D scanning.
3D scanning is the process of taking a physical, real-world object — an industrial part, a piece of pottery, a human being… you name it — and collecting data about its 3D shape in order to create a digital 3D model of it.
There are a few variations on the 3D scanning process, all of which use slightly different methods to collect data about an object’s shape. Some of the most common 3D scanning technologies include:
Laser scanning: A laser is shined at the object, and a sensor measures the distance between the light source and the surface of the object, either by timing how long it takes for the light to return (“time of flight” or Lidar) or by triangulation.
Structured light scanning: Patterned lines of light are projected onto the object, and cameras are used to analyze how the lines deform over the surface of the object. These deformations indicate the shape of the object.
Photogrammetry: Photographs are taken of the object from many different angles, and software stitches these images together to figure out the 3D shape of the object.
The use cases for 3D scanning are nearly endless. In various industrial disciplines, scanners can be used for reverse engineering: a part can be scanned, turned into a digital 3D model, then reproduced in physical form. Other applications include surveying (in areas like construction and civil engineering) using photogrammetry, building information modeling (BIM), crime scene analysis using handheld 3D laser scanners, capture of real-world objects for animation and video games, and scanning body parts in medicine and dentistry.
3D scanning is also widely used in tandem with digital manufacturing techniques like 3D printing and CNC machining, as scan data can be converted into a CAD model or into a mesh format such as STL, which can then be turned into machine-readable G-code.
Structured light scanning for reverse engineering
What is a point cloud?
A point cloud is the immediate digital output of the 3D scanning process. When you use a 3D scanner to capture the shape of a physical object, the resulting file format is a point cloud.
In short, a point cloud is a collection of spatial data points, with each individual point representing a tiny spot on the surface of the scanned object (collected using one of the technologies described above). The point is expressed as a set of X, Y, Z coordinates. Because there are so many of these individual data points, the point cloud as a whole can be used to understand the 3D shape of the scanned object.
However, not all point clouds are equal: more data points and a higher-density point cloud means more detail, whereas a point cloud with just a few data points will only give an approximate representation of the real-world object. That being said, high-density point clouds require more computer memory and processing power.
So how many individual points does a 3D point cloud contain? This varies by the size of the scanned object and the chosen resolution of the scan, but the number is typically in the millions. This makes the processing of point cloud data fairly CPU-intensive.
Depending on the scanning technology, a data point in a point cloud may also contain RGB color (and brightness) information.
Point cloud file formats
There are a few different file formats for point clouds, which can make the handling of the raw data confusing. However, most formats fall into two categories, and many are similar to one another and therefore easy to convert. Some formats are universal, while others are proprietary and have been developed by 3D scanning hardware manufacturers.
ASCII
The first major type of point cloud format is ASCII (American Standard Code for Information Interchange), which conveys information using text. Each line of text within an ASCII point cloud represents X, Y, Z spatial coordinates.
Common ASCII extensions: XYZ, OBJ, ASC, PTX
Binary
The other major type of point cloud format is binary, which retains all information in binary code. Although binary data is harder to access and interpret, the files themselves are much smaller than ASCII files.
Common binary extensions: LAS, PCD, FLS
Turning a point cloud into a 3D model
Point clouds are a highly effective way of arranging information about the physical world, but they are not particularly useful for further activity once stored on a computer. Although it is possible to use point cloud datasets directly, many users will ultimately convert the point cloud into one of the following file types:
CAD model, allowing the 3D scan data to be modified (reverse engineering etc.)
NURBS surface model, turning the 3D scan data into a digital 3D object with curved surfaces (on-screen visualization, video game rendering etc.)
Mesh, turning the 3D scan data into a polygon or triangle mesh (3D printing etc.)
The process of turning a point cloud into a 3D model is known as surface reconstruction. This is because a point cloud itself does not contain “surfaces,” only a multitude of discrete coordinates.
Of course, the conversion of point cloud data into 3D models is not a simple process. Point cloud processing software must use algorithms to figure out how to represent a collection of points as lines or shapes while determining which data points are genuine and which are outliers. The best software uses deep learning to contextualize point clouds and understand what the data is supposed to represent.
A point cloud can be transformed into a polygonal mesh
Point cloud processing software
Users may need various types of software to create a smooth 3D scanning workflow. However, one of the most important tools is point cloud processing software. This software is used to manually edit point clouds (to remove outlying data points, for example) and render them visually. Different algorithms can be deployed to automatically filter outlying data points.[1]
Functions of point cloud processing software may include:
Manual editing of the point cloud
Automatic cleanup and filtering
Offloading tasks to the cloud
Rendering
Point distance calculation
Registration
Conversion to mesh
Conversation to NURBS
Popular point cloud processing software includes CloudCompare (free and open source), Point Cloud Library (free and open source), Leica Cyclone, Faro Scene, Autodesk Recap, and Trimble RealWorks.
Point cloud registration
For 3D scanning applications like product quality control and inspection, it may be necessary to perform a process known as point cloud registration, otherwise known as point-set registration or scan matching. The process also has numerous uses in computer vision applications.[2]
This is when a point cloud is aligned with another point cloud (or a 3D model) that represents the same physical object. Registration serves a few different purposes, including the merging of two or more data points from separate scans to create a more accurate data set (when using two different scanning technologies to capture a single object, for example), and the comparison of one cloud with another in order to note any discrepancies.
One application of point cloud registration is in quality control, where a point cloud obtained from a 3D scan of a manufactured part can be compared with a point cloud from the original CAD model for the part. This can show whether the manufactured part is faithful to the CAD model, or whether the manufacturing process has produced defects.
Making point clouds 3D printable
3D scanning can be used in combination with 3D printing. This combination is useful for applications like fabricating spare and replacement parts: a 3D scanner can be used to capture a physical part; a 3D model can then be created (and modified) before being 3D printed, resulting in a duplicate of the original part.
To make point cloud data 3D printable, it needs to be converted into a triangle mesh using mesh processing software such as MeshLab (free and open source). Such software can fix holes in the point cloud and turn it into a format such as STL, the standard format for additive manufacturing.
Unlike a point cloud, an STL file describes the surface geometry of a 3D object through interconnected triangles. Such a file can be “sliced” by 3D printer slicing software to turn it into G-code, which instructs the 3D printer how to make the part.
Recommended reading: Creating Spare Parts with 3D Scanning and 3D Printing
Key takeaways
All 3D scanning technologies produce point clouds. Whether you use a handheld 3D laser scanner, a desktop structured light scanner, or a photogrammetry setup with digital cameras, the digital output of your scans will be a point cloud.
Processing the point cloud is not always straightforward, as dense clouds can be very large and CPU-intensive. However, there are good software options, including those packaged with 3D scanning hardware, as well as free applications like CloudCompare. Additionally, most users will need to perform surface reconstruction on their point cloud in order to create a 3D model that isn’t simply a collection of spatial data points.
Once you have become familiar with point clouds and how to handle them, the applications are diverse, from 3D city mapping to animation to 3D printing.
References
[1] Han XF, Jin JS, Wang MJ, Jiang W, Gao L, Xiao L. A review of algorithms for filtering the 3D point cloud. Signal Processing: Image Communication. 2017 Sep 1;57:103-12.
[2] Huang X, Mei G, Zhang J, Abbas R. A comprehensive survey on point cloud registration. arXiv preprint arXiv:2103.02690. 2021 Mar 3.