在 Mac 上进行 3D Gaussian Splatting

在 Mac 上做 3D Gaussian Splatting 最简单的方式,是使用像 RadianceKit 这样的原生一体化应用:你导入照片或视频,它就会在你的 Apple Silicon GPU 上完成场景的对齐、训练、编辑和导出——无需命令行,无需 Python,也无需上云。如果你更倾向于免费的开源路线,也可以自行搭建一套命令行流程。本指南将对比每一种方案,并带你走完整个工作流程。

在 Mac 上你需要准备什么

3D Gaussian Splatting 对 GPU 要求很高,因此你需要一台 Apple Silicon 的 Mac(M1 或更新机型)。训练通过 Metal 在 GPU 上运行,这使得 Intel Mac 并不实用。16 GB 统一内存足以从容应对常见场景,更大的内存则有助于处理更大的拍摄数据。你的工具也需要足够新的 macOS——例如 RadianceKit 要求 macOS 26 Tahoe 或更新版本。

你的输入就是对某个物体或空间拍摄的普通照片或视频,拍摄时要保证足够的重叠和稳定的光照。其余的一切——相机对齐、训练和导出——都由软件来处理。

最快的路线:原生一体化应用

原生 Mac 应用消除了 Gaussian Splatting 中最难的部分:环境配置。RadianceKit 在 Apple Silicon GPU 上本地运行整套流程。你把照片或视频拖进去,Apple Photogrammetry 计算相机位置,Gaussian Splatting 训练构建出场景,然后你可以实时浏览并导出它——无需安装 COLMAP、Python 或任何命令行工具,也无需把任何内容上传到云端。

它提供了简易模式(导入、点击开始、得到场景)和专家模式,后者带有 3D 视口、训练检查器、实时损失曲线,以及可交互的编辑器,用于刷除漂浮的杂点。导出格式涵盖 PLY、Compressed PLY、SPZ、glTF、.splat 和 SOG,还支持环绕视频和自包含的网页查看器。如果你想快速拿到结果,并希望所有处理都留在自己的机器上,这是最合适的选择。

免费的开源流程

如果你习惯使用命令行,并且想走零成本路线,可以用开源组件搭建一套流程。COLMAP(或 PyCOLMAP)从你的图像中重建相机位姿,而像 OpenSplat 或 Brush 这样支持 Metal 的训练器则在 Apple Silicon 上执行 Gaussian Splatting。这种方式灵活又免费,但意味着你要自己安装依赖、管理 Python 或构建工具链,并把各个步骤串联起来。

如果你做的是研究、定制化工作流,或者要与自己的代码集成,那就选这条路——而不是用来从几张度假照片里最快地出结果。

用于现有 splat 的查看器

如果你已经有一个 .ply 或 .splat 文件,只需要查看它,那么可以使用 MetalSplatter 这样的专用查看器,它通过 Metal 在 macOS、iOS 和 visionOS 上渲染 Gaussian Splat。查看器不训练场景——它只显示你在别处生成的场景。

完整工作流程,分步详解

  1. 1
    拍摄 — 从多个角度,在光照一致的条件下,对你的拍摄对象拍摄 30–200 张相互重叠的照片,或录制一段缓慢的视频。
  2. 2
    导入 — 把照片或视频载入应用(开源路线则载入 COLMAP)。
  3. 3
    对齐 — 让软件计算相机位置——在 RadianceKit 中用 Apple Photogrammetry,在开源流程中用 COLMAP。
  4. 4
    训练 — 在 Apple Silicon GPU 上运行 Gaussian Splatting 训练,构建出数百万个 3D splat。
  5. 5
    编辑与导出 — 清理掉零散的 splat,然后导出为 PLY、SPZ、glTF、.splat、SOG、环绕视频,或可分享的网页查看器。

Mac 上的 Gaussian Splatting 工具一览

工具类型最适合
RadianceKit 原生 Mac 应用 最快的本地、免配置工作流
OpenSplat 开源命令行工具 免费、跨平台、可脚本化
Brush + COLMAP 开源命令行工具 Apple Silicon 上免费的 DIY 流程
MetalSplatter 查看器 查看现有的 .ply / .splat 场景

结论

对大多数 Mac 用户来说,像 RadianceKit 这样的原生应用是从照片到成品 3D Gaussian Splat 最快的途径——在本地、保护隐私,且无需接触终端。如果你需要一套免费、开放式的配置,又不介意命令行,那么 OpenSplat 或 Brush + COLMAP 流程就是另一种选择。

常见问题

Gaussian Splatting 和 NeRF 有什么区别?

两者都能把照片转换成 3D 场景,但 Gaussian Splatting 把场景表示为数百万个可实时渲染的小型 3D splat,而 NeRF 则把场景存储在一个神经网络中,显示起来较慢。实际使用中,Gaussian Splatting 训练更快、可实时浏览,这正是 RadianceKit 采用它的原因,而且在日常拍摄中它通常看起来更清晰。

Gaussian Splatting 比传统摄影测量更好吗?

它们解决的是不同的问题。传统摄影测量构建带纹理的网格,适合在 3D 工具中进行测量和编辑。Gaussian Splatting 则重建场景的外观——反射、细节、柔和的边缘——用于逼真的实时浏览。如果你想分享一个栩栩如生的 3D 拍摄成果,splatting 通常看起来更好;而如果你需要一个可测量、可编辑的模型,网格仍然是合适的工具。

要得到好的效果需要多少张照片?

对于单个物体,从多个角度拍摄 30–100 张清晰、相互重叠的照片通常就能得到不错的效果;房间和更大的场景则受益于更多照片。一致的光照和足够的重叠比单纯的数量更重要。你也可以录制一段缓慢的视频,让 RadianceKit 从中采样帧。