跳到主要内容
返回博客

技术入门

从照片到可漫游的三维空间:理解 3D Gaussian Splatting

照片留下一个观看位置的画面。三维重建则试着把不同位置的观察联系起来,让我们能够换个位置,重新看见同一个空间。

MakeWorlds 团队 ·

近处墙面、中部座椅与远处门洞形成前后层次的暖色室内空间
墙面、座椅与门洞之间的前后关系,让一幅平面画面具有空间感。

想象你站在一间房间的门口:椅子挡住了一部分地面,墙角后还藏着另一段走廊。向旁边迈一步,椅子和门框在视野中的相对位置会改变,原先被挡住的地方也可能露出来。我们对空间的理解,很大一部分就来自这样的观察变化。

三维重建希望把这种观看方式带到屏幕里。3D Gaussian Splatting,通常简称 3DGS,是其中一种场景表示与绘制方法。理解它,可以先从三个问题开始:照片怎样建立联系、场景怎样被表示,以及新的画面怎样产生。

照片之间,藏着空间线索

单张照片把三维空间投影成二维画面。照片里的一个小物体,可能确实很小,也可能只是离相机很远。仅凭这一张图,许多不同的空间安排都能产生相似的外观。多角度拍摄的价值,在于为同一个场景增加观察依据。

例如,门框的一角、桌面的纹理或墙上的图案,可能同时出现在几张照片中。系统寻找这些共同可见的内容,并结合成像关系,估计拍摄时相机的位置、朝向与场景中的一些空间点。这类过程通常称为“运动恢复结构”,英文简称 SfM。

这也解释了为什么“拍得多”不等于“信息足够”。如果一直站在原地转动相机,或反复拍摄同一个角度,新增照片未必提供足够的深度线索。更有价值的是从不同位置观察,同时让相邻照片保留共同内容,使这些观察能够连接起来。

得到相机关系和初步空间结构,只是建立了后续表达场景的基础。它还不是一幅细节完整、可以从任意方向观看的成品。接下来,需要一种能够表达外观、并根据观看位置生成画面的三维表示。

用柔和的小单元表达场景

传统网格通常用相连的三角形描述物体表面,再结合材质形成画面。3DGS 采用另一种表示:在三维空间中布置许多具有位置、形状、方向、透明程度和颜色信息的高斯单元。它们共同描述场景的外观。

“高斯”描述的是一种从中心向外逐渐减弱的分布。为便于想象,可以把单个单元看作没有硬边界的柔和椭球,而不是一颗实体小球。从某个方向观看时,它会在画面上形成边缘渐淡的投影。

绘制画面时,许多这样的投影按可见关系共同贡献颜色,叠加出物体轮廓与细节。下面的动画以杯子为例,展示三维高斯基元如何投影并合成为画面。

这些单元并不是手工逐个摆放的。训练时,系统把生成的画面与输入照片进行比较,并逐步调整场景表示,让多个观察方向都尽量吻合。于是,“训练”可以理解为反复校正一份三维场景描述,而非简单保存一组照片。

移动视角,重新计算可见的画面

观察位置确定以后,系统就能计算场景中的单元怎样投影到屏幕上。向左移动、靠近主体或抬高视角,都会改变投影的位置、大小与相互遮挡关系。屏幕上的画面因此重新生成,而不是从相册里挑一张最接近的照片。

可以伸出一根手指,先后闭上左眼和右眼:手指相对远处背景的位置会发生变化。相机在空间中移动时,也会观察到类似的相对位移,这就是视差。近处与远处内容的变化不同,是空间感的重要来源。

俯视图中,A 位置到背景物体的视线被立柱阻挡,B 位置到同一物体的视线绕过立柱
前景立柱背景物体俯视观察同一场景:在 A 处,立柱挡住背景物体;移到 B 处,视线绕过立柱。这说明位置变化怎样改变遮挡关系。

这与在单张全景图中转头观看不同。单张全景通常记录一个拍摄位置周围的方向;三维场景则允许改变观察位置,并重新计算前后关系。但能移动视角,不代表所有位置都有同样可靠的画面:输入素材没有观察到的区域,仍然缺少重建依据。

画面有多可信,要回到拍摄现场

如果一张桌子只拍了正面,绕到背面时就可能看到缺失或不稳定的细节。如果几张照片都因抖动失去纹理,增加训练时间也不能保证恢复原本没有被清楚记录的信息。重建质量依赖素材提供的依据,而不只是处理过程的长短。

拍摄时,先围绕主体形成连贯覆盖,再补充需要近看的局部;尽量保持画面清晰、光照稳定,也留意经过的行人和移动物体。玻璃、镜面和缺少纹理的大面积表面,需要更谨慎地检查结果,不宜仅凭一个漂亮角度判断成功。

检查时可以沿预期的观看路线缓慢移动,观察轮廓是否稳定、遮挡是否合理,以及原先被遮住的区域是否完整。视觉逼真也不自动等于尺寸准确或具备碰撞表面。测量、人物行走和工程分析各有额外的数据与验证要求,不能仅由一段顺畅的漫游推出。

从理解原理,到制作第一个场景

回到创作本身,可以把过程理解为:采集互相连接的观察,建立空间关系,形成场景表示,再从不同位置检查结果。每一步都为下一步提供依据。发现局部问题时,也就更容易判断应当补拍素材、调整观看范围,还是继续整理场景。

MakeWorlds Studio 围绕影像输入、重建、检查与整理组织创作流程。准备第一组素材时,可以先从一件静止、便于绕行的物品或一处小空间开始;在考虑更复杂的场景之前,先学会把一次完整的观察带进三维空间。