ARTICLE · INTELLIGENCE

战地情报 · 详情页

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

3步跑通3D高斯泼溅全流程:Spirula Studio 入门教程

3步跑通3D高斯泼溅全流程:Spirula Studio 入门教程

3步跑通3D高斯泼溅全流程:Spirula Studio 入门教程

【免费下载链接】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 Gaussian Splatting 训练工具:单个spirula可执行文件完成从照片/视频到 splat 与纹理网格的全流程。无需安装 Python 与 COLMAP,8GB 显存可训千万高斯,界面支持 13 种语言。

认清定位:Spirula Studio 是什么工具,适合谁

Spirula Studio 是一个纯 C++ 训练器,不依赖任何 Python/PyTorch 运行时。GUI、训练、SfM、AI 遮罩、网格提取与评估指标全部装进同一个可执行文件,同一条命令既能开图形界面,也能走命令行。

  • 跨厂商 GPU:Vulkan 后端通吃 NVIDIA、AMD、Intel 与 Apple Silicon
  • 显存省:量化训练,8GB 显存可跑 1000 万全 SH3 高斯
  • 原生 360°/鱼眼:等距圆柱数据集直接载入训练,省去去畸变环节
  • 流程自给自足:抽帧、SfM、SAM 遮罩、网格提取都在一个二进制里

无论你是想跑出第一个 splat 的初学者,还是想要 headless 命令上云训图的远程 GPU 用户,都能直接上手。

5分钟装好并启动:下载预编译版或源码构建

预编译(推荐):到 Releases 页选对应 Windows/Linux/macOS 的包,解压后双击打开 GUI,零配置。

源码构建(2 行搞定):

git clone https://gitcode.com/GitHub_Trending/sp/spirula-studio bash build_develop.bash -DSS_BACKEND=vulkan

建议优先选 Vulkan 后端:跨平台、产物更小,且自带内置 SfM 与 AI 遮罩;CUDA 是面向 NVIDIA 的传统选项,训练与网格功能相同。构建成功后产物位于build_vulkan/spirula。

完成第一次训练:GUI 四步与 CLI 一行

GUI 路径(新手首选):

  1. 启动spirula,点击Open a Dataset,或用Create Dataset from Photos/Video直接从原始素材建数据集
  2. 选一个预设(3dgs为默认,另有360-camera、in-the-wild、meshing等)并微调基础选项
  3. Start Training,在原生视口中实时看渲染结果
  4. 完成后产物默认写入<数据集>/outputs,打开即可查看

CLI 路径(远程/云端 GPU):

./build_vulkan/spirula train 3dgs --data <数据集目录>

💡 图片太大显存不够?用train_resolution_divisor调低训练分辨率(GUI 里叫 Image resolution) 💡 长任务用--resume <运行目录>断点续训;--init-ply <已有PLY>可从旧模型暖启动 💡spirula train默认会开一个 Web 查看器端口,SSH 端口转发后浏览器即可盯进度

一张表看懂代码主线:项目结构速览

目录作用重要度
src/engine/训练引擎,CUDA-free 的.cpp层⭐⭐⭐
src/kernels/投影、光栅化、稠密化、损失等 GPU 核函数⭐⭐
src/data/数据集管理器 + COLMAP/Nerfstudio/Metashape 解析器⭐⭐⭐
src/app/唯一的spirula应用:CLI + 原生 GUI + Web 查看器⭐⭐⭐
src/sfm/内置运动恢复结构(Vulkan 子系统)⭐⭐
src/mesh/网格化管线:Delaunay、UV、导出⭐⭐
src/config/训练配置的唯一事实来源⭐⭐
docs/架构、后端、数据集等文档⭐⭐⭐

分层走向为:app(CLI/GUI)→ TrainerCore 训练驱动 → engine → backend API 接缝 → CUDA/Vulkan 双后端,细节见 docs/architecture.md。

值得一提的设计:所有训练标志集中在 src/config/TrainConfig.h 里一张手写 X-macro 表中定义,CLI 参数、--help、GUI 选项编辑器与运行时的config.json全部从同一张表展开,天然不会出现"两处定义对不上"的问题。

摆好数据集就能被识别:输入格式与约定

  • 自动探测顺序固定:Nerfstudio → COLMAP → Metashape;点云可选,没有就随机播种
  • 默认目录约定:images/图片、masks/遮罩、depths/深度、normals/法线
  • COLMAP 稀疏模型会在sparse/0、colmap/sparse/0、sparse等位置自动寻找;鱼眼与等距圆柱全景同样原生支持
  • 更多相机模型与遮罩规则见 docs/datasets.md

从素材到成品:5 个内置步骤各产出什么

  1. 抽帧:从视频提取最清晰帧、自动跳过模糊帧 → 产出:清晰帧图片序列
  2. SfM 重建:spirula sfm解算相机位姿 → 产出:COLMAP 兼容稀疏模型
  3. AI 遮罩(可选):spirula sam移除手部、背景等干扰物 → 产出:masks/下遮罩文件
  4. 训练:spirula train得到 splat 模型 → 产出:<数据集>/outputs运行目录
  5. 网格化:spirula mesh提取并烘焙贴图 → 产出:带顶点色/纹理的 PLY/OBJ/GLB/STL

规划下一步:文档导读

文档内容
docs/README.md文档总索引
docs/backends.mdCUDA/Vulkan 后端差异与能力覆盖
src/app/README.mdCLI 与 GUI 工作笔记、预设与配置表

学习路线:先用 GUI 跑通一份小型照片数据集 → 再读docs/datasets.md对照自己的数据布局 → 最后用spirula mesh导出第一个带纹理的 GLB 🚀

Spirula Studio 把整条 3D Gaussian Splatting 管线压缩进一个二进制、零 Python 依赖,这正是它区别于 Python 生态的最大差异点。现在下载预编译版,你当天就能训出自己的第一个 splat 模型 🎯

【免费下载链接】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

延伸阅读

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