3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命

3D视觉工坊 2026-09-09 07:00

点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达

3D视觉硬件汇总,包括结构光3D相机(支持室内外,焊接,机械臂抓取等场景),相位偏折术、散斑、机械臂抓取和焊接软件手持扫描仪(支持定位、重定位、稠密建图)、四足狗和小车定位和导航,底盘。点击->查看详情:3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图1

2026 年的 3DGS 顶会成果,有一个非常清晰的信号:学界和工业界正在集中火力解决 3DGS 的“落地之痛”

3D Gaussian Splatting(3DGS)凭借惊人的渲染速度和画质,早已成为三维视觉领域最炙手可热的技术。但它的三个老大难问题始终卡着大规模应用的脖子:训练太慢(动辄几十分钟)、显存太大(一个场景吃掉数 GB)、基元数不可控(端侧设备根本跑不动)。

今年,三篇来自不同顶级会议的重磅论文,恰好从三个维度同时给出了答案——LiteGS(ECCV 2026)解决训练速度,MEGS²(ICLR 2026)解决显存瓶颈,EcoSplat(CVPR 2026 Highlight)解决基元可控

它们各自切入了3DGS全链路中一个最痛的环节,合在一起,几乎拼出了3DGS从"实验室炫技"到"端侧落地"的完整拼图。

LiteGS(ECCV 2026):训练 3DGS,约 50-60 秒就够了

一句话总结:从 GPU 底层到算法顶层,三层协同优化,把 3DGS 训练时间从几十分钟压缩到约一分钟。

它解决了什么问题?

3DGS 训练慢,大家都知道。但为什么慢?大多数加速工作给出的答案是"计算量太大"。但 LiteGS 的诊断不一样:这不是某一个环节慢,而是三个层面的缺陷互相咬合,形成了一个自我强化的负循环

底层的光栅化器里,多个线程要往同一个像素上累加梯度,只能靠原子操作排队,大量线程把时间花在等待上;中层的显存里,数据排列不讲空间秩序,缓存命中率上不去;顶层的致密化判断又太粗,一边制造冗余计算,一边错过真正需要细节的地方。

三层咬在一起的结果是:基元越多,缓存表现越差;缓存越差,单位算力的有效产出越低;训练越慢,每一步致密化的时间成本就越高。越训越慢,而且越来越慢

核心方案:三层改造,一一对应

LiteGS 提出了一种 "系统与算法协同设计" 的思路——既然算法本身的写法没有按照 GPU 最擅长的方式来组织,那就从头按照 GPU 的习惯重新设计。

第一层(GPU 计算层):Warp-based Raster

传统 3DGS 的每个渲染块(tile)需要多个 warp 并行处理,然后通过大量原子操作累加梯度。LiteGS 提出"一个 warp 负责一个 tile"的新范式,每个线程处理多个像素,将原本需要多次 warp 级规约的操作压缩到单次 warp 规约,大幅减少了原子操作的排队开销。

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图2
图1:梯度计算流水线对比示意图
3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图3
表1:不同光栅化器内核耗时对比

在200万个 primitive 规模下,LiteGS 相比原始 3DGS 加速了 5-7 倍。

为了缓解"单 warp 单 tile"带来的寄存器压力,LiteGS 还引入了扫描线算法混合精度计算两项配套技术。

第二层(数据管理层):Cluster-Cull-Compact

训练过程中,新的高斯基元被不断追加到数组末尾,导致缓存命中率随着训练推进持续下降。LiteGS 引入 Morton 编码(Z-order 曲线) 对基元进行动态空间排序,每 128 个基元组成一个簇并计算包围盒,然后以簇为单位进行视锥体裁剪和内存压缩。

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图4
图2:Cluster-Cull-Compact 流水线示意图
3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图5
图3:训练过程中 L2 缓存命中率变化曲线

实验表明,这一模块单独贡献了 36% 的训练加速(Mip-NeRF360 上从 701 秒降至 515 秒)。

第三层(算法层):Opacity Gradient Variance

原始 3DGS 的致密化依赖视图空间位置梯度的幅值来判断哪里需要增加基元。LiteGS 改用不透明度梯度的方差作为致密化指标:方差低说明梯度方向一致,模型只是还没收敛,不需要加基元;方差高说明不同像素对同一个基元的要求相互冲突,这才是真正需要分裂或克隆的地方。

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图6
表2:致密化策略消融实验

