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

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 4D-GS创新性地将3D高斯泼溅扩展至动态场景:摒弃逐帧存储,仅维护一组规范高斯,通过轻量因子分解形变场(6个2D平面+双线性插值)预测时序位移、旋转与缩放,避免显存爆炸;锁定颜色/不透明度以保障物理真实性,兼顾实时渲染与几何一致性。

实时渲染静态 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 把这个任务拆成两个阶段:观察者(编码器)和导演(解码器)。

1、时空结构编码器(观察者)

要形变一个点,得先知道它的上下文:位置在哪,此刻是什么时间,邻居在做什么。

最简单的的做法是把场景塞进一个庞大的 4D 神经体素网格(x、y、z、t),但 O(N⁴) 的显存开销是不现实的。4D-GS 借用了 HexPlane 和 K-Planes 里的一个技巧:分解。

把庞大的 4D 空间拍平成 6 个轻量、多分辨率的 2D 平面:

  • 空间平面:XY、XZ、YZ
  • 时间平面:XT、YT、ZT

网络查询一个连续的 Gaussian 坐标(比如 μ = (1.234, 5.678, 2.0))在时间 t 的值时,这个坐标不会正好落在网格顶点上。编码器用双线性插值找到每个平面上最近的四个网格角点,算出距离加权平均,提取出 6 个特征向量。

这 6 个向量通过逐元素(Hadamard)乘积绑定在一起:

这个稠密向量 f_h 再送进一个很小的 MLP,得到最终压缩后的上下文向量 f_d。

HexPlane 怎么初始化

网络能不能训好很大程度上取决于起点,4D-GS 里六个特征平面的初始化方式其实是很值得研究的。第一次前向传播之前,显式特征网格要先填好数值:空间平面(XY、XZ、YZ)用 [0.1, 0.5] 区间内的均匀随机值初始化,给网络留出学习空间特征的余地;时空平面(XT、YT、ZT)则统一初始化为 1。

时间特征为什么要设成 1?

不同平面的特征通过逐元素相乘组合。如果时间特征是 1,乘上空间特征不会有任何变化:x × 1 = x。

模型一开始的行为就等同于把整个世界当成静止的。这是刻意为之:网络不预设到处都有运动,而是从静态场景出发,只有当损失函数说明必须靠运动才能解释观测数据时,才去修改时空特征。

运动不是模型自带的,得靠优化过程"挣"出来。这样网络只会在真正存在运动的地方学习形变,得到的动态场景表示也更稳定、更符合物理规律。

2、多头解码器(导演)

拿到上下文向量后,多头解码器把 f_d 翻译成具体的物理指令。几个独立的线性头分别预测:

  • 位置偏移:ΔX
  • 旋转偏移:Δr
  • 缩放偏移:Δs

这些值加到规范 Gaussian 上,场景交给可微分光栅化器做实时的、基于图块的 splatting。

不过这里有一个有意思的架构限制:4D-GS 主流程并不预测颜色 ΔC 或不透明度 Δα 的变化。

为什么要卡死这两项?神经网络一旦有机会偷懒就会偷懒。要是能自由改颜色和不透明度,网络完全可以不老老实实把 Gaussian 从 A 点挪到 B 点,而是把 A 点的不透明度调成零、B 点调成一,颜色再一闪,伪造出物体在移动的假象。

这样一来场景的物理几何结构就被破坏了,下游的 3D 跟踪也没法做。锁死颜色和不透明度,逼着网络去学真正的物理形变。(作者也提到,遇到流体或极端非刚性运动这类边缘情况,可以把 ΔC 和 Δα 的预测重新打开。)

损失函数与训练过程

从零训练一个动态场很容易乱套:优化器要同时琢磨清楚基础几何和运动。4D-GS 用两阶段训练来稳住这个过程。

  1. 静态预热:前 3000 次迭代里,形变场完全关闭,模型的行为等同于一个普通 3D-GS,逼着规范 Gaussian 先找到最优的静态几何。
  2. 4D 优化:打开形变场,网络开始预测运动,通过可微分 splatting 渲染图像并计算损失。

目标函数在准确性和平滑性之间做了权衡:

