Point Cloud Manager: Applications of a Middleware for Managing Huge Point Clouds

Point Cloud Manager: Applications of a Middleware for Managing Huge Point Clouds

Omar A. Mures (University of A Coruña, Spain), Alberto Jaspe (CRS4, Italy), Emilio J. Padrón (University of A Coruña, Spain) and Juan R. Rabuñal (University of A Coruña, Spain)
Copyright: © 2016 |Pages: 15
DOI: 10.4018/978-1-5225-0182-4.ch013


Recent advances in acquisition technologies, such as LIDAR and photogrammetry, have brought back to popularity 3D point clouds in a lot of fields of application of Computer Graphics: Civil Engineering, Architecture, Topography, etc. These acquisition systems are producing an unprecedented amount of geometric data with additional attached information, resulting in huge datasets whose processing and storage requirements exceed usual approaches, presenting new challenges that can be addressed from a Big Data perspective by applying High Performance Computing and Computer Graphics techniques. This chapter presents a series of applications built on top of Point Cloud Manager (PCM), a middleware that provides an abstraction for point clouds with arbitrary attached data and makes it easy to perform out-of-core operations on them on commodity CPUs and GPUs. Hence, different kinds of real world applications are tackled, showing both real-time and offline examples, and render-oriented and computation-related operations as well.
Chapter Preview


Presently, acquisition technologies such as LIDAR (Laser Imaging Detection and Ranging) (Van Genderen, 2011) have seen an unprecedented amount of advancements in terms of the quality and precision of the acquisition hardware. These devices measure distance by using a laser to illuminate a target and then analyzing the reflected light. This distance information is combined with different data obtained from other techniques such as photogrammetry, radiometry, etc. These measurements are repeated for all surfaces of the target reachable by the laser scanner, resulting in a set of points with information about their position, color, reflectivity, etc. This acquisition procedure leads to high precision georeferenced 3D scans of the real world with an exceptional amount of data, sometimes exceeding billions of points. The processing and visualization of these datasets on commodity systems present several challenges that can be addressed from a Big Data perspective by applying High Performance Computing and Computer Graphics techniques (Yuan, 2012).

In order to manage these huge point clouds and perform operations seamlessly on them, we have developed a middleware we have named Point Cloud Manager (PCM) (Jaspe, 2012) (Mures, 2014a). This software package (Mures, Jaspe, Padrón, & Rabuñal, 2013) comprises a multiplatform library and a set of tools around it that allows the management of massive point clouds with arbitrary attached data on commodity hardware. The library provides an abstraction for an arbitrarily large point cloud stored in secondary memory (HDD, SSD, NFS...), exposing a simple and clear API to get access to the dataset in RAM or VRAM and perform out-of-core operations on CPU or GPU. The two main pillars behind PCM are a multiresolution spatial structure and a hierarchy of software caches as can be seen in Figure 1.

Figure 1.

System overview of PCM

Given the spatial nature of the point clouds datasets, the multiresolution structure used in PCM is strongly inspired in the space subdivision techniques usually applied in 3D computer graphics. This structure is exploited by PCM to provide interactive access to the dataset when needed, for example for visualization, or an iterative computation based on the multiresolution levels, that is, converging towards a solution by traversing the multiresolution structure with a certain threshold.

A hierarchy of two software caches is used for the transparent and efficient out-of-core access to the dataset, a synchronous software cache in VRAM to exploit GPGPU capabilities or simply perform advanced point-based rendering, and an asynchronous one in RAM to provide multi-thread support for CPU(s). Thus, chunks of 3D point data are transferred when needed, as a response to the high level API calls.

Hence, from low-level memory management to conversion and visualization of the point clouds, PCM makes out-of-core point cloud operations easier and more efficient for the programmer. The usage of this framework allows us to use datasets with unprecedented precision, since it is not necessary to decimate clouds before processing them. This means that we can perform operations taking advantage of the high precision of the scanners, sometimes even reaching micrometer precision. This can be especially relevant in fields such as civil engineering, topography or architecture, where applications are usually forced to decimate huge point clouds to be able to manage them and apply certain algorithms.

This article shows in a didactic manner the application of the aforementioned techniques to real world case studies.

Complete Chapter List

Search this Book: