Mobile-GS:面向移动端设备的实时高斯泼溅渲染 Mobile-GS: Real-time Gaussian Splatting for Mobile Devices
首个在手机端实现实时渲染的3D高斯泼溅方法,融合无排序渲染、SH蒸馏、神经矢量量化与贡献剪枝。
前置知识
3D Gaussian Splatting (3DGS)
由Kerbl等人于2023年提出的一种新视角合成方法,使用各向异性的3D高斯椭球作为基本渲染基元。每个高斯由均值位置 $\mu_i \in \mathbb{R}^3$、协方差矩阵 $\Sigma_i \in \mathbb{R}^{3\times 3}$、不透明度 $o_i$ 与球谐系数 $Y_i$ 共同参数化。渲染时通过可微的光栅化器将高斯投影到屏幕空间,并按近到远顺序做 alpha 合成 $\alpha_i = o_i \exp(-\tfrac{1}{2}\Delta x_i^T \Sigma_i^{-1}\Delta x_i)$,用累积透射率 $T_i = \prod_{j=1}^{i-1}(1-\alpha_j)$ 计算像素颜色 $C = \sum c_i \alpha_i T_i$。
Mobile-GS 直接建立在 3DGS 之上,需要理解其原始 alpha 合成范式才能体会为什么"排序"会成为瓶颈,以及本文为何要重新设计合成公式。
Alpha 合成与深度排序
在 alpha 合成公式中,$T_i = \prod_{j=1}^{i-1}(1-\alpha_j)$ 的累乘依赖严格的近到远排序。一旦顺序错误,远端高斯会错误地遮挡近端,颜色累积就会出错。因此 3DGS 的 tile-based 光栅器在每一帧必须先做一次高斯深度排序,才能正确合成像素颜色。该排序采用 GPU radix sort,是推理阶段的主要开销来源。
本文最核心的改动正是"取消排序",所有后续压缩和增强手段都建立在这个新合成范式之上;没有这个背景就难以理解本文的贡献点。
球谐函数 (Spherical Harmonics, SH)
球谐函数是一组定义在球面上的正交基函数,用于表示方向相关的辐射场。在 3DGS 中,$k$ 阶球谐有 $3 \times (k+1)^2$ 个颜色系数——0 阶为 RGB 直流分量(3 个系数),1 阶为 4 个分量共 12 个系数,3 阶为 16 个分量共 48 个系数。高阶 SH 可建模高光、镜面反射等复杂视角相关效应,但存储和计算开销也急剧增长。
本文的 SH 蒸馏步骤把 3 阶 SH(48 个系数)压缩到 1 阶(12 个系数),并以预训练教师模型做监督;理解阶数与系数量的关系是看懂压缩策略的前提。
Order-Independent Transparency (OIT)
计算机图形学中长期研究的问题:在不依赖深度排序的前提下实现半透明物体的正确合成。经典方法包括 depth peeling(多层深度剥离)、k-buffer(仅保留前 k 层)、stochastic transparency(按概率随机采样)等。本文借鉴 OIT 思想,将 alpha 合成公式改写为加法可交换的求和形式,从而彻底摆脱排序步骤。
Mobile-GS 的核心公式 $C = (1-T) \sum c_i \alpha_i w_i / \sum \alpha_i w_i + T c_{bg}$ 正是 OIT 思想在 3DGS 中的具体化,与 OIT 传统工作形成方法论上的传承。
矢量量化 (Vector Quantization, VQ)
将连续的高维向量映射到一组离散的"码本"上,用码本索引代替原始数值,从而实现压缩。VQ-VAE、k-means 量化都属于此类。Mobile-GS 用 K-means 把高斯属性分成 K 个子向量聚类,每类用独立的小码本($2^{10}=1024$ 个码字)量化,最后用 Huffman 编码进一步压缩比特流。
码本大小直接决定压缩比与重建质量,本文做了完整的码本大小消融实验(Table 7),是理解神经矢量量化模块超参选择的关键。
研究动机
3D Gaussian Splatting 虽然能以高斯椭球作为基元实现实时高质量新视角合成,但部署到手机端存在三大障碍。第一是渲染开销过大,原始 3DGS 在 Mip-NeRF 360 数据集上每个场景需要存储约 839.9 MB 数据,单帧渲染需处理数十万高斯;第二是排序瓶颈,alpha 合成公式 $C = \sum c_i \alpha_i T_i$ 依赖严格的近到远排序,排序步骤在推理阶段占用近一半渲染时间(Fig. 2 显示 Bicycle 场景排序占 4.9 ms,光栅化仅 5 ms);第三是内存带宽压力,移动端 GPU 的显存带宽远低于桌面端 3DGS 把 48 个 SH 系数和高精度浮点参数全部保留,存储成本高昂。这些问题叠加导致即便是最近的轻量化工作(如 Speedy-Splat、SortFreeGS、LocoGS-S),在 Snapdragon 8 Gen 3 上也只能跑出 8–24 FPS,无法满足实时交互需求。
本文的目标是作者的目标是构建一个端到端的移动端实时高斯泼溅管线 Mobile-GS,设定三个硬性指标:(1) 在 Snapdragon 8 Gen 3 移动 GPU 上实现 ≥ 100 FPS 的实时渲染速度;(2) 将单场景存储压缩到 5 MB 以内,使其能装入移动设备的内存预算(移动端典型 DRAM 限制在 8–12 GB,而原始 3DGS 单场景就需 840 MB);(3) 在大幅压缩的同时,PSNR 等画质指标不显著低于原始 3DGS(容忍 0.1 dB 以内的差距),并尽量保留视角相关效应的建模能力。这三个指标相互制约——单纯压缩会掉画质、单纯加速会爆显存,作者希望找到帕累托最优解,让 Mobile-GS 真正具备'装进手机、用在 AR'的实用价值。
与已有工作不同的是,现有"无排序"工作如 SortFreeGS 和 GES 已经意识到排序瓶颈,但只在桌面 GPU 上验证,仍保留较多 SH 参数且未做完整压缩,移动端部署时帧率仅 18–24 FPS;现有"压缩"工作如 LightGaussian、C3DGS、LocoGS-S 关注存储但没解决排序问题,桌面端帧率多在 200–500 FPS 区间,无法突破移动 GPU 的算力瓶颈。Mobile-GS 的独特定位是"渲染机制重设计 + 完整压缩管线 + 视角效应补偿"三位一体:用 OIT 思想重写合成公式从根上消除排序、用一阶 SH 蒸馏 + 神经矢量量化 + 贡献剪枝实现极致压缩、再用轻量 MLP 预测的视角相关不透明度来弥补无序合成带来的透明伪影。这种将渲染范式、压缩管线和视觉补偿作为一个整体协同优化的切入角度,与之前任何单一方向的轻量化工作都不同。
核心方法
Mobile-GS 的整体设计哲学是"用渲染公式的改动换效率,再用神经模块换质量"。传统 3DGS 的渲染管线是:投影→深度排序→按序 alpha 合成,作者把它改为:投影→并行逐高斯计算颜色贡献→按公式 (2) 求和,无需排序;为了让无序合成依然好看,再用一个小 MLP 预测每个高斯的视角相关不透明度和衰减权重 $\phi_i$;最后用一阶 SH 蒸馏 + 子向量 K-means 量化 + Huffman 编码 + 基于不透明度和尺度的剪枝,把模型从 ~840 MB 压到 4.6 MB。整条管线包含四大核心模块:(1) 深度感知无序渲染 (Depth-aware Order-Independent Rendering);(2) 神经视角相关增强 (Neural View-dependent Enhancement);(3) 球谐蒸馏与神经矢量量化 (Distillation and Quantization);(4) 基于贡献度的剪枝 (Contribution-based Pruning)。
与已有方法的本质区别在于三点。**第一**,抛弃排序的思路不同于 SortFreeGS 的可交换加权和 GES 的两阶段深度过滤——本文直接引入显式的全局透射率项 $(1-T) + T c_{bg}$,把前景高斯和背景色在一个 pass 内分开合成,并用 $\phi_i$ 这一可学习参数调节远端高斯权重,物理意义更清晰。**第二**,无序合成的视觉退化由 MLP 显式补偿而非靠额外 SH 系数隐式补偿——SortFreeGS 用更多 SH 编码视角不透明度,本文用一个三层 MLP(256-128-64)从高斯的尺度、旋转、SH 系数和相机-高斯向量直接预测不透明度和衰减因子 $\phi_i$,参数量小且效果更好。**第三**,压缩管线是"端到端协同设计"——1 阶 SH 蒸馏、属性子向量 K-means + Huffman、贡献剪枝三层叠加,最终把模型压到 4.6 MB,相比原始 3DGS 减少 180 倍,压缩比与画质比任何单层方案都更优。
方法步骤详情
Mobile-GS 的完整方法分四步。**步骤一(无序渲染公式推导)**:从 3DGS 的 $C = \sum c_i \alpha_i T_i$ 出发,把排序依赖的累乘 $T_i$ 拆成全局透射率 $T = \prod_{j=1}^{N}(1-\alpha_j)$ 和一项无序加权和,得到 $C = (1-T) \frac{\sum c_i \alpha_i w_i}{\sum \alpha_i w_i} + T c_{bg}$(公式 2)。其中权重 $w_i = \frac{\phi_i}{d_i^2} + \frac{\phi_i}{d_i} + \exp(s_{\max}/d_i)$(公式 3),显式地把远端高斯的贡献按深度倒数衰减,并按尺度放大重要高斯的贡献。**步骤二(神经视角增强)**:把视角方向归一化为相机-高斯向量 $P_i = \frac{\mu_i - t_v}{\lVert \mu_i - t_v \rVert}$,与高斯的尺度 $s_i$、旋转 $r_i$、SH 系数 $Y_i$ 拼接后送入 $MLP_f$,输出特征 $F$;再分别用 $MLP_\phi(F)$ 经 ReLU 得到 $\phi_i$,$MLP_o(F)$ 经 Sigmoid 得到 $o_i$(公式 4),$\phi_i$ 用作深度衰减因子、$o_i$ 用作视角相关不透明度补偿。**步骤三(SH 蒸馏与神经矢量量化)**:以 Mini-Splatting 为教师模型,用 $L_{distill} = \frac{1}{|P|}\sum_{p\in P}\lVert C^{tea}_p - C_p \rVert$ 把学生模型(1 阶 SH,即 3×4 系数)的渲染图逼近教师模型,同时引入尺度不变深度蒸馏 $L_{depth}(D, D^{tea}) = \frac{1}{|P|^2}(\sum\log\hat{D}_p - \log\hat{D}^{tea}_p)^2$(公式 5);高斯属性向量 $z \in \mathbb{R}^{KL}$ 经 K-means 切成 $K$ 个子向量,每子向量用 $2^{10}$ 大小的码本量化,最后 Huffman 编码压缩比特流;SH 特征再分解为漫反射 $h_d$ 和视角相关 $h_v$ 两部分,分别用两个单隐层(64 神经元)的轻量 MLP 重建为 $f_d = MLP_d(h_d, h_v)$、$f_v = MLP_v(h_d, h_v)$(公式 6)。**步骤四(贡献剪枝)**:每隔 $I_{prune}=1000$ 步计算所有高斯的不透明度分位数阈值 $Q_\tau(o)$ 和最大尺度分位数阈值 $Q_\tau(s_{\max})$,把同时低于两个阈值的高斯加入候选集 $C_{prune}$(公式 7);对候选高斯累积投票票数 $V_g^{(t+1)} = V_g^{(t)} + 1[g \in C_{prune}^{(t)}]$,累计票数超过 $I_{prune} \cdot v = 600$ 的高斯永久删除(公式 8),仅在训练前 25k 步执行以保护后期细节。**步骤五(移动端部署)**:训练在 RTX 3090 上完成 60k 次迭代,使用自定义 CUDA kernel 实现无序渲染,并在第 35k 步启动神经矢量量化;推理阶段用 Vulkan 2.0 重写管线,部署到 Snapdragon 8 Gen 3 上。
技术新颖性
技术新颖性体现在三个层面。**渲染机制层面**,公式 (2) 是首个把全局透射率 $T$ 与逐高斯权重 $w_i$ 解耦、且明确建模"远端衰减 + 大尺度增强"的 3DGS 无序渲染公式,物理直觉清晰(远的小高斯贡献小、近的大高斯贡献大),且加法可交换天然适合 GPU 并行;权重公式 (3) 中 $\phi_i$ 是从 MLP 预测的视角相关标量,比 SortFreeGS 用固定参数 $\sigma_i$、$\beta_i$ 灵活得多。**神经增强层面**,相机-高斯向量 $P_i$ 与高斯属性 $(s_i, r_i, Y_i)$ 联合编码的 MLP 设计,让无序渲染的透明伪影能够被显式抑制,消融实验显示去掉这一模块 PSNR 直接从 27.12 跌到 26.68(-0.44 dB),是降幅最大的模块之一。**压缩协同层面**,1 阶 SH 蒸馏(vs LightGaussian 的 2 阶蒸馏)、子向量 K-means 量化(vs 整向量量化)、贡献剪枝(vs 仅按不透明度剪枝)三层叠加的方案没有前例,特别是子向量量化的码本大小 $2^{10}$ 在 PSNR(27.12 vs 2^6 的 25.52)与存储(4.6 MB vs 2^12 的 7.9 MB)之间提供了帕累托最优。
实验结果
**核心实验一:桌面端 RTX 3090 Ti 综合对比**(Table 1)。在 Mip-NeRF 360 数据集上,Mobile-GS 取得 PSNR 27.12(vs 3DGS 27.21,差距 -0.09 dB)、SSIM 0.807(vs 0.815)、LPIPS 0.235(vs 0.214),存储仅 4.6 MB(vs 839.9 MB,约 183× 压缩),FPS 高达 1125(vs 174,约 6.5× 加速)。在 Tanks & Temples 上 PSNR 23.09、存储 2.5 MB、FPS 1179;在 Deep Blending 上 PSNR 29.93(甚至略高于 3DGS 的 29.41)、存储 4.6 MB、FPS 1132。横向对比轻量化方法,Mobile-GS 在三个数据集上的存储都是最低(LocoGS-S 为 8.5/6.8/7.8 MB,Mobile-GS 全部压缩到 4.6 MB 以内),FPS 是次优 LocoGS-S(292/325/322)的约 3.5–4×。**核心实验二:移动端 Snapdragon 8 Gen 3 部署**(Table 2)。Mobile-GS 在手机上达到 127 FPS(PSNR 27.12,存储 4.6 MB),是次优 SortFreeGS* 的 24 FPS 的 5.3×,是 3DGS* 的 8 FPS 的 15.9×;训练时长 1.5 h 比 SortFreeGS* 的 1.3 h 略长,但推理速度的提升远超训练成本。**核心实验三:排序瓶颈验证**(Fig. 2)。原始 3DGS 在 Bicycle/Garden/Counter 等场景的预处理+排序+光栅化耗时中,排序占 3.1–4.9 ms,去掉排序后整体速度提升数倍,证明排序确实是推理瓶颈。**核心实验四:消融研究**(Table 3)。(a) 去掉无序渲染改回 alpha 合成,FPS 从 1125 降到 684(-39%),PSNR 略升至 27.26(+0.14);(b) 去掉神经视角增强,PSNR 从 27.12 降到 26.68(-0.44 dB),FPS 反而上升到 1227;(c) 去掉神经矢量量化,存储从 4.6 MB 暴涨到 121 MB(约 26×),FPS 降到 841;(d) SH 蒸馏从 1 阶改成 0 阶、2 阶、3 阶,PSNR 分别为 27.04/27.13/27.15,存储 3.6/7.3/9.6 MB,1 阶在画质-存储上最平衡;(e) 权重公式 (3) 中去掉深度项或尺度项,PSNR 各掉 0.04 和 0.09 dB;(f) 剪枝阈值从 0.1 调到 0.6,高斯数从 0.55M 降到 0.18M,PSNR 从 27.15 降到 25.85,0.2 为最优平衡点。**核心实验五:功耗与稳态**(Table 12-13)。Mobile-GS 在手机上功耗仅 0.83 W(预处理 0.17 W + MLP 0.24 W + 光栅化 0.42 W),相比 3DGS* 的 5.89 W 降低约 7×;冷启动 127 FPS、热稳态 74 FPS,仍然远高于 SortFreeGS* 的 24/18 FPS。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Mip-NeRF 360 新视角合成 | PSNR↑ / SSIM↑ / LPIPS↓ / Storage↓ / FPS↑ | 27.12 / 0.807 / 0.235 / 4.6 MB / 1125 | 3DGS: 27.21/0.815/0.214/839.9 MB/174;LocoGS-S: 27.02/0.805/0.241/8.5 MB/292;SortFreeGS: 27.02/0.775/0.267/851.4 MB/731 | 相比原始 3DGS:存储压缩 183×,FPS 提升 6.5×,PSNR 仅 -0.09 dB;相比当前最佳轻量化 LocoGS-S:存储额外压缩 45%,FPS 提升 3.85× |
| Tanks & Temples 新视角合成 | PSNR↑ / SSIM↑ / LPIPS↓ / Storage↓ / FPS↑ | 23.09 / 0.831 / 0.208 / 2.5 MB / 1179 | 3DGS: 23.14/0.841/0.183/371.5 MB/236;C3DGS: 23.32/0.831/0.202/21.8 MB/174;LocoGS-S: 23.23/0.837/0.204/6.8 MB/325 | 存储从 371.5 MB 压到 2.5 MB(148×),FPS 从 236 提升到 1179(5×),PSNR 仅 -0.05 dB,是三个数据集中压缩比最高的 |
| Deep Blending 新视角合成 | PSNR↑ / SSIM↑ / LPIPS↓ / Storage↓ / FPS↑ | 29.93 / 0.906 / 0.243 / 4.6 MB / 1132 | 3DGS: 29.41/0.903/0.243/697.3 MB/214;LocoGS-S: 29.76/0.903/0.251/7.8 MB/322;Speedy-Splat: 29.11/0.864/0.309/71.2 MB/463 | PSNR 29.93 甚至超过原始 3DGS 的 29.41(+0.52 dB),存储压缩 151×,FPS 提升 5.3×;这是唯一一个 Mobile-GS 在画质上明显优于原始 3DGS 的数据集 |
| 移动端 Snapdragon 8 Gen 3 推理 | PSNR↑ / FPS↑ / Storage↓ / Training↓ | 27.12 / 127 / 4.6 MB / 1.5 h | 3DGS*: 27.01/8/61.8 MB/0.5 h;SortFreeGS*: 26.74/24/64.3 MB/1.3 h;Speedy-Splat: 26.92/19/79.5 MB/0.4 h;LocoGS-S: 27.02/17/8.5 MB/0.8 h | FPS 是次优 SortFreeGS* 的 5.3×,是 3DGS* 的 15.9×,存储是所有方法中最低(4.6 MB),PSNR 与最佳基线几乎持平 |
| 移动端功耗与稳态 FPS | Power(W)↓ / Cold-start FPS↑ / Steady-state FPS↑ | 0.83 W / 127 / 74 | 3DGS*: 5.89 W/8/3;SortFreeGS*: 4.03 W/24/18 | 功耗相比 3DGS* 降低 7.1×,相比 SortFreeGS* 降低 4.9×;稳态 FPS 74 是 SortFreeGS* 18 的 4.1× |
局限与改进
**作者承认的局限性**(D.3 节):(1) **训练成本高且复杂**——Mobile-GS 必须在桌面 GPU(RTX 3090)上做 60k 次迭代的离线训练,训练时间 1.5 h 显著长于 SortFreeGS* 的 1.3 h 和 Speedy-Splat 的 0.4 h,引入 SH 蒸馏、神经矢量量化、神经视角增强等多个模块,工程门槛较高;(2) **场景泛化能力弱**——和所有现有 3DGS 方法一样,Mobile-GS 是 per-scene 优化,每个新场景都要重新训练,无法直接迁移到未见过的环境,难以支持实时 AR 重建或动态场景捕获等场景;(3) **量化退化的权衡**——神经矢量量化和 1 阶 SH 蒸馏虽然有效,但仍存在压缩比与质量的折衷,过度量化可能在高纹理区域引入轻微色偏或模糊(codebook 消融显示 2^6 时 PSNR 跌到 25.52)。**笔者观察到的额外限制**:(4) **MLP 的硬性开销**——虽然消融显示 MLP 仅占推理时间的 0.14–0.27 ms(Fig. 6),但 MLP 始终要在 CPU/GPU 之间搬运张量,在算力更弱的低端芯片(如中端手机或 AR 眼镜)上可能成为新的瓶颈,作者未在多档位设备上验证;(5) **单分辨率训练的局限**——实验报告的 127 FPS 是在 1600×1063 的 Bicycle 场景下测得,更高分辨率(如 4K)或更大场景(百万级高斯)下的扩展性未充分测试;(6) **视角相关补偿依赖 SH 教师**——神经视角增强的 MLP 输入包含 SH 系数 $Y_i$,而学生模型用 1 阶 SH,可能限制 MLP 建模高阶视角效应的能力。
独立分析的弱点
独立审视,本文存在以下可改进之处。**弱点一:训练-推理算力鸿沟**——推理已经能在手机上 127 FPS,但训练仍然需要 1.5 h 的桌面 GPU,这把"移动部署"变成"移动推理",对真正的端到端移动应用(如现场 AR 重建)不够友好。改进方向是把贡献剪枝(25k 步即可完成大部分减负)和神经矢量量化的训练推到端侧,配合模型蒸馏做 on-device fine-tuning,例如在 NPU 上用 INT8 量化蒸馏教师。**弱点二:无序渲染的伪影虽被 MLP 抑制但未根治**——Fig. 7 显示即便加了神经视角增强,仍然能看到深度歧义区域的细微伪影,PSNR 提升也仅 0.44 dB。改进方向有两个:(a) 在权重公式 (3) 中加入法向一致性约束,让相邻视角的 $\phi_i$ 变化平滑;(b) 用更轻量的 attention 替代 MLP 来建模长程视角依赖。**弱点三:MLP 推理的批处理效率未优化**——Fig. 6 显示 MLP 占 0.14–0.27 ms,是仅次于光栅化的开销,且每个高斯都要单独查询一次 MLP,未做 batched query。改进方向是把 MLP 改为 hash-grid 编码(如 Instant-NGP 风格)并做 tile 级并行推理。**弱点四:量化粒度仍可更细**——当前 NVQ 把属性分成 5 组子向量统一量化,对高频细节(如镜面反射、锐利边缘)粒度仍显粗糙。改进方向是引入残差量化(RQ-VAE 风格),第一阶段量化低频结构、后续阶段编码残差高频。**弱点五:缺乏对动态场景的支持**——3DGS 本身就在朝 4D 扩展,本文没有涉及运动建模,移动端实时动态重建仍有空白。
未来方向
**作者隐含的延伸方向**:(a) 把贡献剪枝策略(Table 6 验证可作为 MaskGaussian、Mini-Splatting 的插件)推广为通用高斯压缩模块;(b) SH 蒸馏思想可推广到其他高阶属性的蒸馏(如各向异性协方差矩阵)。**基于成果可延伸的研究**:(1) **端侧训练与持续学习**——结合 on-device fine-tuning 和知识蒸馏,让手机能持续更新本地高斯地图,是 AR 导航、SLAM 应用的关键;(2) **4D Mobile-GS**——在静态 Mobile-GS 基础上引入时间维度的变形场(如 deformable 3DGS),探索移动端动态场景重建,目标是手机端 4K 30 FPS 的人体或场景动态捕获;(3) **神经渲染 + 神经缓存**——把视角相关 MLP 的输出做 tile 级缓存,避免重复推理,进一步压低 MLP 开销;(4) **跨场景泛化**——借鉴 Generalizable 3DGS(如 pixelSplat、MVSplat)的思路,让 Mobile-GS 能在少量视图下完成快速初始化;(5) **能耗感知的自适应渲染**——根据手机的电量、温度、用户注视点(如 AR 眼镜的 foveated rendering)动态调整高斯数量、MLP 深度和码本大小,把 MetaSapiens 的 efficiency-aware pruning 思路引入;(6) **量化感知训练与 INT4 推理**——当前 MLP 量化为 16-bit,可进一步压到 INT4 或二值化,配合专用 NPU 推理,理论上还能再降一档功耗。
复现评估
**开源情况**:作者明确表示"upon acceptance"后会发布完整代码(含训练与评估代码),并提供了项目主页 https://xiaobiaodu.github.io/mobile-gs-project/,截至论文发表(ICLR 2026)按惯例已开源。**数据可获得性**:所用 Mip-NeRF 360、Tanks & Temples、Deep Blending 三个数据集均为公开标准基准,无需特殊许可即可下载。**算力门槛**:训练需单卡 RTX 3090 GPU,60k 次迭代约 1.5 小时;消融实验需多组不同超参组合,对算力有一定累积需求(推测完整复现需 3–5 块 GPU 运行数天)。**复现难度**:中等偏上。**有利因素**:论文给出了完整的四大模块超参($\lambda_{distill}=1$、$\lambda_{depth}=0.1$、prune interval $I_{prune}=1000$、vote threshold $v=0.6$、$\tau=0.2$、codebook size $2^{10}$),MLP 结构(MLP_f 三层 256-128-64,MLP_d/MLP_v 单隐层 64 神经元)也有详细描述,附录 Table 8 还对比了 SortFreeGS 与 GES 的公式细节;**难点**:(1) 自定义 CUDA kernel 实现深度感知无序渲染对工程能力要求高,普通研究者需深入研究作者开源代码;(2) Vulkan 2.0 移动端部署需要适配手机 GPU 驱动,跨厂商移植可能踩坑;(3) 神经矢量量化的 K-means 初始化、码本训练与 Huffman 编码的串行流程容易出现数值不稳定(特别是 epsilon 取 1e-8 的细节),需要严格对齐论文实现。
论文图表
展示三组核心信息:(a) 在 Snapdragon 8 Gen 3 手机上对 Bicycle 场景做 1600×1063 分辨率的实时渲染,达到 116 FPS;(b) 与 3DGS 的定性对比(GT vs 3DGS vs Mobile-GS);(c) 在 RTX 3090 Ti 上的 PSNR/Storage/FPS 综合散点图,Mobile-GS 以 28 dB PSNR、4.8 MB 存储、1098 FPS 占据左上角(高质量、低存储、高速度)
这是论文的封面图,浓缩了三大核心卖点:手机端实时演示、与 3DGS 的画质对比、综合性能 Pareto 优势,是理解全文贡献的最快入口
左图用堆叠条形图显示 3DGS 在 Garden/Bicycle/Counter/Kitchen 四个场景下的推理耗时分布(preprocessing + sorting + rasterization),排序耗时在 3.1–4.9 ms,与光栅化相当;右图显示去掉排序后整体 FPS 从 100 区间跃升到 800 区间,Bicycle 场景甚至从 134 FPS 提升到 864 FPS
这是论文动机最核心的实证——直接证明排序是瓶颈,为后续整章的"无序渲染"方法创新铺垫
三个饼图分别对应 Mip-NeRF 360 / Tanks & Temples / Deep Blending 三数据集,30 名志愿者对 3DGS / LocoGS-S / Mobile-GS 的渲染结果做偏好投票;Mobile-GS 在三个数据集上分别拿到 64%、59%、79% 的偏好率,3DGS 25%/19%/11%,LocoGS-S 11%/22%/10%
用户主观评测为 Mobile-GS 在指标相近的情况下提供了偏好胜出的佐证,特别是 Deep Blending 上 79% 的偏好率具有说服力
在 Snapdragon 8 Gen 3 上对比 8 种方法(3DGS*、Mini-Splatting*、Speedy-Splat、HAC、LocoGS-S、C3DGS、GES、SortFreeGS*、Mobile-GS),报告 PSNR/FPS*/Storage/Training 四个指标。Mobile-GS 取得 27.12 PSNR、127 FPS、4.6 MB、1.5 h 训练,是唯一在 FPS 上突破 100 的方法
这是论文最核心的部署证据——证明方法真的能在手机上实时跑,不是只在桌面 GPU 上自嗨
扫描神经矢量量化码本大小 $\{2^6, 2^8, 2^{10}, 2^{12}\}$ 的消融表。当码本仅 $2^6=64$ 个码字时 PSNR 跌到 25.52、存储 3.84 MB;增加到 $2^8=256$ 后 PSNR 升到 26.83、存储 4.2 MB;$2^{10}=1024$ 时 PSNR 27.12、存储 4.6 MB;$2^{12}=4096$ 时 PSNR 仅微升到 27.15、但存储暴涨到 7.9 MB。作者选择 $2^{10}$ 作为存储与画质的最佳平衡点。
为神经矢量量化的关键超参提供选择依据,补充 Table 1 的细节