一个二进制干掉整个 Python 工具链:Spirula Studio 把 3D 高斯泼溅塞进 8GB 显存
Spirula Studio 不是又一个 3DGS 训练器,而是对"3D 重建工具链"的一次去 Python 化重构。 当所有人都在 PyTorch + COLMAP + 各种 pip install 里打转时,作者用一个 C++ 二进制把从视频到网格的完整流程塞进了一个可执行文件——还顺手支持了 NVIDIA、AM…
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) |
类比:这就像一个视频编解码器不绑定 NVIDIA NVENC,而是用 Vulkan Compute 让所有显卡都能硬编。不是技术做不到,是没人愿意做——因为 CUDA 生态太舒服了。
2. 8GB 显存训 1000 万高斯
3DGS 的显存问题是出了名的。1000 万个全 SH3 高斯,原版实现至少要 24GB 显存。Spirula 用量化训练把同样的规模压进 8GB。
这不是魔法,是工程优化:
- 量化训练:梯度累积期间用低精度存储
- 自适应策略:根据显存动态调整 batch
- MCMC/IGS+/MRNF 三策略合一:更少浮点、更锐利
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 | 度量尺度恢复(用视频元数据) |
和主流 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 |
谁应该用?
- 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 的气质很像——不性感,但重要。
参考
- 项目地址: github.com/harry7557558/spirula-studio
- 在线 Demo: spirula.studio
- Web Viewer: harry7557558.github.io/spirula-studio/viewer
- 3DGS 原始论文: Kerbl et al., "3D Gaussian Splatting for Real-Time Radiance Field Rendering", SIGGRAPH 2023