Source-linked AI summary

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

arXiv:2101.09154v1cs.CVeess.IV

TL;DR

Virtual laser scanning can complement real data when the scene and scanner are modeled adequately, beam interactions are represented realistically but feasibly, and the application can use the simulated data. HELIOS++ is an open-source C++ ray-tracing framework for VLS with Python support and a configurable balance between realism and computational demands. In its largest-improvement TLS case, it reduced runtime by 83% and used 6% of HELIOS's previously required memory.

  • Problem

    VLS can complement real acquisition only when scene, scanner, and platform models are adequate, interaction modeling is feasible yet realistic, and the application can use the simulated data.

    Source: §1 · p. 2
  • Method

    HELIOS++ is an open-source C++ ray-tracing VLS framework with pyhelios for manipulating simulation parameters and a flexible balance between physical realism and computational demands.

    Source: §1 · p. 3, §6 · pp. 25, 27
  • Results

    In the largest-improvement TLS case, HELIOS++ runtime was 83% lower than HELIOS and memory use was 6% of the previously required amount.

    Source: §5.4 · p. 25
  • Takeaways & Limitations

    Transmissive voxels allow stochastic simulation of penetrable objects such as vegetation without a highly detailed 3D mesh.

    Source: §6 · p. 27

    Further research is needed on adapting networks trained with synthetic data to real point-cloud data.

    Source: §4.3 · p. 20

Abstract

from arXiv · show

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.

1. Introduction

Virtual laser scanning can provide modeled point clouds when real acquisition is infeasible, but its usefulness depends on suitable scene and scanner models, realistic yet feasible beam-interaction modeling, and an appropriate application. HELIOS++ presents an open-source ray-tracing framework intended to meet these premises while improving on HELIOS in performance and functionality.

1. Introduction

  • VLS can generate modeled point clouds when real data capture is infeasible, but is unsuitable for some analyses, such as laser penetration into opaque objects.Its use depends on adequate scene, scanner, and platform models; feasible but physically realistic interaction modeling; and an application for which the data are fit for use.Source: §1 · p. 2
  • VLS can produce low-cost data with known ground truth for training or validating point-cloud algorithms and exploring scan settings before real experiments.Scene parameters can be extracted automatically from the scene model, and Monte Carlo simulations can support scan-setting and acquisition-strategy optimization.Source: §1 · p. 2
  • 83% runtime reduction in the largest-improvement TLS case, alongside substantially lower memory use, is part of HELIOS++'s reported improvement over HELIOS.The paper also reports reduced memory use and runtime across its compared configurations.Source: §1 · p. 3
  • HELIOS++ is an open-source C++ successor to HELIOS, designed to improve runtime, memory footprint, functionality, algorithm correctness, and usability.The paper describes it as a novel ray-tracing-based VLS framework.Source: §1 · p. 3

2. Existing implementations and state of the art virtual laser scanning

Existing laser-scanning simulators vary in scene representation and in how they model beam interactions, from simplified rays and 2.5D elevation maps to detailed waveform and scattering simulations. HELIOS++ combines full-3D, multi-platform scanning and flexible scene inputs with a stated trade-off between physical detail and computational cost.

2. Existing implementations and state of the art virtual laser scanning

  • Laser-scanning simulators vary in scene-model dimensionality and beam-interaction complexity, including 2.5D elevation models versus 3D meshes and single-ray versus full-waveform approaches.The overview table is described as comparing simulators' finite beam-divergence and full-waveform support and their 2D/3D scene representation.Source: §2 · p. 4, Table 1 · p. 5
  • Lohani and Mishra (2007) presented an ALS simulator that models the laser ray as an infinitesimal zero-divergence beam and represents the scene with a 2.5D elevation raster, simplifying Earth-surface representation.Goodwin et al. (2007), Holmgren et al. (2003), and Lovell et al. (2005) combined 3D forest modelling and ALS simulation, modelling the laser beam as an infinite straight line intersecting the scene at one distinct point.Source: §2 · p. 4
  • Full-waveform approaches model backscattered signals from finite beam footprints, including forestry and bathymetry simulations and POV-Ray-based tree scans.Ranson and Sun (2000), Tulldahl and Steinvall (1999), and Morsdorf et al. (2007) are cited as examples.Source: §2 · p. 4
  • Detailed simulators can model beam divergence and waveform recording, but 2.5D scenes constrain representation of penetrable vegetation and overhanging geometry.Kukko and Hyyppä (2009) used 2.5D elevation maps; Kim et al. (2012) included explicit 3D objects, though static TLS support was unclear.Source: §2 · pp. 4, 6
  • Monte Carlo ray tracing supports multi-scattering simulation but can require high computation times for convergence; DART's LiDAR extension combines sampling and ray-tracing techniques.The cited discussion describes the Box method and Ray Carlo method as ways DART selects photon scattering directions and models propagation and interaction.Source: §2 · p. 6
  • HELIOS++ supports full-3D scanning across terrestrial, mobile, UAV, and airborne platforms, combining scene data sources while balancing physical accuracy against computation.It supports simulations at multiple scales and can mix scene representations, such as transmissive voxels, detailed tree meshes, and rasterized terrain.Source: §2 · p. 6

