はじめに
3D Gaussian Splatting(3DGS)は見た目の再現が得意ですが、メッシュを取り出そうとすると表面がガタガタになりがちです。
この問題に取り組んだのが 2D Gaussian Splatting(2DGS, SIGGRAPH 2024) です。
この記事では、2DGS の論文を読みながら自分が疑問に思ったことを Q&A 形式 でまとめます。最後に、2DGS の弱点を補う後続研究(Quadratic Gaussian Splatting)も紹介します。
対象読者
- 3DGS は触ったことがあり、2DGS がどう違うのか知りたい人
- 3DGS / 2DGS からメッシュを作りたい人
論文情報
| 項目 | 内容 |
|---|---|
| タイトル | 2D Gaussian Splatting for Geometrically Accurate Radiance Fields |
| 著者 | Binbin Huang, Zehao Yu, Anpei Chen, Andreas Geiger, Shenghua Gao |
| 会議 | SIGGRAPH 2024 Conference Papers |
| arXiv | 2403.17888(CC BY 4.0) |
| プロジェクト | https://surfsplatting.github.io |
2DGS をひとことで
3D のガウシアン(楕円体)を ペチャンコにして 2D のディスク(円盤) にし、それを表面に貼りつけるように最適化する手法
これにより、次の結果を出しています。
- 3DGS と同等の画質・速度を保つ
- ノイズの少ないメッシュ を取り出せる
- DTU データセットでは、NeuS などの SDF 系手法と同等以上の精度を 約100倍速く 達成(学習 約10分)
仕組みの概要
1. プリミティブ:2D ガウシアン・ディスク
各ディスクは以下のパラメータを持ちます。
- 中心 $\mathbf{p}_k$
- 2本の接ベクトル $\mathbf{t}_u, \mathbf{t}_v$(ディスクの向き)
- 2つのスケール $s_u, s_v$(ディスクの大きさ)
- 不透明度 $\alpha$、球面調和関数による色
法線はディスクの向きから 自動的に決まります。
\mathbf{t}_w = \mathbf{t}_u \times \mathbf{t}_v
ディスク上の点は次のように表されます。
P(u,v) = \mathbf{p}_k + s_u\mathbf{t}_u u + s_v\mathbf{t}_v v
2. レンダリング:レイとディスクの交点を厳密に求める
3DGS は 3D ガウシアンを画面に投影して 2D ガウシアンにし、その値を評価します(アフィン近似)。
2DGS は ピクセルから出たレイとディスク(平面)の交点 を求め、その点でガウシアンの値を評価します。
交点は「x 平面」「y 平面」「ディスク平面」の3平面の交点として、閉じた式で高速に計算できます。
3. 学習:色の損失 + 2つの正則化
\mathcal{L} = \mathcal{L}_c + \alpha \mathcal{L}_d + \beta \mathcal{L}_n
- $\mathcal{L}_c$:色の再現(L1 + D-SSIM)
- $\mathcal{L}_d$:深度歪み損失(面は1枚)
- $\mathcal{L}_n$:法線一貫性損失(ディスクは面に沿って寝る)
4. メッシュ化
学習した各視点で深度マップをレンダリングし、TSDF fusion(Open3D)で統合してメッシュを作ります。
Q&A
Q1. なぜ 3DGS ではきれいな表面が作れないの?
論文は理由を大きく3つ挙げています。
① 体積的な表現と「薄い表面」が合わない
3D ガウシアンは厚みのある塊なので、紙のように薄い表面とは性質が違います。
② 法線を持っていない
3D ガウシアン(楕円体)には「法線」という属性がありません。3軸が同程度の長さなら、どの向きを法線にするかも決まりません。
そのため、
- 法線マップを出せず、「隣同士の法線をそろえる」といった表面向けの正則化ができない
- Poisson 再構成など、法線を使うメッシュ化手法に渡せない
という問題が出ます。
③ 視点によって「面がある位置」が変わる(多視点一貫性がない)
3DGS の評価方法は、3D で見ると「楕円体の中心を通り、視線方向で決まる平面 で切った断面を見ている」ことに相当します(Keselman & Hebert, 2023)。
正面から見る → ある向きの平面で切った断面
斜めから見る → 別の向きの平面で切った断面
そのため、同じガウシアンなのに、視点ごとに深度が変わります。
多視点の深度マップを TSDF で統合すると、この食い違いが面のガタつきや二重化として出てきます。
④(補足)アフィン近似の誤差
透視投影 $x/z,\ y/z$ は非線形ですが、3DGS は中心まわりで1次近似(ヤコビアン $J$)しています。
- 中心付近は正確
- 中心から離れるほど、またガウシアンが大きいとき・カメラに近いとき・斜めから見るときに誤差が増える
その結果、画面上の形や深度が歪みます。
2DGS ではレイとディスクの交点が1点に決まるので、どの視点から見ても同じ3D点を評価 できます。投影も同次座標で厳密に扱っています。
論文の追加実験(付録 表6)では、アフィン近似を厳密なレイ交差に変えるだけで DTU の Chamfer 距離が 1.08 → 0.88 に改善しています。
Q2. 「色付きの 2D ディスクを貼り合わせる」だけではダメなの?
ジオメトリ(形)が既知なら、それで十分です。
これは古典的な サーフェル(surfel) と同じ考え方で、LiDAR 点群の表示などに使われています。
2DGS が解いているのは、それとは逆の問題です。
写真しかない状態から、ディスクをどこに・どの向きで・どの大きさで・何枚置けば写真と一致するか を探す
このため、単純な貼り合わせにはない工夫が必要になります。
| 工夫 | 理由 |
|---|---|
| ガウシアンでぼかす・半透明にする | 縁がくっきりした不透明ディスクだと、ずらしても色が変わらず 勾配が流れない |
| 正則化(深度歪み・法線一貫性) | 色だけでは形が1つに決まらない(浮いたディスクや多層でも写真は再現できてしまう) |
| 球面調和関数による色 | 1色だと、光沢による見え方の変化を「形をずらす」ことで説明しようとしてしまう |
| 適応的な密度化(分割・削除) | ディスクの枚数も最初は分からない |
最終的にできあがるものは、確かに「色付きディスクの貼り合わせ」に近いです。
Q3. 深度歪み損失($\mathcal{L}_d$)は何をしているの?
\mathcal{L}_d = \sum_{i,j}\omega_i\,\omega_j\,|z_i - z_j|
- $\omega_i$:i 番目の交点のブレンド重み(ピクセルの色への寄与)
- $z_i$:i 番目の交点の深度
防ぎたい状態:アルファブレンディングはディスク同士の距離を考えません。そのため、
カメラ ──→ | | |
z=1.0 z=1.2 z=3.0
のように奥行き方向に散らばっていても、色さえ合えば損失はゼロになります。
このとき深度は重み付き平均なので、何もない位置(z≈1.6)に面がある ことになってしまいます。
数値例(交点2つ、順序付きペアで計算)
| 状況 | ω | z | $\mathcal{L}_d$ |
|---|---|---|---|
| 同じ深度に集まっている | 0.5, 0.5 | 1.0, 1.0 | 0 |
| 離れている | 0.5, 0.5 | 1.0, 3.0 | 1.0 |
| 離れているが片方が支配的 | 0.9, 0.1 | 1.0, 3.0 | 0.36 |
損失を下げるには「ディスクを近づける」か「片方だけを残す」しかありません。どちらを取っても 見える面は1枚 になります。
Mip-NeRF360 の distortion loss との違い
Mip-NeRF360 では $z_i$ はレイ上の固定サンプル位置で、重みしか動きません。
2DGS ではディスクを動かすと $z_i$ 自体が変わるので、ディスクを1か所に集める方向に直接 勾配が流れます。
実装上の工夫(付録A)として、深度は NDC 空間に変換して遠方の影響を下げています。また、二重和を累積和に変形し、1回の走査で計算しています。
重みは有界シーンで $\alpha=1000$、非有界シーンで $\alpha=100$ です。
Q4. 法線一貫性損失($\mathcal{L}_n$)は何をしているの?
\mathcal{L}_n = \sum_i \omega_i\left(1 - \mathbf{n}_i^\top\mathbf{N}\right)
2種類の法線を比べて、そろえる損失です。
| 法線 | 求め方 | 意味 |
|---|---|---|
| $\mathbf{n}_i$ | ディスクの向き $\mathbf{t}_u \times \mathbf{t}_v$(カメラ側に向ける) | ディスクの傾き |
| $\mathbf{N}$ | 深度マップの隣接ピクセルの差分から計算 | 点が並んでできる面の向き |
\mathbf{N}(x,y) = \frac{\nabla_x\mathbf{p}_s \times \nabla_y\mathbf{p}_s}{|\nabla_x\mathbf{p}_s \times \nabla_y\mathbf{p}_s|}
ここで $\mathbf{p}_s$ は、レイ上で蓄積不透明度が 0.5 を超えた点(中央値深度)の3D座標です。平均深度より外れ値に強くなります。
$\mathbf{n}^\top\mathbf{N} = \cos\theta$ なので、
| 角度 θ | $1-\cos\theta$ |
|---|---|
| 0°(一致) | 0 |
| 30° | 0.13 |
| 90°(ディスクが面に対して立っている) | 1 |
勾配は両方向に流れます。
- ディスク側:面の向きに合わせて 回転 する
- 深度側:ディスクの向きと矛盾しないように 深度マップが滑らかに なる
重みは $\beta = 0.05$ です。
Q5. 2つの正則化は両方必要?
役割が違うので、両方必要です。
| 項 | 抑えるもの | 外したときの症状 |
|---|---|---|
| 深度歪み | 奥行き方向のばらつき(多層) | 法線がぼやける |
| 法線一貫性 | 面に沿った方向の傾きのばらつき | 法線の向きにノイズが乗る |
DTU でのアブレーション(論文 表5、Chamfer 距離・小さいほど良い)
| 設定 | 平均 |
|---|---|
| 法線一貫性なし | 1.24 |
| 深度歪みなし | 0.88 |
| 両方あり | 0.83 |
副作用:どちらも「面は1枚で滑らか」という前提の項です。
- 細かい凹凸が丸まる(過度な平滑化)
- ガラスのような 半透明物体 には合わない
- 画質(PSNR)とのトレードオフがある
Q6. 2DGS のディスクは曲げられないの?
1枚のディスクは曲げられません。
P(u,v) = \mathbf{p}_k + s_u\mathbf{t}_u u + s_v\mathbf{t}_v v
これは $(u,v)$ について1次式なので、必ず 平面 になります。レイとの交差計算も「平面と直線の交点」として解いているので、平面であることが前提です。
曲面は、ポリゴンメッシュと同じように 小さな平面ディスクを少しずつ傾けて並べて 近似します。
本当の曲面: ⌒⌒⌒
2DGS: _/ ̄\_
弱点
- 曲率が大きい場所では、たくさんのディスクが必要
- 密度化は「色の誤差」を見てディスクを増やすので、色は単調だが形は複雑な場所 ではディスクが増えにくい(論文の Limitations でも言及)
- 正則化で平らになりやすい
Q7. 曲げられるプリミティブを使った論文はないの?
あります。Quadratic Gaussian Splatting(QGS) です。
| 項目 | 内容 |
|---|---|
| タイトル | Quadratic Gaussian Splatting: High Quality Surface Reconstruction with Second-order Geometric Primitives |
| arXiv | 2411.16392 |
| 会議 | ICCV 2025 |
ポイント
- 平面ディスク(1次)の代わりに、2次曲面(楕円面・放物面など)をプリミティブにする
- 曲がり具合も学習パラメータ
- レイ ✕ 2次曲面の交差 を閉じた式で解く(2次方程式)
- ガウシアンの広がりを、直線距離ではなく 曲面に沿った測地線距離 で定義する
- 要旨では、DTU の Chamfer 距離が 2DGS より約33%改善、画質は同等。平面ディスク何十枚分を1つで表せる
2DGS の「曲率の大きい場所でディスクがたくさん必要」という弱点に、正面から取り組んだ研究です。
関連(曲面化ではない改良)
- Geometry Field Splatting with Gaussian Surfels(CVPR 2025):サーフェルの不透明度を幾何の場から導く
- GS-2DGS(CVPR 2025):反射のある物体向けに 2DGS を拡張
まとめ
| 3DGS | 2DGS | QGS | |
|---|---|---|---|
| プリミティブ | 3D 楕円体 | 2D 平面ディスク | 2次曲面 |
| 法線 | なし | ディスクの向きから一意に決まる | 曲面から決まる |
| 評価位置 | 視点で変わる断面 | レイ ✕ 平面の交点 | レイ ✕ 2次曲面の交点 |
| 得意 | 見た目の再現 | 正確な表面・メッシュ | 曲率の大きい表面 |
| 苦手 | メッシュ化 | 曲面に多数のディスクが必要、半透明 | (計算コストは要確認) |
- 3DGS は「見た目を合わせる表現」としては優秀だが、「どこに面があるか」を一貫して答える表現ではない
- 2DGS は プリミティブを平面にし、交点を厳密に計算 することで、その部分を直した
- さらに 2つの正則化 で「面は1枚・ディスクは面に沿う」ことを強制し、きれいなメッシュを得ている
- 平面であることの限界は、QGS のような 曲面プリミティブ で改善されつつある
参考文献
- Huang et al., "2D Gaussian Splatting for Geometrically Accurate Radiance Fields", SIGGRAPH 2024. arXiv:2403.17888
- Kerbl et al., "3D Gaussian Splatting for Real-Time Radiance Field Rendering", ACM TOG 2023.
- Keselman & Hebert, "Flexible techniques for differentiable rendering with 3D Gaussians", arXiv:2308.14737, 2023.
- Zwicker et al., "Perspective accurate splatting", Graphics Interface 2004.
- Barron et al., "Mip-NeRF 360: Unbounded Anti-Aliased Neural Radiance Fields", CVPR 2022.
- "Quadratic Gaussian Splatting: High Quality Surface Reconstruction with Second-order Geometric Primitives", ICCV 2025. arXiv:2411.16392
- Jiang et al., "Geometry Field Splatting with Gaussian Surfels", CVPR 2025. arXiv:2411.17067
- Tong et al., "GS-2DGS: Geometrically Supervised 2DGS for Reflective Object Reconstruction", CVPR 2025.
※ 論文の図表の数値は原論文(arXiv 版, CC BY 4.0)から引用しています。