使用梯度方差指标配合软衰减,比原始策略在 PSNR 上提升了近 1 dB,证明了新致密化指标的鲁棒性。

效果有多惊人?

LiteGS 在 Mip-NeRF360 数据集上,使用 100 万个基元、在 RTX 3090 上训练平均仅需 64 秒(RTX 4090 上平均仅需 40 秒),PSNR 达到 27.59。相比原始 3DGS,训练加速最高达 13.4 倍

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图7
图4:PSNR 与训练时间 / 基元数量关系图

值得一提的是,LiteGS 来自摩尔线程——一家国产GPU公司。它已经在图形学顶级会议 SIGGRAPH Asia 2025 的 3DGS 重建挑战赛中斩获银奖,以平均 PSNR 27.58 在精度与效率两项指标上取得均衡表现。从顶会竞赛获奖到 ECCV 2026 论文录用,LiteGS 是国产 GPU 厂商在 3DGS 领域少有的系统性突破

📦 代码与模型

代码仓库https://github.com/MooreThreads/LiteGS

四大核心特性

  1. 模块化设计:将前向和反向拆分为多个 PyTorch 扩展函数,中间变量可直接访问,部分场景下借助 PyTorch Autograd 无需手动推导梯度公式
  2. 双 API 灵活选择:提供 CUDA 版(高性能)和 纯 Python 版(快速原型开发)两套 API。Python API 无需修改 C 代码即可调整计算逻辑
  3. 性能更强、资源更少:相比原始 3DGS 实现加速 4.7 倍,GPU 内存减少约 30%
  4. 算法保留:保留 3DGS 核心算法,仅因聚类对训练逻辑做了微小调整

渲染流水线拆解

  1. Cluster Culling:将高斯点分为若干 chunk(每块 1024 点),先做视锥体裁剪
  2. Cluster Compact:类似网格渲染,将可见基元重排到连续内存中
  3. 3DGS Projection:将高斯点投影到屏幕空间(与原始实现一致)
  4. Create Visibility Table:建立 tile 到可见基元的映射表
  5. Rasterization:每个 tile 并行光栅化其可见基元

快速开始

# 安装依赖
pip install litegs/submodules/simple-knn
pip install litegs/submodules/fused_ssim
pip install litegs/submodules/gaussian_raster
pip install -r requirement.txt

# 开始训练
./example_train.py --sh_degree 3 -s DATA_SOURCE -i IMAGE_FOLDER -m OUTPUT_PATH

全量评估

python ./full_eval.py --mipnerf360 SOURCE_PATH1 --tanksandtemples SOURCE_PATH2 --deepblending SOURCE_PATH3

MEGS²(ICLR 2026):让 3DGS 在手机上跑起来

用球面高斯替代球谐函数 + 统一软剪枝,实现 8 倍静态 VRAM 压缩和 6 倍渲染 VRAM 压缩,首次让 3DGS 在移动端实时运行。

它解决了什么问题?

现有 3DGS 压缩方法有一个普遍的误区:绝大多数只关注存储压缩(减小文件大小),而忽视了渲染 VRAM 压缩。基于神经压缩、向量量化的方法虽然存储压缩率很高,但渲染前必须把全部参数解压回原始精度,VRAM 甚至比不压缩还要大。原始 3DGS 在 Bicycle 场景下,静态 VRAM 高达 1794 MB、渲染 VRAM 高达 2955 MB——手机根本加载不了。

根本原因在于一个简单的公式:

大多数方法只优化了其中一个因素。

核心方案:双管齐下

第一步:用球面高斯(SG)替代球谐函数(SH)

原始 3DGS 用 48 个参数的球谐函数表示视角依赖颜色。球谐函数是全局基函数,需要大量高阶系数才能表示局部高频细节(比如锐利高光)。MEGS² 改用可裁剪的、任意方向的球面高斯(SG)——它是局部基函数,只需少量"lobe"就能高效建模视角效果,且 lobe 数量可灵活调整,天然适合剪枝。

一个 SG lobe 的形式为:

其中  为 lobe 轴方向, 控制锐度, 为 RGB 幅值。最终颜色由漫射项  加上多个 SG lobe 求和得到:

