A short Guide to processing Point Cloud data into 3D PDF Report Documents using CloudCompare
Point Cloud data from 3D laser, optical and sonar scanners is easily available, however to interpret, display, and present that data with others, it needs to be converted into 3D mesh form, with smoothly shaded surfaces. To then share those 3D meshes with non-specialists or anyone without access to specific software, it is necessary to convert the data into an easily accessible format like 3D PDF (which can be viewed by anyone with the free Adobe Reader ).
The process is extremely straightforward, achieved in just a handful of clicks, but here’s some insight into what’s actually happening in the background during conversion:
Point Cloud Data Formats
Scanners typically measure and output a 3D cloud of individual sample points, in no particular order, and often with RGB colour and other measured attributes. CloudCompare can then be used to load the scanned data from many typical open point cloud formats (ASCII, LAS, E57, etc.) as well as some manufacturer’s formats (DotProduct, Riegl, FARO, etc.). In the examples shown here, the ASCII PTS format is loaded, using sample data courtesy of DotProduct.
Once the point cloud data is loaded and initially reviewed in CloudCompare, a normal vector estimate of the surface tangent direction for each point must then be computed, based on nearby points in the neighbourhood of each point. Typically the CloudCompare “auto” range estimate for the size of the neighbourhood based on statistics can be used.
Poisson Surface Mesh Reconstruction
Once both original points and normal vector estimates are available, the actual 3D mesh reconstruction can begin. The Poisson reconstruction method uses an “Octree” hierarchical subdivision method, where a 3D box is placed over the cloud, then recursively divided into halves, quarters, eighths, etc. in all three axes. In the cases shown here, a subdivision depth of 11 is used. The higher the subdivision depth, the processing time is longer and the output 3D mesh is larger with finer resolution. During reconstruction, a cloud density estimate is also computed, so that thin areas of low density (and low data quality) can be removed.
3D Mesh Intermediate Result
Out of the available mesh output formats available from CloudCompare, the binary PLY format containing a triangle mesh and full-colour RGB vertex colours works well and is used in the examples shown here.
The commercial application, PDF3D ReportGen, operates as a file converter, importing a variety of formats, including PLY. During conversion, an advanced mesh simplification filter is applied to adaptively adjust the mesh resolution from the PLY into an optimized 3D mesh based on geometric curvature, boundaries, holes and colour gradients. The optimized mesh is then encoded in PRC highly compressed tessellation inside of a new PDF report output file. The report documentation, page layout, design as well as 3D mesh are based on a PDF reference template report.
In both examples shown here the optimized mesh contained one million triangles with RGB colours.
3D PDF Report Output
In the final stage, a 3D PDF report is produced, available to be viewed off-line, stored in archives, distributed to team members or clients, or made available as downloads from web portals. The 3D PDF can be opened using the Adobe Reader (free) or Acrobat Pro.
At first it looks like any normal PDF, however once the mouse crosses into the viewport area, a 3D interactive viewer comes alive to explore, rotate, zoom to explore the 3D mesh from any angle. The modest size enables these to be email attachments, whereas most other 3D point cloud formats are far too large to send.
|Case||No. Points||Point Cloud Size||3D Mesh Size||3D PDF Size|
|Tesla Car Body||3.8 M||157 Mb PTS ASCII||85 Mb PLY Binary||6 Mb|
|Electrical Panel||27 M||1.1 Gb PTS ASCII||66 Mb PLY Binary||8 Mb|
NOTES: The two cases show small and medium size point clouds. The PTS format is very verbose, other point formats in binary format have better compression. The mesh size is not dependent on the point cloud size; it is controlled entirely from the reconstruction parameters and can be adjusted to give the level of detail required. The number of triangles in the PLY and 3D PDF are not identical, as mesh optimization was used.
To learn more about how this works and what it looks like, explore the interactive 3D PDF reports here.
For more information on the tools mentioned is this article, see:
PDF3D ReportGen https://www.pdf3d.com/products/pdf3d-reportgen/
CloudCompare is a 3D point cloud (and triangular mesh) processing software. It was originally designed to perform comparison between two dense 3D points clouds (such as the ones acquired with a laser scanner) or between a point cloud and a triangular mesh. Technically, it employs an “octree” hierarchical binary subdivision structure dedicated to this task. CloudCompare enables experiments, research and exploration into new algorithms, methods and work-flows, providing a bridge between academic research and commercial production point cloud meshing systems.
In recent years, CloudCompare has been extended to a more generic point cloud processing software, including many advanced algorithms (registration, resampling, colour, normal, scalar fields handling, statistics computation, sensor management, interactive or automatic segmentation, display enhancement, etc.).
CloudCompare is an open source “Free Software” project (“Free” as in “Free speech”, not as in “free beer” – developing and maintaining software is never actually free, as there is no magic software fairy) and as such, the team behind CloudCompare continually seek donations to continue this innovative work. DotProduct are a corporate sponsor of the CloudCompare project.