← 返回列表

GeoSplatting: Towards Geometry Guided Gaussian Splatting for Physically-based Inverse Rendering

作者 Kai Ye, Chong Gao, Guanbin Li, Wenzheng Chen, Baoquan Chen
年份 2024
会议/期刊 arXiv 2024
评分
标签 3D重建 高斯溅射 逆渲染
摘要 显式网格几何引导 3DGS 逆渲染:MGadapter 将网格三角面映射为高斯点 + 基于 BVH 的二值遮挡 + GGX BRDF,重光照 PSNR 超基线 3.1dB,训练仅 14 分钟

核心思想

逆渲染的目标是从多视角图像中分解出物体的几何、材质和光照。基于 3DGS 的方法速度快,但法线估计不准确 → 材质和光照的分解会出错。

GeoSplatting 的核心洞察:用显式网格提供精确的几何引导,让 3DGS 同时拥有快速渲染和精确法线。

具体方案:

  1. MGadapter:将网格三角面映射为高斯点 → 高斯点自动继承网格的精确法线
  2. BVH 加速射线追踪:在网格上做二值遮挡判断 → 精确的光传输建模
  3. GGX BRDF + 分辨率哈希网格:精确的基于物理的材质表示

结果:重光照 PSNR 34.10(比最佳基线高 3.1dB),训练仅 14 分钟(比 NeRF 方法快 18-57×)。

背景知识

什么是逆渲染

正渲染:几何 + 材质 + 光照 → 图像(已知条件生成结果)

逆渲染:图像 → 几何 + 材质 + 光照(从结果推断条件)

分解目标 说明
几何(法线) 物体表面的朝向
材质(BRDF) 反照率、粗糙度、金属度
光照 环境光、直接光、间接光

分解成功后可以做重光照(换光源)、材质编辑(换颜色/质感)等。

为什么 3DGS 的法线不准确

3DGS 用椭球高斯近似表面,法线通常取椭球最短轴方向。但:

  • 椭球不贴合真实表面 → 法线偏差大
  • 多个重叠高斯的法线混合 → 模糊不一致
  • 缺乏全局几何约束 → 局部法线可能矛盾

什么是 GGX BRDF

Cook-Torrance 微面元 BRDF 模型的一种,广泛用于真实感渲染:

\[f_r = (1 - m) \cdot \frac{a}{\pi} + \frac{D \cdot F \cdot G}{4 |n \cdot \omega_i| |n \cdot \omega_o|}\]
符号 含义
$a$ 反照率(漫反射颜色)
$m$ 金属度(0=非金属,1=金属)
$D$ 微面元法线分布(GGX)
$F$ 菲涅尔项
$G$ 几何遮蔽项
$\omega_i, \omega_o$ 入射/出射光方向

现有方法的问题

方法类别 代表 优势 劣势
NeRF 隐式场 TensoIR, NeRO 法线准确 训练 270-800 分钟
网格方法 NVdiffrec 几何精确 三角边缘梯度稀疏
3DGS 方法 R3DG, GS-IR 训练快 法线不准确 → 分解差
GeoSplatting 法线准确 + 训练快 需要物体掩码

方法详解

1. 几何引导的高斯点生成(MGadapter)

核心思想:不让高斯点自由分布,而是绑定在网格表面

对每个三角面 $P$,MGadapter 生成 $K=6$ 个高斯点:

\[\{(\mu_i, S_i, R_i, n_i) \mid i = 1, \ldots, K\} = T(P)\]
  • $\mu_i$:位置(重心坐标插值)
  • $S_i$:尺度(由三角形形状决定)
  • $R_i$:旋转(由三角形朝向决定)
  • $n_i$:法线(重心坐标插值三角形顶点法线)
  • 不透明度固定为 1(不透明表面)

关键优势:高斯点的法线直接来自网格,不需要额外的法线正则化。

2. 基于物理的高斯渲染

2.1 渲染方程

\[L_o(x, \omega_o) = \int_{\mathcal{H}^2} f_r(x, \omega_i, \omega_o) L_i(x, \omega_i) |n \cdot \omega_i| d\omega_i\]

2.2 材质属性查询

使用多分辨率哈希网格存储空间变化的材质属性:

\[a_i = E_d(\mu_i) \quad \text{(漫反射编码器 → 反照率)}\] \[(\rho_i, m_i) = E_s(\mu_i) \quad \text{(镜面编码器 → 粗糙度、金属度)}\]

3. 光传输建模

3.1 光照分解

\[L_i(x, \omega_i) = (1 - O(x, \omega_i)) \cdot L_{\text{dir}}(\omega_i) + O(x, \omega_i) \cdot L_{\text{ind}}(x, \omega_i)\]
  • $L_{\text{dir}}$:直接光照(环境贴图)
  • $L_{\text{ind}}$:间接光照(被遮挡区域的环境光近似)
  • $O$:遮挡项

