捕捉超写实主义:使用 Gaussian Splatting 制作草莓的艺术与科学

A 艺术家 Dany Bittel 最近的一个项目引起了 Hacker News 技术社区的关注,展示了一个细节惊人的草莓 3D 重建模型。这并不是由多边形和纹理组成的传统 3D 模型;相反,它是一个“Gaussian Splat”,一种体积渲染方法,能够在捕捉微小且复杂的有机表面时达到前所未有的照片级写实度。

技术蓝图

实现这种级别的细节需要严谨的捕捉过程。Bittel 的设置旨在消除通常困扰 3D 重建的变量。用于草莓 splat 的硬件和软件流水线包括:

  • Camera & Lens: 使用 Nikon Z8 全画幅相机搭配 Laowa 180mm macro lens,以实现极端的特写细节。
  • Lighting & Environment: 使用 LED 照明和蓝幕来将主体从背景中分离出来。
  • Capture Volume: 主体从 90 个不同的视角进行拍摄。
  • Focus Stacking: 这可能是过程中最密集的部分——那 90 个视角中的每一个都由 88 张堆叠对焦(focus-stacked)图像组成。这确保了整个物体在深度范围内始终保持清晰对焦,克服了微距摄影中固有的浅景深问题。
  • Processing Pipeline: 场景使用 COLMAP 进行相机位置追踪,并使用 slang-splat 进行训练。

理解 Gaussian Splatting

对于接触这项技术的新手来说,Gaussian Splatting (3DGS) 是一种将 3D 场景表示为数百万个重叠、半透明 3D 高斯分布(本质上是“splats”)的集合的方法。与定义表面的传统网格(meshes)不同,splats 表示的是空间中的颜色和不透明度密度。

这种方法允许捕捉复杂的的光影交互和难以通过手动建模实现的精细细节。然而,正如社区成员所指出的,这项技术也有其独特的特性。用户 @Tade0 观察到,Gaussian splats 的降级方式非常优雅:

"What I love about gaussian splats is the way they degrade - instead of a hard cutoff or LoD changing spheres into cubes etc., they get increasingly 'dreamy' - the basic idea is still there, just less detailed."

技术辩论与未来方向

草莓项目引发了关于 3DGS 效率和局限性的几场高层级技术讨论。

Focus Stacking 的作用

社区中的一个争论点是 focus stacking 的必要性。用户 @zokier 质疑 focus stacking 是否是一个必要的预处理步骤,或者图像中未对焦区域的固有模糊是否实际上可以为 3DGS 算法提供可利用的深度数据。人们担心 focus stacking——这并非一个完美的过程——可能会引入伪影,进而使这些伪影在 splatting 过程中不断累积。

压缩与优化

随着草莓 splat 的保真度增加,文件大小也随之增加。这引发了关于尖端压缩技术的讨论。文中提到了“Self-Organizing Gaussians”作为在不牺牲视觉质量的前提下,减少高细节场景下载大小的一个潜在路径。

现实世界应用

社区预想了该技术的几种变革性应用:

  • Mapping: 在 Google Maps 或 Google Earth 等工具中,用高保真度的 splats 取代低分辨率的 3D 渲染。
  • Gaming: 一个未来的愿景,游戏世界由现实世界的场景设计师通过将物理场景“扫描”成数字环境来创建。
  • Microscopy: 将 3DGS 与显微镜技术结合,以实现 3D 可视化生物结构。
  • Virtual Events: 使用动画化的 Gaussian splats 让用户能够在实时 3D 环境中自由地移动,例如在音乐会舞台或人群中。

当前局限性

尽管视觉效果惊人,但这项技术并非没有障碍。用户指出,虽然 splats 在远处看起来很棒,但当缩放得太深时,它们会“坠入悬崖”(fall off a cliff)。此外,关于动态光照——即在捕捉后改变场景光照的能力——的问题仍然是当前 3DGS 状态下的一个重大挑战。此外,准入门槛仍然很高;许多用户报告称,相机追踪和重建的软件对于普通创作者来说仍然不够直观。

Sources