3. Implementation of HELIOS++

HELIOS++ organizes simulations around a survey that links the scene, platform, scanner, and platform legs. Its XML-based configuration and Python bindings support flexible inputs, programmatic control, and access to results for visualization or downstream use.

3. Implementation of HELIOS++

  • HELIOS++ is presented as a software system with modules for architecture, platforms, scanners and deflectors, waveform simulation, input and output formats, and repeatability.Randomness and repeatability are also identified as implementation topics.Source: §3 · p. 7

3.1. Architecture and modules

  • A survey links a scene, platform, scanner, and one or more legs; its scene can combine multiple parts from different input sources without restricting source-type combinations.These elements are defined through XML files using relative file paths and internationally accepted input and output formats.Source: §3.1 · p. 7, Figure 2 · p. 8
  • The pyhelios bindings allow users to alter parsed simulation parameters programmatically and access point clouds and platform trajectories as NumPy arrays.Callbacks can provide results every n-th cast ray for a live preview, and sample notebooks demonstrate integration with Jupyter.Source: §3.1 · pp. 7–8

3.2. Supported laser scanning platforms

HELIOS++ supports static and moving platforms, with movement behavior tailored to linear-path, multicopter, and ground-vehicle simulations. The selected platform affects the resulting point cloud, and returns can be assigned to their generating objects.

3.2. Supported laser scanning platforms

  • Four platform types are supported: airplane, multicopter, ground vehicle, and static tripod.The linear-path platform moves at constant speed between waypoints and faces the next waypoint; multicopters also simulate acceleration and deceleration.Source: §3.2 · pp. 8, 10
  • Multicopters can bank through smooth turns, while ground vehicles follow scene elements marked as ground and use maximum turn radii and three-point turns.Custom yaw angles can be set at the beginning and end of each leg.Source: §3.2 · pp. 8, 10
  • Changing the platform changes the resulting point cloud, and HELIOS++ records each return's generating object so points can be assigned to objects.The figure illustrates airplane, multicopter, ground-vehicle, and static-tripod acquisitions, with distinct coloring for object assignment.Source: Figure 4 · p. 10, §3.2 · p. 10

3.3. Supported laser scanners and scan deflectors

HELIOS++ models laser scanners with selectable scan deflectors, whose motion determines the resulting scan pattern.

3.3. Supported laser scanners and scan deflectors

  • The scan deflector is part of the laser scanner model and influences the resulting scan pattern.HELIOS++ supports polygonal mirrors, fibre-optics, swinging mirrors, and slanted rotating mirrors.Source: §3.3 · p. 10
  • Polygonal mirrors produce parallel scan lines with even point density, while fibre-optics create a similar pattern without mechanically moving parts.The fibre-optic scanner feeds the beam through cables to point in different directions.Source: §3.3 · p. 10
  • Swinging mirrors create zig-zag patterns with increased point density at their extrema; slanted rotating mirrors create conical patterns at a constant off-nadir angle.The latter configuration is also called a Palmer scanner.Source: §3.3 · p. 10

3.4. Waveform simulation

HELIOS++ approximates a finite laser footprint with individually traced subrays, then combines their returns over time to detect echoes. This approach represents beam divergence and supports multiple returns from targets within the footprint.