L1 损失约束渲染结果去匹配真实图像 Î;全变分损失 L_tv 直接作用在 HexPlane 网格上,惩罚相邻网格单元间的剧烈跳变,从数学上强制运动保持平滑连续。

反向传播:两条路径

splatting 函数 S 是可微分的,总损失 L 可以通过链式法则一路反传回整个流程。

反向传播时,优化器计算损失相对于所有可学习参数的梯度,这些梯度分成两条路径。

路径 A:更新规范 Gaussian(G)

梯度一路传回基础的规范点云,更新起始位置和属性。dL/dG 更新基础几何,保证规范形状准确。

路径 B:更新形变场(F)

梯度经过加法操作

G' = G + ΔG

流入神经网络,调整网络对运动的预测方式。

所以就需要一套很细的学习率调度,用来保证训练稳定:

解码器权重(θD):dL/dθD 更新多头 MLP 的权重。论文里这部分训练得比较保守,学习率从 1.6 × 10⁻⁴ 衰减到 1.6 × 10⁻⁵。

HexPlane 特征(Rl):dL/dRl 更新六个多分辨率 HexPlane 里存的实际特征值。这些是显式网格参数,不是深度网络权重,学习速度快一些,学习率从 1.6 × 10⁻³ 衰减到 1.6 × 10⁻⁴。

跑完最多 20000 次迭代,规范 Gaussian 逐渐稳定到最优的基础形状,HexPlane 和 MLP 也不断调整参数,直到预测出的形变能准确还原视频里的动态。

多视角与单目:两种不同的现实

动态渲染器的真正考验在于数据输入方式。多视角场景下(比如 Neu3D),15—20 台相机同时拍摄,网络每个时间戳只算一次 4D 形变,但会从 20 个角度分别 splatting、算损失;密集的反馈信息能防止模型为了骗过单一视角而把几何"压扁"。单目场景(比如 D-NeRF)只有一个相机角度,网络得靠 HexPlane 的时间连续性去推断 3D 运动。

在 HyperNeRF 这类相机本身在向前移动的数据集里,形变场容易陷入局部极小值,很难把相机的运动和被拍摄主体的运动区分开。极端快速的运动、又缺乏多视角重叠的场景,对目前的编码器设计来说仍然是个难题。

总结

从静态点云渲染跳到动态渲染,不只是多加一个时间变量那么简单,信息的存储和查询方式得整个重新设计。

  • 用形变取代跟踪:只维护一组规范 Gaussian、预测形变,显存开销取决于运动网络的复杂度,而不是视频长度。
  • 分解是核心:把 4D 空间因子分解成六个 2D 平面,靠双线性插值快速查询特征,绕开了 4D 体素的 O(N⁴) 显存问题。
  • 用约束换真实:不让网络碰颜色和不透明度,逼它去学真正的物理运动,代价是多花点训练技巧,换来的是渲染之外还能做 3D 跟踪。

所以4D-GS 靠合适的因子分解和几个关键约束,显式表示照样能搞定时间维度,而不用牺牲让它一开始就站住脚的实时性能。

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

作者:Prajas Wadekar

