跳转至

Mobile-GS: Real-time Gaussian Splatting for Mobile Devices

会议: ICLR 2026
OpenReview: https://openreview.net/forum?id=vRegY0pgvQ
代码: https://xiaobiaodu.github.io/mobile-gs-project/
领域: 3D 视觉 / 神经渲染
关键词: 3D Gaussian Splatting, 实时渲染, 移动端部署, 免排序渲染, 模型压缩

一句话总结

Mobile-GS 通过"深度感知的免排序渲染 + 神经视角增强 + 一阶 SH 蒸馏 + 神经向量量化 + 贡献度剪枝"五件套,把 3DGS 压到 4.6 MB 并在桌面端跑到 1100+ FPS,首次在骁龙 8 Gen 3 手机上实现 116 FPS 的实时高斯泼溅渲染。

研究背景与动机

领域现状:3D Gaussian Splatting(3DGS)凭借连续可微的各向异性高斯基元,在高质量新视角合成上已成主流,并被广泛用于自动驾驶、重光照等应用。学界也有 Scaffold-GS、Mini-Splatting、C3DGS 等一批轻量化变体,通过剪枝和紧凑表示提效。

现有痛点:这些方法几乎都沿用传统 alpha blending,渲染前必须把高斯按"由近到远"深度排序。本文通过运行时剖析(Fig. 2)发现:排序才是真正的性能瓶颈——在 Counter/Bicycle 等场景中,去掉排序后 3DGS 帧率从 134/145 FPS 飙升到 857/871 FPS,几倍加速。排序不仅耗时,还引入实现复杂度与 popping 伪影。

核心矛盾:移动 GPU 的算力难以承担成千上万高斯(尤其带视角相关效应)的排序+渲染,而排序又是保证 alpha blending 正确性的前提,去掉它就会破坏前后遮挡关系、产生透明度伪影。如何"既去掉排序换取速度,又不牺牲画质"是核心张力。

本文目标:打造一套面向移动端的实时高斯泼溅方案,同时满足三个关键因素——免排序渲染、量化压缩、减少高斯点数。

核心 idea[免排序] 用一个可学习、视角相关的深度感知加权方案替代排序式 alpha blending,让所有高斯的颜色贡献能交换次序、并行累加;再用 [神经补偿] 一个轻量 MLP 预测视角相关的不透明度,把免排序带来的画质损失补回来;最后叠加 [极致压缩] 蒸馏+量化+剪枝三连,把模型压到几 MB。

方法详解

整体框架

Mobile-GS 在推理阶段彻底抛弃 3DGS 的 tile-based 渲染与排序:先并行计算每个高斯对相关像素的颜色并累加,再单遍合成前景/背景。训练侧叠加蒸馏、量化、剪枝三套压缩术。整体可拆成"渲染路径改造"与"存储压缩"两条主线。

flowchart TD
    A[3D 高斯基元] --> B[深度感知免排序渲染<br/>并行加权累加 替代排序 alpha blending]
    B --> C[神经视角增强 MLP<br/>预测视角相关 φ 与不透明度 o]
    C --> D[渲染图像 C]
    A --> E[一阶 SH 蒸馏<br/>teacher Mini-Splatting 指导]
    E --> F[神经向量量化 NVQ<br/>K-means 分簇 + 多码本 + Huffman]
    F --> G[贡献度剪枝<br/>低 opacity & 低 scale 投票淘汰]
    G --> A

关键设计

1. 深度感知免排序渲染:把排序换成可学习的深度加权,让贡献可交换次序。 传统 alpha blending 写作 \(C=\sum_i c_i\alpha_i T_i\),其中透射率 \(T_i\) 依赖前面高斯的累乘,因此必须排序。Mobile-GS 改成 \(C=(1-T)\frac{\sum_i c_i\alpha_i w_i}{\sum_i \alpha_i w_i}+Tc_{bg}\),分子分母都是求和,加法可交换,于是渲染顺序无关。其中 \(T=\prod_j(1-\alpha_j)\) 是全局透射率用来区分前景与背景,\(\alpha_i=o_i\exp(-\frac12\Delta x_i^T\Sigma_i^{-1}\Delta x_i)\) 是常规高斯 alpha。核心是深度感知权重 \(w_i=\phi_i^2+\frac{\phi_i}{d_i^2}+\exp(\frac{s_{max}}{d_i})\):用逆深度 \(d_i\) 压低远处高斯贡献、抬升近处高斯,并让尺度 \(s_{max}\) 更大的高斯权重更高。这样既无需排序、可并行累加,又能保留远处高斯信息,不像硬截断那样丢信息。