3.4. Waveform simulation

  • A finite laser footprint can return energy from multiple targets, allowing multiple echoes from one pulse.The detector records the integral of returned intensities over the footprint and over time.Source: §3.4 · pp. 10–11
  • HELIOS++ samples beam divergence with subrays arranged around a central ray, each assigned intensity from a 2D Gaussian power distribution.The number of concentric sampling circles is user-set through beamSampleQuality, with approximately equal angular spacing between subrays.Source: §3.4 · pp. 11–12, Figure 6 · p. 12
  • Each subray is traced independently and can generate a return, but does not continue through the scene; transmissive voxels instead allow traversal or a return, never both.Returned power also depends on the material specified in the scene definition.Source: §3.4 · p. 12
  • The pulse shape is represented in user-sized time bins, and shifted subray waveforms are summed before a local-maximum filter detects echoes.An optional Gaussian fit estimates echo width, while echo position comes from the waveform's local maximum.Source: §3.4 · pp. 12–13

3.5. Input scene models

HELIOS++ accepts several scene-model formats and allows them to be combined and transformed within a scene. The supported representations range from 2.5D terrain to 3D meshes, voxelized point clouds, and vegetation voxels.

3.5. Input scene models

  • HELIOS++ supports common data formats and combines different object models in one scene, accounting for shadowing and overlap.Scene parts can also be scaled, rotated, and translated, including through Python bindings.Source: §3.5 · p. 13, §3.5.4 · p. 15

3.5.1. Wavefront objects

  • Wavefront OBJ files represent opaque 3D models as triangles and points, with material properties assignable through MTL files.The format supports models of arbitrary complexity.Source: §3.5.1 · p. 13

3.5.2. GeoTIFF models

  • GeoTIFF rasters are converted to triangular meshes using pixel centres, with no-data pixels omitted and 2.5D data supported.Omitting invalid pixels leaves holes in the mesh.Source: §3.5.2 · p. 13

3.5.3. Point clouds

  • ASCII XYZ point clouds are voxelized at a user-defined size, with normals assigned or calculated for intensity computation.Rays may use zero incidence angle or intersect the voxel cube's actual faces.Source: §3.5.3 · p. 13

3.5.4. Transmissive voxels

  • Vegetation voxels support opaque cubes, PAD-dependent adaptive scaling, and transmissive voxels; adaptive side length depends on voxel PAD and user-defined parameters.The transmissive mode uses an extinction approach, drawing a uniform random number to determine an echo distance; if the distance exceeds the traversed voxel length, the subray passes through.Source: §3.5.4 · p. 14
  • Transmissive voxels can pass a subray onward or produce an echo, and tree point clouds are illustrated for fixed-size, PAD-scaled, and transmissive modes.The displayed tree simulation uses a UAV platform.Source: §3.5.4 · pp. 14–15, Figure 7 · p. 15

3.6. Output format and options

HELIOS++ supports several point-cloud output formats, optional waveform data, and platform trajectories. Users can choose compressed formats or enable computationally expensive waveform details as needed.

3.6. Output format and options

  • LAS, LAZ, and ASCII outputs store simulated point clouds; LAS/LAZ offer smaller files and faster read/write access, while ASCII is text-file compatible.ASCII output can also be compressed, and compressed ASCII or LAZ files can be unpacked with the --unzip flag.Source: §3.6 · p. 16
  • Full-waveform output records beam origins, directions, and sampled returns, while optional echo-width estimation typically increases runtime by a factor of 1.3.Users can set waveform bin size and maximum length; point-cloud records link to waveform records through fullwaveIndex.Source: §3.6 · p. 16
  • Platform trajectory export includes time, position, roll, pitch, and yaw, with the interval between positions set in the survey XML file.Source: §3.6 · p. 16

3.7. Randomness and repeatability

HELIOS++ combines deterministic simulation components with configurable random noise. A custom seed and single-threaded execution produce repeatable results, including for transmissive voxels.

3.7. Randomness and repeatability

  • The platform trajectory, scanner definitions, and ray-scene interactions are deterministic except for transmissive voxels.Source: §3.7 · p. 16
  • Ranging errors and platform noise can be added as random sources, with the system time used by default to seed randomness.A custom seed supports repeatable results, but multithreaded access to the random-number generator can vary between runs.Source: §3.7 · pp. 16–17
  • Single-threaded execution with a fixed seed produces identical repeated results, including for transmissive voxels.Source: §3.7 · p. 17

