2D Gaussian Splatting
2D Gaussian Splatting (2DGS) は、3DGS の primitive を 3D 楕円体から 2D oriented disk に置き換えることで、surface reconstruction の精度を高める手法です。
何が違うのか
3DGS の楕円体は、view-dependent rendering には強いものの、surface 抽出には弱いという問題がありました。Gaussian が薄く広く分布し、normal や depth が不安定だからです。
2DGS では、各 primitive を 平面上の 2D Gaussian diskとして扱います。
各 disk が surface の局所平面に対応するため、
- Surface normal が一意に定まる
- Depth に sharp な edge が出る
- Mesh 抽出が安定する
という利点があります。
Training
2DGS でも基本は photometric loss ですが、surface 一貫性を高めるために
- Depth consistency loss
- Normal consistency loss
が追加されます。これにより、view を変えても整合する surface が学習されます。
用途
- 高品質な mesh 抽出
- Relighting
- Physical simulation 用の clean surface
- Photogrammetry alternative
3DGS との使い分け
| 用途 | 推奨 |
|---|---|
| Real-time novel view synthesis | 3DGS / Mip-Splatting |
| Surface reconstruction、mesh 化 | 2DGS |
| Editing、relighting | 2DGS |
| Dynamic scene | 4DGS (3DGS ベース) |
数式で見る 2D Gaussian の surface 表現
2D Gaussian Splatting では、各 primitive を三次元の楕円体ではなく、局所的な surface patch として扱います。中心を 、局所 tangent basis を 、二次元座標を とすると、patch 上の点は次のように表せます。
Patch 内の重みは、二次元 Gaussian として書けます。
この式の気持ちは、「volumetric な雲を置くのではなく、surface に沿った薄い楕円 disk を置く」というものです。Surface reconstruction では、厚みのある 3D Gaussian よりも surface normal や geometry が解釈しやすくなることがあります。
関連ページ
主なソース
- 2D Gaussian Splatting project page: https://surfsplatting.github.io/
- 2DGS paper: https://arxiv.org/abs/2403.17888