3DGS.zip:3Dガウシアンスプラッティング圧縮手法に関する調査
核心概念
3Dガウシアンスプラッティング(3DGS)は、リアルタイムレンダリングにおける品質と速度の両面で最先端のパフォーマンスを提供する有望な手法ですが、その大きなストレージとメモリ需要が課題となっています。本稿では、3DGSをより効率的にするための圧縮およびコンパクト化手法を包括的に調査し、これらの手法の分類、比較、評価を行い、今後の研究の指針となる知見を提供します。
摘要
3Dガウシアンスプラッティング圧縮手法調査レポート
本調査レポートは、3Dガウシアンスプラッティング(3DGS)表現の最適化手法に焦点を当て、視覚的品質とリアルタイムレンダリング速度を維持しながらメモリ使用量を最適化することを目的としています。具体的には、圧縮とコンパクト化の手法に焦点を当て、様々な圧縮手法の包括的な比較を行い、最も一般的に使用されるデータセットの定量的な結果を表形式にまとめます。
3DGS.zip: A survey on 3D Gaussian Splatting Compression Methods
3Dガウシアンスプラッティング[18]は、リアルタイムの放射輝度フィールドレンダリングにおいて、最先端の品質とレンダリング速度を実現する新しいアプローチです。この手法では、シーンを3Dガウシアンの集合体として描写します。これらのガウシアンは「スプラット」と呼ばれ、シーンの形状と視覚的特徴に合致するように最適化されます。
3Dガウシアンスプラットは、ガウsianスプラッティングを使用して、ガウsian楕円体(またはスプラット)のコレクションをボリューム全体に分散させることによってシーンを表します。これらのスプラットは、サーフェスとボリュームを近似し、効率的なレンダリング手段を提供し、より簡単なシーン操作と編集を可能にします。
3DGSの主な利点は、視覚的に説得力のある現実世界のシーンの表現を実現するために不可欠な、視点依存のライティングや透明度など、複雑な視覚効果を処理できることです。
ただし、ガウsian楕円体を含む明示的な表現である3DGSは編集可能であり、ゲームや映画などの業界で柔軟性、編集可能性、既存のレンダリングエンジンとの互換性により広く使用されているテクスチャメッシュなどの他の表現と組み合わせることができます。透明性や視点依存効果などの機能をサポートすることで、3DGSは3Dシーン記録の汎用性を高めます。
さらに、3DGSはハイエンドGPUでのリアルタイムレンダリングをサポートしており、近い将来、モバイルデバイスやVRデバイスでアプリケーションがより広範に利用できるようになるという楽観的な見通しを生み出しています。そのシンプルさもアクセシビリティに貢献しています。3DGS形式は、複数のオープン実装と基本的な.plyファイル形式[42]を備えたシンプルなレンダラーを使用しています。これは、多くのプログラミング言語のライブラリまたは実装で読み書きできるため、公開日から3DGSにアクセスできます。このシンプルさにより、さまざまな分野[46]で急速に採用が進み、3DGSは研究者と実務家の両方にとって魅力的な選択肢となっています。
ただし、3DGSの初期の実装では、ファイルサイズに大きな課題がありました[39]。すべての属性を完全な精度で保存すると、多くの場合、数ギガバイトのファイルが生成されました。そのため、圧縮手法に焦点を当てた研究が盛んに行われるようになりました。3DGSファイルの圧縮には、いくつかの利点があります。低速な接続での転送が高速化され、メモリ要件が削減されることでローエンドデバイスでのレンダリングが可能になり、特にビデオゲーム開発において、より大きく複雑なシーンの作成がサポートされます。したがって、圧縮には強い動機があり、リアリズムと計算効率のバランスが取れた最も効果的な手法を発見するための競争が続いています。
コンパクトなシーン表現の目標は、視覚的リアリズムと効率的なストレージの最適なバランスを実現することです。NeRFはニューラルネットワークベースの表現の不可欠な部分として圧縮を実行しますが、3DGSでは、メモリ使用量とパフォーマンスを最適化するために、詳細を埋めるための明示的な高密度化(より多くのガウシアンスプラットの追加)と、冗長なスプラットを削除するためのプルーニングが必要です。これらの課題にもかかわらず、3DGSの明示的な性質により、特に微妙なライティング効果と透明度をキャプチャできるため、現実世界のシーンを記録するのに特に効果的です。
この調査では、コンパクトな3DGS表現を実現するために開発されたさまざまな手法の概要を説明し、多数の並行した取り組みを要約し、その有効性を評価します。これらの方法を検討することにより、調査は将来の研究とアプリケーションを導き、コミュニティが成功したアプローチとさらに調査が必要な分野を特定するのに役立ちます。3DGSの圧縮に使用される多くの手法は、ガウシアンスプラットに合わせて調整された従来の方法の適応ですが、データサイズを削減するためのまったく新しいアプローチを導入するものもあります。
コミュニティは、現在最適なベンチマークを表している可能性のある3DGSとNeRFの間の圧縮効率のギャップを埋めてきました。包括的な概要を提示することにより、成功した圧縮手法を3DGSの最適なソリューションに統合する際に、研究コミュニティを支援します。最終的に、圧縮された3DGSのシンプルでわかりやすい標準を開発することで、コンピューターグラフィックスコミュニティでの普及が促進され、さまざまなアプリケーションでより用途が広く実用的になります。このような標準により、互換性、使いやすさが確保され、さらなるイノベーションが促進され、3DGSがさまざまなユースケースでテクスチャメッシュと同じくらいユビキタスで実用的なものになるのに役立ちます。
ガウシアンスプラッティングシーンはリアルタイムで効率的にレンダリングできますが、通常はメモリ消費量が多く、大規模な環境を保存するには効率的な圧縮が必要です。画像、ビデオ、オーディオなどの他のメディアデータの場合、データサイズを大幅に削減するために、さまざまなコーディング戦略が存在します。通常、コーディング方法は、ロスレスコーディングとロッシーコーディングに分けられます。ロスレスコーディングの場合、個々の記号の確率の違いを利用することで冗長性が削減されます。このようなエントロピーエンコーディングは、たとえば、ハフマン[16]または算術コーディング[1]を使用して実現できます。相関のあるソースの場合、エントロピーエンコーディングの前に記号を適切に予測または変換することにより、コーディング効率をさらに向上させることができます。ただし、ソース統計によっては、ロスレスコーディングは多くの場合、約2倍の中程度の圧縮に制限されます。デコードされたデータのわずかな Abweichungen を許容する場合、はるかに高いコーディング効率が期待できます。ロッシー圧縮は、人間には知覚できないが、エンコードするために追加のビットを必要とするデータの無関係性を削除することを目的としています。スカラー量子化またはベクトル量子化(セクション3.1を参照)のように、予測または変換された記号をより少ないコードワードに量子化することが標準的なアプローチです。その場合の目標は、量子化誤差が目立たないように調整およびシフトすることです。
標準的なコーディング手法を超えて、ガウシアンスプラッティングは、より効率的なコーディングをサポートするためにデータを変更する多くの機会を提供します。その理由は、ガウシアンスプラッティング構造内のさまざまなあいまいさにあります。スプラットの配置が異なっても、視覚的な外観は同じになる可能性がありますが、圧縮率は異なります。これは、トレーニングとシーンの最適化中に追加の損失を考慮して、視覚的品質を維持しながらビットレートを制限することで活用できます。以下のセクションでは、まず、ガウシアンスプラッティングシーンの圧縮とコンパクト化のためのいくつかの概念を紹介します。セクション4では、現在の最先端技術からの個々のアプローチの詳細について説明します。
3.1 ベクトル量子化
ベクトル量子化手法は、多くの圧縮戦略の中心であり、類似したデータポイントをグループ化し、共有された近似で表すことによってデータの複雑さを軽減することを目標としています。具体的には、元の高次元のデータセットはクラスターに分割され、各クラスターは代表的な特徴によって近似されます。このプロセスは、K平均法[28、30]やLBG[26]などのアルゴリズムに依存しており、データポイントをクラスターに反復的に割り当て、ベクトルと割り当てられた重心間の距離を最小限に抑えます。これにより、コードブックが形成されます。データ圧縮は、各元のベクトルをコードブック内の最も近い代表ベクトルのインデックスに置き換えることによって実現されます。図3は、編成されていないガウシアン属性から始まり、クラスタリング、コードブックの作成、ベクトル量子化の最終結果へと続く順次プロセスを示しています。量子化された表現の品質は、使用されるコードブックの設計とクラスタリングアルゴリズムに大きく依存します。適切に設計されたコードブックは、量子化によって導入されるエラーを最小限に抑えながら、圧縮効率を最大化します。
量子化プロセスは、多次元ベクトル全体に対して同時に実行することも、データ空間の個々の次元を別々の量子化タスクとして扱うこともできます。後者の場合、データのさまざまな属性、特にデータのさまざまなプロパティがさまざまなレベルの精度を必要とし、さまざまな分布とレベルの冗長性を持つアプリケーションに対して、より柔軟な処理が可能になります。本質的に、ベクトル量子化アルゴリズムは、いくつかの最適化基準の下で、より大きなベクトルセットを表すために、小さなベクトルセットを改善します。これにより、データサイズの大幅な削減と引き換えにわずかな精度の損失が許容されるデータリッチアプリケーションや、データに冗長性が存在する場合に、VQが非常に効率的になります。したがって、これらのアプローチは、信号処理や画像圧縮から、元のデータに近い近似を維持しながら複雑なデータセットを圧縮するための3Dデータ表現の新興分野まで、さまざまな分野で重要な役割を果たしています。特に、位置、半径、色、球面調和などの属性に多くの場合高い冗長性があり、自然なクラスタリングの傾向を示す3Dガウシアンスプラッティング(3DGS)データの圧縮に非常に効果的です。
3.2 構造化と次元削減
ベクトル量子化は、属性を共有クラスターにエンコードすることによって冗長性を削減することに焦点を当てていますが、別の観点は、構造の編成とコンテキストの冗長性の活用を通じて圧縮に取り組むことです。属性を個別にエンコードする代わりに、オクツリー、ハッシュグリッド、自己組織化グリッドなどの方法は、データを空間的に再形成および再結合することを目的としています。これらの手法は、シーン要素を階層的に、または代表的なポイントの周りに編成するため、リージョン全体で類似のプロパティを効率的に再利用できます。ガウシアンを構造化して、近接性、色、形状などのコンテキスト関係を利用することにより、圧縮は属性を個別に保存する必要性を減らし、データのグローバルな配置に関するものになります。
属性に焦点を当てたエンコーディングから構造的圧縮へのこの移行は、空間的コヒーレンスと冗長性管理を通じてコンパクトな表現を実現する可能性を浮き彫りにしています。
3.2.1 階層的表現と適応的表現
これらの方法は、オクツリーによるパーティション分割からアンカーを使用した類似の特徴のグループ化まで、空間構造を利用して3Dガウシアンを編成し、よりコンパクトで効率的な表現を可能にします。
オクツリーは、ポイントクラウドやボリュメトリックモデルなどの3Dデータを効率的に表現するために、コンピューターグラフィックスで使用される空間分割手法です[32]。これらは、ポイントクラウドの圧縮にうまく適用されています[41]。3DGSシーンは事実上、追加の属性を持つポイントクラウドであるため、3DGSにオクツリーを使用することは簡単になります。オクツリーは、3D空間をより小さなキューブに再帰的に分割するため、空でない領域に焦点を当てることで、効率的なメモリ割り当てが可能になります。さらに、座標はサブキューブを基準にして参照できるため、平均ビット長が短くなります。3DGSでは、オクツリーはシーンの占有部分にのみメモリを割り当てるのに役立ち、空の領域をスキップしてメモリ使用量を削減しながらディテールを維持するため、大規模なシーンに最適です。
アンカーベースの表現は、アンカーポイントをプロキシとして使用して、関連付けられたガウシアンカーネルのプロパティを予測します。空間を階層グリッドに分割するオクツリーとは異なり、アンカーは、厳密な空間分割なしで効率的な圧縮を可能にする、代表的なポイントにガウシアンを関連付けることによってガウシアンをグループ化します[29]。アンカーは、3Dシーンをボクセル化することによって初期化され、コンテキスト機能、場所、スケーリング、学習可能なオフセットが割り当てられます。これらのアンカーからガウシアン属性を導き出し、個別に保存しないことにより、冗長性が削減され、メモリ使用量が削減されます。このアプローチは、セクション3.1で紹介したベクトル量子化で使用されるコードブックの概念に関連しており、共有表現は忠実度を維持しながらストレージ要件を効果的に削減します。
ハッシュグリッド支援コンテキストモデリングは、Instant-NGP[36]から着想を得たマルチ解像度ハッシュグリッドを活用して、3Dガウシアンスプラッティングの空間関係を効率的に表現します。Instant-NGPのマルチ解像度ハッシュエンコーディングは、コンパクトなハッシュテーブルを使用して、トレーニング可能な特徴ベクトルを保存します。これらのベクトルは、トレーニング中に最適化され、密なグリッドエンコーディングに比べて少ないパラメーターで複雑な空間の詳細を表します。この方法では、ハッシュテーブルのサイズ、特徴ベクトルのサイズ、解像度の数などのパラメーターを調整することで、メモリ、パフォーマンス、品質のバランスを取ることができます。衝突を明示的に管理する従来の空間エンコーディングとは異なり、ハッシュグリッドアプローチでは、ニューラルネットワークがこれらの衝突を暗黙的に処理できるため、実装が簡素化され、計算オーバーヘッドが削減されます。3DGSの場合、ハッシュテーブルに保存されている特徴をデコードして、スプラットの属性にすることができます。ハッシュグリッドは、最小限のパラメーターで小さく高品質の放射輝度フィールドを実現するInstant-NGPによって示されるように、特に重要な領域にメモリを割り当てるのに効果的です。これにより、3DGS圧縮に非常に効果的なツールになります。
3.2.2 次元削減手法
次元削減は、3DGSモデルの複雑さを軽減し、効率を向上させるための重要なテーマです。これらの手法の目標は、3Dデータを、圧縮と管理が容易な低次元形式に変換しながら、重要な空間関係を維持することです。
Zオーダー曲線、またはモートン順序付けは、複数の次元からの座標値のビットをインターリーブして、単一の1次元インデックスを作成することによって機能します。これにより、空間的局所性を維持しながら、多次元データを線形シーケンスに効果的にマッピングします。ガウシアンをZオーダー曲線に沿った位置に従って順序付けることにより、空間的コヒーレンスを利用して、ランレングスまたは予測エンコーディング手法の効率を向上させることができます。これにより、Zオーダー曲線は、空間インデックスを作成し、スプラットのコヒーレントな順序を作成するのに役立ちます。3DGSのスパースポイントクラウドのコンテキストでは、Zオーダー曲線を使用して、スプラットを位置に基づいて順序付けします。これは、空の領域へのストレージの割り当てを回避するため、メモリ効率に優れています。ただし、このアプローチには、近隣関係の維持という点で限界があります。高次元の近傍は、線形にマッピングされると必ずしも近接しているとは限らないため、真の空間的近接性に依存する操作の効率に影響します。ヒルベルト曲線などの、より洗練された方法は、このようなデータセットに対してより優れた局所性を提供できる場合があり[7]、空間的近傍が線形マッピングで近傍であり続ける可能性が高くなるようにすることで、空間インデックスの効率が向上します。
自己組織化ガウシアンは、高次元のガウシアンパラメーターを2Dグリッドにマッピングするアプローチです[35]。このアイデアは、自己組織化マップ[22]の概念に基づいています。自己組織化マップは、競合学習を通じてデータポイント間のトポロジカルな関係を維持しながら、高次元データを低次元のグリッドに投影する教師なし学習モデルです。Z曲線と同様に、この2D表現では、知覚的な冗長性を利用し、隣接するスプラット間の局所的な滑らかさを確保することにより、標準的な画像圧縮手法を使用できます。Zオーダー曲線はローカルな近傍を適切に維持しますが、これは3DGSのスパースポイントクラウドでは破綻する可能性があります。ローカルに滑らかな2Dグリッドにソートすると、両方の次元の近傍が類似していることが保証され、より滑らかな結果が得られます。これにより、ランレングスまたは予測エンコーディング手法を使用できるだけでなく、画像コーディング方法を使用して結果を効率的に保存することもできます。固定順序を課すZオーダー曲線とは異なり、自己組織化ガウシアン表現はシーンごとに最適化されるため、すべての次元の近傍を効果的にモデリングできます。属性を、一貫した2Dレイアウトを共有する複数のデータレイヤーに編成することにより、この手法は、元の3Dシーンの非常に圧縮率が高く効率的な表現を提供します。
3.2.3 高度な属性圧縮手法
構造化と次元削減を超えて、ガウシアン属性の適応圧縮を通じて大きな成果を上げることができます。これらの方法は、高忠実度のレンダリング機能を維持しながら、位置、回転、色、密度などの属性のエントロピーを削減することに焦点を当てています。
領域適応階層変換(RAHT)は、3Dガウシアンスプラッティングのガウシアン属性のエントロピーを効率的に削減するように設計された適応変換手法です。RAHTの主な動機は、空間データを階層的に変換することにより、隣接する属性間の相関関係をキャプチャすることです。これにより、エントロピーコーディングに適したものになります。RAHTのルーツはポイントクラウド圧縮にあり、同様の手法を使用して、ローカルな相関関係を利用することにより、形状と色の情報を効率的に圧縮します。RAHTは、空間ドメインを階層領域に反復的に分割し、これらの領域内の属性を変換して、冗長性の削減を最大化することによって機能します。このプロセスは、多くの場合強い局所的な相関関係を示す、色、密度、その他のガウシアン特性などの属性に特に役立ちます。これらの相関関係を効果的にキャプチャすることにより、RAHTは冗長性を最小限に抑え、シーンの重要な空間情報と視覚情報を維持しながら、よりコンパクトなストレージを可能にします。
3.2.4 要約と接続
説明した方法は、それぞれに明確な利点があり、コンパクトで効率的な3Dガウシアンスプラッティングを実現するためのツールキットを形成します。Z曲線と2Dグリッドマッピングは次元的な複雑さを軽減しますが、Zオーダー曲線はスパースデータセットの空間的コヒーレンスを失う可能性があります。自己組織化ガウシアンは、次元全体で滑らかさを確保することでこれを克服するため、画像コーディングを使用した圧縮に適しています。オクツリーは、占有領域にのみメモリを適応的に割り当て、複雑なシーンのリソース使用を最適化します。アンカーベースの方法は、ベクトル量子化と同様に、代表的なポイントの周りにガウシアンをグループ化し、冗長性を効率的に削減します。ハッシュグリッドは、適応的なマルチ解像度インデックスを追加し、メモリ効率とレンダリング品質のバランスを取ります。RAHTなどの高度な属性圧縮は、階層変換を通じて相関関係をキャプチャし、冗長性を効果的に最小限に抑えます。ポイントクラウド圧縮におけるRAHTの起源は、ローカルな相関関係を利用することにより、重要なシーン情報を保持するのに役立ちます。これらの方法を組み合わせることで、制約のある環境でのリアルタイムアプリケーションに適した、効率的で高品質の3Dガウシアンスプラッティングが可能になります。空間構造化、次元削減、属性圧縮は、3Dシーン表現への包括的なアプローチを形成します。
3.3 属性プルーニング
属性プルーニングとは、球面調和(SH)など、各ガウシアンに関連付けられた属性を選択的に削減して、メモリ使用量と計算効率を最適化することです。3DGSでは、球面調和は、多くの場合、複雑なライティングと色の情報をエンコードするために使用されます。SH係数は、特に精度の程度が高くなると、保存と処理に費用がかかる可能性があります。たとえば、RGBデータに最大次数3までのSHを採用すると、48個の係数(チャネルごとに16個)になり、単一のガウシアンに必要なストレージサイズの81%(59個の属性のうち48個)を消費します。
これに対処するために、属性プルーニング手法は、各ガウシアンのSH係数の数を動的に調整します。シーン全体にわたって均一なレベルのSH精度を適用するのではなく、SHの次数は、各ガウシアンの特定の要件に基づいて調整されます。シーンの複雑度の低い領域では、一部のガウシアンは単一の次数のSH(基本的なRGBカラー)のみを必要としますが、より複雑な領域では、より詳細な表現のためにより高い次数が必要です。
球面調和を完全に放棄し、NeRFのようなMLPや古典的なコンピューターグラフィックスシェーディングなどの他のアプローチを使用して、視点依存効果をモデリングすることもできます[17]。これらのアプローチでは、3次球面調和よりもはるかに少ない属性を使用できますが、欠点として、カスタムの、場合によっては低速のレンダリングが必要になります。
3.4 コンパクト化
3Dガウシアンスプラッティング(3DGS)でコンパクト化を実現するための重要なツールは、適応密度制御(ADC)です。ADCは、最適化プロセス中にガウシアンの数を動的に管理し、固定数の要素に依存するのではなく、シーンの要件に基づいて密度を調整します。シーンへの貢献度に応じてガウシアンを追加または削除し、最も重要な要素のみが保持されるようにします。
勾配、ピクセルカバレッジ、顕著性マップなどの基準を評価することにより、ADCは、ガウシアンを複製、分割、または削除する必要があるかどうかをインテリジェントに判断します。これにより、高周波領域など、最も必要とされる場所に、冗長なガウシアンや影響の少ないガウシアンが削除される一方で、追加のガウシアンが割り当てられます。図4は、ガウシアンのプルーニングプロセスを例示しています。上記の基準に基づいて、ガウシアンが選択され、シーンから削除されます。
トレーニングとレンダリングの両方で動的に動作するため、ADCはシーンの表現を継続的に改善します。シーンが進化するにつれて、ADCは効率的なガウシアン割り当てを保証し、時間の経過とともに、よりコンパクトで高品質なモデルを実現します。