高斯泼溅与摄影测量:该选哪一个?
通俗讲清高斯泼溅和摄影测量的区别:两者如何把照片变成 3D、NeRF 处在什么位置,以及什么时候该用网格、什么时候该用逼真的高斯场景。
一分钟看懂高斯泼溅与摄影测量
两种方法的起点一样:对一个主体拍很多张相互重叠的照片或一段视频,软件算出每张照片的拍摄位置。之后它们构建的东西不同。
- 摄影测量构建几何:一个多边形网格(由三角形组成的表面),外面贴上纹理图片。
- 高斯泼溅构建外观:大量细小、柔和、半透明的高斯,经过优化后,从任何角度看都和你的照片一致。
所以真正该问的不是“哪个更好”,而是“你要拿结果做什么”。如果需要能测量、能 3D 打印、能放进游戏引擎的表面,摄影测量更稳妥;如果想要一个走动浏览时看起来像真实现场的场景,高斯泼溅通常更自然。
摄影测量是怎么工作的
摄影测量软件会在照片中寻找有辨识度的特征,比如一个拐角、一块污渍或一种花纹,在多张图片间匹配,并连同相机位置一起三角测量出它们的 3D 坐标。接着为更多像素估算深度,生成稠密点云,再转成网格,最后把照片投影到网格上作为纹理。
它输出的是常规 3D 数据。导出为 OBJ、FBX 或 glTF 的带纹理网格,可以在 Blender 和大多数 3D 软件里打开。Agisoft Metashape 这类专业软件走得更远:其专业版还提供数字高程模型、带地理坐标的正射影像等测绘成果,以及测量距离、面积和体积的工具。因为结果有真实表面,在正确设定比例后就可以测量、3D 打印、在游戏中做碰撞,或者重新打光。
摄影测量的短板
摄影测量最适合静止、哑光、纹理丰富的主体。下面这些情况会让它吃力。
- 反光、透明和单调的表面。反光会随相机移动而变化,软件找不到稳定的匹配点。苹果 Object Capture 的拍摄指南明确建议避开高反光、透明或半透明的物体,以及纯色或非常光滑的表面。
- 细小和毛绒的细节。头发、毛皮、树叶和线缆很难变成干净的表面,常常出现坑洼、破洞或直接缺失。
- 光照被“烘焙”进纹理。纹理会保留拍摄时的光线和阴影。Agisoft 甚至专门提供了一个免费工具 Texture De-Lighter,用来去除模型纹理上的阴影。不做这类额外处理,网格可能显得发平,随视角变化的光泽也会丢失。
高斯泼溅是怎么工作的
高斯泼溅出自 Bernhard Kerbl、Georgios Kopanas、Thomas Leimkühler 和 George Drettakis 在 2023 年 SIGGRAPH 上发表的论文。它沿用运动恢复结构(常用 COLMAP)得到的相机位置和稀疏点,在每个点放一个 3D 高斯,然后不断调整每个高斯的位置、形状、不透明度和颜色,直到渲染结果与照片吻合。训练中会在细节不足处增加高斯,删掉几乎透明的高斯。论文测试的场景最终大约有 100 万到 500 万个高斯。
颜色用球谐函数存储,所以每个高斯从不同方向看会略有不同。这就是高斯场景能还原一部分随视角变化效果的原因,比如光滑表面上随视角滑动的高光,这是一张固定纹理做不到的。树叶、头发等细节通常也比网格里更柔和自然。不过高斯泼溅对镜子、玻璃和拍摄时移动过的东西同样吃力,认真拍摄依然必不可少。
NeRF 处在什么位置
神经辐射场(NeRF)在 2020 年提出,更早处理了类似的问题。NeRF 把场景存放在神经网络里,渲染时沿每条相机光线采样许多点。画质可以很好,但渲染很慢。
3DGS 论文给出了具体数字:在 Mip-NeRF 360 数据集上,Mip-NeRF 360 方法训练约 48 小时,渲染约每秒 0.06 帧;在作者的测试硬件上,高斯泼溅训练约 41 分钟,渲染约每秒 134 帧,画质相当。
对今天的大多数创作者来说,实际要选的是摄影测量还是高斯泼溅。NeRF 更像是让“辐射场”这一思路流行起来的研究前身。
真实感与实用性:客观对比
很容易说高斯场景“更快”,但这并不准确。做好的摄影测量网格渲染起来同样很快,游戏每时每刻都在实时绘制网格;高斯泼溅也是为实时渲染设计的。真正的区别在于两种结果各自擅长什么。
- 真实感:高斯场景通常更好,尤其是树叶、细节,以及光泽、柔和反光等随视角变化的效果。
- 实用性:凡是需要表面的工作,网格更合适,包括测量、3D 打印、物理与碰撞、重新拓扑,以及常规游戏或 CAD 流程。
- 兼容性:网格几乎到处都能打开;高斯场景需要支持它的查看器或编辑器。
- 编辑:网格可以雕刻和重新建模;高斯场景可以裁剪和清理,但不能像模型那样改形状。
- 处理时间:两者都很大程度上取决于照片数量、分辨率和硬件。
有些工具能把高斯场景转成网格,但转出的网格通常会失去随视角变化的观感和柔和细节。如果两种结果都需要,拍一次,用同一组照片分别处理即可。
到底该用哪个?
按用途来选。
- 需要测量、3D 打印、带碰撞的游戏资产、要在 Blender 里继续编辑的模型,或测绘交付物:选摄影测量。
- 想要逼真的房间或房产漫游、可在浏览器里转动查看的产品、对某个地方的留存记录,或用于社交媒体的环绕视频:选高斯泼溅。
- 两者的拍法相同:充足的重叠(苹果建议相邻照片至少重叠 70%)、柔和均匀的光线、主体保持静止。
用 SplatLoom 试试高斯泼溅
如果想在不把照片传到任何地方的前提下试试高斯泼溅,SplatLoom 是一款支持 Mac(Apple Silicon,macOS 15 及以上)和 Windows 10/11 x64 的桌面应用。它把相互重叠的 JPG/PNG 照片或 MP4/MOV 视频完全在你自己的电脑上生成 3D 高斯场景,不上传、不需要账号,也没有云端处理。
选择照片或视频,点“生成”即可。之后可以用方框或球形裁剪、矩形框选、一键清理尖刺和撤销/重做来整理场景,并导出高斯 PLY、PNG 静帧、12 秒 1080p MP4 环绕视频,或可离线打开的独立 HTML 查看器。它内置 COLMAP 计算相机位置、Brush 在本机显卡上训练高斯、PlayCanvas 作为查看器,不需要配置 Python 或命令行。常见的照片组是 30 到 150 张相互重叠的照片。在我们的测试中,一段 13 到 20 秒的手机视频在 Apple M5 Pro MacBook 上从头到尾处理约 9 到 14 分钟。
SplatLoom 一次性买断价 19.90 美元,包含 Mac 和 Windows 安装包,没有订阅,也没有点数;如果在你的电脑上无法运行,7 天内可退款。既然本文讲的是如何选择,也说清楚:SplatLoom 生成的是高斯场景,不是网格。它不是 CAD 或测量工具,Windows 版的显卡支持也比 Mac 版推出得晚。
常见问题
高斯场景能转成网格吗?
有些工具可以,但结果通常会失去逼真的、随视角变化的观感。如果你需要网格,更好的做法是用摄影测量软件处理照片。SplatLoom 不导出网格。
摄影测量和高斯泼溅哪个更快?
做好之后两者都能实时浏览:网格渲染效率很高,高斯泼溅也是为实时渲染设计的。处理时间都取决于照片数量和硬件。在我们的测试中,SplatLoom 在 Apple M5 Pro MacBook 上把一段 13 到 20 秒的手机视频处理成高斯场景约用 9 到 14 分钟。
同一组照片能两种都做吗?
可以。两者都从已知相机位置的重叠照片出发,一组拍得好的素材两种方式都能处理。
做高斯场景必须用云服务吗?
不必。桌面工具可以在本地完成。SplatLoom 在你自己的 Mac 或 Windows 电脑上处理全部内容,不上传、不需要账号。
参考资料:https://arxiv.org/abs/2308.04079 · https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/ · https://arxiv.org/abs/2003.08934 · https://developer.apple.com/documentation/realitykit/capturing-photographs-for-realitykit-object-capture · https://www.agisoft.com/features/professional-edition/ · https://www.agisoft.com/downloads/installer/
在 SplatLoom 中试试