In den letzten Jahren hat unser Visualisierungsteam Software entwickelt, um Erkenntnisse aus den von Hovermap erfassten Daten zu gewinnen. Die dichten Datensätze und ihre vielfältigen Anwendungsmöglichkeiten haben den Bedarf an einem Werkzeug zur Visualisierung von Punktwolken geschaffen, das zahlreiche technische Anforderungen erfüllen muss, um das Nutzererlebnis für Hovermap zu optimieren. Diese Artikelserie befasst sich mit den zu berücksichtigenden Aspekten und den innovativen Lösungen, die das Team entwickelt hat, um die Visualisierungssoftware Emesentbereitzustellen.
Das Visualization Engineering Team begann mit der Entwicklung einer Visualisierungsanwendung unter Verwendung der Unreal Engine, einem 3D , das in 3D sowie in Architektur- und Ingenieursoftware zum Einsatz kommt. Dazu gehört ein LiDAR -Plugin, mit dem wir unsere Punktwolken darstellen konnten. Dieses Plugin nutzt Octree-Raumpartitionierung in Kombination mit einem Punktbudget, um aus allen Punkten in den Wolken die besten zur Darstellung auszuwählen. Das Punktbudget begrenzt die angezeigten Punkte auf die Menge, die der Renderer oder die Grafikprozessoreinheit (GPU) verarbeiten kann.
Einer der Vorteile dieses Ansatzes besteht darin, dass wir selbst bei der Erkundung von Milliarden von Punkten nur die kleinere Teilmenge der Punkte rendern, die sich gerade im Ansichtsbereich befinden, und selbst dann nur die visuell relevantesten. So können wir bei der Erkundung dieser Daten eine hohe Bildwiederholrate aufrechterhalten.
Der Nachteil dieser Technik besteht darin, dass wir nur die Daten untersuchen, die der Algorithmus als relevant oder wichtig einstuft. Je geringer das Punktbudget ist, desto stärker beeinflussen diese algorithmischen Entscheidungen das Endergebnis. Es gibt Möglichkeiten, dies zu umgehen, beispielsweise durch die Verwendung einer größeren Punktgröße, um Punkte in Oberflächen zu überblenden. Dabei handelt es sich jedoch im Wesentlichen um synthetische und keine „echten“ Daten.
Für Hovermap ist dies nicht erforderlich, da sie sehr dichte Punktwolken erzeugen und die Details bereits vorhanden sind, ohne dass sie synthetisiert werden müssen. Seit Beginn des Projekts haben wir das Plugin daher erweitert, um es an unsere dichten Daten anzupassen.
Eine unserer ersten Erweiterungen bestand darin, die Unterstützung für die Punktattribute hinzuzufügen, die von unserer SLAM erzeugt werden. Wir haben die Unterstützung für die Anzeige von Intensität, Zeit, Ringnummer, Entfernung und Echtfarbenattributen integriert.
Ein weiteres Ziel war es, unser Renderbudget pro Einzelbild auf 100 Millionen Punkte zu maximieren – weit mehr, als Unreal standardmäßig bot.
Hovermap vor der Multi-Frame-Rendering-Verarbeitung Emesent.
Das Multi-Frame-Rendering in der Visualisierungsanwendung Emesentermöglicht es den Nutzern, Hovermap mit Milliarden von Punkten schnell zu erkunden.
Das entsprach jedoch nicht den Anforderungen. Hovermap Datensätze mit Milliarden und Abermilliarden von Punkten, weshalb wir für unsere endgültige Ausgabe einen anderen Ansatz benötigten.
Um eine Vollbild-Rendering aller Punkte zu ermöglichen, haben wir ein System entwickelt, das wir „Multi-Frame Rendering“ nennen. Mit diesem Konzept haben wir den Renderer so angepasst, dass das Bild über mehrere GPU-Frames hinweg aufgebaut wird. Zur Anwendung durchläuft der Algorithmus zunächst den Oktree auf der Suche nach den visuell relevantesten Knoten (Punktgruppen); diese werden markiert und anschließend gerendert. Anschließend durchläuft der Algorithmus den Octree erneut und sucht nach den nächstvisuell relevantesten Knoten, die noch nicht gerendert wurden. Dies wird so lange wiederholt, bis keine Punkte mehr übrig sind.
Jedes Einzelbild wird unter Verwendung der Tiefendaten zusammengesetzt, um ein endgültiges Bild aus allen Punkten zu erstellen, seien es eine Milliarde oder 10 Milliarden. Anhand dieser Bilder lässt sich erkennen, dass die Dichte der Hovermap einfach beeindruckend ist, und wir können dies nun in unserem Viewer darstellen. Die Renderzeiten hängen vom Punktbudget und der Renderhardware ab, aber alles läuft sehr schnell, und das Multi-Frame-Rendering kann eine ganze Milliarde Punkte in wenigen Sekunden rendern.
Dieser Ansatz ermöglicht es unseren Nutzern, Hovermap mit Milliarden von Punkten schnell zu erkunden und in voller Qualität Bilder zu rendern, die die tatsächlich erfassten Daten originalgetreu wiedergeben, ohne Abstriche bei der Qualität.
Im nächsten Artikel dieser Reihe werden wir uns damit befassen, wie man die Benutzeroberfläche erstellt. Folgen Sie uns also auf LinkedIn, um zu erfahren, wann er verfügbar ist.