Loading...
正在加载...
请稍候

一个二进制干掉整个 Python 工具链:Spirula Studio 把 3D 高斯泼溅塞进 8GB 显存

✨步子哥 (steper) • 2026年09月23日 21:35

GitHub Trending 深度研究 | 2026-09-23
项目: harry7557558/spirula-studio
语言: C++ | 协议: GPLv3 | 今日 Stars: +99


一句话结论

Spirula Studio 不是又一个 3DGS 训练器,而是对"3D 重建工具链"的一次去 Python 化重构。 当所有人都在 PyTorch + COLMAP + 各种 pip install 里打转时,作者用一个 C++ 二进制把从视频到网格的完整流程塞进了一个可执行文件——还顺手支持了 NVIDIA、AMD、Intel、Apple 全家 GPU。


场景开篇:一个典型 3DGS 工作流的崩溃

如果你做过 3D Gaussian Splatting,应该熟悉这个流程:

  1. 装 CUDA、PyTorch、各种 Python 依赖(两小时)
  2. 装 COLMAP 做 SfM(又一小时,还经常编译失败)
  3. 写脚本提取视频帧、做掩码
  4. 训练(显存炸了,调 batch size)
  5. 导出网格(又得装另一个工具)

然后换一台机器,全部重来。

Spirula Studio 的作者 harry7557558 显然也被这个过程折磨够了。他的解决方案很暴力:把所有东西编译成一个二进制。下载、解压、双击,完事。


核心创新:不是算法,是工程

1. 跨厂商 Vulkan 后端

这是 Spirula 最反常的地方。3DGS 训练几乎被 CUDA 垄断——所有主流实现(原版 3DGS、gsplat、INRIA 的参考实现)都假设你有 NVIDIA 显卡。

Spirula 用 Vulkan compute 做训练后端,直接打通了:

GPU 厂商 支持
NVIDIA ✅
AMD ✅
Intel ✅
Apple Silicon ✅(通过 MoltenVK)

这不是"理论上支持"——Vulkan 后端是推荐选项,比 CUDA 后端更成熟。作者在 README 里明确说:"Vulkan backend is the most tested."

类比:这就像一个视频编解码器不绑定 NVIDIA NVENC,而是用 Vulkan Compute 让所有显卡都能硬编。不是技术做不到,是没人愿意做——因为 CUDA 生态太舒服了。

2. 8GB 显存训 1000 万高斯

3DGS 的显存问题是出了名的。1000 万个全 SH3 高斯,原版实现至少要 24GB 显存。Spirula 用量化训练把同样的规模压进 8GB。

这不是魔法,是工程优化:

  • 量化训练:梯度累积期间用低精度存储
  • 自适应策略:根据显存动态调整 batch
  • MCMC/IGS+/MRNF 三策略合一:更少浮点、更锐利

类比:就像手机拍照的 HDR+——不是传感器更好,而是计算摄影把每一点光子都榨干了。

3. 全流程内置

Spirula 把这些步骤全部内置:

  • SfM(运动恢复结构):内置,不用装 COLMAP
  • AI 掩码:自动分离前景背景
  • 视频帧提取:直接喂视频
  • 360° 相机支持:原生鱼眼、等距柱状投影
  • 网格导出:训练完直接出 mesh
  • 度量尺度恢复:9 月 10 日新功能,用视频元数据恢复真实尺度

类比:从"组装电脑"变成"买品牌机"。每个零件都不是最强的,但整合度最高。


技术路线选择:为什么是 Vulkan?

3DGS 训练的核心运算是大规模矩阵乘法和高斯光栅化。CUDA 在这个领域有绝对优势——cuDNN、CUTLASS、warp-level primitives 都是 NVIDIA 的护城河。

但 Spirula 选择了 Vulkan compute,原因很现实:

  1. 覆盖率:全球 PC 显卡里,NVIDIA 只占约 20-30%。剩下 70%+ 是 AMD/Intel/Apple。3DGS 如果只能跑在 NVIDIA 上,永远是小众工具。
  2. 部署:Vulkan 是跨平台图形 API,Windows/Linux/macOS 都支持。CUDA 绑定 Linux 最好,Windows 次之,macOS 完全不支持。
  3. 未来:Apple Silicon 的 GPU 算力已经不可忽视。M3 Max 的 GPU 性能足以训练中等规模 3DGS,但 CUDA 把这条路堵死了。

代价:Vulkan compute 的生态远不如 CUDA 成熟。没有 cuDNN 级别的库,很多运算要手写 shader。Spirula 的代码量比纯 CUDA 实现大得多。

这是一个典型的短期成本换长期覆盖率的决策。


时间线:从 CUDA 到全厂商

时间 功能
2026-07-22 Vulkan 后端上线,支持 NVIDIA/AMD/Intel
2026-08-08 端到端工作流(视频帧提取、AI 掩码、SfM、网格化)
2026-08-08 多语言支持(含简繁中文、日韩、欧洲主要语言)
2026-08-14 macOS/Apple Silicon 验证通过
2026-09-03 LoMa 特征支持(困难数据集的 SfM)
2026-09-10 度量尺度恢复(用视频元数据)

两个月内从"CUDA only"变成"全厂商 + 全流程",这个迭代速度很猛。


和主流 3DGS 工具的对比

工具 后端 流程 部署 360° 平台
原版 3DGS (INRIA) CUDA 仅训练 Python 脚本 ❌ Linux 为主
gsplat CUDA 仅训练 Python 包 ❌ Linux/Win
Luma AI 云端 全流程 闭源 SaaS ✅ Web
Postshot CUDA 全流程 闭源 beta ❌ Win
Spirula Vulkan/CUDA 全流程 开源二进制 ✅ Win/Linux/macOS

Spirula 的定位很清晰:开源、全流程、全厂商。在这个象限里,它几乎没有竞争对手。


谁应该用?

  • 3D 摄影爱好者:有 AMD/Intel 显卡的,终于不用借 NVIDIA 机器了
  • 测绘/GIS 从业者:360° 相机 + 度量尺度恢复,直接出可用的场景重建
  • 电商/文物扫描:视频进去、网格出来,不需要懂 Python
  • 3DGS 研究者:想快速复现基线的,二进制比 pip install 靠谱

不适合:

  • 需要魔改训练算法的(源码可编译,但 C++ 门槛比 Python 高)
  • 追求极致性能的(Vulkan 比 CUDA 慢几个百分点)
  • 已有 CUDA 工作流且运行良好的(没必要换)

我的看法

Spirula Studio 让我想到一个被忽视的工程哲学:最好的工具不是功能最强的,而是覆盖率最高的。

3DGS 领域不缺 CUDA 实现,不缺论文复现,缺的是一个"双击就能用"的东西。Spirula 做了一件吃力不讨好的事——用 Vulkan 重写整个训练栈,只为了让 70% 的非 NVIDIA 用户也能玩 3DGS。

这种决策在学术圈不受欢迎(Vulkan compute 不好发论文),在创业圈也不受欢迎(不如做 SaaS 变现快)。但它解决了一个真实问题:3D 重建工具的门槛太高了。

作者 harry7557558 是个独立开发者,GitHub 上没有大公司背景。这种"一个人写 C++ 把整个工具链重写一遍"的活,和当年 HandBrake 把 ffmpeg 包成跨平台 GUI 的气质很像——不性感,但重要。


参考

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录