よりインテリジェントな洞察のための、より優れた点群可視化ソフトウェアの構築
高密度データの可視化
可視化チーム
過去数年間、当社のビジュアライゼーション・エンジニアリング・チームは、Hovermap によって収集されたデータから洞察を得るためのソフトウェアを構築してきました。収集された高密度のデータとその数多くの用途から、Hovermap の顧客のユーザー体験を最大化するために、多くの技術的要件を満たさなければならない点群可視化ツールの必要性が生じた。この連載では、Emesent「可視化ソフトウェア」を提供するために開発した検討分野と革新的なソリューションについて掘り下げます。
ビジュアライゼーション エンジニアリング チームは、3D ゲーム、建築、エンジニアリング ソフトウェアに使用されている3D デベロッパー ツールである Unreal Engine を使用して、ビジュアライゼーション アプリケーションの構築を開始しました。これには、点群の表示に使用できるLiDAR Point Cloud プラグインが含まれています。このプラグインでは、Octree Spatial Partitioning とポイント バジェットを組み合わせて使用し、点群内のすべてのポイントから最適な表示ポイントを選択します。ポイントバジェットは、表示するポイントをレンダラーやグラフィック処理ユニット(GPU)が維持できる範囲に制限します。
この方法の利点のひとつは、何十億ものポイントを探索する場合でも、現在ビューポートに表示されているポイントのうち、より小さなサブセットだけをレンダリングし、さらにその中でも最も視覚的に関連性の高いものだけをレンダリングすることだ。したがって、このデータを探索しながらも、非常にインタラクティブなフレームレートを維持することができる。
このテクニックの欠点は、アルゴリズムが関連性がある、または重要であると判断したデータのみを探索することである。ポイントバジェットが低ければ低いほど、こうしたアルゴリズムによる決定が最終的な出力に影響を与えます。これを回避する方法もあります。たとえば、ポイントサイズを大きくして、ポイントをサーフェスにブレンドする方法です。しかし、これは基本的に合成データであり、「実際の」データではありません。
Hovermap 、非常に高密度な点群が生成されるため、合成するまでもなくディテールはそこにある。そのため、プロジェクトを開始して以来、高密度のデータに対応できるようにプラグインを拡張してきました。
私たちの初期の拡張機能の一つは、私たちのSLAM 処理ソフトウェアによって生成されるポイント属性のサポートを追加することでした。私たちは、強度、時間、リング番号、範囲、およびトゥルーカラー属性の表示をサポートしました。
もうひとつは、1フレームのレンダリングバジェットを1億ポイントに最大化することでした。
Hovermap Emesentのマルチフレームレンダリングの前にスキャンする。
Emesentのビジュアライゼーション・アプリケーションのマルチフレーム・レンダリングによって、ユーザーは何十億ものポイントを持つHovermap データセットを素早く探索できるようになる。
Hovermap 、何十億、何百億ものポイントを持つデータセットをキャプチャするため、最終的な出力には別のアプローチが必要だった。
すべてのポイントのフルフレームレンダリングを可能にするために、私たちはマルチフレームレンダリングと呼ぶシステムを開発しました。このコンセプトにより、複数のGPUフレームにわたって画像を構築するようにレンダラーを修正しました。これを適用するために、アルゴリズムは、最も視覚的に関連するノード(点の集まり)を探してオクツリーをトラバースすることから始まり、それらはタグ付けされ、次にレンダリングされます。次にアルゴリズムはオク ツリーを再度トラバースし、まだレンダリングされていない、次に視覚的に関連性の高いノードを探します。これをポイントがなくなるまで繰り返す。
各フレームは深度を使って合成され、10億点であろうと100億点であろうと、すべての点の最終フレームが構築される。これらの画像から、Hovermap データの密度が非常に高いことがわかる。レンダリング時間は、ポイントバジェットやレンダリングハードウェアの影響を受けますが、すべて非常に速く、マルチフレームレンダリングでは、10億ポイントすべてを数秒でレンダリングできます。
このアプローチにより、ユーザーは何十億ものポイントを含むHovermap データセットを素早く探索し、妥協することなく撮影された真のデータを表現する完全な品質の画像を素早くレンダリングできるようになる。
このシリーズの次の記事では、ユーザー・インターフェースの構築方法について見ていく。