4D Gaussian Splatting 是怎么工作的:从规范 Gaussian 到形变场的原理拆解

实时渲染静态 3D 场景是很麻烦的,因为现实世界并不是静止的:人在移动,液体在流动,物体在变形。把 3D-GS 扩展到动态场景(4D)听起来只需要一步,随时间跟踪每个点,但是实际操作起来却很麻烦,因为显存瓶颈非常棘手。

4D Gaussian Splatting(4D-GS)的架构的方法相当巧妙,所以本文记录一下 4D-GS 如何用一个因子分解的形变场取代暴力跟踪,从而绕开动态渲染的显存爆炸问题。

显存瓶颈:原始跟踪方式为何行不通

要理解 4D-GS 的精妙之处,得先弄清楚它要解决的问题。

传统动态 NeRF 把一个 8 维输入空间(x、d、t、λ)映射到颜色和密度,λ 是用来处理表面分裂或合并等拓扑变化的潜在编码。这套方案效果不错但 NeRF 的隐式表示天然限制了渲染速度。

3D Gaussian Splatting 把场景显式表示为数百万个类点的 Gaussian,靠光栅化快速渲染,解决了速度问题。但如果为每一帧都存一份每个 Gaussian 的位置、旋转和缩放(1 亿个 Gaussian × 100 帧),显存需求会线性爆炸。

4D-GS 的做法是彻底放弃逐帧存储 Gaussian,只维护一组规范(canonical)3D Gaussian,再用一个轻量神经网络作为形变场,计算这组基础 Gaussian 在任意时间戳下应该如何位移、拉伸、旋转。

渲染方程由此简化为:

G' = G + ΔG

形变后的场景 G' 等于静态基线 G 加上神经网络预测的变化量 ΔG。

拆解形变场

如何在不引发显存爆炸的前提下算出 ΔG?4D-GS 把这个任务拆成两个阶段:观察者(编码器)和导演(解码器)。

 

https://avoid.overfit.cn/post/683075ee5f55470999e2033fa04ace6f

posted @ 2026-07-08 21:09  deephub  阅读(5)  评论(0)    收藏  举报