Table of Contents
Fetching ...

Virtual laser scanning with HELIOS++: A novel take on ray tracing-based simulation of topographic 3D laser scanning

Lukas Winiwarter, Alberto Manuel Esmorís Pena, Hannah Weiser, Katharina Anders, Jorge Martínez Sanchez, Mark Searle, Bernhard Höfle

TL;DR

The paper addresses the need for scalable, realistic virtual LiDAR simulations to produce labeled 3D point clouds when real data collection is costly or impractical. It introduces HELIOS++ (Heidelberg LiDAR Operations Simulator ++), a C++ open-source framework with Python bindings that supports terrestrial, mobile, UAV-based, and airborne platforms, multiple scene representations, and full-waveform outputs, balancing physical realism with computational efficiency. Key contributions include transmissive voxels for vegetation modelling, a kD-tree-based ray tracing engine, two-stage handling of large scenes, and substantial runtime and memory improvements over the previous HELIOS implementation, enabling simulations of larger and more complex scenes. The framework supports diverse use cases—planning acquisition strategies, validating and calibrating algorithms, generating synthetic training data, and enabling sensing experimentation—while providing extensive documentation and scripting capabilities for reproducible research and rapid prototyping.

Abstract

Topographic laser scanning is a remote sensing method to create detailed 3D point cloud representations of the Earth's surface. Since data acquisition is expensive, simulations can complement real data given certain premises are available: i) a model of 3D scene and scanner, ii) a model of the beam-scene interaction, simplified to a computationally feasible while physically realistic level, and iii) an application for which simulated data is fit for use. A number of laser scanning simulators for different purposes exist, which we enrich by presenting HELIOS++. HELIOS++ is an open-source simulation framework for terrestrial static, mobile, UAV-based and airborne laser scanning implemented in C++. The HELIOS++ concept provides a flexible solution for the trade-off between physical accuracy (realism) and computational complexity (runtime, memory footprint), as well as ease of use and of configuration. Unique features of HELIOS++ include the availability of Python bindings (pyhelios) for controlling simulations, and a range of model types for 3D scene representation. HELIOS++ further allows the simulation of beam divergence using a subsampling strategy, and is able to create full-waveform outputs as a basis for detailed analysis. As generation and analysis of waveforms can strongly impact runtimes, the user may set the level of detail for the subsampling, or optionally disable full-waveform output altogether. A detailed assessment of computational considerations and a comparison of HELIOS++ to its predecessor, HELIOS, reveal reduced runtimes by up to 83 %. At the same time, memory requirements are reduced by up to 94 %, allowing for much larger (i.e. more complex) 3D scenes to be loaded into memory and hence to be virtually acquired by laser scanning simulation.

Virtual laser scanning with HELIOS++: A novel take on ray tracing-based simulation of topographic 3D laser scanning

TL;DR

The paper addresses the need for scalable, realistic virtual LiDAR simulations to produce labeled 3D point clouds when real data collection is costly or impractical. It introduces HELIOS++ (Heidelberg LiDAR Operations Simulator ++), a C++ open-source framework with Python bindings that supports terrestrial, mobile, UAV-based, and airborne platforms, multiple scene representations, and full-waveform outputs, balancing physical realism with computational efficiency. Key contributions include transmissive voxels for vegetation modelling, a kD-tree-based ray tracing engine, two-stage handling of large scenes, and substantial runtime and memory improvements over the previous HELIOS implementation, enabling simulations of larger and more complex scenes. The framework supports diverse use cases—planning acquisition strategies, validating and calibrating algorithms, generating synthetic training data, and enabling sensing experimentation—while providing extensive documentation and scripting capabilities for reproducible research and rapid prototyping.

Abstract

Topographic laser scanning is a remote sensing method to create detailed 3D point cloud representations of the Earth's surface. Since data acquisition is expensive, simulations can complement real data given certain premises are available: i) a model of 3D scene and scanner, ii) a model of the beam-scene interaction, simplified to a computationally feasible while physically realistic level, and iii) an application for which simulated data is fit for use. A number of laser scanning simulators for different purposes exist, which we enrich by presenting HELIOS++. HELIOS++ is an open-source simulation framework for terrestrial static, mobile, UAV-based and airborne laser scanning implemented in C++. The HELIOS++ concept provides a flexible solution for the trade-off between physical accuracy (realism) and computational complexity (runtime, memory footprint), as well as ease of use and of configuration. Unique features of HELIOS++ include the availability of Python bindings (pyhelios) for controlling simulations, and a range of model types for 3D scene representation. HELIOS++ further allows the simulation of beam divergence using a subsampling strategy, and is able to create full-waveform outputs as a basis for detailed analysis. As generation and analysis of waveforms can strongly impact runtimes, the user may set the level of detail for the subsampling, or optionally disable full-waveform output altogether. A detailed assessment of computational considerations and a comparison of HELIOS++ to its predecessor, HELIOS, reveal reduced runtimes by up to 83 %. At the same time, memory requirements are reduced by up to 94 %, allowing for much larger (i.e. more complex) 3D scenes to be loaded into memory and hence to be virtually acquired by laser scanning simulation.

Paper Structure

This paper contains 25 sections, 7 equations, 10 figures, 2 tables.

Figures (10)

  • Figure 1: Schematic concept of HELIOS++, showcasing platforms (boxed labels) and object models composing a scene (non-boxed labels). A variety of model types to represent 3D scenes are supported: terrain models, voxel models (custom .vox format or XYZ point clouds) and mesh models. For platforms, four options are currently supported: airplane, multicopter, ground vehicle and static tripod. A schematic diverging laser beam and its corresponding waveform (magenta) is shown being emitted from the airplane and interacting with a mesh model tree and the rasterised ground surface.
  • Figure 2: File structure of HELIOS++ survey, scene, platform, and scanner. A survey consists of one or more legs, and a single scanner, platform, and scene, respectively. A scene is built up from one or more parts, which can be of different data type.
  • Figure 3: Screenshot of a Jupyter Notebook showcasing the Python bindings of HELIOS++ by plotting the trajectory of a simulation over flat terrain.
  • Figure 4: Point clouds resulting from virtual laser scanning of the scene shown in Figure \ref{['fig:geile_figure']}, using (a) an airplane, (b) a multicopter, (c) a ground vehicle and (d) a static tripod as platform. Since HELIOS++ records which objects are generating which return, the points can be perfectly assigned to the objects, here illustrated by distinct colouring.
  • Figure 5: Different scan patterns depending on the deflector used in the simulation: a) rotating mirror, b) fibre-optic line scanner, c) oscillating mirror and d) slanted rotating mirror (Palmer scanner). The patterns shown here result from simulations with HELIOS++ using the respective deflectors, albeit with unrealistic settings of pulse repetition rate and scanning frequency, in order to show the patterns more clearly.
  • ...and 5 more figures