3.2 二值遮挡 vs 连续遮挡

现有 3DGS 方法:用 alpha 合成估计连续遮挡 $O_{\text{3dgs}} \in [0, 1]$ → 不精确

GeoSplatting:用网格上的 BVH 射线追踪计算二值遮挡 $O_{\text{mesh}} \in {0, 1}$ → 精确

优势:

  • 确定性的二值判断(遮挡/不遮挡)
  • BVH 加速确保效率
  • 网格表面一致性避免了半透明高斯的模糊性

3.3 Split-Sum 预热

训练早期网格质量不佳,先用无遮挡的 Split-Sum 近似:

\[L_o \approx \text{SplitSum}(f_r, L_{\text{env}})\]

收敛后再加入完整的遮挡建模。

4. 外观精修

初始收敛后切换到延迟着色模式:

  • 先渲染出法线、材质等 G-buffer
  • 再逐像素做完整的 PBR 评估
  • 捕获高频细节(镜面高光等)

5. 损失函数

\[\mathcal{L} = \mathcal{L}_{\text{img}} + \lambda_{\text{entropy}} \mathcal{L}_{\text{entropy}} + \lambda_{\text{smooth}} \mathcal{L}_{\text{smooth}} + \lambda_{\text{light}} \mathcal{L}_{\text{light}}\]

其中:

\[\mathcal{L}_{\text{img}} = L_1 + \lambda_{\text{ssim}} \mathcal{L}_{\text{SSIM}} + \lambda_{\text{mask}} \mathcal{L}_{\text{mask}}\]
损失项 作用
$L_1 + \text{SSIM}$ 光度重建
$\mathcal{L}_{\text{mask}}$ 物体掩码监督
$\mathcal{L}_{\text{entropy}}$ 形状约束(避免浮动高斯)
$\mathcal{L}_{\text{smooth}}$ 反照率/镜面属性平滑
$\mathcal{L}_{\text{light}}$ 光照正则化

实验结果

逆渲染性能

Synthetic4Relight 数据集

方法 重光照 PSNR↑ 反照率 PSNR↑ NVS PSNR↑ 训练时间
NVdiffrec 27.70 25.54 27.36 ~40 min
TensoIR 28.58 27.45 30.47 ~270 min
NeRO 21.32 24.96 ~800 min
R3DG 31.00 28.31 28.83 ~110 min
GS-IR 28.80 26.21 28.77
GeoSplatting 34.10 29.90 31.14 14 min

GeoSplatting 重光照 PSNR 超最佳基线 3.1 dB,训练快 87%

TensoIR Synthetic 数据集

方法 重光照 PSNR↑ 反照率 PSNR↑
TensoIR 28.55 29.18
R3DG 28.55 29.18
GeoSplatting 29.95 29.41

Shiny Blender 数据集

方法 重光照 PSNR↑
R3DG 28.74
GeoSplatting 29.41

法线质量

方法 TensoIR MAE↓ Shiny MAE↓ 训练时间
TensoIR 4.10° 4.42° ~270 min
NeRO 5.14° 2.48° ~800 min
R3DG 5.45° 7.04° ~110 min
GeoSplatting 4.08° 2.15° 14 min

法线精度最优,训练时间最短。

消融实验

去掉的组件 NVS PSNR 下降 重光照 PSNR 下降 法线 MAE 增加
形状对齐(MGadapter) -0.50 dB -3.56 dB +4.21°
外观精修 -1.38 dB -1.99 dB -0.34°
遮挡建模 -0.58 dB -2.59 dB +2.09°
间接光照 -0.44 dB -1.02 dB +0.89°

形状对齐是最关键的组件(去掉后重光照下降 3.56 dB)→ 精确法线是逆渲染的基础。

个人思考

  1. “网格提供法线,高斯提供渲染” 的混合策略兼顾了两者的优势:网格擅长精确几何表示,3DGS 擅长高效可微渲染——MGadapter 是优雅的桥梁。
  2. 二值遮挡 vs 连续遮挡的选择很有洞察力:真实世界中一个点要么被遮挡、要么不被遮挡,$O \in {0, 1}$ 比 $O \in [0, 1]$ 更符合物理。
  3. 14 分钟训练时间使逆渲染从”研究工具”变为”实用工具”——比 NeRO(800 分钟)快 57 倍,可以实际部署在内容创作管道中。
  4. 消融实验清晰地说明了贡献层次:形状对齐 > 遮挡建模 > 外观精修 > 间接光照,每个组件的贡献都被量化。
  5. 局限性坦诚:需要物体掩码、对薄结构支持不好、受限于网格分辨率——这些限制了场景级应用,未来需要自适应细化。
← 返回列表