更关键的是,MEGS²允许每个SG lobe朝向任意方向,而不是像SG-Splatting那样限制在正交轴上——这一灵活性带来了更强的表达能力。

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图8
图5:不同颜色表示(SH/固定轴SG/任意轴SG)的质量-VRAM对比

第二步:统一软剪枝框架

MEGS²首次将 primitive 剪枝和 lobe 剪枝建模为单一的内存约束优化问题

其中  为透明度向量, 为 sharpness 向量, 和  分别对应每个 primitive 和每个 SG lobe 的基参数量, 为总参数预算。

它采用 ADMM-inspired 的优化算法,在总参数预算的约束下,自动决定"删掉哪些 primitive"和"每个 primitive 保留几个 lobe"。剪枝后还通过颜色补偿策略将删除 lobe 的能量均摊到漫反射项中:

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图9
图6:MEGS²整体框架图

效果有多惊人?

在 Mip-NeRF360 数据集上,MEGS² 相比原始 3DGS 实现了 8 倍静态 VRAM 压缩和 6 倍渲染 VRAM 压缩,同时 PSNR 几乎无损。

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图10
表3:Mip-NeRF360 / Tanks&Temples / DeepBlending 主要结果对比

在 WebGL-based 移动端测试中,原始 3DGS 在手机上几乎不可用,而 MEGS² 在骁龙 8+ Gen 1 上跑出了 120.9 FPS

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图11
表4:不同设备上的 WebGL 实时渲染帧率 (FPS)

这是首次让高质量3DGS在中低端手机芯片(骁龙888)上达到流畅的 60 FPS 实时运行。

存储方面,MEGS² 在 Mip-NeRF360 上仅需 55 MB,在 DeepBlending 上仅需 54 MB,甚至优于 EAGLES 等专用压缩方案。

代码与模型(读者关心的)

代码仓库https://github.com/IGL-HKUST/MEGS-2

环境与依赖

  • 已在 RTX 3090 + CUDA 11.7 上完成测试
  • 代码基于https://github.com/noodle-lab/GaussianSpa.git修改而来
  • 数据集需准备 Mip-NeRF360、Tanks&Temples 和 Deep Blending

推理参数

参数
作用
--prune_ratio1
第一次剪枝迭代时的基元剪枝比例
--prune_ratio2
稀疏化停止迭代时的基元剪枝比例
--sharpness_ratio
稀疏化迭代时的 SG lobe 剪枝比例
--sharpness_threshold
稀疏化停止迭代时修剪 SG lobe 的阈值
--optimizing_spa_interval
每隔多少轮迭代执行一次"稀疏化"步骤

WebGL 移动端渲染器

MEGS² 提供了一个完整的 WebGL 浏览器端渲染器,可直接在手机和电脑上运行:

  • main_sg.js:加载 MEGS² 的 SG(球面高斯)模型
  • main_sh.js:加载原始 3DGS 的 SH(球谐函数)模型
  • 已添加对三阶 SH 系数的支持(比原版 splat 仓库负载更重)
  • 运行方式:cd WebGL_viewer && http-server

这意味着读者可以拿着自己的 .ply 模型,直接在浏览器里测试 MEGS² 在真实手机上的帧率——这对评估端侧部署价值极大。

EcoSplat(CVPR 2026 Highlight):想要多少个高斯,你说了算

首个"数量可控"的前馈式 3DGS 框架,推理时给定任意目标基元数 ,模型自动挑出最重要的  个高斯来渲染。

它解决了什么问题?

前馈式 3DGS(如 PixelSplat、MVSplat)的主流做法是"逐像素对齐"——每张输入图的每个像素反投影成一个 3D 高斯,再把所有视图的高斯并起来。这导致基元总数随输入视图数和图像分辨率线性增长:24 视图、256×256 分辨率下动辄上百万个高斯。

更关键的问题是:这些方法对输出高斯数量没有任何显式控制。你没法告诉模型"我只要 5 万个高斯来渲染"。实际部署中,重建在服务器端做一次,但渲染要分发给算力各异的手机、AR/VR 头显等端侧设备——按需控制基元数是刚需