4. Applications of laser scanning simulation

The literature review groups laser-scanning simulation uses into four categories and examines prior studies using HELIOS or pre-release HELIOS++. These applications span acquisition planning, method evaluation and training, and sensor experimentation.

4. Applications of laser scanning simulation

  • The literature review groups applications into acquisition-setting analysis, comparison with error-free ground truth, supervised-learning training data, and testing or developing algorithms and sensors.Source: §4 · p. 17

4.1. Data acquisition planning and scan setting effects

  • Virtual scans let users test data fitness in the planned application and vary scan settings in isolation, while acquisition planning seeks minimum effort that meets data requirements.Even coarse scene models can estimate occlusion and point density, but physical realism depends strongly on the input models.Source: §4.1 · pp. 17–18

4.2. Algorithm and method evaluation: validation and calibration

  • Scene-derived parameters provide error-free, user-selected ground truth for validating extraction and classification methods without costly, fallible in-situ measurements.Ray casting can assign hits to exact mesh faces and objects, including in complex multi-echo scenes.Source: §4.2 · p. 19

4.3. Method training

  • HELIOS++ can generate labelled training data without ground-truth errors, while further research is needed on transferring point-cloud-learned features to real data.Small-data adjustment is described as an approach demonstrated in the image domain.Source: §4.3 · p. 20

4.4. Sensing experimentation

  • Virtual sensor parameters can represent non-existent devices, allowing performance and potential bottlenecks to be explored without building a prototype.The open-source framework also permits developers to implement a new deflection method while reusing the scene and other components.Source: §4.4 · p. 21

5. Computational considerations

The computational section describes HELIOS++ ray tracing, vegetation and large-scene handling, then compares runtime and memory use with HELIOS across three scanning scenarios.

5.1. Ray tracing implementation using a kD-Tree

  • Ray intersections use recursive kD-tree traversal to select a leaf node, where each primitive is tested and the minimum-distance intersection is determined.Transmissive primitives can trigger a further intersection search from just beyond the previous primitive.Source: §5.1 · pp. 21–22

5.2. Vegetation modelling: Transmissive voxels

  • Transmissive voxels use a leaf-angle-distribution lookup table to calculate ray hit probability and intensity, enabling vegetation simulation from precomputed distributions.The authors recommend assigning individual leaf-angle distributions to each vegetation type for high-quality output.Source: §5.2 · pp. 22–23, Table 2 · p. 22

5.3. Strategy to handle large and complex scenes

  • Large ASCII point clouds are processed in two stages: coordinate bounds and point count are gathered first, then occupied voxels are built.When point clouds exceed available RAM, normal estimation can also be performed in batches.Source: §5.3 · p. 23

5.4. Performance comparison

  • Users can trade simulation accuracy against runtime by adjusting parameters; HELIOS++ also limits waveform length to reduce the performance impact of low-incidence rays.The comparison covered ALS terrain, MLS urban geometry, and TLS vegetation scenarios.Source: §5.4 · pp. 24–25
  • Against HELIOS, HELIOS++ runtime fell 83% in TLS while using 6% of prior memory; in ALS, runtime and memory fell 51% and 66%, and for MLS simple geometric shapes, 76% and 96%, respectively.Source: §5.4 · p. 25

6. Conclusions

HELIOS++ is presented as an open-source, highly performant virtual laser scanning framework that balances computational demands with physical realism and ease of use. Its conclusions highlight faster performance, a transmissive-voxel model for penetrable objects, and diverse uses for simulated scans.

6. Conclusions

  • HELIOS++ combines Python-based parameter control with a flexible balance of runtime, memory footprint, physical realism, ease of use, and configuration.Source: §6 · p. 27
  • Virtual scans support flight-pattern or scan-position planning, ground-truth validation, supervised-learning data generation, and sensor or algorithm development.Source: §6 · p. 27
  • On common scenes, HELIOS++ performs up to 5.8× faster than HELIOS.Source: §6 · p. 27
  • The transmissive voxel enables stochastic simulation of penetrable objects such as vegetation canopy without a highly detailed 3D mesh.Source: §6 · p. 27
  • HELIOS++ provides VLS data that complements real-world laser scanning.Source: §6 · p. 27
Loading 2101.09154v1…