文献阅读:Recent advances in 3D Gaussian splatting

3 阅读23分钟

一、摘要

The emergence of 3D Gaussian splatting (3DGS) has greatly accelerated rendering in novel view synthesis. Unlike neural implicit representations like neural radiance fields (NeRFs) that represent a 3D scene with position and viewpoint-conditioned neural networks, 3D Gaussian splatting utilizes a set of Gaussian ellipsoids to model the scene so that efficient rendering can be accomplished by rasterizing Gaussian ellipsoids into images. Apart from fast rendering, the explicit representation of 3D Gaussian splatting also facilitates downstream tasks like dynamic reconstruction, geometry editing, and physical simulation. Considering the rapid changes and growing number of works in this field, we present a literature review of recent 3D Gaussian splatting methods, which can be roughly classified by functionality into 3D reconstruction, 3D editing, and other downstream applications. Traditional point-based rendering methods and the rendering formulation of 3D Gaussian splatting are also covered to aid understanding of this technique. This survey aims to help beginners to quickly get started in this field and to provide experienced researchers with a comprehensive overview, aiming to stimulate future development of the 3D Gaussian splatting representation.

3D Gaussian Splatting(3DGS)的出现显著提升了新视角合成任务中的渲染效率。与神经辐射场(NeRF)等依赖位置与视角条件神经网络来表示三维场景的隐式方法不同,3DGS 采用一组高斯椭球体对场景进行建模,并通过将这些高斯椭球体光栅化到图像平面上实现高效渲染。除高速渲染外,3DGS 的显式表示形式也为动态重建、几何编辑、物理仿真等下游任务提供了便利。鉴于该方向发展迅速、相关工作不断涌现,本文对近年来基于 3DGS 的研究进行了系统综述,并按功能大致归纳为三类:三维重建、三维编辑以及其他下游应用。为帮助读者更好理解这一技术,本文同时回顾了传统基于点的渲染方法以及 3DGS 的渲染公式。本文旨在帮助初学者快速进入该领域,并为已有研究基础的学者提供较为全面的研究图景,从而推动 3DGS 表示进一步发展。

文章链接如下:<[2403.11134] Recent Advances in 3D Gaussian Splatting>

二、用于三维重建的 Gaussian Splatting

基于点的渲染

基于点的渲染(point-based rendering)旨在通过渲染离散几何样本来生成逼真图像。早期方法直接将点作为基本渲染单元,每个点通常只影响屏幕上的一个像素。随后,研究者提出以 splat 替代单点进行渲染,即让每个高斯元覆盖多个像素,从而更容易生成无孔洞图像,并显著提升点云渲染质量。

传统点渲染更多关注“在已有几何条件下如何高质量渲染”,而随着隐式表示的发展,研究者开始探索在没有显式几何先验的情况下,仅通过学习方式完成点式重建与渲染。NeRF 便是代表性工作之一,它利用隐式密度场与外观场描述场景,通过沿射线采样并积分得到像素颜色。NeRF 的像素颜色由沿射线的多个采样点共同贡献,通常需要在单条光线上采样大量点,因此训练和渲染开销较大。

相比之下,3DGS 放弃了对每个采样点进行神经网络查询的方式,而是直接优化一组带属性的高斯椭球体,每个高斯包含位置、旋转、缩放、不透明度以及用于表示视角相关颜色的球谐系数等参数。在 3DGS 中,像素颜色由投影到该像素上的高斯椭球共同决定。

质量增强

尽管 3DGS 已能产生较高质量的重建结果,但其渲染效果仍有进一步提升空间。一个突出问题是:当图像采样率发生变化时,例如焦距改变,原始 3DGS 容易出现类似高频高斯形状的伪影,或产生明显膨胀效应。

为解决混叠问题,Mip-Splatting 约束三维表示的频率不超过由训练图像采样率所决定的最大允许频率的一半,并在投影到二维后进一步引入 mip 滤波器,以近似盒式滤波效果,从而减轻锯齿与膨胀现象。MS3DGS 则构建多尺度高斯表示,在不同输出分辨率下选择合适尺度的高斯进行渲染,以获得无混叠结果。Analytic-Splatting 通过更精确地建模像素响应实现抗锯齿;SA-GS 则在推理时根据分辨率与相机距离自适应使用二维低通滤波器。

