[控场AI]
· 5 分钟阅读· 2,574 字

VisibilitySplat:3D高斯泼溅的光追遮挡建模与重光照

VisibilitySplat:3D高斯泼溅的光追遮挡建模与重光照

VisibilitySplat 用稀疏可见性神谕补齐 3DGS 逆渲染的遮挡建模短板

VisibilitySplat 针对 3DGS 逆渲染中遮挡缺失导致的材质-光照歧义问题,提出在标准光栅化 3DGS 流程之外挂载一个基于 BVH 光线追踪的稀疏可见性「神谕」,用于估计高斯原语在采样光照方向下的透射率加权遮挡。该模块按需稀疏调用,不改变原有训练与可视化链路,因而保留了 3DGS 的交互式效率与工具链生态。着色采用 PBR 微表面 BRDF 配合低分辨率 HDR 环境贴图。在 TensoIR 数据集上,方法在新视角合成、反照率重建与重光照任务上均具竞争力。消融显示显式可见性建模是重光照与解耦的关键,而纯 PBR 监督虽能拟合外观却未必实现真正解耦。

3D Gaussian Splatting(3DGS)在实时新视角合成上表现亮眼,但要把这套表示真正带入逆渲染——也就是从多视角照片中拆出材质、光照,并支持重新打光——遮挡问题始终绕不过去。VisibilitySplat 提出了一种务实的思路:保留光栅化 3DGS 的高效训练与可视化链路,额外挂一个稀疏的可见性"神谕"来处理遮挡查询。

VisibilitySplat 论文来源页

为什么遮挡是 3DGS 逆渲染的瓶颈

逆渲染需要同时求解几何、材质(albedo、粗糙度、金属度)和光照三个耦合变量。在 NeRF 类方法里,体渲染天然会对沿光线累积的密度做积分,遮挡是"免费"得到的;而 3DGS 用的是光栅化 splatting,不同高斯原语之间的互相遮挡没有显式建模,光照从一个方向射来、被另一团高斯挡住这件事,在标准前向流程里并不存在。

缺失显式遮挡的直接后果,是材质与光照之间的歧义被放大:一个暗色表面,既可能因为反照率低,也可能因为被别的几何挡住。网络在拟合时容易把两者混在一起,重光照时就会出现明显偏差。论文的动机正是从这个痛点出发。

逆渲染(inverse rendering) 是计算机图形学与视觉交叉的经典问题:给定若干张已知相机位姿的照片,反推场景的几何、表面材质参数(albedo、粗糙度、金属度等)以及光照条件,从而支持在新光照下重新渲染(relighting)。它与前向渲染互为逆过程——前向渲染是由几何+材质+光照生成图像,逆渲染则从图像反推这三者。难点在于这三组变量高度耦合:同一张像素既可能由亮光源照射暗材质产生,也可能由暗光源照射亮材质产生,这类歧义必须借助多视角一致性与显式的物理约束才能逐步消解,因此遮挡建模的准确性直接决定了解耦质量。

稀疏可见性神谕的设计

VisibilitySplat 的核心组件是一个基于点的光线追踪器,用 BVH(层次包围盒)加速,用来估计高斯原语在采样光照方向下的透射率加权遮挡。它被单独训练成一个"oracle",在逆渲染的目标函数里被稀疏地查询。

这里有两个值得注意的工程取舍。其一是稀疏性:并非对每条光线、每个方向都做完整追迹,只在需要时采样子集,避免把光追开销直接叠加到整个训练循环上。其二是与原流程解耦:训练的主循环仍然是原版 3DGS 的门控机制,因此保留了交互式可视化、现有工具链以及训练效率上的优势。这种"外挂"式设计让方法落地成本更低。

着色部分采用物理渲染(PBR)框架,使用基于微表面模型的原则性 BRDF,配合低分辨率 HDR 环境贴图作为光源表示。

BVH(Bounding Volume Hierarchy,层次包围盒) 是光线追踪中加速求交的标准空间数据结构。它把场景中的几何自顶向下递归划分为嵌套的包围盒,形成一棵树;光线求交时先与根节点包围盒测试,若不相交则整棵子树全部跳过,从而把朴素 O(n) 的遍历降到接近 O(log n)。VisibilitySplat 把高斯原语组织进 BVH 后,就能在某个采样光照方向上快速找出光线可能命中的高斯集合,再据此估算透射率。与显卡自带的硬件光追相比,基于点的 BVH 方案更易与 3DGS 的 Python/CUDA 训练栈集成,代价是每次查询仍有构建与遍历开销,这也是它选择稀疏调用的直接原因。

微表面 BRDF(microfacet BRDF) 是 PBR 的基石假设:把粗糙表面视作由大量理想镜面微面元组成,宏观反射表现为这些微面元朝向分布(由法线分布函数 D、几何遮蔽项 G、菲涅耳项 F 构成的 Cook-Torrance 模型)的统计结果。albedo 对应微面元的基色,粗糙度决定 D 的尖锐程度,金属度则控制反射是偏向有色镜面还是漫反射。HDR 环境贴图 用一张高动态范围的全景图编码来自各个方向的入射光,配合低分辨率预滤波即可近似地查询任意方向上的辐照度,避免对场景光源做显式建模。二者结合,使得着色结果在物理上可解释,也让解耦出的材质能够被真正迁移到新光照下重渲染。

实验数据与消融结论

论文在 TensoIR 合成数据集上与多类基线对比,覆盖 NeRF 系、张量表示以及 3DGS 系方法。结果显示:在新视角合成(NVS)、反照率重建和重光照三项任务上,VisibilitySplat 取得有竞争力的表现,并在多个指标上优于若干早期基线。

消融实验给出了两个关键判断。第一,显式可见性建模对重光照和材质-光照解耦有实质贡献,去掉它之后这两项任务明显退化。第二,纯 PBR 监督反而会更偏向"把外观拟合好",在 NVS 上表现不差,但这种外观拟合并不等于真正的解耦。这个发现提示:逆渲染任务的指标不能只看 NVS 数字,解耦质量需要单独评测。

TensoIR 是逆渲染领域常用的合成基准之一,基于 Blender 渲染,场景几何与材质均为人工构造,因而拥有精确的 albedo、法线和光照真值,可以定量衡量解耦精度。它同时提供了张量分解(TensoRF)类表示与 NeRF 类方法作为参照。需要留意的是,合成数据没有真实相机噪声、运动模糊、非朗伯表面等复杂性,模型在其上的优势未必能直接外推到实拍场景,这也是论文自身将泛化能力列为待验证事项的原因。

对 3DGS 生态的意义

这项工作最实际的价值,是找到了一条"不推倒重来"的路径。3DGS 社区积累的渲染器、编辑器、训练脚本都有其工程价值,若为了逆渲染彻底换成体渲染或光追管线,等于另起炉灶。VisibilitySplat 的思路是把遮挡作为可插拔的查询模块,按需调用,稀疏使用。

当然,稀疏查询也意味着遮挡精度是有损的,尤其在几何复杂、相互遮挡密集的场景中,采样密度与最终解耦质量之间存在待权衡的空间。此外,评估目前集中在合成数据集,真实场景下的泛化能力仍需更多验证。

总体来看,这项研究给出的信号是:点式可见性查询可以有效地补充光栅化 splatting,两者并非互斥,而是可以在保持 3DGS 实用优势的前提下,补齐逆渲染所需的物理正确性。

#3D Gaussian Splatting#逆渲染#重光照#可见性建模#光追遮挡#PBR BRDF#材质光照解耦#BVH 光线追踪
分享:

相关推荐