ARTICLE · INTELLIGENCE

战地情报 · 详情页

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

Spirula Studio 快速上手:5 分钟用照片训练出第一个 3D 高斯泼溅模型

Spirula Studio 快速上手:5 分钟用照片训练出第一个 3D 高斯泼溅模型

Spirula Studio 快速上手:5 分钟用照片训练出第一个 3D 高斯泼溅模型

【免费下载链接】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)训练工具,把照片或视频直接训练成可自由视角观看的 3D 场景,一个程序包办数据集、训练与导出,NVIDIA、AMD、Intel、Apple 显卡都能跑。本文带你完成三件事:拿到程序、从照片建数据集、训练出第一个 Splat 模型。

快速认识:一个程序替代一整条 Python 流水线 🎯

传统 3DGS 流程需要 Python 环境、PyTorch 和 COLMAP 三套组件来回切换,Spirula Studio 把整条流水线装进一个独立二进制:

  • 省掉环境搭建——不装 Python、不配 CUDA 环境,下载即用;Vulkan 与 CUDA 双后端让 AMD、Intel、NVIDIA 乃至 Apple 显卡都能训练,详见 docs/backends.md
  • 省掉相机重建环节——内置 SfM(运动恢复结构,即从照片推算相机位置的技术),照片拖进来几分钟后就得到带相机位姿的数据集,不必再单独运行 COLMAP
  • 省显存——量化训练让 8GB 显存可容纳 1000 万个高斯(高斯即构成 3D 场景的最小单元),普通消费级显卡即可开工

拿到 Spirula Studio:下载安装包或 5 分钟源码编译

目标:让spirula程序在你机器上跑起来。

  1. 新手:从项目 Releases 页面下载对应平台的安装包(Windows / Linux / macOS),解压后双击打开 GUI
  2. AMD / Intel / Mac 用户,或想自己构建的读者:从源码编译 Vulkan 后端
git clone https://gitcode.com/GitHub_Trending/sp/spirula-studio cd spirula-studio bash build_develop.bash -DSS_BACKEND=vulkan

构建脚本会自动完成代码生成与 CMake + Ninja 编译,产物在build_vulkan/spirula;Windows 下改用build_develop.bat。

你应该看到什么:程序启动后进入 Home 界面,有"Open a Dataset"和"Create Dataset from Photos/Video"两个入口;命令行里spirula --help能列出全部子命令。

把照片或视频变成训练数据集 📷

目标:不用 COLMAP,让软件自己完成相机重建。

  1. 把照片文件夹或视频文件直接拖进窗口,软件自动识别输入类型
  2. 视频会自动抽帧(每段窗口保留最清晰的一帧,可选跳过模糊帧)
  3. 等待内置 SfM 完成特征提取、匹配与位姿求解
输入自动处理
照片文件夹特征匹配 + 相机重建,直接生成数据集
视频抽帧挑清晰帧,原生支持 GoPro MAX.360等 360° 格式
现成数据集COLMAP / Nerfstudio / Metashape 格式直接打开

支持的目录布局与识别规则见 docs/datasets.md。

你应该看到什么:左侧面板滚过抽帧、特征、匹配、重建的实时日志,视口里出现稀疏点云和相机视锥线框,界面提示相机注册成功率;一切正常后直接"Open in Trainer"进入训练界面。

启动训练,在视口里看模型实时长出来 🏁

目标:跑完一次最短完整训练。

  1. 预设(Preset)下拉框选3dgs(默认);环绕拍摄的静态物体选centered-object,全景数据选360-camera
  2. Basic Options 保持默认,把Steps(训练步数)调到 2000 左右,首次体验足够
  3. 点击Start Training

你应该看到什么:右侧视口实时渲染,模型从一团模糊逐渐变清晰;左侧折线图滚动显示 PSNR(峰值信噪比,越高表示重建越忠实)等指标。训练结束自动保存 PLY 格式的 Splat 文件和检查点,Viewer 界面可打开自由旋转观看,最多 4 个模型同屏对比。

进阶一瞥:命令行训练、网格导出与远程观看 💻

spirula train --data <数据集目录> # 默认同时启动 Web 查看器 spirula mesh <训练输出> # Splat 转 glb / ply / obj / stl

spirula train在云 GPU 上一样好用:它自带 HTTP 端口的 Web 查看器,用ssh -L端口转发后在浏览器里远程盯训练进度。spirula mesh(GUI 的 Mesh 界面同底层逻辑)把模型转成带顶点色或烘焙纹理的网格,可直接导入 Blender 或 3D 打印机。界面支持 13 种语言,中文用户可在设置中切换简体中文,多语言细节见 docs/i18n.md。

常见坑与处理办法 ⚠️

  • 显存不够:报错提示显存不足。默认量化训练下 8GB 显存通常可训 1000 万高斯,不足说明输入分辨率过高。把 Basic Options 里的 Image resolution 调低一档,或减少cap_max(最大 Splat 数)。
  • 结果比例不对或整体倾斜:场景尺寸失真、倒立。新版数据集模块会读取视频与照片里的 IMU / GPS 遥测元数据恢复真实比例和朝向,重新跑一次数据集创建即可;竖拍照片导致的歪斜,注意 SfM 与训练两次使用相同的--exif-orientation(默认orient)。
  • 360° 全景、鱼眼数据打不开:以为必须先去畸变。其实无需预处理,等距 / 等立体鱼眼与球面全景可直接加载训练,GoPro MAX.360默认自动拆成 10 个透视视角。
  • AI 遮罩卡在模型下载:首次使用会拉取 SAM 分割模型并展示许可条款。无网环境可先不勾遮罩完成训练,之后回来补做。
  • Vulkan 构建失败:Linux / Windows 缺少 Vulkan SDK。先安装 Vulkan SDK 再重跑构建脚本;macOS 的 MoltenVK 由 CMake 自动获取,无需手工安装。

从拍照、拖入窗口建数据集、几分钟训练到导出网格,这条链路你已经全部走通。接下来可以试试:用 AI 遮罩框住路人或车辆,让模型学习"没有它们"的场景;或用 Batch 界面把多段视频排进队列,一次性批量出片。

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

延伸阅读

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