除了混叠问题,3DGS 对视角相关效应的表达能力也有待提高。原始方法通常使用球谐函数建模视角相关颜色,但在复杂反射、镜面高光等场景中仍显不足。为此: VDGS 使用类似 NeRF 的神经网络预测视角相关颜色与不透明度;Scaffold-GS 在体素网格上学习特征,并通过轻量网络生成高斯属性;Octree-GS 进一步引入层次细节(LOD)策略以增强细节表达。此外,StopThePop 指出原始 3DGS 在逐射线深度排序时,可能通过“弹出式”调整高斯来伪装视角相关效应,导致旋转视角时结果不稳定。该方法改用基于 tile 的局部一致排序,以提升跨视角一致性。

在几何与细节恢复方面,也有一系列增强工作:GaussianPro 通过渐进传播策略,结合邻视图法向一致性与平面约束,引导高斯更合理生长;GeoGaussian 在切平面上对高斯进行加密,并鼓励局部几何平滑; RadSplat 借助训练好的辐射场初始化点云,并以多视图重要性分数剪枝;Spec-Gaussian 采用各向异性球形高斯表示复杂高光与各向异性反射;TRIPS 与 FreGS 分别从特征金字塔与频域正则化角度缓解模糊问题; GES 则通过广义分布增强场景边缘锐度。

此外,一些工作关注训练稳定性与初始化敏感性: RAIN-GS 用较大方差的稀疏高斯初始化,并逐步施加低通滤波,减小小于单像素投影带来的不稳定性;Pixel-GS 在高斯分裂时考虑其在不同视角覆盖的像素数,并结合相机距离缩放梯度,以减少浮点伪影;Bulò 等人的工作也使用像素级误差作为致密化依据,并修改 clone 时的不透明度设定,从而提高训练稳定性。

压缩与正则化

尽管 3DGS 已能实时渲染,但在计算开销和表示冗余方面仍有进一步优化空间。相关研究主要从压缩表示结构正则化两方面展开。

在压缩方面,许多工作采用向量量化思想对高斯属性进行编码:C3DGS 使用残差向量量化表示几何属性,如尺度和旋转;SASCGS 将颜色与几何属性编码到两个码本中,并采用敏感性感知的 k-means;EAGLES 对颜色、位置、不透明度、旋转和尺度进行统一量化,发现不透明度量化还有助于减少浮动伪影;Compact3D 则避免量化位置与不透明度,因为共享这两者会导致高斯过度重叠。LightGaussian 先利用重要性分数进行高斯剪枝,再用基于八叉树的无损压缩方式对位置属性编码,因为位置误差会直接影响后续光栅化精度。基于相似的重要性策略,Mini-Splatting 选择采样而非直接剪枝,以减轻由硬删除导致的伪影。

另一类方法从结构组织入手:SOGS 将高斯属性排列成多个二维网格,并通过平滑正则鼓励局部一致性;HAC 借鉴 Scaffold-GS,以锚点和可学习特征表示场景,并结合多分辨率哈希网格实现特征压缩;还有工作通过聚类识别无用高斯,以同时提升渲染速度和表示紧凑性。

动态三维重建

与 NeRF 一样,3DGS 也可以扩展到动态场景重建。其核心问题在于:如何建模高斯属性随时间的变化

最直接的方法是让每个时间步拥有不同的高斯属性。Dynamic 3D Gaussians 将高斯中心和朝向视为随时间变化的变量,而其他属性保持不变,从而实现基于持久表示的动态跟踪。然而,这种逐帧定义方式缺乏时间连续性,不利于长期稳定跟踪,因此该方法进一步引入短时局部刚性、局部朝向一致性以及长期局部等距等物理约束。

