Converting CloudCompare to 3D PDF

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 ).

With a renowned tool like PDF3D ReportGen, conversion from CloudCompare to 3D PDF is fast and easy:

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.

Estimating Normals

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.

PDF3D ReportGen

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.

  

CaseNo. PointsPoint Cloud Size3D Mesh Size3D PDF Size
Tesla Car Body3.8 M157 Mb PTS ASCII85 Mb PLY Binary6 Mb
Electrical Panel27 M1.1 Gb PTS ASCII66 Mb PLY Binary8 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.

More Info

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:

DotProduct                         http://www.dotproduct3d.com

CloudCompare                  http://www.cloudcompare.org/

PDF3D ReportGen           https://www.pdf3d.com/products/pdf3d-reportgen/

CloudCompare Application

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.