Path-Space Differentiable Rendering of Implicit Surfaces
Osaka University
一句话总结
本文把路径空间可微渲染(path-space differentiable rendering)的理论从显式几何(多边形网格)推广到隐式曲面(零水平集、SDF),并提出针对隐式曲面边界积分的新型蒙特卡洛估计器,从而支持含复杂光照传输效果的隐式曲面反演渲染。
研究背景
基于物理的可微渲染需要正确处理图像对场景参数的导数,其中最具挑战的部分是当参数改变几何形状时出现的边界积分(boundary integrals)。处理边界积分主要有两类蒙特卡洛估计器:
- 重参数化(reparameterization):把边界积分替换为等价的内部积分,避免显式采样不连续边界,且较易适配隐式几何;但重参数化后的内部积分难以做重要性采样,方差往往偏高。
- 边采样(edge-sampling):直接用蒙特卡洛积分估计边界积分,在合理重要性采样下方差更低;但当前最先进的路径空间方法主要面向显式几何推导,隐式曲面轮廓(silhouette)的采样此前未被解决。
已有工作大多假设几何为网格或参数曲面。针对 SDF 的可微渲染方法(如 diffsdf、以及基于重参数化的神经 SDF 方法)虽存在,但缺乏在路径空间框架下、面向一般隐式曲面的边界积分理论与低方差估计器。本文旨在弥补这一空缺。
方法
整体框架
本文延续 Zhang 等人的微分路径积分(differential path integral)框架。前向渲染的路径积分为
\[I = \int_{\Omega} f(\bar{x}) \, d\mu(\bar{x})\]
通过一个把固定参考曲面 \(B\) 映射到演化曲面 \(M(\pi)\) 的一一映射 \(X(\cdot, \pi)\) 做材料形式重参数化,得到材料形式路径积分,其对参数 \(\pi\) 的导数可写为内部积分与边界积分之和:
\[\frac{dI}{d\pi} = \int_{\hat{\Omega}} \frac{d}{d\pi}\hat{f}(\bar{p}) \, d\mu(\bar{p}) + \int_{\partial\hat{\Omega}} \hat{f}(\bar{p}) \, V_{\partial}(p_K) \, d\dot{\mu}\]
内部积分可由前向渲染过程的自动微分获得;难点在于边界积分的域难以高效采样。本文的核心贡献就是为隐式曲面定义材料形式参数化,并推导边界积分的多方向形式(multi-directional form),进而设计低方差估计器。
隐式曲面的材料形式参数化
隐式曲面定义为标量函数的零水平集 \(M(\pi) := \lbrace x \in \mathbb{R}^3 : \phi(x; \pi) = 0 \rbrace\),参考曲面取 \(B := M(0)\)。与显式几何不同,隐式曲面难以定义对所有 \(\pi\) 都成立的一一映射,因此本文定义一个仅在 \(\pi = 0\) 处一一对应的沿法线映射:
\[X(p, \pi) := p + t(p, \pi) \, n_B(p)\]
其中 \(t(p, \pi)\) 是从 \(p\) 沿参考曲面法线 \(n_B(p)\) 到演化曲面 \(M(\pi)\) 首个交点的距离。由此得到点的速度场
\[v(p) := (\partial_{\pi} t)(p) \, n_B(p), \qquad (\partial_{\pi} t)(p) = -\frac{\partial_{\pi}\phi(p)}{\lVert \nabla_p \phi(p) \rVert}\]
雅可比对 \(\pi\) 的导数满足 \((\partial_{\pi} J)(p) = \kappa(p) V(p)\)(曲率与法向速度之积)。
关键设计
-
边界段的换元(避免轮廓检测):直接采样边界段需要轮廓检测。本文对高阶光滑曲面推导了把积分变量从边界段两端点 \((p^S, p^D)\) 换为「曲面点 \(p^B\) 加切向 \(\omega^B\)」的换元公式,从而绕开对每个顶点做轮廓检测。该换元对非相机端点的边界段有效。
- 两类边界积分:
- 次级边界积分(secondary):边界段两端点均为曲面点,可用上述换元避免轮廓检测。
- 主边界积分(primary):边界段有一端为相机,此时换元不再成立,必须对相机做轮廓检测。
-
采样主边(primary edges):主边是曲面法线与视线垂直之处,可由方向函数 \(\psi_{\phi,c}(p) := \langle \nabla\phi(p), v_c(p) \rangle\) 的零集与曲面 \(\phi = 0\) 的交给出。由于隐式曲面没有有限边集或参数化,本文用区间/仿射算术的范围分析(range analysis)把主边收紧到一批可能同时与 \(\phi\) 和 \(\psi\) 相交的轴对齐包围盒(AABB)内,再在代理曲面(如包围盒的面与棱)上行进采样得到主边上的点。
-
采样次级边:先采样曲面点,再采样切向。对于没有全局参数化的隐式曲面,用简单代理曲面(如包围盒的面)做换元:从面上一点沿法线投射光线,取与曲面的多个交点,累加各交点的贡献并乘以对应雅可比行列式,从而把面上的积分映射回曲面。切向则用次事件估计(next-event estimation)做重要性采样:把切平面与光源相交,只从与光源相交的切向采样。
- 双向估计器:在上述基础上同时实现单向与双向路径采样估计器,以应对光源难采样、材质高光的场景。
实验结果
实现基于 Mitsuba 3 的 cuda_ad_rgb 后端,隐式曲面用三次插值的网格 SDF 表示(同 diffsdf),在 NVIDIA RTX 4090 上运行。可微渲染实验中,本文估计的导数图与大量样本的有限差分(FD)参考高度吻合,验证了正确性;在光源难采样与高光材质场景下,双向估计器优于单向估计器。
反演渲染用 Chamfer 距离(目标网格与优化曲面提取网格之间)对比 diffsdf:
| 场景 | 本文方法 | diffsdf |
|---|---|---|
| CHAIR(单向) | \(7.8 \times 10^{-3}\) | \(339.3 \times 10^{-3}\) |
| BUNNY(单向) | \(7.9 \times 10^{-3}\) | \(37.0 \times 10^{-3}\) |
| SHADOW(单向,仅观测阴影) | \(6.24 \times 10^{-3}\) | \(6.73 \times 10^{-3}\) |
| BOB(双向 / 单向) | \(2.7 \times 10^{-3}\) / \(10.2 \times 10^{-3}\) | \(2000 \times 10^{-3}\) |
在仅观测阴影(梯度只含次级边界积分)、以及光源被翻转朝上难以采样的场景中,本文通过显式采样该分量并引导(guiding),得到更干净的梯度估计与更接近目标、更平滑的优化形状。
亮点与局限
亮点:
- 首次把路径空间可微渲染理论系统地推广到一般隐式曲面(零水平集),无需参考曲面的全局参数化。
- 推导了隐式曲面边界积分的多方向形式,并区分主/次边界积分,分别给出低方差蒙特卡洛估计器(含双向估计器)。
- 用范围分析(仿射算术)为无参数化的隐式轮廓提供收紧的采样界,并结合次事件估计提升切向采样效率。
局限:
- 与所有路径空间可微渲染方法一样,高效采样边界路径本身很难,通常需要引导;当前用简单的规则网格引导,难以处理高光泽表面的反射。
- 实现只做了网格 SDF 的实验;理论上支持任意连续水平集函数(包括神经 SDF),但在 Dr.Jit 上高效支持复杂神经表示存在系统层面的挑战。
- 存在少量偏差:光线与隐式曲面求交为近似解,且主边采样假设每个代理曲线采样点至多一个交点(AABB 不够小时可能被违反);但实验中偏差对重建质量影响很小。
延伸思考
- 该工作把「显式几何专属」的低方差边采样思想迁移到隐式表示,关键洞见是用沿法线映射与范围分析替代显式的轮廓/边参数化,这为其它以隐式或神经表示为主的可微渲染管线提供了统一视角。
- 论文明确指出理论已覆盖神经 SDF,瓶颈在工程实现,说明后续把该框架与小型 MLP 表示、以及并发的投影采样(projective sampling)引导结合,是提升鲁棒性与扩展性的自然方向。
- 对于「一个代理采样点对应多个曲面点、切向被固定」的引导难题,如何为次级边界积分设计更自适应的引导结构,是值得深入的开放问题。