news 2026/10/23 4:17:34

Spirula Studio:8G 显存训千万级高斯、不装 Python 的 3D Gaussian Splatting 训练器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spirula Studio:8G 显存训千万级高斯、不装 Python 的 3D Gaussian Splatting 训练器

Spirula Studio:8G 显存训千万级高斯、不装 Python 的 3D Gaussian Splatting 训练器

【免费下载链接】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(3DGS)训练器:从原始照片或视频到 splat,再到带纹理网格,全部在单个自包含二进制里完成。不依赖 Python、不装 COLMAP,NVIDIA、AMD、Intel、Apple 显卡都能训练,8GB 显存可容纳千万级高斯模型。它是环境成本几乎最低的一档 3DGS 训练工具,面向想少折腾、多出结果的开发者与创作者。

🎥 不装 Python 的 3DGS 训练:从原始视频一步到带纹理网格

传统 3DGS 流程里最耗时的往往不是训练本身,而是依赖链:抽帧靠 ffmpeg,稀疏重建靠 COLMAP,遮罩靠另跑 SAM 脚本,网格化还要再换一套工具。Spirula Studio 把这些环节全部收进了同一个二进制。

抽帧直接走 GPU 视频解码队列,比外挂 ffmpeg 的路径快约 15 倍——一条 127 秒的 1080p30 素材大约 10 秒出帧,机器上不用装 ffmpeg(由编译开关-DSS_ENABLE_PATENTED=ON打开)。AI 遮罩调用内置的 SAM 模型抠掉人、车等动态物体,权重在 GUI 首次使用时才拉取并缓存。稀疏重建是自研的 src/sfm/ 管线:把一批图片喂进去,吐出的就是 COLMAP 兼容的sparse/模型,spirula sfm auto只靠--quality和--data-type两个旋钮跑完全程;训练结束后 splat 还能直接转成带纹理网格。

以上环节 GUI 和 CLI 都能触达。在云端 GPU 上远程训练时,spirula train默认会起一个 HTTP 端口挂 viewer,ssh 转发之后用浏览器就能盯训练进度。

Vulkan 默认:四种 GPU 厂商共用一套设备代码

3DGS 训练工具长期绑定 CUDA,AMD、Intel 用户基本无解。Spirula Studio 的做法是把后端做成可替换件:引擎层只面对一组统一的 kernel 启动声明,CUDA 与 Vulkan 各自实现同一套设备 kernel;投影、球谐、splat 基元这类共享数学只写一份、编译两次(一次到 CUDA 头、一次到 SPIR-V),两套后端的数值因此始终对齐。

VulkanCUDA
GPU 支持NVIDIA、AMD、Intel、Apple SiliconNVIDIA
平台Windows、Linux、macOSWindows、Linux
附加能力原生 SfM、GPU 视频解码、AI 遮罩遗留路线,训练与网格化功能一致

两个后端的训练和网格化能力完全一致,速度差异通常在几个百分点内,个别场景 Vulkan 显存还略省。macOS 上 MoltenVK 默认静态链接,打包出双击即用的.app和.dmg,不装任何依赖。想自己编译的话一条命令起步:bash build_develop.bash -DSS_BACKEND=vulkan,抽象层的设计和各驱动的取巧处理都写在 docs/backends.md。

8G 显存装下千万高斯:量化训练省下的显存去哪了

高斯模型的参数越堆越贵:千万级高斯如果按浮点存储高次球谐,中端显卡直接爆显存。Spirula Studio 的答案是量化训练——高斯参数与 SH 系数压到低精度存储,8GB 显存塞下 1000 万个 SH3 高斯,消费级显卡也有机会跑大场景。

质量侧还有三件事:稠密化策略综合了 MCMC、IGS+、MRNF 三者的长处,结果更锐、floating 更少;鱼眼与 360° 相机是原生支持,等距柱状数据集免校正直接训;改造过的 bilateral grid 加 PPISP 负责曝光与白平衡修正,不引入常见的色偏和发暗。显存还紧张时可以开渐进式分辨率:以 3 万步为例,前 3000 步用 1/4 图尺寸、中间 3000 步升到 1/2、剩下全程全尺寸,粗形状花小钱定型,把全分辨率的时间留给细节。

🧩 3D Gaussian Splatting 碰上弱纹理:LoMa 匹配与度量尺度

SfM 最常见的两个翻车现场:纹理重复、光照剧变时特征匹配崩掉;以及重建出来的场景忽大忽小、整体歪斜。前者是经典特征在弱纹理区没有判别力,后者源于 SfM 天然只有尺度不变性。

匹配侧的答案是 LoMa(src/loma/):DaD 关键点、DeDoDe 描述子、LoMa 匹配器三个网络全跑在纯 Vulkan 推理上,没有 onnxruntime 和 PyTorch。用法是在原命令上加一组参数,spirula sfm --features loma-b128 --matcher loma-b128;loma-b128 是唯一整套模型约 130MB 的变体,其余 256 维描述子版本要拖一个 1.29GB 的 checkpoint。尺度侧,数据集创建模块会解析常见视频和图片容器里的遥测元数据(GPS、IMU 等),恢复真实尺度与朝向——无人机、车载素材受益最大,重建结果从此和现实世界对齐。

13 种语言离线可用:语言目录与 CJK 字体全内嵌

开源 GUI 工具的本地化,最常见的翻车姿势是"文案翻译了,显示却是一屏方框"——CJK 字体没跟着走。Spirula Studio 把字体当一等依赖:每个构建内嵌 5 个字面共 3.3MB,其中 4 个 CJK 字面按地区国标覆盖常用字(GB 2312 一级 3755 字、Big5、JIS X 0208、2350 个谚文音节等),159KB 的 Latin 字面还额外覆盖拼音、越南语和整套西里尔字母。

因此英语、日本語、简繁中文、한국어、Deutsch、Français、Español、Português、Italiano、Nederlands、Русский、Türkçe 共 13 种语言全部离线正确渲染,语言选择界面也不例外——那是读不懂当前界面的用户最先看到的一屏。构建时用SS_DEFAULT_LANG指定无语言环境下的落地语言,SS_FONT_CJK决定完整 CJK 字体包的交付方式,细节见 docs/i18n.md。

Spirula Studio 的定位一句话:不让你准备环境的单二进制 3D Gaussian Splatting 训练器,视频进、网格出。上手最快的路子是去 Releases 页面拿对应平台的二进制双击打开;想翻代码的,clone 仓库后从 docs/ 里的教程看起。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/23 4:12:20

JDK11 Windows64免安装版环境配置与多版本共存实践

简介:JDK11 Windows 64位压缩免安装包面向需要在Windows环境下快速搭建Java开发或运行环境的开发者,尤其适合个人学习、多版本JDK并存以及缺少系统安装权限的场景。压缩包共423个文件,约171.44MB,包含dll动态库、jmod模块、exe可执…

作者头像 李华
网站建设 2026/10/23 4:11:28

第二章 潜在应用场景拓展:大模型渗透万物的未来图景

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 4:07:57

AI之Books:《语言之舞:大语言模型应用实战全书》新书预告—我用68万字熬出38万字,只为让你少走弯路——<语言之舞>上市小作文

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华