2. 神经视角增强:用一个轻量 MLP 补偿免排序丢失的遮挡线索。 免排序的代价是缺乏严格深度合成,重叠/遮挡区域会出现不该有的透明效果。作者设计一个 MLP 把每个高斯的几何与外观特征——相机到高斯的归一化方向向量 \(P_i=\frac{\mu_i-t_v}{\lVert\mu_i-t_v\rVert}\)、尺度 \(s_i\)、旋转 \(r_i\in SO(3)\)、球谐系数 \(Y_i\)——编码成视角相关特征,再分头预测:\(F=\text{MLP}_f(P_i,s_i,r_i,Y_i)\)\(\phi_i=\text{ReLU}(\text{MLP}_\phi(F))\)\(o_i=\sigma(\text{MLP}_o(F))\)。这里 \(\phi\) 充当深度衰减因子动态调节高斯影响,视角相关不透明度 \(o_i\) 则作为校正项动态压制被遮挡区域的透明度,从而把免排序导致的透明伪影补回来。Fig. 4 显示该机制让不透明度分布更集中,冗余高斯被抑制。

3. 一阶 SH 蒸馏:把三阶球谐压成一阶,并用尺度不变深度损失迁移几何。 原始 3DGS 用三阶 SH(3×16 系数)表示外观,参数量大、存储重。受 LightGaussian 启发,作者更激进地蒸馏到一阶 SH(3×4 系数),用预训练 teacher(Mini-Splatting)的渲染像素监督学生:\(L_{distill}=\frac1{|P|}\sum_{p\in P}\lVert C_p^{tea}-C_p\rVert\)。同时引入尺度不变深度蒸馏损失 \(L_{depth}(D,D^{tea})=\frac1{|P|}\sum_p(\log\hat D_p-\log\hat D_p^{tea})^2-\frac1{|P|^2}(\sum_p(\log\hat D_p-\log\hat D_p^{tea}))^2\)。之所以不用严格的 L1/L2,是因为 teacher 深度不总可靠、师生深度本就有偏差,尺度不变形式更鲁棒。

4. 神经向量量化 + 贡献度剪枝:用多码本量化与投票剪枝把模型压到 MB 级。 量化上采用子向量分解策略:把属性向量 \(z\in\mathbb R^{KL}\) 经 K-Means 切成 \(K\) 个长度 \(L\) 的簇,每簇用独立码本 \(C_k\in\mathbb R^{B\times L}\) 量化,相比单码本既减小码本内存、又缓解码字冲突;训练末尾再用 Huffman 编码压缩比特流。SH 特征 \(Y\) 进一步分解为漫反射分量 \(h_d\) 与视角相关分量 \(h_v\),用两个 16-bit MLP 在推理时即时解码 \(f_d=\text{MLP}_d(h_d,h_v),f_v=\text{MLP}_v(h_d,h_v)\),免去逐高斯存高维 SH。剪枝侧则联合 opacity 与 scale:每轮选出 \(C_{opacity}^{(t)}=\{g\mid o_g<Q_\tau(o)\}\)\(C_{scale}^{(t)}=\{g\mid s_{max}(g)<Q_\tau(s_{max})\}\) 的交集作为候选,但不立即删,而是累加投票 \(V_g^{(t+1)}=V_g^{(t)}+\mathbb1[g\in C_{prune}^{(t)}]\),只有在每个剪枝区间内持续低贡献(票数超阈值)才永久剔除,避免训练早期 opacity/scale 抖动误删。

实验关键数据

主实验表格

在 Mip-NeRF360 / Tanks&Temples / Deep Blending 三个数据集上与 SOTA 对比(FPS 在 RTX 3090 上测):

方法 Mip360 PSNR↑ Mip360 存储↓ Mip360 FPS↑ T&T PSNR↑ T&T 存储↓ T&T FPS↑ DB PSNR↑ DB 存储↓ DB FPS↑
3DGS 27.21 839.9 MB 174 23.14 371.5 MB 236 29.41 697.3 MB 214
LightGaussian 27.08 60.4 MB 227 22.61 29.9 MB 392 28.74 48.2 MB 271
SortFreeGS 27.02 851.4 MB 731 22.81 471.5 MB 848 28.69 724.2 MB 793
Speedy-Splat 26.92 79.4 MB 401 23.08 62.4 MB 527 29.11 71.2 MB 463
C3DGS 27.03 30.6 MB 184 23.32 21.8 MB 174 29.73 24.7 MB 189
LocoGS-S 27.02 8.5 MB 292 23.23 6.8 MB 325 29.76 7.8 MB 322
Mobile-GS 27.12 4.6 MB 1125 23.09 2.5 MB 1179 29.93 4.6 MB 1132

Mobile-GS 在画质几乎追平/超越 3DGS 的同时,存储压到 2.5–4.6 MB(比 3DGS 小约 150–180 倍),FPS 高达 1100+,全面碾压其他轻量方法。

移动端(骁龙 8 Gen 3)实测对比(Table 2):

方法 PSNR↑ FPS*↑ 存储↓ 训练↓
3DGS* 27.01 8 61.8 MB 0.5 h
Mini-Splatting* 27.02 12 36.9 MB 0.4 h
Speedy-Splat 26.92 19 79.5 MB 0.4 h
LocoGS-S 27.02 17 8.5 MB 0.8 h
SortFreeGS* 26.74 24 64.3 MB 1.3 h
Mobile-GS 27.12 127 4.6 MB 1.5 h

手机端 127 FPS,是次优 SortFreeGS(24 FPS)的 5 倍多,代价仅是更长的训练时间(1.5 h)。