为增强时间连续性并降低存储负担,越来越多工作采用“规范空间 + 形变场”的思想:先学习一个静态规范空间;再通过时间相关的形变场,将规范空间映射到各帧。其中一种主流做法是使用 MLP 隐式拟合形变场。Deformable 3D Gaussians 将位置编码后的高斯中心与时间步输入网络,预测位置、旋转和尺度的偏移量。4D-GS 采用多分辨率六平面(hexplane)表示时空信息,并为不同属性设置紧凑 MLP;训练时先优化静态 3DGS,再学习形变场。GauFRe 则通过对尺度与旋转参数使用特殊变换,提升动态优化的稳定性,并将场景拆分为动态部分与静态部分分别建模。

针对在线动态场景,3DGStream 通过神经变换缓存建模帧间变化,并自适应加入新高斯,以支持实时自由视角视频流。4DGaussianSplatting 更进一步,直接将高斯扩展到四维时空中,再在每个时刻切片成三维高斯进行渲染。

除上述隐式形变方法外,还有一类工作采用显式时间参数化: Katsumata 等 用傅里叶级数建模周期性运动中的位置变化,用线性函数近似旋转;Gaussian-Flow 同时在时域与频域建模属性变化残差,以兼顾平滑运动与剧烈运动;有研究使用时间径向基函数建模不透明度变化,以表达对象的出现与消失;DynMF 则假设动态场景由有限个运动轨迹基组成,每个高斯的运动都可在该基上表示。

此外,还有一些更具整体性的时空建模方法,例如直接在四维空间中定义高斯及其属性,或将长序列切分为多个时间窗口分别建模,再通过重叠帧进行一致性微调。在 D-NeRF 等动态场景基准上,基于 3DGS 的方法通常表现出比 NeRF 系方法更强的优势。这主要得益于 3DGS 显式几何表示更易于建模时序变化,同时其高效渲染能力避免了 NeRF 中对稠密采样和神经场查询的依赖,使自由视角视频等下游任务更具可行性。

面向挑战性输入的三维重建

现有大量 3DGS 方法通常假设输入视角较密集、场景规模相对适中。然而在实际应用中,常常会遇到稀疏视角、缺少相机参数、场景尺度巨大、输入存在模糊或反射等挑战性情况,因此有大量工作开始探索更复杂输入下的 3DGS 重建。

稀疏视角重建

FSGS 是较早面向少视图输入的 3DGS 方法之一。它基于 SfM 初始化稀疏高斯,并通过对现有高斯进行“反池化式”扩展来提升表示密度,同时借助预训练深度估计网络为渲染深度提供监督。

后续的 SparseGSCoherentGSDNGaussian 也都将预训练二维深度估计结果引入稀疏视角重建过程中,有的方法还会删除深度不正确的高斯,并引入 SDS 损失,鼓励新视角结果更合理。GaussianObject 则利用视觉外壳初始化高斯,并通过微调 ControlNet 修复由高斯属性扰动导致的退化渲染结果。

单视图与少视图泛化重建

进一步地,pixelSplat 尝试在没有显式数据先验的情况下,从单视图或图像对直接预测高斯属性;它借鉴 PixelNeRF 的像素对齐特征思想,用神经网络生成高斯表示。MVSplat 将代价体表示引入高斯属性预测网络,以增强少视图下的几何感知能力。SplatterImage 则利用 U-Net 直接将输入图像映射为高斯属性,并可通过视角间 warping 聚合多视图高斯。

大规模与城市场景

在动态城市场景中,PVG 将高斯均值与不透明度建模为与时间相关的函数。DrivingGaussianHUGS 等方法针对自动驾驶场景,分别对静态背景和动态对象建模,并借助 SAM 与 LiDAR 深度辅助重建。StreetGaussians 使用静态 3DGS 表示背景,动态对象通过其位姿跟踪驱动的高斯表示来建模。

面向超大规模城市场景,VastGaussian 根据相机在地面上的分布将场景划分为多个区域,并按可见性逐步加入新视角训练;CityGaussian 也采用分而治之策略,并进一步根据相机与高斯距离引入层次细节渲染。为了支持该类研究,GauU-Scene 提供了覆盖超过 1.5 平方千米的大规模基准数据集。

其他复杂输入

