论文题目
3D Gaussian Splatting: Survey, Technologies, Challenges, and Opportunities
摘要
3D高斯泼溅(3DGS)已经成为一种突出的技术,有可能成为3D表示的主流方法。该算法可以通过高效的训练,将多视图图像有效地转换成显式的三维高斯表示,实现新视图的实时渲染。本调查旨在从多个交叉的角度,包括相关的任务、技术、挑战和机遇,分析现有的3d打印相关工作。主要目标是为新手提供对该领域的快速理解,并协助研究人员有条不紊地组织现有技术和挑战。具体来说,我们深入研究了3DGS的优化、应用和扩展,并根据它们的关注点或动机对它们进行了分类。此外,我们对现有工作中发现的九种技术模块和相应的改进进行了总结和分类。基于这些分析,我们进一步研究了各种任务中的共同挑战和技术,提出了潜在的研究机会。
欢迎加入自动驾驶实战群
1介绍
神经辐射场(NeRF)的出现已经点燃了对追求逼真3D内容的相当大的兴趣。尽管近年来NeRF技术取得了长足的进步,显著提高了其实际应用的潜力,但其固有的效率挑战仍未得到解决。3D高斯溅射(3DGS)的引入果断地解决了这一瓶颈,实现了1080p分辨率下的高质量实时(≥30 fps)新视图合成。这一快速发展迅速引起了研究人员的极大关注,并导致了相关工作的激增。
由于3DGS的效率和可控的显式表示,它的应用扩展到各种领域。其中包括增强虚拟现实(VR)和增强现实(AR)的沉浸式环境,提高机器人和自主系统的空间意识,电影和动画中的先进视觉效果,以及城市规划和建筑等。
为了帮助读者快速掌握3DGS的研究进展,我们对3DGS及其下游任务进行了全面的概述。本调查系统地汇编了关于该主题的最重要和最新的文献,提供了详细的分类和讨论他们的重点和动机。然而,我们发现在不同的任务中不可避免地会提到相当数量的类似技术。因此,我们进一步总结和分类了3DGS的各个技术模块,如初始化、属性设置、正则化等。基于此在技术总结中,我们旨在帮助读者阐明不同技术之间的联系,并增强3DGS的各个组件以满足他们的定制任务。此外,我们研究了3DGS中各种下游任务和技术之间的相互关系,系统地描述了四个主要挑战,以促进该领域的未来研究。最后,我们强调了现有研究的局限性,并提出了解决核心挑战和推进这一快速发展领域的有希望的途径。
虽然已有一些研究总结了3DGS的最新进展[1],[2],[3],但我们的目标是对3DGS的相关任务和技术进行系统讨论和细粒度分类,并分析它们之间的共性和挑战,如图1所示。
具体而言,本调查的主要贡献如下:
1)本调查讨论了3DGS及其各种衍生产品任务,包括3DGS的优化、应用和扩展。与现有的综述不同,我们提供了基于焦点或动机的更详细的分类,使读者能够更全面地了解任务并建立研究方向。
2)更重要的是,我们综合分析了现有文献中3DGS中各种技术的增强,并进行了详细的分类和深入的讨论。这使读者能够辨别各种改进技术之间的共性,从而帮助他们将其应用于定制任务。
3)在分析现有工作和技术的基础上,找出与3d打印相关的任务之间的共性和关联,总结核心挑战。
4)在解决共同挑战方面,本调查阐明了潜在的机会,并提供了深刻的分析。
5)我们已经在GitHub上发布了一个开源项目,用于编译3dgs相关的文章,并将继续在该项目中添加新的作品和技术。https://github.com/qqqqqqy0227/awesome-3DGS。我们希望更多的研究人员可以使用它来获取最新的研究信息。
如图2所示,本调查的结构组织如下:第2节描述了3D高斯飞溅(3DGS)的背景和细节,强调了其相对于Neural Implicit Fields和Point-based Rendering的优势。第3节着重于优化3DGS,以解决重建过程中遇到的挑战。第4节总结了3DGS的应用,并讨论了其在下游任务中的实现。第5节概述了3DGS的扩展,探索了增强其原始功能的方法。第6节整合了改进3DGS模块的各种技术。第7节回顾了不同任务和技术之间的相互关系,并总结了核心挑战。最后,章节8概述了未来研究的有希望的途径,解决了现有的挑战和技术优化,章节9总结了本次调查。
应该指出的是,本调查并未提供数据集的概述;详细信息可以在之前的综述[3],[4]中找到。此外,在文章的前半部分,我们主要描述了现有的作品如何解决3DGS的下游任务,而后半部分则侧重于技术。虽然提到了一些重复的作品,但着力点和内容有所不同。
2初步
2.1神经隐式场
神经内隐场表征在最近的研究中引起了极大的关注[5],[6]。这些方法将二维或三维信号概念化,将其重构为相应欧几里得空间中的场,利用离散样本来训练近似这些场的神经网络。这种方法有助于原始离散样本的重建,插值和外推,从而实现2D图像的超分辨率和3D场景的新视图合成等应用。在3D重建和新视图合成的特定背景下,神经辐射场(Neural Radiance Fields, NeRF)[7]利用神经网络将3D场景的几何形状和外观建模为密度场和辐射场。NeRF采用体绘制技术,建立了三维现场到二维图像的映射关系,从而可以从多个二维图像中重建三维信号,实现新颖的视图绘制。在该领域当前最先进的方法中,Mip-NeRF 360[8]因实现卓越的渲染质量而脱颖而出,而Instant-NGP[9]因其卓越的训练效率而引人注目。
然而,神经隐式场方法严重依赖于体绘制过程来获得渲染像素。这个过程需要沿着每条射线采样几十到几百个点,并将它们输入神经网络以产生最终的成像结果。因此,渲染一张1080p的图像需要大约108次神经网络前向传递,这通常需要几秒钟。虽然有些作品采用显式的、离散的结构来存储连续的3D字段,从而最大限度地减少了对神经网络的依赖,加快了字段表示的查询过程[9],[10],[11],采样点的数量仍然会导致极高的渲染成本。这种基于体绘制的方法无法实现实时绘制,从而限制了其在下游任务中的适用性。
2.2基于点的渲染
由于连续的3D字段不区分场景中已占用和未占用的空间,因此在体绘制过程中,大量采样点位于未占用的空间中。这些采样点对最终渲染结果的贡献很小,导致渲染效率很低。相比之下,离散点云表示只记录了3D场景中真正被占用的部分,提供了一种更高效、更精确的表示场景的方式。基于点云的渲染依赖于栅格化而不是随机采样,允许使用现代gpu进行实时渲染。
然而,现有的基于点云的高质量可微渲染方法通常依赖于预构建的点云或需要密集的点云重建。这些方法在训练过程中没有进一步优化点云结构[12],[13],[14],导致渲染质量高度依赖于初始点云质量,使最终图像容易出现伪影或不正确的外观。
2.3 3D高斯溅射
三维高斯飞溅[15]结合了神经隐式场和基于点的渲染方法的优点,在保持基于点的渲染能力的同时,获得了前者的高保真渲染质量,如图3所示。
具体来说,3DGS将点云中的点定义为具有体积密度的3D高斯基元:
其中Σ为三维协方差矩阵,x为距点(高斯均值)µ的位置。为了保证协方差矩阵的半正确定性,3DGS将协方差矩阵重新参数化为旋转矩阵R和缩放矩阵S的组合:
其中三维缩放矩阵S可以用三维向量S表示,旋转矩阵R通过可学习的四元数q得到,共有7个可学习的参数。与通常使用的保证矩阵半正确定性的Cholesky分解相比,3DGS使用的重参数化方法虽然引入了额外的可学习参数,但有利于对高斯基元施加几何约束(例如,约束缩放向量以使高斯基元具有平坦化特征)。除了几何属性外,每个高斯原语还存储一个不透明度α和一组可学习的球面谐波(SH)参数,以表示与视图相关的外观。因此,所有原语的集合可以看作是一个离散的表示,它只存储神经场的非空部分。
在绘制过程中,3DGS使用EWA飞溅方法[16]将三维高斯基元投影到二维成像平面上,并使用α混合计算最终像素颜色。对于每个像素,这种渲染过程类似于神经领域中使用的离散形式的体绘制,使3DGS能够构建复杂的场景外观并实现高质量的渲染。为了实现高帧率、高分辨率的可微分渲染,3DGS使用了基于tile的光栅化器。该光栅化器首先将图像划分为16 × 16块,并为每个块分配索引。对于每个高斯原语,光栅化器确定原语的投影与哪些原语相交,并为每个相交的原语生成一个键值对:键是64位的,上面的32位表示原语的索引,下面的32位表示高斯原语的投影深度。通过构造这些键值对,光栅化器只需要对所有键值对执行全局排序,从而消除了为每个像素对原语进行额外排序的需要。排序之后,从每个tile派生的键值对驻留在连续的内存间隔中。然后,每个贴图的渲染过程由CUDA线程块管理,每个块中的线程数与贴图中的像素数相匹配。每个线程负责其对应像素的α混合过程,从而完成最终渲染。
在训练开始时,初始高斯基元要么从Structure-from-Motion提供的稀疏点云初始化,要么随机初始化。高斯基元的初始数量可能不足以实现高质量的场景重建;因此,3DGS提供了一种自适应控制高斯基元的方法。该方法通过观察每个高斯原语在视图空间中的位置属性的梯度来评估原语是“欠重构”还是“过度重构”。在此基础上,该方法通过克隆或分割高斯基元来增加高斯基元的数量,以增强场景表示能力。此外,所有高斯原语的不透明度定期重置为零,以减轻优化过程中存在的工件。这种自适应过程允许3DGS以更小的初始高斯集开始优化,从而减轻了以前基于点的可微渲染方法所需要的对密集点云的依赖。
3 .三维高斯溅射的优化
3.1效率
效率是评价三维重建的核心指标之一。在本节中,我们将从三个角度描述它:存储、训练和呈现效率
3.1.1存储效率
3DGS需要数百万个不同的高斯原语来适应场景中的几何形状和外观,这导致了很高的存储开销:室外场景的典型重建通常需要几百兆到几千兆的显式存储空间。给定不同高斯基元的几何和外观属性可能是高度相似的,单独存储每个原语的属性可能导致潜在的冗余。
因此,现有的研究[17]、[18]、[19]主要集中在应用矢量量化[20](Vector quantiization, VQ)技术对大量高斯原语进行压缩。Compact3D[18]利用VQ将不同的属性压缩成四个对应的码本,并将每个高斯的索引存储在这些码本中,以减少存储开销。在建立码本后,通过码本将训练梯度复制并反向传播到原始的非量化高斯参数,同时更新量化和非量化参数,并在训练完成时丢弃非量化参数。此外,Compact3D采用了运行长度编码来进一步压缩排序后的索引值,从而提高了存储效率。类似地,Niedermayr等人[19]提出了一种基于灵敏度感知k-means的灵敏度感知矢量量化技术来构建码本[21],并利用DEFLATE压缩算法[22]进一步压缩训练好的码本。经过训练后,提出了一种量化感知的微调策略来恢复由于VQ而丢失的信息。
此外,一些研究[23]、[24]、[25]旨在制定修剪策略或压缩SH参数。一些著作[23]、[24]同时考虑了两者。LightGaussian[24]引入了基于全局显著性评分的高斯剪枝策略和高次球谐参数的精馏策略。同样,Lee等人[23]的工作引入了可学习掩模来减少原始高斯数,并引入了统一的基于哈希网格的外观域[9]来压缩颜色参数。与上述工作不同,自组织高斯[25]不使用传统的非拓扑VQ码本来压缩大量高斯函数。相反,它采用自组织映射的概念将高斯属性映射到相应的二维网格中。二维网格中的拓扑关系反映了原始属性空间中的拓扑关系,从而允许将拓扑结构化二维数据的压缩算法应用于无序高斯原语。
此外,还有一些研究[26]、[27]侧重于提高高斯表示的效率。Scaffold-GS[26]设计了锚点和其他属性,以便有效地表示,这些属性具有转换为3DGS的能力。基于这种表达,Scaffold-GS提出了一套多分辨率体素网格上锚点生长和修剪的策略。GES[27]引入了广义指数(GEF)混合物来取代高斯表示,它具有有效拟合任意信号的能力。通过为GEF设计快速可微光栅化和调频图像损失,GES能够在保持性能的同时使用较少数量的GEF原语。
3.1.2 训练效率
提高训练效率对3DGS来说也很重要。DISTWAR[28]引入了一种先进的技术,旨在加速基于栅格的可微分渲染应用程序中的原子操作,由于大量的原子更新,这些应用程序通常在梯度计算期间遇到严重的瓶颈。通过在原子更新中利用原子局部性,并解决原子通信在warp之间的可变性,DISTWAR使用寄存器在SM子核上实现了warp级别的线程减少。此外,它在SM和L2原子单元之间动态地分配原子计算。这种纯软件实现使用现有的warp级原语来最小化指向L2的原子操作的数量,从而显著提高吞吐量。
3.1.3渲染效率
实时渲染是基于高斯方法的核心优势之一。一些提高存储效率的工作可以同时提高渲染性能,例如,通过减少高斯原语的数量。在这里,我们将讨论有助于这些进步的其他工作。
在对3DGS进行训练后,[29]的工作是基于空间接近度和对最终渲染的2D图像的潜在影响,通过离线聚类来预先识别和排除不必要的高斯原语。此外,这项工作引入了一个专门的硬件架构来支持这种技术,与GPU相比,实现了10.7倍的加速。GSCore[30]提出了一种硬件加速单元,用于优化3DGS在亮度场渲染中的渲染管道。GSCore在分析高斯排序和栅格化的性能瓶颈的基础上,引入了高斯形状感知交叉测试、分层排序和细微跳转等优化技术。在GSCore中实现这些技术可以使移动gpu的平均加速速度提高15.86倍。
3.2 逼真渲染
Photorealism也是一个值得关注的话题[31]。DGS有望在各种场景中实现逼真的渲染。
一些[32],[33]侧重于在原始设置下进行优化。为了减轻对SfM初始化的依赖,GaussianPro[32]引入了一种创新的联合2D3D训练范式。建立在3D平面的定义和补丁,在匹配技术方面,提出了一种渐进式高斯传播策略,该策略利用3D视图和投影关系的一致性来优化渲染的2D深度和法线图。在几何滤波和选择过程之后,优化的深度和法线贴图被用于密度化和额外的监督,最终实现精确的几何表示。FreGS[33]将监督过程转移到频域,并利用二维离散傅立叶变换的幅度和相位属性来减轻三维图像中的过度重构。基于这一思想,FreGS引入了一种频域引导的粗精退火技术来消除不希望的伪影。
多尺度渲染性能的急剧下降也是一个值得关注的话题[34],[35]。这项工作[34]首先分析了低分辨率和远距离渲染下频域混叠的原因,利用多尺度高斯来解决这个问题。然后,定义像素覆盖范围,以反映与当前像素大小相比的高斯大小。基于这个概念,它识别小高斯,并将它们聚合成更大的高斯,用于多尺度训练和选择性渲染。Mip-splatting[35]同样从采样率的角度解决了这个问题,它引入了一个基于Nyquist定理的高斯低通滤波器,根据所有观察样本的最大采样率来约束三维高斯的频率。为了解决混叠和膨胀伪影,Mip飞溅用2D Mip滤波器取代传统的2D膨胀滤波器,该滤波器近似于2D盒滤波器。与训练阶段的修改不同,SA-GS[36]在测试期间仅通过2D比例自适应滤波器操作,使其适用于任何预训练的3DGS。
其他作品试图重建具有挑战性的场景,如反射表面[37],[38],[39]和Relightable[40]。GaussianShader[37]通过使用混合颜色表示并整合镜面GGX[41]和法向估计模块来重建反射表面,其中包括漫射颜色、直接镜面反射和残余颜色组件,该组件可以解释散射和间接光反射等现象。此外,在训练过程中,GaussianShader在3DGS中引入了阴影属性和法向几何一致性约束。mirror -3DGS[38]增加了一个可学习的镜像属性来确定镜子的位置,并引入了一个虚拟镜像视点来帮助在原始3DGS的基础上重建镜子场景。SpecGaussian[39]用各向异性球面高斯(Anisotropic Spherical Gaussian)代替原来的3DGS来构建具有镜面和各向异性分量的场景,并引入基于锚点的表示[26]以提高效率。
可调光3D高斯(R3DG)[40]表示使用可调光点的3D场景,每个点由法线方向、BRDF参数和入射照明表征,其中入射光被分解为全局和局部组件,具有与视图相关的可见度。然后,在R3DG中设计了一种新的基于边界体层次的基于点的光线跟踪技术,以实现高效的可见性烘烤和实时渲染,并具有准确的阴影效果。DeblurGS[42]解决了由严重模糊引起的相机姿势不准确的挑战,这阻碍了运动结构(SfM)的有效性。DeblurGS通过估计每个模糊观察的6自由度(6-DoF)相机运动并合成相应的模糊渲染来优化锐利的3D场景。本文还介绍了一种用于训练稳定性的高斯致密化退火策略
3.3泛化和稀疏视图
在稀疏视图设置下的泛化和重建问题一直是学术界关注的焦点。隐式表示(如NeRF)和显式表示(如3DGS)在实际应用中都面临着巨大的障碍,因为每个场景都需要重新训练,并且对密集样本输入的需求很高。在本节中,我们将讨论他们的实验设置,并提供对现有作品的更详细的了解。
3.3.1可推广的三维高斯飞溅
现有的可泛化的3D重建或新颖的视图合成任务的目标是利用广泛的辅助数据集来学习与场景无关的表示。在NeRF[43],[44],[45]的研究中,该过程通常是输入少量(1-10)个姿态相邻的参考图像来推断目标图像。辐射场作为一个中介,有效地避免了明确的场景重建的需要,并将任务转化为一个场景不可知的新型视图合成问题。
相比之下,3DGS的明确表示导致了大量的工作集中在使用参考图像直接推断相应的高斯基元的每像素基础上,随后被用于从目标视图渲染图像。为了实现这一点,Splatter Image[46]等早期作品提出了一种将图像转换为高斯属性图像的新范式,从而预测每个像素对应的高斯原语。然后将此范例扩展到多个参考图像,以获得更好的渲染性能。
然而,与NeRF中的泛化努力不同,可泛化3DGS的训练难度显着增加。不可微致密化等操作会对泛化训练过程产生负面影响。为了应对这些挑战,pixelSplat[47]旨在从使用极极变压器结构[44]提取的特征中预测概率深度分布,并对该分布进行采样以替换不可微分量。
此外,基于多视图立体(MVS)的方法在场景重建和新视图合成方面取得了显著的成功,特别是引入了成本体积,增强了网络的空间理解能力。与MVSNeRF[48]中的方法类似,MVSplat[49]提出使用三维空间中的平面扫描来表示代价体积,并在稀疏参考输入中预测深度,精确定位高斯基元的中心。这种方法为新的视图合成提供了有价值的几何线索。
此外,一些研究[50]、[51]侧重于引入三平面来实现泛化能力。文献[50]介绍了基于参考特征的点云表示解码器和三平面表示解码器。通过并行解码,它们构建结合显式点云和隐式三面场的混合表示,使高斯解码器能够在位置查询后直接预测高斯属性。基于类似的表示,AGG[51]引入了一种基于伪标签的初始化方法和多阶段训练策略。该策略包括粗高斯生成,然后使用参考图像特征进行超分辨率生成,从而产生详细的输出。
3.3.2稀疏视图设置
从稀疏输入重建存在重大挑战,其中3DGS的方法基本上类似于NeRF,其目的是开发新的正则化策略并整合补充信息,如深度数据。
Chung等人[52]提出使用单目深度估计模型来预测深度图,随后使用SfM[53]对深度图进行细化,以获得精确的深度范围。此外,他们的工作结合了深度平滑损失和两种针对有限样本场景量身定制的改进技术。在深度监督的基础上,FSGS[54]引入了一种接近引导的高斯上采样方法来增加数量,并通过2D先验模型集成新的伪视图,以进一步缓解过拟合。
随后,Touch-GS[55]在机器人感知应用中扩展了触觉感知的范例。触觉感知数据与单目深度信息对齐后,基于隐式表面表示有效预测相应的深度和不确定性图,用于增强初始化和优化过程。
此外,DNGaussian[56]从正则化的角度探讨了这个问题,提出了两种不同的正则化:硬深度和软深度,以解决场景几何的退化问题。然后,DNGaussian引入了全局和局部深度归一化方法,以提高对局部深度细微变化的灵敏度。
一些研究集中在初始化和训练策略上。GaussianObject[57]引入了一种基于Visual Hull的初始化策略和一种利用距离统计数据来消除漂浮物的优化方法。此外,GaussianObject设计了一个高斯修复模块,其中包括数据采集、训练和推理范例,从而利用预训练模型来解决稀疏视点条件下的遮挡和信息丢失问题。
4 三维高斯溅射的应用
由于其效率和逼真的渲染效果,3DGS在各种应用领域表现出色,包括数字人体重建,人工智能生成内容(AIGC)和自动驾驶等。在前人探索的基础上,3DGS可直接作为核心技术应用于多个研究领域,有效取代传统的3D表示方式。
4.1人体重建
3DGS在数字人体相关任务中的应用,包括人体重建、动画和人体生成,已经引起了研究界的广泛关注。最近的作品可以根据重建的部分进行分类。
4.1.1人体重构
人体重构主要是在多视角或单目视频中重构可变形的人体化身,并提供实时渲染。我们在表1中列出了近期作品的比较。
大多数研究[58]、[60]、[61]、[62]、[63]倾向于使用预先构建好的人类模型,如SMPL[66]或SMPLX[67]作为强先验知识。然而,SMPL仅限于引入关于人体本身的先验知识,因此对服装和头发等外部特征的重建和变形提出了挑战。
对于外观的重建,HUGS[60]仅在初始阶段使用SMPL和LBS,允许高斯原语偏离初始网格,以准确地表示服装和头发。Animatable Gaussian[65]使用一个可以适合外观的模板作为指导,并利用StyleGAN来学习posedependent高斯映射,增强了对详细动态外观建模的能力。GaussianAvatar[61]采用了一种捕捉粗糙全局外观的特征,该特征与姿势特征相结合。然后将这些组合的特征输入到解码器中以预测高斯基元的参数。DGS-Avatar[63]引入了一种非刚性变换模块,该模块利用多级哈希网格编码器对3D位置进行编码,并将其与位姿潜相连接,形成浅MLP网络的输入,该网络预测高斯在某些位姿下的位置、尺度和旋转的偏移量。
此外,某些研究[60],[62]选择不利用这一特性,从而降低变形的复杂性,促进更快的渲染速度。然而,这些方法也引入了一定程度的失真。一些研究将问题空间从3D投影到2D,从而降低了复杂性,并能够利用成熟的2D网络进行参数学习。ASH[64]提出通过变形网络生成与运动相关的模板网格,并从该网格预测与运动相关的纹理映射。然后,二维网络通过生成的纹理图预测高斯参数。类似地,Animatable Gaussian[65]将模板网格人体模型从规范空间投影到两个二维平面(正面和背面)上,并在这些空间中学习高斯属性。gps -高斯[59]通过引入高斯参数图(Gaussian Parameter Maps)来解决可泛化的人类新视图合成问题,这种图可以直接回归,而无需对每个主题进行优化。该方法辅以深度估计模块,将2D参数图提升到3D空间。
4.1.2头部重建
在人类头部重建领域,像大多数使用SMPL作为强先验的管道一样,GaussianAvatars[68]的工作集成了FLAME[69]网格,为3DGS提供先验知识,以实现卓越的渲染质量。该方法补偿了FLAME网格无法准确描绘或跟踪的细节和元素。然而,高斯头像[70]批评使用火焰网格和线性混合皮肤(LBS)面部变形,注意到这些相对简单的线性操作难以捕捉复杂面部表情的细微差别。相反,它建议使用MLP来直接预测高斯函数从中性表达式转变为目标表达式时的位移。这种方法有助于渲染高分辨率头部图像,实现高达2K的分辨率。
4.1.3其他
此外,3DGS还在其他与人类相关的领域推出了创新的解决方案。GaussianHair[71]专注于人类头发的重建,使用链接的圆柱形高斯模型对头发进行建模。同时,专门引入了高斯毛发散射模型,进一步增强了对结构的捕获,使重建的链在不同光照条件下都能以高保真度渲染。Gaussian Shadow Casting for Neural Characters[72]的研究侧重于各种视角和运动下的阴影计算,首先使用NeRF从输入的人体姿势和训练图像中重建密度、法线和反照率值的体积。随后,它将NeRF输出密度映射与一组各向异性高斯函数拟合。高斯表示实现了更有效的光线跟踪和延迟渲染技术,取代了传统的采样过程,从而加速了阴影的计算。此外,一些研究[73],[74]探讨了3DGS与生成模型的集成,这将在4.2节中讨论。
4.2人工智能生成内容(AIGC)
人工智能生成内容(AIGC)利用人工智能技术自主生成内容。最近,基于3DGS生成3D (XY Z)表示的方法激增。在本章中,我们根据提示的类型和它们生成的对象系统地对当代算法进行分类。类别包括图像到3d对象生成、文本到3d对象生成、多对象和场景生成、4D生成(XY Z−T),如图4所示。下面,我们将概述这些类别中的相关工作。
4.2.1 T文本到3D对象
目前,大量的研究致力于扩展分数蒸馏采样(SDS)[79],它在这方面起着至关重要的作用,旨在使用蒸馏范式直接生成具有多视图一致性的3D表示。为了进一步阐明SDS,我们将三维表示表示为θ,将可微渲染过程表示为g(·),从而将渲染图像表示为g(θ)。DREAMFUSION[79]确保来自每个摄像机视点的渲染图像遵循来自预训练扩散模型φ的可信样本。在实践中,他们利用现有扩散模型的分数估计函数ϵϕ(xt, t, y),其中ϵϕ根据噪声图像xt和文本条件y预测采样噪声。因此,分数蒸馏损失的梯度为θ,
后来的作品广泛采用了这种方法,或其改进的变体,作为生成的主要监督。一些作品[75]、[80]、[81]侧重于改进框架,将分数蒸馏损失应用于3DGS。
DreamGaussian[75]是一项将扩散模型与3DGS相结合的早期工作,它采用了两阶段的训练范式。该方法建立在分数蒸馏采样(SDS)的基础上,通过从3DGS中提取显式网格表示来确保生成模型的几何一致性,并在UV空间中细化纹理以提高渲染质量。与此同时,Chen等人[80]的工作引入了Point-E[82](或其他文本到点云模型)以及3D分数蒸馏损失来指导第一阶段的3D几何生成。在第二阶段,采用基于密度的致密化,进一步细化发电质量。类似地,GaussianDreamer[81]采用了相同的基本概念;然而,它的区别在于采用噪声点增长和颜色扰动等策略来解决初始化过程中点云密度不足的问题。
然而,分数蒸馏的寻模范式经常导致生成的结果过饱和、过度平滑和缺乏细节,这在NeRF的相关工作中得到了广泛的讨论[83]。GaussianDiffusion[84]引入变分高斯来减轻二维扩散模型的不稳定性,并结合结构化噪声来增强三维一致性。
也有一些工作侧重于改进SDS。luciddream[85]解决了传统SDS固有的过度平滑和采样步骤不足的挑战。通过引入确定性扩散轨迹(DDIM[86])和基于区间的分数匹配机制Eq. 9,实现了卓越的生成质量和效率。随后,Hyper-3DG[87]建立在luciddream[85]的基础上,通过引入超图[88]来探索贴片高斯原语之间的关系。同样,LODS[89]分析了训练和测试过程之间的内在不一致性以及SDS中大型CFG (Classifier-Free Guidance)导致的过平滑效应。为了应对这些挑战,LODS提出了一组额外的可学习的无条件嵌入和LoRA (low-rank Adaptation)的低秩参数[90]。
分数蒸馏损失在AIGC中也可以替代。IM-3D[91]识别了与分数蒸馏损失相关的优化困难。因此,它试图微调现有的图像到视频生成模型,以生成多视图空间一致的图像(视频)。这些生成的多视图图像然后用作3DGS生成的监督。类似地,LGM[92]提出了一种从文本或单个图像生成3DGS的新范式。它利用已有的网络生成目标的多视图图像,并利用具有交叉视图自关注的基于非对称U-Net的架构重建不同输入下的三维模型。
作品[93],[94]旨在仅使用前馈网络生成,而不需要特定场景的训练。brightdream[93]旨在将3.3.1中所述的可概括表示纳入文本到3D生成中,从而无需在特定场景中进行再培训即可直接创建3D模型。brightdream预测固定初始化后的位置偏移量,并对提取的文本特征引入一个文本引导的三平面生成器来预测3DGS的其他属性,从而实现任意文本到3D模型的转换。GVGEN[94]关注的是没有三平面的前馈设置,提出了高斯体积作为可泛化生成的结构化轻量级表示。在此基础上,GVGEN通过训练好的扩散模型生成高斯距离场,并利用它来指导相应属性的预测。
一些作品[73],[74]也试图将这种生成范式应用于数字人类生成等领域。HumanGaussian[74]结合RGB和深度渲染来改进SDS,从而共同监督人体外观和几何结构感知的优化。此外,它还引入了退火负提示指导和基于缩放的修剪策略来解决过饱和和浮动伪影。除了大量依赖于扩散模型的工作外,Abdal等人[73]的工作还提出了一种将3DGS与Shell Maps[95]和3D生成对抗网络(GANs)框架相结合的新范式。通过利用高斯壳映射,该方法快速表示人体及其相应的变形。
4.2.2图像到3D对象
类似于NeRF的工作,最近的研究[77],[96]也专注于从单个图像生成整个3DGS。
Repaint123[77]遵循类似于DreamGaussian[75]的过程,将这一过程分为粗优化阶段和细优化阶段。在粗化阶段,它使用预训练的Zero-123[97]作为监督,并使用SDS优化粗化3DGS。在精细阶段,Repaint123从第一阶段提取网格表示,并提出结合深度和参考图像来指导新视图图像的去噪过程,确保视图之间的一致性。对于视图之间的重叠和遮挡区域,Repaint123采用可视性感知自适应重绘方法来提高这些区域的重绘质量,然后用于微调3DGS。
FDGaussian[96]提出了一种更直接的方法,将整个生成过程分为多视图图像生成和3DGS重建。在生成阶段,FDGaussian通过正交平面解耦从图像中提取三维特征,优化基于0 -1- 3的多视图生成模型[97]。在重建阶段,通过基于控制优化的方法,提高了3DGS的效率和性能基于高斯间距离和极外关注的融合策略。
4.2.3多目标和场景生成
在大多数应用场景中,除了单对象生成之外,多对象和场景生成更为重要。
多目标生成:一些研究[78]、[98]探索了多个复合对象的生成,这些研究不仅关注单个对象,而且旨在研究多个对象之间的相互作用。CG3D[98]分别讨论了这两个方面。对于单个物体的重建,CG3D在Alpha hull上引入K近邻损失[99],以确保预测的高斯原语均匀分布并集中在物体表面。为了预测多个对象之间的相互作用,CG3D利用SDS和从文本中提取的概率图模型来预测对象之间的相对关系。最后,通过结合重力和物体之间的接触关系等先验,CG3D实现具有真实物理交互的模型。
为了简化这一问题,GALA3D[78]使用大型语言模型(llm)生成的布局来指导多个对象重建。GALA3D通过探索位置分布并根据布局优化高斯基元的形状,生成符合指定布局的场景。此外,通过SDS监督单个对象和整个场景的生成,并引入布局细化模块,GALA3D实现了更加逼真和文本一致的生成结果。
场景生成:与以对象为中心的生成不同,场景生成通常需要结合额外的辅助信息,例如预训练的单目深度估计模型,以实现高精度初始化。为了实现这一点,LucidDreamer2[100]设计了一个两阶段的生成范式。在第一阶段,LucidDreamer2利用预训练的文本到图像模型和单目深度估计模型来初始化点云,并在绘画模型中引入稳定扩散[101]来完成多视图一致的场景点云。第二阶段,使用生成的点云对3DGS进行初始化,并扩展监督图像,确保训练过程更加流畅。基于类似的范例,Text2Immersion[102]引入了姿势渐进生成策略来实现更稳定的训练过程,并结合了放大视点和预训练的超分辨率模型来优化生成的场景。
4.2.4 4D生成
除了静态场景外,一些研究[76]、[103]、[104]已经开始深入研究动态3D场景。与使用文本到图像的SDS生成静态场景类似,人们很自然地认为文本到视频的SDS可能会生成动态场景。
Align Your gauss (A YG)[103]明确地将问题分为两个阶段:静态3DGS重建和4DGS(动态3DGS)重建。在静态重建阶段,A YG将预训练的文本引导多视图扩散模型MVDream[105]和文本到图像模型结合起来,共同监督3DGS训练。在动态重建阶段,A YG提出使用预训练的文本到图像和文本到视频模型来监督动态3DGS训练。此外,A - YG引入了简化的分数蒸馏损失来降低训练的不确定性。
DreamGaussian4D[76]建立在DreamGaussian[75]的基础上,以单个参考图像作为输入,利用预训练的图像到视频模型以及多视图生成模型进行监督训练。GaussianFlow[104]旨在利用视频中的光流信息作为辅助监督来辅助4DGS的创建。与动态高斯工作Motion4D[106]类似,本研究首先分析了高斯基元在三维空间中的运动与二维像素空间中的像素运动(光流)之间的关系。通过对光流对齐三维高斯运动,GaussianFlow可以实现文本到4dgs和图像到4dgs的生成。然而,视频生成模型的不稳定性影响了基于sds的视频生成的性能。
4DGen[107]通过为给定视频的每一帧引入多视图生成模型来创建伪标签,取代视频生成模型,解决了这个问题。为了确保时间一致性,4DGen利用来自Hexplane的多尺度中间表示[108]来约束高斯原语随时间的平滑性,进一步提高4DGS生成质量。同样,在相同的背景和实验设置下,Fast4D[109]使用这些伪标签形成图像矩阵,并考虑时间和空间维度(即行和列)的连续性。利用图像矩阵作为监督,Fast4D提出了一种新的随时间变化的3DGS表示[110],以实现高效和高质量的生成。
此外,一些研究[111]侧重于对现有静态3DGS进行动画化。为了将输入视频中的现有3DGS动画化,BAGS[111]引入了神经骨骼和蒙皮权来描述基于正则空间的空间变形。利用扩散模型先验和刚体约束,可以手动操作BAGS来实现新的姿态渲染。
4.3自动驾驶
在自动驾驶领域,3DGS主要应用于大规模驾驶场景的动态重构和组合SLAM应用。
4.3.1自动驾驶场景重构
驾驶场景重构是一项具有挑战性的任务,涉及大规模场景重构、动态对象重构、静态对象重构、高斯混合重构等多个技术领域。
大量文献[112]、[113]、[114]将重建过程分为静态背景重建和动态目标重建。
DrivingGaussian[112]旨在利用多传感器数据重建自动驾驶中的大规模动态场景。在静态背景下,DrivingGaussian在不同深度箱下引入增量静态三维高斯函数,以减轻远处街景造成的尺度混淆。对于动态对象,驱动高斯引入动态高斯图来构造对象之间的关系多个目标(其属性包括位置、local-toworld坐标变换矩阵、方向等),在静态背景下共同重构整个自动驾驶场景。streetgauss[113]采用了类似的方法,关键的区别在于在重建背景和前景时引入了语义属性。此外,streetgauss使用傅里叶变换来有效地表示动态3DGS的SH时间变化。在前人研究的基础上,HUGS[114]结合了独轮车模型和正角速度建模,以协助在物理约束下进行动态重建。与之前的动态3DGS工作类似[106],[115],HUGS也采用光流监督,结合渲染RGB损失、语义损失和Unicycle Model损失,从而提高动态重建精度。
此外,3DGS已被应用于多模态时空校准任务[116]。通过利用LiDAR点云作为高斯位置的参考,3DGS-Calib[116]构建了连续的场景表示,并在所有传感器之间执行几何和光度一致性,与基于nerf的方法相比,显著减少了训练时间,实现了准确和稳健的校准。
4.3.2同时定位与制图(SLAM)
SLAM是机器人技术和计算机视觉中的一个基本问题,即设备构建未知环境的地图,同时确定其在该环境中的位置。SLAM的技术方法大致可分为传统方法、涉及NeRF的技术和与3DGS相关的方法。其中,3DGS方法因其提供连续表面建模、降低内存要求、改进噪声和异常值处理、增强孔填充和场景修复以及3D网格重建中的灵活分辨率而脱颖而出[117]。
一些研究[118]、[119]、[120]、[121]、[122]保留了传统的SLAM输入,并从在线跟踪和增量映射两个角度进行了研究。在早期的研究中,GS-SLAM[118]利用3DGS作为SLAM的场景表示,并引入了自适应扩展策略。该策略包括在训练阶段动态添加新的高斯原语,并根据捕获的深度和渲染的不透明度去除噪声原语,从而促进运动期间的连续场景重建。对于摄像机跟踪,GS-SLAM提出了一种先进的从粗到精的优化策略。首先,渲染一组稀疏的像素来优化跟踪损失,并获得相机姿态的初始粗略估计。随后,基于这些粗相机位姿和深度观测,在三维空间中选择可靠的高斯基元,在几何结构明确的重绘制区域指导GS-SLAM,进一步细化粗相机位姿。整个过程使用重新渲染损失进行监督。
Photo-SLAM[119]引入了一种新的SLAM框架,该框架具有超原语映射(Hyper Primitives Map),它结合了ORB特征[123]和高斯属性。基于这种表示,该框架利用LevenbergMarquardt (LM)算法[124]来优化投影关系的低化和几何映射。基于这些结果,Photo-SLAM提出了一种基于几何的致密化策略和基于高斯金字塔的学习机制来构建逼真的映射。最后,该框架集成了闭环[123],以进一步校正相机姿态,提高映射质量。
Gaussian-SLAM[121]通过将地图划分为多个子地图,每个子地图分别重建,从而减轻灾难性遗忘,解决了映射挑战。对于相机跟踪,作者观察到跟踪精度受到3DGS外推能力的限制,并建议结合DROID-SLAM的轨迹辅助[125]来增强重建。该工作[126]解析导出了与摄像机位姿相关的雅可比矩阵,提出了一种高效的摄像机位姿优化策略。在映射阶段,作者估计帧到帧的共可见性,并设计了一个关键帧选择和管理机制,该机制优先考虑具有低共可见性的帧作为关键帧。这保证了同一区域内非冗余关键帧的有效利用,从而提高了映射效率。
在前人工作的基础上,RGBD GS-ICP SLAM[127]将广义迭代最近点(Generalized Iterative nearest Point, G-ICP)[128]算法集成到映射和跟踪中。通过共享G-ICP和3DGS之间的协方差以及采用尺度对齐技术,这项工作最大限度地减少了冗余计算并促进了快速收敛。同样,Sun等人[129]的工作也提出了一种由孔洞和渲染误差引导的致密化策略,以绘制未观测区域并细化重新观测区域。此外,作者还设计了一个新的正则化项来缓解灾难性遗忘的问题。
语义很重要,因为它们不仅提供了场景理解,而且还稳定了训练过程。SGS-SLAM[122]采用多通道几何、外观和语义特征进行渲染和优化,并提出了基于几何和语义约束的关键帧选择策略,以提高性能和效率。此外,由于语义表示的构建,SGS-SLAM能够编辑对应于语义一致区域的3DGS。基于此,SEMGAUSS-SLAM[130]设计了一个特征级的鲁棒性监督,并引入了一个基于特征的束调整来减轻跟踪过程中的累积漂移。后续作品NEDS-SLAM[131]也采用了这一概念,引入语义特征辅助SLAM优化,并结合DepthAnything[132]学习具有三维空间感知的语义丰富特征。此外,NEDS-SLAM还提出了一种基于虚拟多视图一致性检查的剪枝方法来识别和消除异常值。
此外,也有一些研究聚焦于相关问题,如定位[133]和导航[134]。3DGS- reloc[133]引入了激光雷达数据初始化来辅助3DGS制图。在此基础上,它建议将3DGS子地图划分为2D体素地图,并利用kd树进行有效的空间查询,从而减少GPU内存的过度消耗。最后,3DGS-ReLoc采用基于特征的匹配和视角-n-点(Perspective-n-Point, PnP)方法对查询图像的姿态进行迭代细化,在全局地图中实现精确定位。
在室内导航的背景下,GaussNav[134]侧重于实例图像导航(IIN)任务。基于重建的3DGS地图,GaussNav提出了一种图像目标导航算法,通过分类、匹配和路径规划,取得了令人印象深刻的效果。
5 3d高斯飞溅的扩展
作为3D表示的一项基本技术,3DGS可以进一步扩展以获得更多功能,包括动态3DGS[图5(a)]、3DGS的表面表示[图5(c)]、可编辑3DGS[图5(b)]、具有语义理解的3DGS[图5(d)]和基于3DGS的物理模拟[图5(e)]。
5.1动态三维高斯飞溅
动态3DGS的研究最近引起了研究人员的极大关注。动态场景重建超越了静态场景重建的局限性,可有效应用于人体动作捕捉、自动驾驶仿真等领域。与静态3DGS不同,动态3DGS不仅要考虑空间维度的一致性,还要考虑时间维度的一致性,以确保随时间推移的连续性和平滑性。在这里,我们根据不同的重建输入将它们分为多视点视频和单视点视频。
5.1.1多视图视频
一些作品[135]、[140]尝试直接逐帧构建动态3DGS。
早期的工作[135]通过允许高斯函数随时间移动和旋转,同时保持持久的属性(如颜色、不透明度和大小),将3DGS从静态场景扩展到动态场景。重构是暂时在线执行的,其中每个时间步都使用前一个时间步的表示进行初始化。第一个时间步作为优化所有属性的初始化,然后在后续时间步中固定这些属性,除了那些定义运动的属性。物理先验,包括局部刚度、局部旋转相似性和长期局部等距,使高斯函数的运动和旋转正则化,如式5-7所示。讨论了背景信息相似、多视点摄像机差异等因素对重建性能的影响。
类似地,3DGStream[140]为转型预测设计了一个两阶段的训练过程。第一阶段,引入神经变换缓存和I-NGP[9]来重建动态3DGS。在第二阶段,3DGStream提出了一种自适应致密化策略,通过计算梯度初始化新的高斯位置。其他作品[141],[142]旨在通过预测变形来实现这种性能。SWAGS[141]引入了基于窗口的4DGS,将视频采样到多个窗口中以实现长期的场景重建。为了保证每个窗口内的变形程度尽可能相似,引入了一种基于平均流量的自适应窗口划分方法。然后使用动态MLP来引导优化关注动态区域。在多个采样窗口预测的基础上,SWAGS提出使用相邻窗口重叠帧的一致性来设计自监督损失,微调整个场景,从而消除窗口划分的时间不连续。
5.1.2单目视频
一些单目动态3DGS作品[106]、[143]、[144]、[145]、[146]倾向于分为典型重建和变形预测两个阶段。
该研究[143]首先在规范空间中重构了静态3DGS。然后,它将编码的位置和时间t作为输入,根据位置、旋转和比例输出偏移量。为了减轻不准确姿势引起的过拟合问题,本研究引入了一种退火平滑训练范式,该范式包含线性衰减高斯噪声。在此基础上,GauFRe[144]提出了一种将动态和静态场景建模解耦的范式,其中动态部分使用了类似于[143]的方法。D-GS[145]引入了多尺度HexPlane[108]作为编码时空信息的基础表示。为了优化训练过程,4D-GS采用多头解码器分别预测高斯基元的不同属性。MDSplatting[146]也在此基础上结合了[135]中提出的局部刚度损失和等长损失,并设计了基于动量守恒定律的正则化项,使动态运动轨迹更加平滑。此外,作者在解码部分加入了阴影预测,进一步增强了重建的真实感。Guo等[106]通过分析三维高斯运动与像素级流之间的对应关系,构建了一种流量增强方法,并引入了基于不确定性和动态感知的额外光流监督。此外,它还提出了一种基于速度场的运动注入器和动态映射优化策略,以减轻与预测变形相关的挑战。而不是离散的偏移量,探索时间连续运动可以提高时间维度的平滑性。Katsumata等人的工作[115]结合傅里叶近似随时间和光流监督来模拟3DGS的属性变化,确保连续变化而不引入过多的参数。
DynMF[147]认为,每个场景都由有限的固定数量的轨迹组成,并为空间运动引入了有效的基函数。基于这些基函数,DynMF设计运动系数来预测动态位置和旋转属性,并引入稀疏性和刚度等约束来进一步提高优化性能。类似地,STG[148]提出使用时间相关的径向基函数来表示不透明度属性,并使用参数化多项式来描述高斯基元的运动和旋转。此外,引入了一种新的与时间和视图相关的特征溅射范式来取代球面谐波的颜色。
Gaussian-Flow[149]旨在通过分析多项式[147]、[148]和傅立叶级数拟合[115]的优缺点,开发一种能够拟合可变运动的表示。然后提出了一种将两种方法相结合的模型,构建了双域变形预测模型。最后,引入了自适应时间步长缩放策略和时间平滑和刚性损失来增强训练的稳定性和时间连续性。
SC-GS[150]旨在基于稀疏控制点压缩动态场景中的运动表示。通过预测控制点、径向基函数(RBF)核和变换的位置,使用线性混合蒙皮(Linear Blend skin)计算整个动态场随时间的运动[151]。基于该策略,SC-GS提出了一种基于邻点RBF权重和梯度的控制点自适应剪枝克隆策略,该策略在3DGS编辑中具有较强的适用性。
最近的作品[110],[152]旨在将3DGS扩展到4D空间,以实现动态3D场景的表示。工作[110]通过将时间维度直接纳入三维表示来实现端到端的训练。其核心思想是同时考虑空间变量(XY Z)和时间变量(T)及其相互关系,而不是将它们视为独立变量。对于四维高斯基元,设计了旋转矩阵R∈R4×4的四维表示和比例因子S(四维对角线),并利用四维球面谐波进一步描述颜色随时间的变化。同样,研究[152]提出了一种基于转子的四维高斯飞溅(4DGS)表示,其中4DGS的旋转属性通过将四维转子分解为八个组件来表示。这些分量,连同相应的参数,被用来描述时空中的旋转。在表示动态3DGS时,它在不同的时间戳对4DGS进行切片,有效地解决了高动态场景中物体的突然出现或消失。此外,该方法通过引入四维一致性损失来增强四维空间的一致性。
5.2曲面表示
虽然3DGS可以实现高度逼真的渲染,但提取表面表示仍然具有挑战性。经过优化过程后,得到的表示往往缺乏有序结构,与实际曲面不相符合。然而,在许多工作流程中,基于网格的表示仍然是首选,因为它们允许使用强大的工具进行编辑、雕刻、动画和重照明。
在曲面重建中,有符号距离函数(SDF)是一个不可缺少的课题。NeuSG[153]试图联合优化NeuS[154]和3DGS,并引入了几个正则化术语,包括Scale regularization、Normal regularization和Eikonal regularization[155],以确保3DGS尽可能平坦并沿目标表面分布。
SuGaR[156]利用3DGS表面特性来设计理想的SDF。然后使用这种理想化的表示来约束实际预测的SDF及其法线,从而鼓励优化的高斯函数更紧密地与物体表面对齐。然后,使用泊松重建,SuGaR从对齐的3DGS中提取网格,这比Marching Cubes算法更快,更具可扩展性[157]。此外,一个可选的细化步骤将新的高斯函数绑定到网格并联合优化它们,从而实现高质量的渲染和表面。
然后,3DGSR[158]旨在通过设计一个可微的SDF到不透明度的转换函数,将神经隐式SDF与3DGS相结合,使3DGS的优化能够更新SDF。为了解决用离散3DGS优化连续SDF的挑战,3DGSR建议加强从体绘制获得的深度(法线)与从3DGS推断的深度(法线)之间的一致性。GSDF[159]同样引入了一致性约束,采用了基于Scaffold-GS[26]和news[154]的双流网络,将3DGS和神经隐式SDF结合在一起。为了提高SDF的采样效率,GSDF利用来自3DGS分支的深度图来指导射线采样过程,为了改善高斯基元在曲面上的分布,基于SDF分支设计了一种几何感知的3DGS高斯密度控制。
其他研究[137],[160],[161]旨在通过增强3DGS的内在属性来解决这一问题。这项工作[160]引入了一种称为高斯冲浪的新表示,它表现出增强的表面重建能力。在此基础上,提出了一种深度法向一致性损失来解决梯度消失问题,并提出了一种体积切割策略来去除深度误差和不连续区域中不必要的体素。最后,应用筛选泊松重建生成曲面网格。
高斯不透明度场(Gaussian Opacity Fields, GOF)[161]是基于3DGS开发的,其中3DGS沿光线归一化形成1DGS进行体绘制。GOF还包含深度失真和法向一致性损失,便于从四面体网格中提取表面网格。类似地,2D高斯飞溅[137](2DGS)用平面磁盘代替3DGS来表示在局部切平面内定义的表面。在绘制过程中,2DGS放弃了直接的仿射变换,使用三个非平行平面来定义射线片相交,然后在应用低通滤波器后进行光栅化。
5.3可编辑的3D高斯飞溅
3DGS以其实时渲染、复杂场景再现、显式表现等优势,自然受到了关注3DGS编辑的研究者的广泛关注。不幸的是,目前可编辑的3DGS作品往往缺乏精确的培训监督,对编辑提出了重大挑战。在本节中,我们将根据不同的任务对现有作品进行分类。
5.3.1 文本操作
为了应对这一挑战,现有的作品可以分为两类。第一类引入分数蒸馏损失,如式3所示。与AIGC 4.2不同,这些方法需要编辑提示作为附加条件来指导编辑过程。
基于SDS, GaussianEditor[162]在3DGS编辑中引入了语义控制,实现了基于语义的跟踪和编辑区域的自动屏蔽。更重要的是,这项工作提出了一个分层的3DGS和多代锚点丢失,这稳定了编辑过程,减轻了SDS的随机性影响。此外,GaussianEditor还介绍了2D绘图技术,为对象删除和合并的任务提供指导。继Dreamgaussian[75]之后,GSEdit[163]使用预训练的Instruct-Pix2Pix[164]模型代替图像生成模型来计算3DGS编辑的分数蒸馏损失。
第二种是在重建3DGS之前对多视图2D图像进行顺序编辑。GaussianEditor2[165]利用多模态模型、大型语言模型和分割模型,从给定的文本描述中预测可编辑的区域。然后,基于二维编辑模型编辑的图像,优化目标区域内的相关高斯基元。然而,这种模式引入了一个直观的问题:如何确保多视图编辑的一致性。GaussCtrl[166]引入了深度引导的图像编辑网络ControlNet[167],利用其在编辑网络中感知几何形状和保持多视图一致性的能力。它还在注意层引入了潜在代码对齐策略,确保编辑后的多视图图像与参考图像保持一致。该工作[136]旨在引入逆向渲染和三维潜在空间渲染,以保持注意图上的一致性。引入了编辑一致性模块和迭代优化策略,进一步增强了多视图一致性和编辑能力。
与3DGS的编辑方法不同,最近的讨论越来越多地集中在编辑4DGS上。最近的工作Control4D[168]通过引入4D高斯平面(4D GaussianPlanes)深入研究了这一领域,该平面在结构上分解4D空间,以确保Tensor4d在空间和时间维度上的一致性。基于高斯平面,采用超分辨率生成对抗网络设计4D生成器[169],从扩散模型生成的编辑图像中学习高斯平面上的生成空间,并采用多阶段渐进式引导机制,提高局部-全局质量
5.3.2其他条件操作
除了文本控制编辑之外,已有作品还探索了各种条件下的3DGS编辑方法。TIP-Editor[170]需要提供编辑文本、参考图像和编辑位置来精细控制3DGS。核心技术包括分别学习现有场景和新内容的分步2D个性化策略,以及精确呈现的粗精编辑策略。这种方法允许用户执行各种编辑任务,例如对象插入和样式化。Point 'n Move[171]要求用户为要编辑的对象提供带注释的点。通过双阶段分割、重新绘制和重组步骤,实现对象的可控编辑(包括对移除区域进行重新绘制)。
5.3.3 Stylization
在3DGS的风格转移领域,早期的探索已经由[172]完成。与传统的风格转移作品相似[173],本作品在渲染图像上设计了2D的风格化模块,在3DGS上设计了3D的色彩模块。通过对齐两个模块的程式化2D结果,这种方法在不改变几何形状的情况下实现了多视图一致的3DGS程式化
5.3.4动画
如5.1所述,一些动态3DGS作品,如SCGS[150],可以通过对稀疏控制点进行动画化来实现动画效果。aigc相关的作品,如BAGS[111],旨在利用视频输入和生成模型来动画化现有的3DGS。在人类重建的背景下也提到了类似的研究。此外,CoGS[174]讨论了如何控制这个动画。基于动态表示[135],[143],它使用一个小的MLP提取相关的控制信号,并对齐每个高斯原语的变形。然后,CoGS为要编辑的区域生成3D蒙版,以减少不必要的工件。
5.4语义理解
赋予3DGS语义理解能力,可以将2D语义模型扩展到3D空间,从而增强模型在3D环境中的理解能力。这可以应用于各种任务,如3D检测,分割和编辑。
许多工作试图利用预训练的2D语义感知模型对语义属性进行额外的监督。早期的工作Feature 3DGS[175]将预训练好的2D基础模型提取出来,共同构建3DGS和Feature field。通过引入并行特征栅格化策略和正则化,使3DGS具有空间理解能力,并能够为下游任务设计提示式显式场景表示。随后,高斯分组[176]引入了高斯群的概念,并扩展了身份编码属性来实现高斯分组。这项工作提出将多视图数据视为一个视图逐渐变化的视频序列,并利用预训练的目标跟踪模型[177]来确保从SAM (Segment Anything)中获得的分割标签的多视图一致性[178]。此外,高斯群在2D和3D空间中都受到监督,并直接用于编辑。类似地,这项工作[179]通过引入KNN聚类和高斯滤波来解决语义不准确问题,这可以约束附近的高斯并消除远处的高斯。cosseggaussian[180]利用预先训练的点云分割模型与双流相结合特征融合模块。该模块将来自2D编码器的未投影2D特征与来自3D编码器的3D特征结合起来,根据高斯位置的预测[15]。通过使用解码器和语义监督,cosseggaussian可以有效地为高斯原语注入语义信息。
其他人[138],[181],[182]则专注于将文本视觉对齐功能整合到开放世界的理解中。一个重要的挑战是CLIP特征的高维数,与原始高斯属性相比,这使得直接训练和存储变得困难。该工作[138]通过从CLIP[183]和DINO[184]中提取和离散密集特征,将相应的连续语义向量引入到3DGS中,这些密集特征用于通过mlp(如VQ-V AE[185])预测离散特征空间中的语义指标m。引入不确定性属性来描述高斯基元的不稳定性和频繁变化,设计自适应空间平滑损失来有意降低嵌入的紧凑语义特征的空间频率。LangSplat[181]使用经过训练的自动编码器压缩场景特定的CLIP特征,以减少训练内存需求。为了实现这一目标,LangSplat引入了分层语义——使用SAM构建的子部件、部件和整体[178],它解决了跨多个语义级别的点歧义,并促进了对任意文本查询的场景理解。随后,FMGS[182]通过引入多分辨率哈希编码器[9]缓解了大CLIP特征维度的问题。
5.5物理模拟
最近的努力旨在将3DGS扩展到仿真任务。基于“你所看到的就是你所模拟的”的理念,PhysGaussian[139]重建了一个静态的3DGS作为待模拟场景的离散化,然后结合连续介质力学理论和物质点法(Material Point Method, MPM)[186]求解器赋予3DGS物理属性。为了稳定基于旋转的变化外观并将颗粒填充到空隙内部区域,PhysGaussian提出了一种不断发展的方向和内部填充策略
6技术分类
3DGS大致可以分为如下几个阶段,如图3所示:初始化、属性优化、飞溅、正则化、训练策略、自适应控制、后处理。此外,一些同时进行的工作旨在纳入补充信息和表示,从而增强3DGS的能力。这些技术改进不仅提高了原始3DGS的渲染性能,而且还解决了衍生作品中的特定任务。因此,本节深入探讨了3DGS的技术进步,旨在为相关领域的研究人员提供有价值的见解。
6.1初始化
正确的初始化已被证明是至关重要的,因为它直接影响优化过程[187]。3DGS的初始化通常使用从结构-从运动(SfM)派生的稀疏点或通过随机执行。然而,这些方法往往是不可靠的,特别是在弱监督信号下,如稀疏视图设置和生成任务。
组合预训练模型是一种可选的方法。在有限数量的3D样本上预训练3D模型并将其用作初始化先验是一种可行的策略[51]。这种方法可以在一定程度上提高初始化的性能,尽管其有效性取决于所使用的数据。为了解决这一限制,还引入了预训练的3D生成模型[80],[81],[87]或单目深度估计模型[100],[102]用于初始化目的。此外,一些作品[80]提出引入新的摄动点以实现更全面的几何表示。
改进初始化策略也很重要。在分析SfM对频谱内低频信号捕获作用的基础上,设计了稀疏大方差(SLV)初始化,有效地关注SfM识别的低频分布[187]。利用其他表示也可以增强初始化能力。通过从粗参数点模型中确定局部V体积,在每个体积内初始化少量高斯函数,从而避免了对目标的过多假设[188]。随后,提出了一种基于Visual Hull的初始化策略,能够从四幅图像中获取结构先验[57]。
讨论:精确的初始化有可能通过提高性能和确保稳定的训练过程,使3DGS的各种衍生作品受益。
6.2属性扩展
3DGS的原始属性包括位置、比例、旋转、球面谐波(SH)系数和不透明度值。一些作品扩展了这些属性,使它们更适合下游任务。可分为对已有属性的改进和引入新属性两种,如图6所示。
6.2.1改进属性
高斯的某些属性可以定制,从而使3DGS适用于更广泛的任务。
尺度:通过将z尺度压缩为零,并结合对深度、法线或壳图的额外监督,作品[32]、[73]、[137]、[156]、[160]旨在改进高斯原语,使其更平坦、更合适用于表面重建,从而减少高斯几何重建中的不准确性。z方向可以近似为法线方向。类似地,尺度约束限制了长轴长度与短轴长度的比例[116],[126],[139],确保高斯原语保持球形,以减轻由过细的内核引起的意外长毛绒工件的问题。
SH:通过将哈希网格与MLP相结合,对对应的颜色属性进行编码,有效解决了由于SH参数过多而导致的存储问题[23]。
不透明度:通过将透明度限制为接近0或1,从而最小化半透明高斯原语的数量,作品[37],[156]实现了更清晰的高斯表面,有效地减轻了伪影。
高斯分布:通过引入形状参数,尝试用广义指数(GEF)混合物代替原始高斯分布[27]。传统3DGS可以看作是广义指数族(GEF)混合物(β = 2)的特殊情况,提高了高斯函数的表示效率;
6.2.2附加属性
通过添加新的属性和监督,可以增强3DGS原有的表示能力。
语义属性:通过引入语义属性和相应的监督,增强了[113]、[114]、[122]、[130]、[131]、[175]等作品的空间语义意识,这对SLAM和编辑等任务至关重要。在对语义属性进行飞溅处理之后,使用2D语义分割图对3DGS的语义属性进行监督。此外,改进提取语义信息的方法[171]和引入高维语义文本特征,如CLIP和DINO特征[138]、[181]、[182],已被用于解决更广泛的下游任务。与语义属性类似,Identity Encoding属性可以对属于同一实例或素材的3DGS进行分组,对于多对象场景更加有效[176]。
属性分布:使用重参数化技术学习分布式属性而不是固定值是防止3DGS局部最小值的有效方法[84],并减轻其对3DGS自适应控制的依赖[47]。这些工作除了关注位置属性的分布预测外,还纳入了尺度属性的分布[84]。通过对预测的属性分布进行抽样,得到用于溅射的高斯基元。
时间属性:用时间属性替换原来的静态属性是3DGS动画化的关键[109],[110],[113],[152]。对于4D属性,包括旋转、比例和位置,现有的作品通过在特定时间点取时间片[152]或将t维与4D属性解耦[109],[110]来在时间步t上渲染3DGS。此外,4D SH的引入对于时变颜色属性至关重要。为此,现有文献中一般采用傅里叶级数作为所采用的基函数,赋予SH时间能力[110],[113]。请注意,由于涉及不同的时间步长,这些属性通常需要基于视频的培训。
位移属性:位移属性是必不可少的,因为它们描述了高斯基元的最终位置和初始位置之间的关系。这些属性可以根据它们对时间的依赖性进行分类。通常使用与时间无关的位移属性来校正粗糙的位置属性,可以像其他属性一样直接进行优化[46],[63]。随时间变化的位移属性可以描述静态3DGS的位置变化,从而实现动态表示。这种方法通常涉及引入一个小型MLP来基于时间步长t[143]、[144]、[145]和其他控制信号[174]来预测位移。
物理属性:物理属性包含了广泛的潜在属性,这些属性描述了控制高斯原语的客观物理规律,从而赋予了3DGS更真实的表示。例如,可以利用漫反射色、直接镜面反射色、残余色、各向异性球面高斯等与阴影相关的属性进行镜面重建[37]、[38]、[39]。此外,引入阴影标量来表示阴影[146],并采用速度来表示高斯原语的瞬态信息,这对于描述动态特性至关重要[106]。这些属性通常通过考虑特定渲染位置的物理属性的影响来更新[37],[39],[146]或通过合并补充监督信息,如流程图[106]。
离散属性:利用离散属性代替连续属性是压缩高维表示或表示复杂运动的有效方法。这通常是通过将VQ码本的索引值[17]、[18]、[19]、[23]或运动基的运动系数[147]存储为高斯基元的离散属性来实现的。然而,离散属性可能导致性能下降;将它们与压缩的连续属性结合起来可能是一种潜在的解决方案[138]。
推断属性:这种类型的属性不需要优化;它们是从其他属性中推断出来的,并用于下游任务。参数敏感性属性反映了参数变化对重构性能的影响。它由参数的梯度表示,用于指导压缩聚类[19]。Pixel-Coverage属性决定当前分辨率下高斯原语的相对大小。它与高斯原语的水平或垂直大小有关,用于引导高斯的尺度以满足多尺度渲染的采样要求[34]。
权重属性:权重属性依赖于结构化表示,如Local V volumes[188]、Gaussiankernel RBF[150]和SMPL[189],它们通过计算相关点的权重来确定查询点的属性。
其他属性:不确定性属性可以通过减少高不确定性区域的减重来帮助保持训练的稳定性[55],[138]。并且,从图像帧中提取的ORBFeatures属性[123]在建立2D-to-2D和2D-to-3D对应关系中起着至关重要的作用[119]。
讨论:高斯属性的修改简化了更广泛的下游任务的执行,提供了一种有效的方法,因为它不需要额外的结构元素。此外,新的高斯属性与补充信息约束的集成也有可能显著增强原始3DGS的表示效果。例如,在某些情况下,语义属性可以产生更精确的对象边界。
6.3抛雪球算法
Splatting的作用是将三维高斯数据高效地转化为高质量的二维图像,保证投影平滑、连续,显著提高渲染效率。作为传统计算机图形学的核心技术,也有人从效率和性能的角度对其进行改进[137]。
TRIPS[191]在3DGS中引入了用于实时渲染的ADOP[12],利用屏幕空间图像金字塔进行点光栅化,并使用三线写入来渲染大点。这种方法结合了前后alpha混合和用于细节重建的轻量级神经网络,确保了清晰、完整和无别名的图像。这项工作[190]确定了先前方法[15]的局限性,这些方法在投影过程中使用局部仿射近似,导致对渲染质量有害的错误。通过分析一阶泰勒展开的残差,他们建立了这些误差与高斯平均位置之间的相关性。在此基础上,将统一的投影平面替换为切平面,通过基于单位球面的光栅化器(Unit Sphere Based Rasterizer)减轻原始3DGS的投影误差,如图7所示。在第5.2节介绍的2D-GS[137]中也提到了类似的问题。
6.4正规化
正则化是三维重建的关键。然而,由于缺乏来自3D数据的直接监督,原始3DGS通过将渲染图像与真实图像进行比较来监督其训练。这种形式的监督可能导致训练不稳定,特别是在不确定的场景中,例如那些具有稀疏视图设置的场景。在本节中,我们将正则化项分为2D和3D正则化项,如图8所示。3D正则化主要直接为3DGS提供约束,而2D正则化条款则施加约束对渲染图像的约束,从而影响属性的优化。
6.4.1 3D正则化
三维正则化由于其直观的约束能力而引起了人们的极大关注。这些努力可以根据其目标目标分为单个高斯原语、局部正则化和全局正则化。
单个高斯原语正则化:这种正则化主要是为了改进高斯原语的某些属性[32],[78],[126],[139],如第6.2节所述。
局部正则化:由于3DGS的显式表示,在局部区域内对高斯原语施加约束是有意义的。这种约束可以保证高斯基元在局部空间的连续性。为了保证可变形目标的局部刚度,通常采用物理正则化方法,包括短期局部刚度损失、局部旋转相似损失和长期局部等距损失。短期局部刚性意味着附近的高斯函数应该随着刚体在时间步间的变换而移动,
其中µ为高斯平均位置,i和j为相邻点的索引,t为时间步长,R表示旋转;局部旋转相似性强制相邻的高斯基元随时间步长具有相同的旋转,
其中,- q是每个高斯旋转的归一化四元数表示;长期的局部等距损失可以防止场景元素漂移,
[103],[104],[135],[146],[147],[150],[174],[188]。随后,一些作品也采用了类似的范式来约束局部刚度[111],[149]。
除了刚度损失外,动量正则化守恒也可以作为动态场景重建的约束。它鼓励一个恒定的速度矢量,并对3D轨迹应用低通滤波效果,从而平滑突然变化的轨迹[146]。此外,还有一些局部一致性正则化术语也旨在约束局部区域内的高斯原语以保持相似的属性,如语义属性[138]、[176]、[179]、位置[98]、[107]、时间[149]、帧[141]、法线[192]和深度[52]。
全局正则化:与相邻区域的局部正则化不同,全局正则化旨在约束整体3DGS。物理相关的正则化引入了现实世界的物理特征来约束3DGS的状态,包括重力损失和接触损失等。重力损耗用于约束物体与地面之间的关系,而接触损耗用于约束多个物体之间的关系[98]。
受益于3DGS的显式表示,可以直接获得深度和法线方向属性,这些属性可以在训练过程中作为约束,特别是在表面重建任务中。深度正态正则化通过比较深度值计算的正态与预测的正态[37]、[158]、[160]、[161]来实现深度正态一致性。这种方法有效地同时对法线和深度进行约束。此外,直接约束法向或深度也是可行的。由于缺乏直接监督信号,正态正则化通常采用自监督范式,可通过设计来自梯度[153]、高斯基元的最短轴方向[37]或SDF[158]、[159]的伪标签来实现。类似地,深度正则化也采用类似的方法;然而,它不仅旨在精确的深度值,而且还寻求确保在3DGS中清晰的表面。深度失真损失[8]沿射线聚集高斯基元
式中,z为高斯的交点深度[137],[161]。除了自监督方法外,结合额外的预训练模型来估计正态[160]和深度[38],[54],[56],[193]已被证明在normal Regularization和depth Regularization中更有效。在此基础上,衍生作品引入硬深度和软深度正则化来解决几何退化问题,获得更完整的曲面[56]。一个类似的正则化术语是SDF正则化,这也是曲面重建的一种约束策略。它通过将3DGS对应的SDF约束为理想分布[153],[156],[158],[159],[194]来获得所需的曲面。
6.4.2二维正则化
与3D正则化的直观约束不同,2D正则化通常用于解决原始损失函数本身不足的约束情况。
SDS损失:一个重要的例子是SDS损失,如式3所示,它利用预训练的2D扩散模型来监督通过蒸馏范式进行的3DGS训练[75],[162]。该方法还被扩展到提取预训练的3D扩散模型[82]、多视图扩散模型[195]、图像编辑模型[164]和视频扩散模型。其中,引入三维扩散模型[80]、[196]和多视图扩散模型[76]、[77]、[78]、[103]、[104]、[107]可以优化显式几何的重建和多视图一致性。图像编辑模型[163]可以实现可控编辑,视频扩散模型[103]可以使用视频SDS进行动态时间场景生成。基于这一范式,其他模态图像的提炼也具有潜力,因为它可以提供来自相应预训练扩散模型的更多约束,例如RGB-Depth[74],其中设计者需要讨论如何构建扩散模型。
一些改进专门针对SDS的固有问题[85],[89]。区间分数匹配是为了解决随机和单步抽样的问题而提出的。
其中s = t - δT, δT表示小步长[85]。引入否定提示[197]也是一种方法[74]
流损失:流损失是动态3DGS常用的正则化术语。使用预训练的二维光流估计模型的输出作为真值,它可以通过计算单位时间内高斯基元的位移并将这些3D位移溅射到二维平面上来呈现预测的流量[104],[114],[115]。然而,这种方法有很大的差距,主要是因为光流是二维平面属性,容易受到噪声的影响。选择空间深度正确的高斯基元,通过KL散度引入不确定性约束光流是一种潜在可行的方法[106]。
其他损失:还有一些2D正则化术语值得讨论。例如,在频域限制渲染图像与地面真实值之间的幅度和相位差异可以作为一种损失函数来辅助训练,从而缓解过拟合问题[33]。通过噪声扰动为假设视点引入伪标签有助于稀疏视图设置下的训练[54]。在大规模场景映射中,约束优化前后属性的变化可以防止3DGS上的灾难性遗忘[129]。此外,束平差通常是位姿估计问题中的一个重要约束[118],[119],[130]。
值得注意的是,无论是使用2D还是3D正则化,由于3DGS中大量的原语,整体优化有时不是最优的。一些原语通常会对结果产生无法控制的影响。因此,有必要通过使用可视性[120]、[122]、[131]、[134]等方法选择重要的高斯原语来指导优化。
讨论:对于特定的任务,通常可以引入各种约束,包括2D和3D正则化术语,其中许多正则化术语是即插即用的,可以直接提高性能。
6.5训练策略
训练策略也是一个重要的课题。在本节中,我们将其分为多阶段训练策略和端到端训练策略,可以应用于不同的任务。
6.5.1多阶段训练策略
多阶段训练策略是一种常见的训练范式,通常涉及从粗到精的重构。广泛应用于欠确定任务,如AIGC、动态3DGS构建、SLAM等。在不同的训练阶段使用不同的三维表示是多阶段训练的典型范例之一。
3DGS→Mesh(第一阶段训练3DGS,将表示转换为Mesh,第二阶段优化Mesh)[75]、[76]、[77]、[92]、[163]、[196]是保证生成的3D模型几何一致性的有效方法。此外,在第一阶段生成多视图图像[91],[96],[109],[136],[165],[166],[196],而不是在3D表示之间进行转换,第二阶段的改造也可以提高质量。
静态重建和动态重建两阶段重建在动态3DGS中也很重要。这类工作通常包括在第一阶段训练一个与时间无关的静态3DGS,然后在第二阶段训练一个与时间相关的变形场来表征动态高斯[115]、[143]、[144]、[145]、[146]、[168]。此外,逐帧增量重建动态场景也是一些研究的重点,通常依赖于之前重建的表现[135],[140]。
在多目标优化任务中,多阶段训练模式可以提高训练的稳定性和性能。例如,从粗到精的摄像机跟踪策略是一种常用的方法,它首先通过稀疏的像素集获得粗摄像机姿态,然后根据优化的渲染结果进一步细化估计的摄像机姿态[118],[133]。
此外,一些作品旨在改进在第一阶段训练的3DGS[51],[57],[80],[87],[170],[179],[188]或赋予它们额外的能力,如语义[134],[180]和风格化[172]。这样的训练策略有很多,也是保持训练稳定性和避免局部最优的有效手段[24]。此外,对最终结果进行迭代优化以提高性能也是可行的[136]。
6.5.2端到端训练策略
端到端训练策略通常更有效,可以应用于更广泛的下游任务。一些典型作品如图9所示。
渐进式优化策略:这是一种常用的策略,可以帮助3DGS在局部优化细节之前优先学习全局表示。在频域,这个过程也可以看作是一个从低频到高频的渐进学习过程。通常通过逐渐增加高频信号的比例[33],[187]或逐步引入更大的图像/特征尺寸进行监督[17],[39],[119]来实现,这也可以提高效率[116]。在生成任务中,渐进式选择相机姿势也是一种易、难的训练策略从靠近初始视点的位置逐渐优化到较远的位置[77],[102]。
块优化策略:该策略常用于大规模场景重建,不仅可以提高效率,还可以缓解灾难性遗忘问题[121],[133],[134]。同样,它可以通过将场景划分为静态背景和动态对象来实现重建[112],[113],[114],[144]。此外,这种方法也应用于AIGC和Semantic Understanding,其中细化子地图的重建质量可以提高整体性能[87],[181]。与按空间区域划分的子映射不同,高斯原语可以被划分为不同的代及其致密化过程,允许对每代应用不同的正则化策略,这是调节不同代流动性的有效策略[162]。将初始点分为光滑表面上的点和独立点也是一种可行的策略。通过为每个类别设计不同的初始化和致密化策略,可以获得更好的几何表示[192]。此外,一些研究旨在设计基于帧间共可见度或时间数据的几何重叠率的关键帧(或窗口)选择策略,并将其用于重建[118]、[120]、[122]、[126]、[129]、[141]。
鲁棒优化策略:在训练过程中引入噪声扰动是增强训练过程鲁棒性的常用方法[57],[92],[143]。这样的扰动可以针对相机姿势、时间步长和图像,并且可以被视为一种防止过拟合的数据增强形式。此外,一些训练策略旨在通过避免从单一视点进行连续训练来减轻过拟合和灾难性遗忘[121],[127]。
基于蒸馏的策略:为了压缩模型参数,一些蒸馏策略使用原始3DGS作为教师模型,使用低维SH 3DGS作为学生模型。通过引入更多的伪视图,他们旨在提高低维SH的表示性能[24]。
讨论:改进训练策略是优化3DGS训练过程的有效途径,可以提高许多任务的性能。特别是端到端训练策略,可以在确保效率的同时提高性能
6.6自适应控制
3DGS的自适应控制是调节高斯基元数量的重要过程,包括克隆、分裂和剪枝。在接下来的章节中,我们将从致密化(克隆和分裂)和修剪的角度总结现有的技术。
6.6.1致密化
致密化是至关重要的,特别是对于细节重建。在这一节中,我们将从“在哪里密度”和“如何密度”的角度来分析它。此外,我们将讨论如何避免过度致密化。
在哪里进行致密化:致密化技术通常集中于识别需要致密化的位置,该过程由原始3DGS中的梯度控制,也可以扩展到动态场景中新目标的重建[140]。随后,不透明度或轮廓低、深度渲染误差大的区域被视为不可靠区域,也被认为是引导致密化的重要因素[32]、[118]、[129]、[134]、[148]、[160],这些区域通常用于填充孔或改善3D不一致的区域。一些工作继续关注基于梯度的改进,其中将不同视图中每个高斯覆盖的像素数视为权重,以动态平均这些视图的梯度,从而改善点云生长的条件[198]。此外,SDF值和邻近距离也是重要的判据,离地表越近、密实度越低的位置越容易致密化[80]、[156]、[159]。
如何致密化:许多工作改进了致密化方法。图结构用于探索节点之间的关系,并根据接近度评分在边缘中心定义新的高斯值,从而减轻稀疏视点的影响[54]。为了防止高斯数量的过度增长,候选池策略被设计为存储经过修剪的高斯以进行致密化[94]。此外,work[199]引入了三个守恒规则以确保视觉一致性,并使用积分张量方程来模拟致密化。
过度致密化也是不必要的,因为它会直接影响3DGS的效率。在两个高斯函数非常接近的情况下,限制它们的致密化是一个简单的想法,其中高斯函数之间的距离可以通过高斯发散显著性[96](GDS)或kullbackleibler散度[62]来测量,其中µ1,Σ1,µ2,Σ2属于两个相邻的高斯函数。
DeblurGS[42]采用高斯致密化退火策略,以防止在不精确的相机运动估计的早期训练阶段不准确的高斯密度化。此外,在一些下游任务中,有时会放弃致密化,以防止3DGS对每个图像过度拟合,从而导致不正确的几何形状[116],[118],[120],[126]。
6.6.2修剪
去除不重要的高斯原语可以确保有效的表示。在最初的3DGS框架中,不透明度被用作确定高斯显著性的标准。随后的研究探索了将尺度作为修剪的指导因素[74]。然而,这些方法主要关注单个高斯原语,缺乏对全局表示的全面考虑。因此,后续的衍生技术已经解决了这个问题。
重要性分数:训练视图上的数量和命中数可以与不透明度一起引入共同确定高斯原语的全局显著性得分[24]。
其中γ(Σj)和1(G(Xj), ri)是体积和命中数,M是训练视图的个数随后,根据高斯函数的全局显著性得分对其进行排序,并对得分最低的高斯函数进行修剪。类似的重要性分数在其他作品中也有提高[200],[201]。
多视图一致性:多视图一致性是决定高斯是否需要修剪的关键标准。例如,work[126]对一个局部关键帧窗口内未被三个关键帧观察到的新添加的高斯函数进行了剪枝,而work[131]对所有虚拟视图中不可见但在真实视图中可见的高斯函数进行了剪枝。
距离度量:一些表面感知方法通常引入到表面的距离[118]和SDF值[159],修剪远离表面的高斯原语。高斯函数之间的距离也是一个重要的度量。GauHuman[62]旨在“合并”小尺度和低KL散度的高斯函数,如Eq. 10所述。
可学习的控制参数:引入基于比例和不透明度的可学习掩模来确定是否需要移除目标高斯基元,也是防止3DGS过于密集的有效方法[23]。
6.7后处理
预训练高斯函数的后处理策略非常重要,因为它们可以提高3DGS的原始效率和性能。常见的后处理通常通过不同的优化策略来改进高斯表示。这类工作已在第6.5节中讨论过。
表示转换:通过对采样的3D点[156],[160]引入泊松重构[202],可以将预训练好的3DGS直接转换为Mesh。类似地,高斯不透明度域(Gaussian Opacity Fields, GOF)[161]引入3D边界框,将预训练好的3DGS转换为四面体网格表示,然后使用水平集二分搜索(Binary Search of Level Set)从中提取三角形网格。此外,LGM[92]首先将预训练的3DGS转换为NeRF表示,然后使用NeRF2Mesh[203]将其转换为Mesh。
性能和效率:一些作品旨在通过后期处理来提高3DGS在某些任务中的性能,例如多尺度渲染。SA-GS[36]在预训练3DGS的基础上,引入了一种2D尺度自适应滤波器,该滤波器可以根据测试频率动态调整尺度,以增强缩小时的抗混叠性能。在效率方面,从预训练的3DGS中去除冗余的高斯原语[29]或引入高斯缓存机制[204]可以有效提高渲染效率
6.8与其他表示的集成
3D表示的可转换特性便于将3DGS与其他表示集成。这类作品通常利用其他表现形式的优势来改进原始3DGS。
6.8.1点云
点云作为一种与3DGS相关的3D表示形式,通常用于初始化其属性。将点云表示转换为3DGS可以有效地填补点云的空洞[100],[102],这通常是在对点云进行高精度重建后完成的。反过来,也可以将3DGS转换为点云,然后将点云体素化为3D体素,然后将其投影到2D BEV网格上,这是导航任务的重要指南[134]。此外,空间中的锚点可以辅助3DGS。这些方法使用体素的中心作为锚点来表示场景。每个锚点包括一个局部上下文特征、一个缩放因子和多个可学习的偏移量。通过解码基于这些偏移量和特征的其他属性,锚点被转换成局部神经高斯分布。这个想法有助于减轻3DGS的冗余扩展[26],[39],[159]。
6.8.2 Mesh
网格具有更好的几何表示能力,可以在一定程度上缓解3DGS带来的伪影或模糊像素[142]。它们仍然是下游任务中最广泛使用的3D表示[92]。大量的工作讨论了如何将3DGS转换为Mesh,如第5.2节所述。一旦转换,它们可以进一步优化,以获得更好的几何和外观[64],[75],[76],[163]。联合优化3DGS和Mesh也是一种可选策略。DGS适用于构造复杂的几何结构,而Mesh可用于重建光滑表面上的详细颜色外观。两者结合可以提高重构性能[142]。
6.8.3 Triplane
三平面以其紧凑性和高效的表达性而著称[50],可以认为是一种编码表示。由于这些特点,三平面经常用于与泛化相关的任务。具体来说,三平面由三个正交的特征平面组成:X-Y平面、Y -Z平面和X-Z平面。可以通过访问空间中的位置获得特征,然后对这些特征进行解码以预测高斯属性[50],[51],[60],[93]。
随后的研究[107]、[145]、[168]试图通过引入多尺度的hexes[108]或4D GaussianPlanes[168]将三平面扩展到四维空间(XY Z-T),以增强4DGS在时空维度上的连续性,如图10(a)所示。
6.8.4 Grid
网格也是一种有效的表示,因为它可以访问网格角并插值以获得特定位置的特征或属性。哈希网格[9]作为一种代表性的方法,能够对场景进行压缩,得到更加紧凑高效的3DGS[23]、[63]、[116]、[172]、[182]。此外,自组织高斯[25]将原始的非结构化三维高斯映射到二维网格上,以保持局部空间关系,其中相邻的高斯将具有相似的属性值,从而减少场景的内存存储并保持3D空间的连续性,如图10(b)所示。
6.8.5隐式表示
隐式表示得益于其表示能力,可用于减轻3DGS的条件难度和表面伪影[72]。具体来说,引入NeRF对颜色和不透明度进行编码可以显著增强表示的可调节性[205]。此外,通过设计SDF-to-opacity转换函数[158]或采用互几何监督[159]来联合优化3DGS和SDF表示,可以提高3DGS的表面重建性能。
6.8.6 GaussianVolumes
高斯体积也用于一般化表示[94],其中体积由固定数量的3DGS组成。与广义三平面表示相比,这种表示保持了高斯表示的效率,同时提供了更大的可操作性,并减轻了对点云预测准确性的依赖。
讨论:根据不同的需求,可以引入不同的表示形式。然而,不同表示之间的有效转换是很重要的。
6.9 Guidance by Additional Prior
在处理欠确定问题时,例如稀疏视图设置3.3.1,引入额外的先验是提高3DGS性能的一种直接方法。
预训练模型:引入预训练模型是一种有效的范例,可以通过模型的知识指导优化。预训练的单目深度模型和点云预测模型是一种常见的先验类型,其中预测的深度值和位置可用于初始化和正则化[52],[54],[55],[100],[102],[131]。预训练的2D图像(或3D和视频)生成模型在一些aigated任务中也很重要。它们不仅可以结合SDS Loss进行优化[80]、[103]、[196],还可以直接生成(或编辑)用于训练的图像[91]、[100]、[102]、[109]。同样,一些作品引入了预训练的图像绘制网络来缓解遮挡和重叠带来的困难[77]、[100]、[102]、[162]、[171],或者在生成过程中引入超分辨率模型来获得高水平的细节[102]、[168]。此外,预训练的ControlNet[167]或大型语言模型也可用于指导3D生成。前者可以增强深度引导下的几何一致性[77],[78],[166],后者可以预测布局图,指导多目标三维生成场景下的空间关系[78]。值得注意的是,某些预训练模型可以赋予3DGS额外的功能,如第5.4节讨论的语义理解模型和空间理解模型[131]。
更多传感器:由于2D图像的3d不可知性,重建3d图像可能具有挑战性,特别是在SLAM和自动驾驶等大规模重建中。因此,结合额外的3D深度信息传感器,包括深度传感器[121]、[127]、[129]、[130]、[131]、激光雷达[112]、[116]、[133]和光学触觉传感器[55],有可能缓解这一问题。
特定任务先验:一些重建任务,如人体重建,目标对象具有一定的共同特征。这些特征,如模板模型和线性混合蒙皮,可以作为先验提取,以指导相似目标的重建。在非刚性物体的重建、动画和生成中,许多作品利用SMPL[66]和SMAL[206]为人类[58]、[60]、[62]、[63]、[74]和动物[111]、[189]等非刚性物体的运动和变形提供了强先验。随后,在SMPL模板的基础上,还结合3DGS引入了Shell Maps[95]和模板网格,以解决3DGAN效率低[73]和几何形状不清晰[64],[65]的问题。同样,在头部和面部重建和动画任务中,一些作品[68],[70]也使用FLAME模型[69]作为先验。线性混合蒙皮[151]也被用作先验知识来帮助预测3DGS运动[70],[150]。此外,在3D城市场景重建任务中,HUGS[114]引入了独轮车模型(Unicycle Model)对动态车辆的运动进行建模,从而使运动物体的运动建模更加流畅。
7 .相互关系和挑战
如前面第3节所述。在第4节和第5节中,有大量的研究集中在3DGS的优化、应用和扩展上。然而,这些讨论往往使问题过于复杂化。在本节中,我们旨在总结不同任务之间的共性,并提出四个核心挑战以及相应的技术讨论,如表2所示。认识到这些共同的挑战和解决方案可以简化研究工作,促进跨学科的进步。
7.1次优数据挑战
在现实场景中,收集大量高质量的训练数据通常是不切实际的。一方面,在没有获得三维数据和足够多的多视点图像的情况下,仅仅依靠有限数量的二维图像监督是不足以实现精确的3DGS重建的。例如,只有一个目标的正面图像,推断背面的外观是非常具有挑战性的。另一方面,数据质量也同样重要;准确的姿态和清晰的图像直接影响重建性能。
这些问题在多个任务中进行了讨论,例如稀疏视图设置(第3.3.1节),自动驾驶(第4.3节),动态3DGS(第5.1节)(单目视频),AIGC(第4.2节)和可编辑3DGS(第5.3节)。许多工作已经讨论了如何改进初始化(第6.1节)、正则化(第6.4节)、自适应控制(第6.6节)和训练策略(第6.5节),或者在稀疏或缺失多视图训练图像的背景下引入额外的先验(第6.9节)。此外,缺少准确姿态的重建也可以被认为是一个不确定的问题。SLAM文献(第4.3.2节)和模糊图像下的重建(第3.2节)或没有姿势的重建[207],[208]中对此进行了讨论,其中经常引入新的训练策略(第6.5节)和其他表示(第6.8节)来缓解它。
7.2泛化挑战
尽管与NeRF相比,训练效率有所提高,但特定场景的训练范式仍然是3DGS应用的主要瓶颈。很难想象为每个目标或场景单独训练,特别是在多目标重建和文本到场景生成中。我们发现这个问题在泛化设置(第3.3.1节)和一些与人类重建(第4.1节)和AIGC(第4.2节)中的泛化相关任务中经常被讨论。这些工作旨在使用前馈网络直接推断新的场景。因此,他们表现出强烈的技术相似性,例如三平面的引入。具体的改进策略在初始化(第6.1节)、自适应控制(第6.6节)和与其他表示的集成(第6.8节)中进行了广泛的分析。
7.3物理挑战
传统3DGS只考虑静态渲染,忽略了物理运动规律,而物理运动规律在模拟中很重要[139]。此外,基于物理的渲染是应用3DGS模拟物理世界的重要一步。由于明确的表示,可以构建符合物理定律的3DGS。
这个问题通常在动态3DGS (Sec.5.1),物理模拟(Sec.5.5),动画(Sec.5.3.4)和一些动态人体重建(Sec.4.1)或自动驾驶场景重建(Sec.4.3.1)中讨论。这些讨论集中在高斯原语应该如何在物理世界中移动,并且在Photorealism中介绍了基于物理的渲染(Sec.3.2)。从技术角度来看,自3DGS研究的早期阶段以来,许多工作都解决了这个问题,通常集中在属性扩展(第6.2节)、正则化策略(第6.4节)和额外先验的辅助(第6.9节)。
7.4真实性和效率挑战
真实性和效率挑战是根本问题。它们在各种作品中进行了调查,并在第3节中进行了讨论。在本节中,我们将讨论一些典型的相关任务,并总结它们的常用技术。关于真实性的挑战,现有的工作不仅讨论了真实感(Sec.3.2),表面重建(Sec.5.2)和语义理解(Sec.5.4),而且还在aigc相关(Sec.4.2)和自动驾驶(Sec.4.3)研究中解决了这个问题。(第6节)中提到的大多数技术都有助于提高渲染性能。不同的任务采用不同的方法。例如,与aigc相关的工作(第4.2节)通常侧重于改进训练策略(第6.5节)和正则化(第6.4节),而表面重建工作(第5.2节)与后处理程序(第6.7节)有关。
关于效率挑战(第3.1节),它们在一些衍生任务中提到,例如与自动驾驶(4.3节)和语义理解(5.4节)。现有的改进通常集中在引入额外的属性(第6.2节)或后处理(第6.7节),以及改进自适应控制(第6.6节)和飞溅(第6.3节)策略。
此外,不同领域之间还有一些没有提到的关系。例如,表面重建技术(第5.2节)经常在可编辑3DGS(第5.3节)的上下文中被引用,等等。
8机会
3DGS最近经历了重大的发展,大量的工作展示了它在相关任务中的潜力。在本节中,我们讨论了上述核心挑战中尚未解决的问题,并提出了未来研究的潜在方向。此外,我们还讨论了一些应用程序和技术的扩展。
8.1训练数据次优
一个理想的3DGS训练过程需要足够的和高质量的数据,但在实际应用中,这往往是过于具有挑战性的。虽然专注于引入先验可以在一定程度上缓解问题,但在低约束条件下优化大量高斯函数仍然存在固有的困难。因此,一个潜在的解决方案是根据高斯原语的不确定性减少其数量,同时增强单个原语的表示能力[27]。这涉及到在高斯数和渲染性能之间找到一个权衡,从而提高利用稀疏样本的效率。
然后,还应该考虑质量差的数据。无约束的野外图像是一种典型的情况,包括瞬态遮挡和动态外观变化,如天空、天气和光照的变化,这些在NeRF[209]、[210]、[211]中有广泛的讨论。为了提高效率,现有的作品也在3DGS的背景下讨论了这个问题[212],[213],它们试图建模外观变化并处理瞬态物体。然而,他们的表现挣扎,特别是在复杂的灯光变化和频繁遮挡的场景。由于3DGS的显式表示特性,解耦几何表示并在不同场景中引入几何一致性约束是一种很有前途的方法,可以减轻训练过程中的不稳定性。
8.2泛化
现有的泛化相关工作虽然可以通过前向推理直接获得场景表征,但其表现往往不尽人意,并且受到场景类型的限制[46]、[49]、[50]、[93]。我们假设这是由于前馈网络难以对3DGS进行自适应控制,如[47]中所述。在未来的研究中,设计一种基于参考特征的前馈自适应控制策略是一种潜在的解决方案,该策略可以通过参考特征预测需要自适应控制的位置,并可即插即用到现有的泛化相关工作中。此外,现有的泛化相关工作依赖于准确的姿势,在实际应用中往往难以获得[208],[214],[215]。因此,讨论位姿缺失条件下的可泛化3DGS也是有希望的[204]。
8.3物理问题
8.3.1基于物理的运动
确保3DGS的运动遵循物理定律对于统一模拟和渲染至关重要[139]。尽管已经引入了与刚性相关的正则化术语,如第6.4.1节所述,但大多数现有的工作都集中在动画3DGS上,而忽略了高斯原语本身的物理属性(第5.1节)。一些开创性的作品试图引入速度属性[106]和牛顿动力学规则[139],但这不足以完全描述三维物体在空间中的物理运动。一个潜在的解决方案是在高斯原语中引入更多的物理属性,如材料[216]、加速度和力分布,这些属性可能受到某些仿真工具和物理知识的先验约束。
8.3.2基于物理的渲染
基于物理的渲染也是一个值得关注的方向,因为它使3DGS能够处理重光照和材质编辑,产生出色的反向渲染效果[40]。未来的工作可以探索3DGS中几何与外观的解耦,从法向重建和照明与材料建模的角度进行研究[72],[216],[217]。
8.4真实高效
8.4.1曲面重建
重建清晰表面的困难一直是影响渲染真实感的重大挑战。正如第5.2节所讨论的,一些作品已经解决了这个问题,试图用平面高斯表示曲面。然而,这可能会导致渲染性能下降,可能是由于平面高斯基元的表示能力降低或训练过程的不稳定性。因此,设计更适合表面表示的高斯原语和引入多阶段训练范式以及正则化项是潜在的解决方案。
8.4.2效率
存储效率是3DGS的关键瓶颈之一。现有的工作重点是介绍VQ技术和压缩SH参数,如第3.1.1节所述。然而,这种方法不可避免地会影响渲染性能。因此,探索如何基于3DGS设计更高效的表示是在保持性能的同时提高效率[26],[27]的潜在途径。
8.5应用
8.5.1大规模高斯飞溅
虽然最近的方法能够有效地重建小规模和以对象为中心的场景,扩展这一点由于有限的视频内存、冗长的优化时间和显著的外观变化,大规模场景的能力仍然具有挑战性。最近的一些作品试图解决这些问题。例如,VastGaussian[218]直观地使用基于相机位置的区域划分机制将大场景划分为多个小块,并根据空间感知的可见性标准引入额外的辅助相机位置,同样,Fed3DGS[219]在大规模3DGS中引入了联邦学习框架,以减少中央服务器上的数据负载,并实现了高斯合并策略,实现了数百万客户端和分布式计算资源之间的分散重建。遵循这些方法,仍有大量的研究空间。
8.5.2 AIGC
现有的aigc相关工作主要集中在单个静态对象的生成上。然而,在实际应用中,多对象(第4.2.3节)和动态对象(第4.2.4节)的生成更为重要。此外,在构建具有多个运动物体的场景时,描述物体之间的相互作用也是一个值得研究的课题。
8.5.3应用扩展
由于3DGS的高效和强大的重建能力,在医学[220]、工业缺陷检测[221]、图像压缩[222]、航空[223]等各个领域得到了广泛的应用。在未来,3DGS有可能在其他领域取代NeRF进行3D重建,如机器人[224]和生物学[225]。
8.6技术改进
8.6.1初始化
越来越多的研究和工程项目发现初始化在3DGS中很重要。传统的SfM初始化不适合许多约束场景,例如稀疏视图设置、AIGC和低光重建。因此,应该设计更健壮的初始化方法来代替这些受限场景中的随机初始化。
8.6.2泼溅
飞溅在3DGS中也扮演着重要的角色,但在现有的作品中很少提及[190],[191]。在预训练的3DGS上设计高效的并行喷溅策略有可能影响渲染性能和效率
9结论
3D高斯溅射(3DGS)领域蓬勃发展的兴趣促成了无数相关下游任务和技术的出现,从而导致了该领域内日益增加的复杂性和混乱,这些复杂性和混乱以各种形式表现出来,包括不同作品的相似动机;在不同的任务中整合类似的技术;以及各种技术之间的细微差别和相互联系。在这项调查中,我们努力根据其潜在动机对现有作品进行系统分类,并批判性地讨论相关技术。我们的目标是阐明跨越不同任务和技术的共同挑战,从而为理解这个快速发展的领域提供一个连贯的框架。本调查旨在为新手和经验丰富的从业者提供宝贵的资源,促进导航和有效参与最新进展。此外,我们确定并强调了未来研究的潜在途径,旨在激发3DGS的持续创新和探索。
最后别忘了,帮忙点“在看”。
您的点赞,在看,是我创作的动力。
AiFighing是全网第一且唯一以代码、项目的形式讲解自动驾驶感知方向的关键技术。
长按扫描下面二维码,加入知识星球。