On the left the raw point cloud of a road section, on the right the reconstructed road surface with trees and lamp posts replaced by objects

The Task

Points on one side, surfaces on the other

Vehicles carrying laser scanners produce point clouds of enormous density — a short road section quickly runs into hundreds of gigabytes. Simulation and game engines, however, do not work with points but with surfaces you can compute collisions against. When a tyre model has to feel the road surface, for instance.

Between the two there is no conversion step, but a series of decisions: what has to stay accurate to the millimetre, what may be simplified, and what is better replaced entirely.

What Came Out of It

A processing chain for large point clouds

Import of the common scan formats, reduction and density normalization, normal estimation via principal component analysis, surface reconstruction via distance fields and marching cubes — section by section, so that datasets which do not fit into memory stay workable.
Point cloud with road surface, vegetation, buildings and poles separated by colour

Semantics Instead of a Set of Points

Every point gets a class

We compared two neural network architectures and trained them ourselves to assign a class to every point. Detected objects are removed from the point cloud and replaced by optimized placeholders — a tree becomes a tree asset instead of 40,000 triangles.
RoadRender Pro at the geodatabase work step, point cloud shown over map data

An Environment Built From Official Data

The scan delivers what was surveyed, the cadastre the rest

Whatever the scan does not usefully provide comes from open geospatial data: terrain from the digital elevation model, buildings from official 3D city models, land use from OpenStreetMap, colour from aerial imagery. The scan delivers what has to be surveyed; the environment is built around it.

Import Tool and Intermediate Format

One pass to a playable scene

An import tool for the Unreal Engine. An editor plugin that turns the prepared data into a playable scene in one pass: Landscape from elevation data, material distribution via weightmaps, procedural foliage, placement of the prefabs on the terrain.

An engine-neutral intermediate format. Instead of inventing a file format, we write placeholders into the glTF standard. What an engine makes of them is up to its plugin — so the same data can be resolved for Unreal, Unity or other targets.
Alignment was the hard part

What We Learned

Alignment was the hard part

The hardest part was not the reconstruction but the alignment: bringing a vehicle scan and an official cadastre into the same coordinate system calls for surveying accuracy that you do not reach in passing. We now know precisely what that depends on — and which methods exist for it. The vehicle scans and the surveying expertise behind them came from the IFM at Kempten University of Applied Sciences.

What you take away from a research project is capability, not just results. Large-scale point cloud processing, semantic classification of 3D data and the preparation of geospatial data for real-time engines have been part of what we offer ever since.

Where This Applies Today

From the research project into yours

We offer both stages from the project on their own: point cloud processing for everything that has to turn scan data into a usable surface, and geospatial data in real-time engines for the scene around it.

Software development since 1999 - Made in Germany

Made in Germany

Software development since 1999

Developed 100 % in Germany — at our Nuremberg and Kempten (Allgäu) locations. Over 1,170 completed projects, with over 80 % of our revenue coming from repeat customers. If you're nearby: stop by for a coffee.