还有不少工作面向更特殊的输入场景,例如:无相机参数图像;模糊图像;非受控图像集合;镜面/反射场景;CT 扫描数据;全景图像;卫星图像。总体而言,这些研究说明 3DGS 正逐步从“标准新视角合成方法”演化为一种更通用、更具适应性的三维重建框架。

三、用于三维编辑的 Gaussian Splatting

几何编辑

在几何编辑方面,GaussianEditor 结合文本提示和语义追踪,实现了基于 3DGS 的三维补全、对象删除和对象组合等操作。Gaussian Grouping 在 SAM 生成的二维掩码和三维空间一致性约束的共同监督下,同时完成开放词汇对象分割与重建,从而支持对象移除、补全和组合等多种高质量编辑任务。Point’n Move 将交互式场景对象操控与遮挡区域修补结合起来,利用 3DGS 的显式表示,将用户提供的二维提示点传播到三维掩码分割上,从而带来更友好的编辑体验。还有工作提出新的高斯分裂算法,以改善移除操作后场景边界模糊的问题。

不过,以上方法大多仍局限于简单编辑,如删除、旋转、平移等。为了支持更复杂的形变编辑,部分工作尝试将 3DGS 与网格表示结合:SuGaR 通过表面对齐正则从 3DGS 中提取显式网格,再基于变形后的网格手动调整高斯参数;SC-GS 学习稀疏控制点以表达场景动态,但面对大幅运动和复杂表面形变时仍存在挑战;GaMeS 将显式网格作为输入,并利用网格顶点对高斯进行参数化,从而支持实时修改;Gao 等 的工作进一步利用网格法向、显式变形梯度等先验,联合优化高斯参数与面片细分,更好地支持大尺度形变;GaussianFrosting 在基础网格外增设一层可局部浮动的,从而保留复杂细节。

总体来看,几何编辑方向的关键趋势是:从纯高斯编辑逐步走向“高斯 + 网格”的混合表示,以弥补纯离散高斯在拓扑控制与大变形表达上的不足。

外观编辑

在外观编辑方面,研究重点主要是:如何在保持多视图一致性的前提下,对 3DGS 场景进行文本驱动或图像驱动的外观修改

一类典型方法是:先在二维图像空间中利用扩散模型和分割模型生成修改后的结果,再将这些修改反向更新回高斯属性。例如,某些 GaussianEditor 相关工作借鉴 Instruct-NeRF2NeRF 的思路,先使用文本驱动图像编辑模型在掩码区域修改图像,然后再优化 3DGS。GSEdit 以纹理网格或预训练好的 3DGS 作为输入,结合 Instruct-Pix2Pix 与 SDS 损失更新外观。为缓解多视图不一致,GaussCtrl 将深度图作为 ControlNet 的条件输入,引导几何一致的编辑;另一些方法则通过多视图交叉注意力机制进一步增强跨视图一致性。

另一条重要路线是对几何与纹理进行解耦:Texture-GS 将几何与外观分离建模,并为表面附近点学习 UV 映射网络,因此可实现纹理绘制与纹理交换;3DGM 也采用代理网格和固定 UV 映射,将高斯存储到纹理图中,从而同时支持动画与纹理编辑。

为了进一步实现纹理与光照的独立控制,研究者开始尝试将材质与环境照明从高斯表示中分离出来:GS-IR 和 RelightableGaussian 为每个高斯引入材质参数,并用可学习环境图近似光照;GIR 与 GaussianShader 沿用类似思路,但为处理反射场景,还增加了法向方向约束;DeferredGS 则引入延迟着色思想,避免高斯在重光照时因几何属性过拟合原始光照条件而产生混合伪影。

物理仿真

在物理仿真方面,3DGS 的显式离散结构天然适合与传统动力学模型结合。