目录
相关文章
|
2月前
|
人工智能 自然语言处理 供应链
为什么 MCP 在协议层会有 prompt injection的问题:工具描述如何劫持 agent 上下文
MCP(Model Context Protocol)虽成AI Agent主流集成标准,但其将工具描述全量注入上下文的设计,导致“Context Poisoning”——恶意指令可借工具元数据污染LLM推理。OWASP将其列为LLM应用头号漏洞,2025年已致超10万站点遭袭。根本风险在于协议层信任模型缺失,非清洗不可用。
221 12
为什么 MCP 在协议层会有 prompt injection的问题:工具描述如何劫持 agent 上下文
|
3月前
|
机器学习/深度学习 搜索推荐 算法
拆解推荐系统:候选生成、过滤、排序、多样性的分层设计
推荐系统是端到端流水线,非单一算法:涵盖候选生成、过滤、特征工程、多目标排序、多样性调控与反馈闭环。强调关注点分离,以保障质量、速度与行为可控。动手前须明确定义Item、用户行为及成功指标。
470 12
拆解推荐系统:候选生成、过滤、排序、多样性的分层设计
|
1月前
|
SQL JSON 关系型数据库
企业级多模态分析计算引擎选型:阿里云 AnalyticDB MySQL 统一分析平台方案
阿里云AnalyticDB MySQL版是PB级云原生实时数据仓库,首创多模态统一分析引擎,单SQL原生支持SQL分析、向量检索、全文搜索与JSON分析,替代3–5套独立系统,综合成本降50%+,运维复杂度降80%,适用于AI+数据融合、多源异构统一查询等企业级场景。
216 17
企业级多模态分析计算引擎选型:阿里云 AnalyticDB MySQL 统一分析平台方案
|
1月前
|
存储 人工智能 算法
告别无效刷屏!TrendRadar:最快30秒部署的开源热点助手,让你只看真正关心的新闻
TrendRadar 是一个轻量级、易部署的热点新闻聚合与推送工具。它能够从知乎、抖音、B站、微博、百度、华尔街见闻等11个主流平台抓取热搜榜单,然后根据你设定的关键词进行智能筛选,最终将你最关心的内容推送到手机或邮箱。
448 13
 告别无效刷屏!TrendRadar:最快30秒部署的开源热点助手,让你只看真正关心的新闻
|
Go API 数据库
milvus的db和collection信息查询
milvus的db和collection信息查询
1783 0
|
6天前
|
存储 网络协议 网络安全
阿里云国际站代理:香港服务器和大陆服务器究竟有什么区别?
本文直击阿里云国际站香港与大陆服务器核心差异:免备案、CN2低延迟(5–25ms)vs 强制ICP备案、国内<10ms但跨境受限;剖析合规、性能、成本与数据主权,助企业避开选型坑点。(239字)
120 4
|
21天前
|
存储 PyTorch 算法框架/工具
百亿参数模型的并行训练:节点内张量并行、节点间数据并行
训练百亿参数模型,显存瓶颈远超算力限制:100B模型仅权重(bfloat16)就需200GB,叠加梯度、优化器状态与激活值,总内存需求达800GB–1.2TB。单纯堆GPU无效,关键在于科学切分——张量并行降单卡参数、流水线并行减层内存、数据并行扩样本,混合策略才是破局核心。
107 1
百亿参数模型的并行训练:节点内张量并行、节点间数据并行
|
8天前
|
域名解析 缓存 网络协议
网站搭建网络配置-深入理解 DNS 解析与 CNAME 别名记录
在企业级网站搭建与网络基础设施建设中,**域名系统(DNS,Domain Name System)** 是连接用户和网站源站服务器之间最核心的“数字纽带”。 通俗地说,计算机在网络世界中只能通过复杂的 IP 地址(如 `192.168.1.1`)来互相识别和通信。然而,对于普通访客和搜索引擎爬虫来说,记忆 IP 地址是几乎不可能的,人们更习惯于输入简单、易记的域名(如 `www.qxgro.com`)。DNS 的核心使命,就是充当网络世界的“电话本”,近乎瞬时地将人类可读的域名解析为计算机可识别的二进制 IP 地址。
|
6月前
|
存储 人工智能 安全
一文详解Kimi的AI Agent如何跑在阿里云上
Kimi携手阿里云,基于ACK与ACS Agent Sandbox构建端到端Agent基础设施:实现秒级沙箱启动、万级并发弹性调度、会话级状态保持及强安全隔离,支撑“深度研究”“OK Computer”等智能体产品稳定高效运行。(239字)
1275 1
一文详解Kimi的AI Agent如何跑在阿里云上
|
14天前
|
缓存 编解码 测试技术
注意力架构变迁总结:稀疏、线性、SSM、混合架构如何摆脱 O(L²) 的代价
自注意力是Transformer的基石,却因O(L²)计算瓶颈制约长上下文。业界正通过稀疏注意力(如NSA、DSA)、线性注意力(如Lightning Attention)、状态空间模型(Mamba)及混合架构四大路径破局,在保持性能的同时大幅降本提速。
153 1