ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Spirula Studio 3D 高斯泼溅训练:单二进制零配置安装,Windows / Linux / macOS 全部搞定

Spirula Studio 3D 高斯泼溅训练:单二进制零配置安装,Windows / Linux / macOS 全部搞定

Spirula Studio 3D 高斯泼溅训练:单二进制零配置安装,Windows / Linux / macOS 全部搞定

【免费下载链接】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 是一款开源的 3D 高斯泼溅(3DGS)训练工具,把照片或视频变成 splat 与带纹理网格,全程只有一个自包含二进制。本文覆盖 Windows、Linux、macOS 三平台上预编译下载与源码构建两条路径。读完你能不依赖任何 Python 环境,直接打开训练界面开训。

先跑起来:3 步跑通预编译的 3D 高斯泼溅二进制

新手走这条最快:

  1. 去项目官方 Releases 页面,选择对应平台(Windows / Linux / macOS)的发布包
  2. 下载并解压
  3. 双击spirula.exe(Windows)或运行./spirula(Linux / macOS)启动 GUI
  4. 把照片或视频放进数据集目录,点训练

如果你在远程 GPU 服务器上训练,则不需要图形界面:spirula train默认会在一个 HTTP 端口上提供 3D 预览页面,ssh 端口转发后,本地浏览器就能看到训练进度。启动成功后的样子就是上图的界面:数据集选择与训练面板已经就绪。

为什么不用折腾环境:零依赖设计一览

多数 3DGS 工作流要 Python + PyTorch 环境再加一套 COLMAP,Spirula Studio 反着来:

  • 零 Python 依赖:不装 Python、PyTorch,也不装 COLMAP,3D 重建用内置的原生 SfM 完成
  • 跨厂商 GPU:一个 Vulkan 后端覆盖 NVIDIA、AMD、Intel 和 Apple Silicon
  • 双后端功能对等:Vulkan(推荐)与 CUDA(NVIDIA),训练和网格化功能一致,性能差异通常控制在几个百分点以内
  • 一个二进制全包含:GUI、命令行、SfM 重建、AI 分割都在spirula里

预编译版够用的话,看到这里就可以停了;下面这一章只给想亲自编译的人。

想自己编译?先做选择题:Vulkan 还是 CUDA

想打开自定义编译参数,或你的机器上没有对应平台的发布包时,才需要源码构建。先做选择题:

后端适用 GPU平台一句话特点
Vulkan(推荐)NVIDIA / AMD / Intel / Apple SiliconWindows、Linux、macOS跨厂商,构建更快、体积更小,自带 SfM + 视频抽帧 + AI 分割
CUDANVIDIAWindows、Linux传统方案,需 CUDA 工具包;功能与 Vulkan 一致,性能差异通常在几个百分点以内

先拉代码:

git clone https://gitcode.com/GitHub_Trending/sp/spirula-studio cd spirula-studio

🪟 Windows(MSVC)

.\build_develop.bat -DSS_BACKEND=vulkan -DSS_ENABLE_PATENTED=ON

成功产物是build_vulkan\spirula.exe。CUDA 后端把参数换成-DSS_BACKEND=cuda,产物在build_cuda\spirula.exe。两个注意点:

  • 脚本会用 vswhere 自动探测 Visual Studio 并调用vcvars64.bat;PATH 上没有 CMake/Ninja 时,直接用 VS 自带的那套
  • CUDA 后端默认自动挑选最新安装的 CUDA 工具包;想指定版本就传-DCMAKE_CUDA_COMPILER=...

🐧 Linux

bash build_develop.bash -DSS_BACKEND=vulkan -DSS_ENABLE_PATENTED=ON

成功产物是build_vulkan/spirula。无显示器的无头服务器上,加-DSS_BUILD_GUI=OFF,只构建命令行工具。

🍎 macOS(Apple Silicon)

bash build_develop.bash -DSS_BACKEND=vulkan -DSS_ENABLE_PATENTED=ON cmake --build build --target macos_app cmake --build build --target macos_dmg