PhysGaussian 将 3DGS 离散粒子云纳入连续介质力学框架,通过高斯核的连续形变实现物理一致的动态渲染。Gaussian Splashing 则将 3DGS 与基于位置的动力学(PBD)结合,统一处理流体/固体动力学、渲染与视图合成。与 GaussianShader 类似,一些方法会给每个高斯附加法向,使其更贴合表面几何,从而提升物理仿真稳定性,并在流体表面反射等效果中获得更真实表现。VR-GS 则进一步面向虚拟现实交互场景,提出具备物理动态感知能力的交互式 Gaussian Splatting 系统,用于实时编辑高保真虚拟内容。Spring-Gaus 将弹簧-质量模型引入动态高斯建模,并从视频中学习质量、速度等物理属性,以支持更接近现实的可编辑仿真。Feature Splatting 还进一步引入语义先验,使对象级物理仿真成为可能。

四、Gaussian Splatting 的应用

分割与理解

开放世界三维场景理解是机器人、自动驾驶以及 VR/AR 中的核心问题。随着 SAM 及其变体推动二维图像分割能力快速进步,研究者开始尝试将 CLIP、DINO 等语义特征融合进 3DGS,实现实时且易编辑的三维语义表示。常见做法包括:利用 SAM 等二维分割模型为多视图图像生成语义掩码;为每个像素提取 CLIP/DINO 稠密特征,再蒸馏到高斯表示中。

例如,LEGaussians 为每个高斯增加不确定性与语义特征属性,并从任意视角渲染带不确定性的语义图,以对齐量化后的 CLIP / DINO 特征。Gaussian Grouping 还利用 DEVA 在不同视图之间传播掩码,以提升二维掩码跨视图一致性,并在高斯层面附加身份编码属性。

几何重建与 SLAM

相比 NeRF 领域已有大量高质量表面重建方法,3DGS 在几何重建方面的研究相对较少。SuGaR 是较早探索从 3DGS 中恢复显式表面的工作,它通过约束“相机到最近高斯的距离”与对应渲染深度保持一致,使高斯更贴近真实表面。NeuSG 将 NeuS 的隐式表面约束引入 3DGS,鼓励高斯的符号距离接近零,并使法向与 NeuS 一致。3DGSRGSDF 等方法也都尝试结合有符号距离场与高斯表示,以增强重建几何质量。DN-Splatter 利用来自设备采集或通用网络预测的深度与法向先验提升重建质量。

还有工作先训练 3DGS 生成双目一致的视图,再用立体深度估计与 TSDF 融合生成网格;2D-GS 则改用二维高斯以获得更精确的光线-高斯交点;Gaussian Opacity Fields 通过将离散高斯转化为连续不透明度场,实现显式表面提取。尽管已有这些探索,但由于 3DGS 本质上仍是离散表示,其几何重建效果目前总体尚未全面超越连续场表示方法。

3DGS 也被广泛用于同时定位与建图(SLAM)。GS-SLAM 通过自适应高斯扩展策略,在训练时动态添加新高斯并删除不可靠高斯。SplaTAM 利用视角无关颜色和致密化掩码,判断新帧中哪些区域需要增补高斯。为提高定位与建图稳定性,GaussianSplattingSLAM 与 Gaussian-SLAM 都引入了高斯尺度正则,鼓励各向同性高斯。LIV-GaussMap 借助 LiDAR 点云初始化高斯,并建立可优化的自适应体素网格。进一步地,SGS-SLAMNEDS-SLAMSemGauss-SLAM 将语义信息引入 SLAM 流程,通过二维分割模型或数据集标签蒸馏语义到高斯表示中。还有工作通过不确定性图改进训练,从而显著提升重建质量。

基于这类 SLAM 所构建的高斯地图,还可高效支持重定位、导航、6D 位姿估计、多传感器标定和机器人操作等任务。总体来看,相比 NeRF 型神经 SLAM,3DGS 型方法借助显式几何和实时渲染优势,在效果与实用性上都更具潜力。

数字人

全身建模目标是从多视图视频中重建可动画的人体。代表性工作包括:D3GA:通过可驱动高斯与四面体笼实现可动画人体头像;SplatArmor:使用两个 MLP 分别预测大尺度运动与细节动态;HuGS / HUGS:结合线性混合蒙皮、局部细化与三平面表示,实现实时人体新视角合成;HiFi4G:结合双图机制和高斯表示,在更紧凑的表示中保持时空一致性;GPS-Gaussian:以像素级方式直接回归高斯参数,实现无需微调的实时人体新视角合成。此外,还有面向更广义可动体(如动物)的 GART,以及结合模板参数化、姿态投影、UV 空间学习等思路的多种方法,用于进一步提升服装褶皱、配饰等高频细节建模能力。