现有省内存方案(AnySplat 的可微体素化、GGN 的图聚合、Long-LRM 的不透明度剪枝)都是基于阈值的——体素大小、相似度阈值等超参对场景敏感,剪出来的基元数因场景而异、不稳定。

核心方案:让模型学会"按预算排序"

EcoSplat 的核心思想是:与其事后剪枝,不如让模型在训练时就学会"按预算排序高斯重要性" ——把目标基元数  作为条件信号注入模型,让模型主动压低不重要高斯的不透明度,推理时直接保留不透明度最高的  个即可。

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图12
图7:EcoSplat总体框架与效果图

具体采用两阶段训练

  1. 像素对齐高斯训练(PGT):模型先学习初始的逐像素高斯预测,损失函数为标准渲染损失:
  1. 重要性感知高斯微调(IGF):将目标基元数  作为条件注入,通过重要性感知不透明度损失鼓励模型抑制不重要基元的透明度:

其中  为根据图像梯度和深度法线变化生成的伪真实重要性掩码。

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图13
图8:重要性掩码生成流程

从输入图像计算光度变化图(图像梯度幅值)+ 几何变化图(法线图梯度幅值)→ 取平均得到变化图 → 根据保护率  取分位数二值化 → 高变化区域全部保留 + 低变化区域通过 K-means 合并 → 投影得到重要性掩码 

配合渐进式学习策略(PLGC)让模型逐渐适应从宽松到激进的剪枝范围, 的采样区间从  逐步退火到 

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图14
图9:不同目标基元数下不透明度分布的变化

这直观地展示了 EcoSplat 确实学会了根据预算动态调整基元的"生死"。

推理时,EcoSplat 还会根据不同视图的信息量(高频成分占比)自适应分配每个视图的基元配额,视图重要性因子  通过频谱高频占比的 softmax 计算:

信息量大的视图分到更多基元,信息量小的视图分到更少。

效果有多惊人?

在 RE10K 数据集、24 视图输入下,即使将高斯压缩到仅剩 5% 的极端情况,EcoSplat 仍能达到 24.72 PSNR、0.822 SSIM 的高质量渲染。相比之下,AnySplat 在同样 5% 的压缩率下 PSNR 仅 8.08,WorldMirror 仅 8.09,几乎完全失效。在 40% 压缩率下,EcoSplat 达到 25.11 PSNR,远超 AnySplat 的 19.66 和 WorldMirror 的 19.66。

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图15
表5:不同目标基元数量下的 NVS 定量对比(RE10K,24视图)

在极端压缩(5%)下,EcoSplat 的 PSNR 比第二名 AnySplat 高出惊人的 16.6 dB,证明了其基元筛选机制的高效性。

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图16
图10:5% 基元数下各方法的定性对比

在渲染速度方面,使用仅 7.8 万个高斯时,EcoSplat 的推理速度高达 1042 FPS

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图17
表6:多视图设置下的综合效率对比(24视图)

EcoSplat不仅重建速度最快(0.52秒),而且在仅用 7.8万个基元时,画质(24.72 PSNR)依然碾压使用 50万个基元的 GGN(15.80 PSNR)。

更值得一提的是,EcoSplat 在跨数据集泛化(从 RE10K 迁移到 ACID)上也表现优异。在 ACID 数据集上,EcoSplat 以 40% 的基元数(仅 62.9 万个)达到了 24.02 PSNR,远超 GGN 的 18.06 和 AnySplat 的 21.96。

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图18
表7:跨数据集泛化 ACID 结果(24视图)
3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图19
表8:训练策略 / IGF组件消融实验

IGF阶段是EcoSplat最关键的贡献——没有 IGF 的情况下,5% 压缩时 PSNR 暴跌至 6.45,几乎完全失效。

代码与模型(读者关心的)

代码仓库https://github.com/KAIST-VICLab/EcoSplat

两个可用分支

  • eco_spfsplat 分支(默认):基于 SPFSplat 底座,支持无需相机位姿(pose-free)的稀疏视图前馈 3DGS
  • eco_zpressor 分支:基于 ZPressor 底座,同时支持视图间和视图内压缩(MVSplat baseline + IGF)

核心可复用组件:EcoSplat 的效率控制被实现为一个与底座无关的可复用包ecosplat_wrapper/,其中封装了 IGF(重要性感知高斯微调)训练策略。如果你想将 EcoSplat 的机制迁移到其他底座模型,可以直接阅读 ecosplat_wrapper/README.md