消融实验表格

Mip-NeRF360 上各组件消融(FPS 在 RTX 3090 上):

变体 PSNR↑ FPS↑ 存储↓
Mobile-GS(完整) 27.12 1125 4.6 MB
w/o 免排序(用原 alpha blending) 27.26 684 4.5 MB
w/o 视角增强 26.68 1227 4.4 MB
w/o 神经量化 27.33 841 121 MB
w/ 0 阶 SH 蒸馏 27.04 1219 3.6 MB
w/ 2 阶 SH 蒸馏 27.13 917 7.3 MB
w/ 3 阶 SH 27.15 841 9.6 MB
w/o Eq.3 深度项 27.03 1167 4.5 MB
w/o Eq.3 尺度项 27.08 1171 4.5 MB

关键发现

  • 免排序是速度命门:去掉后 PSNR 微涨(27.26)但 FPS 从 1125 暴跌到 684,证明排序确实是吞吐瓶颈。
  • 视角增强是画质命门:去掉后 PSNR 从 27.12 跌到 26.68,掉点最严重,说明它有效缓解了免排序的遮挡透明伪影。
  • 量化是存储命门:去掉后存储从 4.6 MB 暴涨到 121 MB(约 26 倍),证明 NVQ 对移动部署不可或缺。
  • 一阶 SH 是甜点:一阶在画质/速度/存储间最平衡,二阶/三阶画质几乎不涨却拖慢速度、增大存储。

亮点与洞察

  • 重新定位瓶颈:本文最关键的洞察是用运行时剖析坐实"排序而非渲染本身"才是移动端实时化的拦路虎,把优化重心从"减少高斯"转向"消灭排序",思路清晰且有数据支撑。
  • "破坏-补偿"范式优雅:免排序破坏了遮挡关系(速度↑画质↓),再用一个轻量神经视角增强把画质补回来,消融数据完整闭环验证了这对取舍的合理性。
  • 工程落地扎实:自研 CUDA Kernel + Vulkan 2.0 部署,真机骁龙 8 Gen 3 上 116/127 FPS,不是只在桌面 GPU 上自嗨,"Mobile"名副其实。
  • 压缩组合拳:蒸馏+多码本量化+Huffman+投票剪枝四管齐下,把模型压到与 LocoGS-S 同量级(甚至更小),同时 FPS 高出 3 倍以上。

局限与展望

  • 训练成本偏高:1.5 h 训练时间明显高于多数对比方法(0.4–0.8 h),多视角训练 + 35k 后启动量化 + 60k 迭代叠加所致,对快速建模场景不友好。
  • 依赖 teacher 模型:一阶 SH 蒸馏与深度蒸馏都需要预训练 Mini-Splatting 作 teacher,多了一道前置流程,且学生画质上限受 teacher 约束。
  • 免排序近似的边界:深度加权是对真实遮挡的近似,在极复杂的高频遮挡/半透明叠加场景下,单靠神经补偿能否完全消除伪影仍待更极端场景检验。
  • 未涉及动态场景:方法面向静态场景重建,向动态/4D 高斯、流式重建的扩展尚未探索。

相关工作与启发

  • 3DGS 与轻量化:Scaffold-GS、Mini-Splatting、C3DGS、LocoGS-S 等在剪枝/紧凑表示上发力,但都未触及排序瓶颈,本文与它们正交且可借鉴其压缩思路。
  • 免排序透明度(OIT):从图形学的 depth peeling、A-buffer、k-buffer、stochastic transparency 到近期 SortFreeGS、3DGS 免排序工作,本文 Eq.2 的交换律式累加正是 OIT 思想在高斯泼溅上的落地,并加上深度感知权重与神经补偿。
  • 蒸馏与量化:一阶 SH 蒸馏延续 LightGaussian 的 SH 降阶思路并推到更激进的一阶;NVQ 的子向量多码本量化借鉴向量量化压缩谱系,对任何需要压缩逐基元属性的神经表示都有参考价值。
  • 启发:当一个 pipeline 的瓶颈是某个"为正确性而存在"的强约束(如排序)时,可考虑"放松约束换吞吐 + 神经网络补偿正确性损失"的范式,再叠加压缩组合拳实现端侧部署。

评分

  • 新颖性: ⭐⭐⭐⭐ —— 免排序+深度加权+神经补偿的组合在高斯泼溅移动端落地上较新颖,虽 OIT/蒸馏/量化均有前作,但系统性整合并坐实排序瓶颈有价值。
  • 实验充分度: ⭐⭐⭐⭐ —— 三大数据集 + 真机骁龙 8 Gen 3 部署 + 完整组件消融,证据链扎实;若能补更多移动机型与动态场景更佳。
  • 写作质量: ⭐⭐⭐⭐ —— 动机-瓶颈-方法-验证逻辑清晰,图表(瓶颈剖析/pipeline/运行时分析)支撑到位,公式表述规范。
  • 价值: ⭐⭐⭐⭐ —— 首个手机端 100+ FPS 的实时 3DGS,对 AR/移动端神经渲染落地有直接工程意义。