头部建模方面:MonoGaussianAvatar 首次将 3DGS 引入动态头部重建;PSAvatar 使用 Flame 显式人脸模型初始化高斯;GaussianHead 结合三平面与运动场,建模连续表情变化;GaussianAvatars 将高斯绑定到显式人脸网格上,以增强表情可控性;Rig3DGS 引入可学习形变以支持泛化到新表情和新头姿。还有一系列工作将 3DGS 推向更高效率,如 FlashAvatar 达到约 300 FPS,或结合超分网络提升头像分辨率。

除全身与头部外,研究者也开始关注手和头发等更细粒度部件。比如:3D-PSHR 将 MANO 手部先验与 3DGS 结合,实现实时手部重建;MANUS 探索手-物交互;GaussianHair 结合发丝散射模型与实时渲染框架,实现复杂头发几何与外观建模,并支持编辑与重光照。

三维/四维生成

DreamGaussian 用 3DGS 替代 DreamFusion 中的 Mip-NeRF 表示,并用 SDS 损失优化高斯。由于 3DGS 的分裂机制天然适合生成过程中逐步细化结构,因此显著提高了文本到三维生成效率。为提升最终质量,该方法还会从生成出的 3DGS 中提取网格并细化纹理。

为缓解“多面像(Janus)问题”,一些工作引入三维先验,如:GSGEN 将 Point-E 的 3D SDS 引入优化;GaussianDreamer 结合 2D 与 3D 扩散模型,先由 Shap-E 生成初始点云,再用 2D SDS 优化;某些方法通过微调多视图扩散模型,直接联合生成多视图图像,以改善多视图一致性。

此外,还有不少方法探索:从单图像直接生成 3DGS;先通过多视图生成网络生成图像,再训练 3DGS;引入三平面、体素、高斯立方等混合表示;加入边缘、深度、法向、草图等控制条件。

在 4D 生成方面,已有初步探索:AYG 通过静态 3DGS + 形变网络完成文本到 4D 生成;DreamGaussian4D 先从参考图像生成静态 3DGS,再结合视频扩散结果学习动态形变;4DGenEfficient4D 等方法则利用多视图视频作为伪监督训练动态 3DGS。不过,当前 4D 生成结果在几何真实性、外观一致性与物理合理性上仍有明显改进空间。

五、发展方向

更鲁棒、更具泛化能力的新视角合成

尽管 3DGS 已能实现高质量重建,但面对稀疏视角、复杂光照、大规模场景等挑战性输入时,其重建质量仍会下降。如何使 3DGS 在不同输入条件下都保持稳定,是一个重要问题。进一步地,若能发展出无需大量数据先验、或能跨场景泛化的统一重建框架,将大幅降低训练成本。

更高质量的几何重建

当前只有少量方法专门研究 3DGS 的几何/表面重建。相较连续隐式场,3DGS 的离散属性使得精确表面恢复仍面临挑战。

独立且高效的三维编辑

现有编辑方法在几何、纹理、光照等维度的解耦仍不充分,且常常需要重新优化高斯属性,因此尚未真正实现高效、独立、可控的编辑流程。未来一个有前景的方向是:结合更先进的渲染技术与网格表示,构建支持几何/材质/光照分离的 3DGS 编辑框架。

更真实的四维生成

当前 4D 生成方法在几何、外观和物理运动一致性方面仍不理想。融合视频生成先验、物理规律以及更强的多视图时序约束,可能是提升真实感的关键。

更广泛的平台支持

目前大多数 3DGS 实现都基于 Python、PyTorch 与 CUDA,这在一定程度上限制了其在更广泛平台上的部署。未来若能在 TensorFlow、Jittor 或更底层图形/推理框架中实现,将有利于其工业级推广。

六、笔者思考

论文发表于2024年4月。