预训练模型

  • EcoSplat(IGF)checkpoint 已在 Hugging Face 上开源:ecosplat-spfsplat-re10k.ckpt
  • 训练需要从 SPFSplat 的 stage-1 checkpoint 开始微调,SPFSplat 模型库也已在 Hugging Face 上开放

训练与推理

  • IGF 训练通过 model.encoder.igf 配置控制,默认参数与论文一致(loss_weight=0.1io_weight=0.1、PLGC 退火范围 0.85→0.95
  • 推理时可通过 inference_rho(保护率 任意指定目标基元数rho 越低 → 渲染使用的高斯越少
  • 官方提供了 eval_igf_rho{0p7,0p4,0p1,0p02}.sh 四个预算档位的评估脚本

三篇顶会,一条主线

论文
会议
核心问题
核心方案
关键数据
LiteGS
ECCV 2026
训练太慢(几十分钟)
Warp光栅化+空间排序+方差致密化
训练 约 50-60 秒,加速 13.4 倍
MEGS²
ICLR 2026
显存太大(数 GB)
SG 替代 SH+统一软剪枝
8 倍
静态 VRAM 压缩,移动端 91 FPS
EcoSplat
CVPR 2026 Highlight
基元数不可控
两阶段训练+重要性排序
5% 基元下 24.7 PSNR1042 FPS

这三篇论文放在一起,恰好覆盖了 3DGS 从训练→存储→渲染的全链路效率问题:

  • LiteGS 管的是训练阶段:怎么让 3DGS 学得更快。
  • MEGS² 管的是存储与加载阶段:怎么让 3DGS 在端侧装得下、跑得动。
  • EcoSplat 管的是渲染适配阶段:怎么让同一个 3DGS 模型适配不同算力的设备。

三篇合在一起,基本回答了 3DGS 落地中最核心的三个问题:训得够快吗?装得下吗?跑得动吗?

你的需求
推荐项目
关键文件/命令
想要控制输出高斯数量
EcoSplat
inference_rho
 参数调节
想要在手机上跑 3DGS
MEGS²
WebGL_viewer/
 + main_sg.js
想要约一分钟训完一个场景
LiteGS
./example_train.py
想要修改 3DGS 算法逻辑
LiteGS
Python API(call_script()
想要看不同设备上的真实帧率
MEGS²
WebGL 渲染器 + 自己的 .ply 文件

2026年,3DGS正在从"实验室炫技"走向"端侧可用"。LiteGS、MEGS²EcoSplat,就是这条路上三个关键的里程碑。对于关注3DGS工程落地的算法研究员和开发者来说,这三篇论文值得花时间仔细研读——它们的代码都已经或即将开源。

本文仅做学术分享,如有侵权,请联系删文。

3DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图203DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图213DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图223DGS落地最后一公里:50秒训练、8倍压显存、1042 FPS渲染,全链路效率革命图23

添加微信:cv3d001,备注:姓名+方向+单位,邀请入群。

关于科技区角:国内科技展会垂直内容策划服务商,提供从论坛内容全案策划、会展市场化IP打造到精准专业观众一站式邀约服务,以产业内容吸引高质量B端人群,打通展会从议题设计、演讲嘉宾邀约、宣传预热、精准邀观到供需对接全链路。
声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。
more
马来西亚拟选华为昇腾910C构建主权AI算力底座
百度连发4款AI硬件:音箱有记忆,还能调摄像机干活,299元起
AI代理重塑软件生态:从“学习工具”到“调用能力”的范式转移
当 AI、机器人正在进家,家准备好了吗?
小米王乃岩已离职创业,方向为物理AI丨36氪独家
DeepSeek一口气扩招150人,0个AI研究岗
AI+特色“芯”展示区+3场高峰论坛:硬核芯生态活动明天开幕
Chrome发布周期减半至两周,AI时代的安全与竞争双重博弈
探讨HBF、MRAM、忆阻器!年度AI芯片盛会同期新型存储器研讨会议程公布
当AI代理人被“下蛊”:从简历造假到自动辞职,Agent安全防线正在失守
Copyright © 2025-成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号