低显存显卡的 3DGS 训练器:Spirula Studio,8GB 训 1000 万高斯
【免费下载链接】spirula-studioCross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA.项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio
Spirula Studio 是把照片或视频变成相机位姿、Splat 模型和纹理网格的 3DGS 训练工具,一个二进制覆盖全流程,免 Python,免 COLMAP。8GB 显存可训千万个 SH3 高斯,AMD、Intel、Apple 显卡都能跑。
为什么照片和视频总是卡在环境配置这一步
你有一堆照片或一段运动相机视频,想做出能 3D 查看、能打印的模型。传统 3DGS 路线要装 Python、装 CUDA 版 PyTorch、再装 COLMAP 求相机位姿,每一步都可能翻车,而且多数教程默认你有 NVIDIA 显卡。Spirula Studio 针对的就是这个局面:同一个二进制覆盖抽帧、求位姿、训练、导出网格,非 NVIDIA 显卡上也不依赖额外软件。
从素材到网格:Spirula Studio 的处理流程
输入:三种数据集布局自动识别,不用手工整理。Nerfstudio、COLMAP、Metashape 按顺序由同一套 C++ 解析器识别,CLI、GUI 和 WASM 查看器共用,照片文件夹原地索引、递归扫描且不拷贝。GoPro MAX 的 .360 与 .insv 双镜头文件、等距柱状全景可以直接加载训练,不需要先去畸变,数据格式细节见 docs/datasets.md。
处理:内置 GPU SfM 替代 COLMAP。视频先过抽帧环节,给候选帧按清晰度打分、保留最清晰的一帧;特征检测支持 SIFT、ALIKED(配合 LightGlue 匹配)和 LoMa。数据集创建模块还会读取图片和视频里的运动遥测元数据,恢复真实比例与朝向——"重建偏大偏小或歪了"是常见的抱怨,这一环就是修复它的地方。没有点云时随机播种种子点,训练照样能开始。
输出:Splat 模型加可导出的纹理网格。训练时向运行目录写 checkpoint,spirula mesh一步转成 glb、ply、obj、stl;顶点色或烘焙 UV 纹理二选一,指定--color texture时 GLB 内嵌贴图,一次运行同时产出"看的 glb"和"打印的 stl"。基于 WebGL2 + WASM 的 Web Viewer 不装任何软件,浏览器里也能看 Splat 和网格。
第一次跑通:从获取程序到看到实时渲染
- 拿程序。到项目 Releases 页面选对应平台(Windows / Linux / macOS)的包,解压后打开 GUI,无需任何配置。
- 或者源码编译。仓库自带构建脚本,自动完成代码生成、环境检查并调用 CMake + Ninja,大约几分钟:
git clone https://gitcode.com/GitHub_Trending/sp/spirula-studio cd spirula-studio bash build_develop.bash -DSS_BACKEND=vulkan-DSS_BACKEND=vulkan是官方推荐选项,跨厂商且构建最快;Windows 下把脚本换成build_develop.bat、参数不变;NVIDIA 用户也可以改用-DSS_BACKEND=cuda。
- 打开 GUI 开始训练。Home → "Create Dataset from Photos/Video"(或 "Open a Dataset")→ 选 8 个内置预设之一 → 过一遍 Basic Options → Start Training。右侧视口实时渲染,左侧同步指标曲线和日志,随时可以暂停或停止。全部高级参数收在 "All Options" 里,可搜索,改动过的项会被高亮,右键可重置。
只想训练现成数据集时,命令行一条命令也能跑:
spirula train --data /path/to/dataset它会默认在 HTTP 端口起一个 Web 查看器,ssh -L转发端口后,本地浏览器就能看到训练进度,不用把整个桌面会话拉过来。
一个完整示例:一段视频,最后拿到带纹理的 glb
任务:用转盘多角拍一件产品,只有一段视频,想要能在线看的 glb 和能打印的 stl。
- 把视频拖进数据集界面(或选 "Create Dataset from Video"),程序先按清晰度抽帧,再由内置 SfM 求出相机位姿,得到带稀疏重建的数据集。
- 打开训练器,选 3dgs 预设,Basic Options 保持默认开始训练。结束后选择停止并保存,checkpoint 写进数据集下的
outputs/<run>/。 - 出网格:
spirula mesh outputs/myrun --color texture,vertex --format glb,stl表面只提取一次、颜色按需重做,带纹理 glb 和裸 stl 是同一次运行产出的。多个场景要处理时,用 GUI 的 Batch 界面把"建数据集 → 训练 → 网格化"排成多行任务,队列保存在本地文件里,中途崩溃也不丢。
效果不对或跑不下去:按现象排查
- 显存吃紧:先调低 Image resolution 一档(等效于降分辨率训练),再下调
cap_max(最大 Splat 数上限);量化训练已经把基础显存压得很低,8GB 装 1000 万 SH3 高斯够用。 - 重建比例不对或场景歪了:重新跑一次数据集创建,遥测元数据的恢复发生在这一环;.360 文件不记录相机的安装朝向,场景倒置时用
--360-orient 0,0,180纠正,该选项只在命令行提供。 - 训练被打断:
spirula train --resume <运行目录>从最近 checkpoint 续训,优化器状态、步数和学习率计划原样接上,规则见 docs/training-resume.md;若 checkpoint 未保存优化器状态,只能查看和导出,不能续训。 - 后端边界:CUDA 后端不含内置 SfM、视频抽帧和 AI masking,这些只有 Vulkan 后端提供,走 CUDA 的用户要自备 COLMAP 格式数据集;对比后端速度时注意 AMD 的 amdvlk 与 RADV 两个驱动在同一内核上可能有数量级差距。
照片或视频进,位姿、Splat、网格出,全程一个程序,中间没有 Python 环境和 COLMAP 安装。8GB 以下显存、非 NVIDIA 显卡、想快速出结果的用户适合它;想修改训练算法本身则选其他可插拔的 3DGS 框架。要深入架构,从 docs/architecture.md 和 src/app/ 开始读。
【免费下载链接】spirula-studioCross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA.项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考