macOS 只有一个后端,所以构建目录是build/(而不是build_vulkan/)。产物除build/spirula外,还会打包出可双击的build/Spirula Studio.app和build/Spirula Studio.dmg。MoltenVK 默认静态链接,拷到别的 Mac 上也能直接跑。

一个影响行为的参数:-DSS_ENABLE_PATENTED=ON

这个参数启用进程内 GPU 视频解码,抽帧速度约快 15 倍,且无需安装 ffmpeg。参数默认是 OFF;关闭时,视频抽帧会回退调用系统里的 ffmpeg。H.264 / H.265 / AV1 解析器带有第三方专利授权问题,开启前请自行确认所在地区的合规要求。

💡 另外:python3 是完全可选的。缺了它,脚本只是跳过代码生成——生成的代码文件已随仓库提交,构建不受影响。

三平台构建依赖差异,一张表看完

依赖WindowsLinuxmacOS
编译器VS 2022(C++ 工具集),脚本自动调 vcvars64gcc/g++Xcode 命令行工具
CMake + NinjaVS 自带,用官方脚本则无需另装必须必须
Vulkan SDK必须(Vulkan 后端)必须(Vulkan 后端)不需要,MoltenVK 由 CMake 自动获取并静态链接
CUDA 工具包仅 CUDA 后端需要,脚本自动选最新仅 CUDA 后端需要不支持
python3可选,缺了自动跳过代码生成可选可选
libomp(OpenMP)不需要系统自带即可建议用 Homebrew 装,脚本会自动探测 keg-only 路径

💡 最容易漏掉的是 macOS 的 libomp:Homebrew 把它标成 keg-only,CMake 默认找不到。构建脚本会自动探测这条路径并传给 CMake,你只需brew install libomp。

装完跑两条命令确认安装成功

spirula --version spirula --help

Windows 下命令换成spirula.exe。--version输出版本号(源码构建会额外带提交哈希),--help列出train、sfm等全部子命令。两者都能正常输出,说明安装成功。直接运行不带参数的spirula会启动 GUI——把数据集丢进去就能开训 🎉

报错了?按这个顺序查

先别慌,十有八九是下面这几个,按顺序对号入座:

看到的现象大概率原因你该做的
Windows 报vcvars64.bat not found没装 VS 的 C++ 工具集安装 VS 的"C++ 桌面开发"工作负载,或在开发者命令提示符里运行脚本
Vulkan 后端配置失败没装 Vulkan SDKWindows / Linux 先装 Vulkan SDK;macOS 无需安装
GUI 构建卡在拉取 GLFW / ImGui首次构建需要联网 FetchContent联网让它一次性下载完依赖,或加-DSS_BUILD_GUI=OFF
构建目录和脚本提示的对不上手动传了-B参数别传-B,脚本会按后端自动选build_vulkan/或build_cuda/
大规模并行编译被 OOM 杀掉并发太高、内存不够脚本已按可用内存自动限并发(每任务约 750MB),不用手动传-j
macOS 上网格化跑在单核没找到 OpenMP(libomp)用 Homebrew 安装 libomp,构建脚本会自动探测 keg-only 路径并传给 CMake
nvcc 编译报错CUDA 版本与编译器不匹配脚本默认选最新安装的 CUDA;想指定版本传-DCMAKE_CUDA_COMPILER=...
中文路径 / 界面显示方块CJK 全量字体未下载首次使用中文字体时 GUI 会提示下载并缓存,属正常行为

装好之后:继续深入

  • docs/build.md —— 构建矩阵与全部选项,适合想定制构建参数的人
  • docs/backends.md —— CUDA / Vulkan 后端缝的设计,适合想搞懂双后端架构的人
  • docs/datasets.md —— 支持的数据集结构,适合准备第一份数据集的人
  • cmake/SsOptions.cmake —— 所有 CMake 选项的定义处,适合想抠默认值的人
  • build_develop.bash —— 构建入口脚本:自动探测 MSVC / CUDA 环境、自动限并发,适合想弄清脚本逻辑的人

装好之后,最快的上手方式是找一组同一场景的照片训一遍,看看效果。

【免费下载链接】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),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进