我们需要这样的一个 cli 程序:
能够使用输入图片训练3D高斯模型
能够利用图片中的拍摄信息,输出的模型是与现实中尺寸位置完全对应的
输出有 LOD 的模型。
分块生成,以分块加载和利用有限硬件资源训练任意大的模型
gsplat
这是一个很主流的工具,但是目前 (2026.7.25)它的官方预编译轮子是不能在 50 系显卡上面跑的。
费了九牛二虎之力也没编译出来。
让AI试了一下,每次都会回退到CPU,根本不能使用。
LichtFeld-Studio
LichtFeld-Studio 是个开源的,有图形界面的高斯泼溅建模软件。看到一个帖子说手动编译的能够支持50系显卡。
像这种又是C++又是Python的东西,在我本地还从来没有编译出来过,如果能编译出来的话,虽然它不是 Cli 的,但毕竟源码我都能动,可以拿来用。
而且可视化也有可视化的好处,先前测试 gsplat 的时候就存在可视化的问题。
于是我决定让 AI 试一试能不能编译出来。
Codex 不负众望,编译了一天,编译出来了。
魔改
然后我在 LichtFeld-Studio 原本的基础上做了一些修改:
增加了预装插件这个东西,将一个生成数据集的插件作为预装插件。
删除了不必要的东西。
切块和优化建模
社区里面有一个使用 colmap 对齐照片生成数据集的插件,我将这个插件作为预装插件,直接编译进安装包,这样就可以直接输入图片建模了。
但众所周知图片对齐是一个很费时间的事情,需要两两照片匹配。图片越多,越费时间。还很难与现实中的尺度对齐。
又众所周知,无人机拍摄的图片中是由 EXIF 信息的,我这里包括了 拍摄点经纬度、高程、云台角度信息以及视口正中心的经纬度和高程。
于是就有了基于 EXIF 的分块算法:

这样一来,时间复杂度就变为了线性的,只要时间够多,建一个城市也是完全可以做到的。
同时 colmap 的对齐只在EXFI的基础上做微调,对齐也会相当迅速。
分块都建完之后会合并和裁剪,交界处会栅格评估,取质量更好的分块建的模型:

陶片化
一个几百万点的高斯模型在现代计算机面前,即使是浏览器的地图上也是可以轻松渲染的。
但一张地图上往往不止有一个几百万点的模型,而且很多时候并不会近距离观察,不需要将这几百万点都渲染出来。
于是就需要做一些小优化了。
说到地图,那优化就是 陶片化 + LOD 了, 陶片化把大模型拆成很多小模型,LOD 在不同距离加载不同清晰度的模型。
3DGS-PLY-3DTiles-Converter 可以很好的做到这一点,它是一个 nodejs 的 cli 工具。
于是再增加一个插件,这个插
件将 Nodejs 和 各种需要的依赖都打包进去,可以做到安装好软件就能直接使用。
在前端就直接使用 3D-Tiles-RendererJS-3DGS-Plugin 来渲染到地图上。
自动化
目前各种要素齐全,但仍然需要手动操作,我希望软件启动后能自动在我的某平台上拉取任务。
得益于 LichtFeld-Studio 强大的插件系统,于是又写了一个插件,会连接服务器取任务,然后自动下载媒体,调用各个插件和软件本体重建,自动上传结果。

