Skip to main content

Scaffold-GS

Scaffold-GS は、scene を sparse な anchor point と、anchor から生成される neural Gaussian で表現する手法です。3DGS の primitive 数の爆発を抑え、view-dependent な詳細を効率的に表現します。

構造

各 anchor は、

  • Position
  • Feature vector
  • 周囲に生成する local Gaussian の offset / attribute

を持ちます。Rendering 時には、view direction に応じて local Gaussian の attribute が MLP から出力されます。

何が嬉しいのか

利点内容
Primitive 数の削減Anchor から動的に Gaussian を生成
View-dependent な詳細View に応じた attribute
Streaming / LoDAnchor 単位で扱いやすい
編集性Anchor を編集すると周辺 Gaussian が自動更新

大規模 scene での価値

街区規模や室内全体のような大規模 scene で 3DGS を回すと、Gaussian 数が爆発します。Scaffold-GS は anchor で粒度を制御できるため、scalability に向きます。

数式で見る anchor からの Gaussian 生成

Scaffold-GS 系の考え方では、すべての Gaussian を独立に持つのではなく、anchor point から局所的な Gaussian parameter を生成します。Anchor aa の特徴を fa\mathbf{f}_a、view direction を v\mathbf{v} とすると、opacity や色は小さな network で次のように予測できます。

(αi,ci,Δμi,Σi)=fθ(fa,v,Δxi)(\alpha_i,\mathbf{c}_i,\Delta\boldsymbol{\mu}_i,\boldsymbol{\Sigma}_i) =f_\theta(\mathbf{f}_a,\mathbf{v},\Delta\mathbf{x}_i)

ここで、Δxi\Delta\mathbf{x}_i は anchor からの相対位置です。この式の気持ちは、「多数の Gaussian を完全に個別最適化するのではなく、局所 anchor の特徴からまとめて生成し、構造を共有する」というものです。大規模 scene では、この共有構造により memory と optimization の両面で扱いやすくなります。

関連ページ

主なソース