前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >上交通提出 AdR-Gaussian ,实现310%的渲染速度提升 !

上交通提出 AdR-Gaussian ,实现310%的渲染速度提升 !

作者头像
AIGC 先锋科技
发布2024-09-25 15:40:06
1050
发布2024-09-25 15:40:06
举报
文章被收录于专栏:AIGC 先锋科技

1 Introduction

新颖视角合成(NVS)旨在给定一组输入视图的情况下生成新视角的光照真实渲染结果,由于其在新颖视角合成在模型设计[Chen等人2023a; Tang等人2023]、自动驾驶[Cao等人2024; Matsuki等人2023]和虚拟现实 [Qian等人2023; Wang等人2023]等领域的广泛应用,吸引了广泛关注。3D高斯散射(3DGS)模型[Kerbl等人2023]是一种最近的3D表示方法,它使用一组3D高斯椭球来模拟3D场景,实现了复杂场景的高质量实时渲染。然而,高斯光栅化管线由于可避免的串行高斯剔除和因像素间渲染高斯数量不同导致的负载不均,存在不必要的开销,这限制了3D高斯的渲染速度并阻碍了其更广泛的应用。

当前的高斯光栅化管线由于以下原因遭受不必要的开销和不均衡负载,这些问题主要与管线中的像素并行基于点的渲染阶段相关:

(1) 串行剔除的不必要开销:在渲染阶段,具有低散射透明度的高斯-像素对被串行剔除,但某些串行剔除可以并行执行,因此当前的剔除方法对基于高斯串行的alpha混合造成了显著的性能损失。

(2) 像素线程间的负载不均:由于渲染阶段并行计算每个像素的颜色,并且每个像素需要串行渲染的高斯数量不同,不同的像素线程面临明显不同的负载(计算时间),这导致了长时间的线程等待时间和低效的渲染效率。现有方法[Fan等人2023; Girish等人2023; Hamdi等人2024; Lee等人2023]通过减少高斯总数来加速渲染,牺牲了渲染质量,并且未能有效处理上述问题,留下了进一步提高渲染速度的空间。

为了解决这些问题,作者提出了AdR-Gaussian,它使用自适应半径和针对高斯散射定制的轴对齐边界框进行无损的早期剔除,以缩小每个高斯的渲染像素范围,并提出了一种负载平衡方法来最小化线程等待时间。

作者的AdR-Gaussian包括两个阶段:早期剔除阶段和负载平衡阶段。首先,提出将渲染阶段的部分串行剔除提前到预处理阶段的并行剔除。我们在预处理阶段早期剔除具有低散射透明度的高斯-瓦片对,这是针对每个高斯并行进行的。

具体来说,自适应半径和轴对齐边界框来早期剔除高斯-瓦片对,实现了加速高斯渲染而不会损失渲染质量。此外,为了解决高斯渲染中不同像素线程间计算成本不均的问题,作者提出了一个像素线程的负载平衡算法。通过量化每个像素所需渲染高斯数量的差异,我们减少了重负载像素的高斯数量以减少线程等待时间,并增加了轻负载像素的高斯数量以防止质量损失,实现了更高的渲染效率。

总结如下,我们的贡献包括:

  1. 作者提出了AdR-Gaussian,这是一种新颖的高斯散射渲染加速方法,它将渲染阶段的部分串行剔除提前到预处理阶段的并行剔除,并在不同的像素线程之间平衡负载。
  2. 在基于自适应半径的高斯并行预处理阶段早期剔除具有低散射透明度的高斯-瓦片对,实现了加速而不会损失渲染质量。 • 我们提出了针对高斯散射定制的基于轴对齐边界框的早期剔除,它在水平和垂直方向上实现了不同程度的剔除,并进一步提高了剔除效率。
  3. 提出了一个像素线程的负载平衡算法,减少了每个像素需要串行渲染的高斯数量差异,以减少线程等待时间并进一步加速渲染。

在三个数据集上的实验表明,我们的方法显著提高了高斯散射的渲染速度,平均实现了310%的加速,同时达到了相等或更优的渲染质量。具体来说,对于Mip-NeRF360数据集[Barron等人2022]中的复杂场景,我们的方法在单个NVIDIA RTX3090 GPU上实现了平均590FPS的渲染速度。

2. Related Works

首先,作者对传统的图像生成方法进行简要概述。接下来,作者讨论神经辐射场(NeRF)和三维高斯分叉(3DGS)模型。鉴于这两个领域都相当广泛,作者重点关注渲染加速方法,这些方法对作者来说最为重要。为了获取更全面的信息和分析,读者可以参考最近的一些综述(Chen和Wang,2024;Tewari等人,2022)。

Traditional Novel View Synthesis

早期的新视角合成方法通常依赖于物理原理,例如光场采样插值(Gortler等人,1996年;Levoy和Hanrahan,1996年),网格表示(Buehler等人,2001年;Debevec等人,1996年), Voxel 表示(Flynn等人,2019年;Mildenhall等人,2019年)。然而,这些方法基于离散采样,并存在诸如重建质量差、依赖初始化数据和高空间复杂度等问题。随着神经网络的发展,采用符号距离场(Jiang等人,2020年;Park等人,2019年)、3D占用场(Niemeyer等人,2020年)和可微渲染(Sitzmann等人,2019年)等方法,可以通过隐式表征从2D图像中模拟3D场景。然而,在处理复杂几何场景中合成高分辨率和高质量的新视角时,这些方法在NeRF的引入之前证实具有挑战性。

Fast NeRF Rendering

NeRF(Mildenhall等人,2021年)利用包括位置和相机方向在内的5D参数通过多层感知机(MLP)获取RGBA信息。然而,由于使用体积渲染方法和对MLP的复杂性,NeRF在效率上较低,因此许多研究都致力于加速其渲染速度。

NSVF(Liu等人,2020年)引入了八叉树,使用空空间跳过和早期光线终止策略来最小化无效采样。RT-Octree(Shu等人,2023年)则使用低-SPP蒙特卡罗渲染来减少任意采样并随后去噪。KiloNeRF(Reiser等人,2021年)将大型MLP浓缩成数千个较小的MLP,从而减少了MLP的 Query 成本。此外,一些方法使用数据结构(Hedman等人,2021年;Yu等人,2021年)或哈希编码(Hu等人,2023年;Reiser等人,2023年)来缓存信息,进一步通过最小化MLP使用来降低 Query 成本。此外,一些工作还采用了对GPU友好的实现(Chen等人,2023年),以实现更快的渲染速度。

然而,这些实时的NeRF渲染通常会牺牲其他指标,比如因为建立和更新数据结构而导致的较慢的训练。相反,最近提出的3DGS模型通过使用可分差、GPU友好的高斯椭球实现了高质量和实时 rendering,并通过实现快速训练。作者的方法旨在进一步提高3DGS的渲染速度。

Fast 3DGS Rendering

《3DGS模型》(Kerbl等人,2023年)是一种最近公开的显式3D表示,它采用了一组3D高斯椭球体,同时实现了高质量的渲染、具有竞争力的训练时间和实时渲染。3DGS模型通过高斯的不同凡响性和显式结构实现高效渲染。得益于其高质量的实时渲染能力,许多应用研究已经出现(Szymanowicz等人,2023年;Wu等人,2023年;Zhou等人,2024年),而少数研究则专注于优化其存储(Niedermayr等人,2024年)或合成质量(Yu等人,2023年)。

近期的一些研究通过减少高斯的使用加速了3DGS的渲染速度。EAGLES(Girish等人,2023年)通过收敛曲线抑制高斯密度化的频率,从而直接降低了高斯数量的增长率。GES(Hamdi等人,2024年)将学习趋势从低频到高频引入,限制了高频信息的高斯创建。此外,其他方法通过剪枝具有较低重要性的高斯来减少整体高斯数量。LightGaussian(Fan等人,2023年)基于高斯的重要性进行评估,其重要性取决于其体积、不透明度和影响到的像素数量,高比例剪枝可以保持较好的质量。而C3DGS(Lee等人,2023年)则采用高斯缩放和透明度生成删除图,并将 Mask 损失集成到损失函数中,以达到合成质量和渲染速度的平衡。

然而,当前快速的3DGS渲染方法往往忽视了对3DGS渲染管线的优化,这通常会导致渲染速度的提高和由于减少高斯数量而导致的渲染质量下降。相比之下,作者的_Add-Gaussian专注于优化3DGS的渲染 Pipeline ,可以在相当于或更好的质量下显著加速渲染。

3. Preliminaries and Analysis

3D Gaussian Representation

作为显式的3D表示,3DGS利用一组具有几何和材料特性的3D高斯椭球体来模拟场景。

每个高斯体的几何定义为其质心位置 以及与世界空间(Zwicker等人,2001年)相关的3D协方差矩阵:

其中 是一个采样点,协方差矩阵进一步分解为一个缩放矩阵和一个旋转矩阵。

每个高斯体的材料信息包括不透明度属性和球谐函数(SH)(代表颜色)。为了从一个特定视角渲染图像,基于椭圆加权平均(EWA)(Zwicker等人,2002年)的概念,每个高斯体-像素对的分摊不透明度 由不透明度、高斯体-像素2D距离 和投影协方差矩阵计算得出:

通过SH计算高斯颜色,和不透明度,每个像素的颜色通过混合与个相关的高斯体(如下所示是一个常数):

这种混合思想是基于神经点状方法(Kopanas等人,2021年),并通过基于瓷砖的软像素渲染器实现非常高的效率。

Gaussian Rasterization

受到软栅射图技术(Lassner 和 Zollhofer,2021)的启发,高斯栅射采用基于瓷砖的排序渲染器。屏幕首先被划分为 个瓷砖。然后,每个高斯与与其重叠的瓷砖相关联。每个瓷砖中的高斯按照视深进行排序,然后通过混合alpha计算颜色。

3.2.1. Rasterization Pipeline

栅格化流水线包含六个阶段:Preprocess, InclusiveSum, DuplicateWithKeys, SortPairs, IdentifyTileRanges, 和 Render. 它们的作用如下:

  1. Preprocess 阶段:并行处理每个高斯,以获取渲染所需的角度相关数据。

2-3) InclusiveSum 和 DuplicateWithKeys 阶段:并行处理每个高斯。针对每个高斯,这些阶段获取它覆盖的方块的信息。

4-5) SortPairs 和 IdentifyTileRanges 阶段:目的是根据深度对每个方块中的高斯进行排序,并确定用于渲染的每个高斯在每个方块内的开始和结束索引。

  1. Render 阶段:并行计算每个像素的颜色,使用基于点的渲染方法按 alpha 混合顺序渲染每个方块中的相应高斯。

3.2.2. Rasterization Costs Analysis

在高斯渲染 Pipeline 中所需的计算成本可以分为三部分,取决于GPU并行程度:

其中(1)表示第1-3阶段的高斯级并行成本,用于预处理高斯以获取其颜色和其他视图相关属性;(2)代表第4-5阶段的Gaussian-Tile对并行成本,用于识别每个tiles的高斯范围;而(3)表示第6阶段的像素级并行成本,用于基于点的渲染。

由于在_Render_阶段高斯是串行阿尔法混合的,并且计算每个高斯-像素对的混合颜色复杂,此阶段占最大计算时间比例,即在中占比最大(超过50%)_i_. 为了加速_Render_阶段,作者提出_Add-Gaussian_,在_Preprocess_阶段早期剔除具有低混合透明度的高斯-Tile对,并平衡像素线程的计算成本。

4. Method

Overview

作者的主要目标是降低高斯栅格的绘制流水线的计算成本(见第3.2节),它可以被分解为三类成本,如公式(4)所示。在这三类成本中,_Render_阶段(见第3.2.1节)的像素级并行成本占最大比例。这是因为在像素并行_Render_阶段在处理高斯函数时具有高程度的顺序性,即根据混合alpha,需要依次遍历对应方格中的所有高斯函数。因此,作者旨在加速像素并行_Render_阶段,通过将部分顺序裁剪移至高斯并行阶段,并在并行像素线程之间平衡计算成本。

如图2所示,作者的_Add-Gaussian_流水线包含两个明显的阶段:

阶段1:早期裁剪(第4.2节,第4.3节)。 作者将_Render_阶段中的一部分顺序裁剪提前至_Preprocess_阶段的并行裁剪。作者在_Preprocess_阶段中,针对每个高斯,并行地裁剪低混叠透明度的高斯方格对,从而减少了后续阶段需要处理的高斯方格对数量。具体来说,作者提出了两种早期的裁剪算法:

(1)作者基于自适应半径,早期裁剪具有低混叠透明度的高斯方格对;

(2)此外,作者采用轴对齐的边界框来提高裁剪效率并实现更高的渲染速度。

阶段2:负载平衡(第4.4节)。 对于_Render_阶段,由于每个像素的彩色是由并行计算得出的,并且不同像素线程的计算成本不均匀,整个效率很大程度上取决于负载较重的像素线程。作者提出在像素线程之间平衡负载,减少对重载像素线的渲染的高斯数量以最小化线程等待,增加轻载像素线的渲染数量以防范质量损失,实现等效或更好的渲染效率。

Early Culling with Adaptive Radius

由于每个网格中的高斯分布在串行渲染方式下渲染,使得_Render_阶段负载最大,这促使作者加速这一阶段。作者观察到高斯分布的裁剪(移除低纹理透明度的 Gaussians)在 Render 阶段进行:

每个高斯分布的纹理透明度是根据公式 (2) 计算的,该公式基于高斯-像素二维距离 ,后者与像素相关,只有从 Render 阶段才能获得像素信息。然而,由于每个高斯分布在 Render 阶段的处理是串行的,这使得裁剪也必须是串行的。作者认为裁剪过程可以并行执行,并 Proposal 将部分裁剪任务移至之前的 Preprocess 阶段,以避免串行裁剪并实现并行裁剪。

作者的目标是平行地早期裁剪具有极低纹理透明度的高斯-Tile对在 Preprocess 阶段,以避免不必要的串行处理并实现更快的渲染速度。为实现这一目标,作者提出了对于投影高斯分布的适应半径,该适应半径计算每个高斯分布的包围圆,并在 Preprocess 阶段从包围圆的外切正方形中裁剪出 Tiles,高斯分布在该过程中是并行处理的。与基于 99% 置信区间的原始渲染范围(黑色正方形)相比,包围圆的渲染范围如图3a 中的紫色正方形所示。由于制图管线约束的限制,实际渲染范围是包围圆的外切正方形。

为了获得包围圆,作者根据纹理透明度计算投影高斯分布的适应半径,而不是根据来自 2D 高斯分布标准差的原生 99% 置信区间(计算)。虽然在高斯分布 Preprocess 阶段,《alpha》是未知的,但作者知道一个最低纹理透明度的下界,它是在原始 3DGS 模型中预定义的最小纹理透明度常数 :,其中 是当前像素处高斯分布 的纹理透明度。将不等式 (2) 代入上式,得到以下表达式:

由于二维距离 可以通过其一维分量 表示,协方差 可以通过 表达,不等式 Eq.(5)表示一个椭圆,其中 作为变量:

其中

然后作者定义一个投影高斯分布的自适应半径,即椭圆的界标圆半径,_i.e._,椭圆的主要轴长的一半。根据椭圆的标准方程,椭圆主要轴的一半长度等于椭圆的协方差矩阵 较小主值 的平方根:. 通过代入系数,自适应半径可以表示为:

其中 是投影协方差 的较大主值,它是在 99%置信区间内计算得出的(详尽的公式见补充材料)。

最后,可能存在高斯透明度或预定义最小铺展透明度较低的情况,导致自适应半径 大于基于 99%置信区间确定原半径 。因此,2D 高斯半径的最终值应为这两个值的较小值:

通过在并行方式下进行基于自适应半径的早期筛选 _在预处理阶段_,作者可以在_渲染阶段_避免由于串行筛选引起的计算成本浪费。

Early Culling with Axis-aligned Bounding Box for Gaussian Splatting

尽管自适应半径可以显著减少高斯插值栅格的无关开销,但当次轴方向上的高斯-tile具有较低的插值不透明度时,它无法有效剪除这两者(如图3b中的橙色区域),因为半径由主轴决定。为了解决这个问题,作者提出了一种轴对齐的边界框来进行高斯插值,通过准确计算2D方向上的高斯大小,从而实现无效费用的更大减少。

对于作者投影的高斯,作者进一步基于椭圆的轴对齐边界框(等式(6))来剪除非高斯 tiles(见图3b中的橙色区域)。具体而言,边界框的宽度的一半和高度的一半分别等于椭圆的两个坐标方向上的最大值,即和。作者首先定义椭圆的一个函数:。

基于椭圆函数,作者在两个坐标方向上分别计算相应的偏导数:

根据椭圆的几何性质,当椭圆函数对一个坐标方向的偏导数为0时,另一个坐标方向的坐标值达到极值。为了得到椭圆在两个坐标方向上的极值,作者让两个偏导数等于0,并将两个坐标关系代入椭圆函数,然后解出和 如下:

与自适应半径的边界框相比,高斯插值轴对齐边界框可以在水平和垂直方向上实现不同的剪除范围,从而获得两个方向上的不同 tiles 范围。此外,与边界框的适应半径相似,作者仍然取原半径作为上限:

采用这种方法,高斯渲染范围可以与轴对齐边界框对齐,从而显著减少渲染开销,实现更高效的渲染。

Load Balancing for Pixel-parallel Splatting

_不均加载问题。基于点状渲染,高斯渲染的 _Render_阶段具有像素并行和高斯串行结构:每个像素的颜色计算是并行的,每个像素对应一个像素线程;而在每个像素线程中,高斯曲线是逐一向后的渲染。尽管像素并行度很高,但由于不同像素线程之间计算时间的 _不均匀加载(计算时间)_,渲染效率仍然有限。

早期的通过自适应半径和轴对称边界框进行的渲染可以加速 _Render_阶段,通过减少要渲染的自 Gaussian 线程数量来提高渲染效率。然而,渲染效率仍然受到像素线程之间计算时间不均匀的影响(如图4 所示),具体来说:

  1. 由于三维场景通常在不同区域具有不同的频率信息,某些区域需要更多的 Gaussian,导致每个像素的 Gaussian 数量不同,从而导致不同像素之间的加载不均匀。
  2. 在像素内部,对于某个 Gaussian,不同的像素由于距离 Gaussian 中心的不同,其混合度也不同。当累计混合度超过阈值时,前向混合将停止,实际渲染的 Gaussian 数量也不同。

由于 GPU 线程等待的特性,像素线程之间的不均匀加载会导致渲染效率降低(Liu 和 Vinter,2015)。为了解决不均匀加载问题,作者提出了一种针对高斯渲染的加载平衡算法。首先减少重载像素需要渲染的 Gaussian 数量,然后为了解决由于更少的 Gaussian 引起的渲染质量降低问题,进一步增加轻载像素需要渲染的 Gaussian 数量。

像素加载分布。 作者首先计算每个像素线程的加载分布,它等同于每个像素需要渲染的 Gaussian 数量 的分布:

其中 表示 Gaussian 的总数量, 是一个指示符,表示 Gaussian 对像素 是否做贡献。

加载平衡损失。 由于渲染效率在重载像素线程中取决于负载,为了提高速度,需要减少这些像素线程的加载。同时,增加每个像素线程需要渲染的 Gaussian 数量以提高渲染质量,不会影响效率。因此,作者的加载平衡方法是通过减少重载像素中需要渲染的 Gaussian 数量,并增加轻载像素中需要渲染的 Gaussian 数量来实现的。作者采用标准差来估计像素之间加载的差异,并将加载平衡损失设计为:

其中 H,W 分别表示屏幕大小, 表示标准差函数。较小的 表示更均匀的加载分布,以及每个像素线程中需要并行渲染的 Gaussian 数量之间的较小差异,从而提高渲染效率。

总损失。 为平衡合成质量和渲染速度,作者将加载平衡损失与 L1 损失和 SSIM 损失相结合到总体损失函数中,总损失公式如下:

其中 、、 是 L1 损失、SSIM 损失和加载平衡损失的权重系数,且 。数值值满足 。

5. Experiments

自5世纪以来,人工智能(AI)已经经历了多次重大的发展阶段。早期的人工智能主要是由计算机科学家和心理学家对认知理论和生物进化的研究基础上发展起来的。然而,这些早期的人工智能研究主要集中在对人的心理和生理行为的理解和研究,缺乏对机器学习和算法方面的深入研究。

随着计算机技术的不断发展和普及,人工智能的研究方向开始发生了变化。在20世纪50年代后期和发展初期,人工智能主要由计算机科学家和工程师进行研究。这些研究者们在机器学习、自然语言处理和计算机视觉等领域取得了重要的突破。其中,最有代表性的成果之一是Alan Turing在1950年提出的“Turing测试”,该测试旨在评估计算机是否能够表现出与人类相似的智能水平。

然而,到了20世纪90年代,人工智能的发展开始遇到了瓶颈。虽然机器学习和自然语言处理等领域取得了不少的成果,但是这些成果主要集中在某些特定的任务和领域。此外,这些技术往往需要大量的训练数据和算法优化,这使得它们的实用性和可扩展性受到了限制。

在21世纪,人工智能再次受到了广大研究者和工程师的关注。在这个时期,深度学习和强化学习等新的人工智能技术开始得到了广泛的应用。这些技术在图像识别、语音识别和自然语言处理等领域取得了重大突破。此外,人工智能的实用性和可扩展性也得到了大幅度的提高。

然而,尽管人工智能取得了不少的成果,但是仍然存在不少挑战需要克服。人工智能技术在某些领域还存在一些局限性,如数据的偏见和隐私问题、算法的不平等性以及安全性和鲁棒性问题等。因此,未来的人工智能研究仍需要在这些方面进行深入的探索和解决。

Experimental Settings

5.1.1. Datasets and Metrics.

为了验证作者方法的有效性,作者采用了与3DGS(Kerbl等,2023)中使用相同的数据集和指标。具体而言,数据集包括Mip-NeRF360(Barron等,2022)中的所有场景,Tanks&Temples(Knapitsch等,2017)中的两个场景以及DeepBlending(Hedman等,2018)中的两个场景,涵盖了有界室内场景和无界室外环境。评估指标包括训练时间,模型大小,以帧/秒衡量渲染速度,以及使用峰值信噪比(PSNR),结构相似性指数(SSIM)(Wang等,2004),和LPIPS(Zhang等,2018)评估的合成质量。作者在所有实验中使用相同的全参数设置,并报告在单个NVIDIA RTX 3090 GPU上的结果。

5.1.2. Implementation.

由于作者方法中的自适应半径和负载获取基于高斯栅格化,因此这些核心方法使用CUDA核实现,而负载评估和损失调整由PyTorch完成。对于带自适应半径的边界圆,由于已经在投影子协方差中计算了较大的特征值,作者只需要将其乘以透明度系数(而不是3)即可得到自适应半径,如公式(7)所示。值得注意的是,尽管为了获得最佳的渲染质量,作者保持了最低的镶嵌透明度为,但实际上更高的值也可能进一步加速渲染。关于负载平衡方法,作者优先考虑质量优化同时加速渲染,将负载损失项的权重设置为0.45,而剩余损失项的总权重减少为0.55。

Comparisons

作者将【AdvR-Gaussian】方法(Ours-Full表示作者的完整方法,Ours-AABB表示仅AABB-only方法)与3DGS(Kerbl等人,2023年)以及当前最先进的3DGS渲染方法进行比较:Light-Gaussian(Fan等人,2023年),C3DGS(Lee等人,2023年),EAGLES(Girish等人,2023年)和GES(Hamdi等人,2024年)。详细比较结果分别如图5和表1所示。

尽管数据集之间的信息和分布各异,但仅针对AABB构建的【AdvR-Gaussian】在所有数据集上都能实现比现有任何方法更高的渲染效率。具体来说,使用AABB进行早期裁剪可以显著提高渲染速度,达到基础数据集的185%(3DGS),平均渲染速度达到401 FPS在三个测试数据集上。此外,实验证明了【Ours-AABB】在渲染Mip-NeRF360数据集上优于比较方法:轻巧的光线和Tanks&Temples数据集。相比基础3DGS,作者实现了数据集的无损失加速,这是由于作者只裁剪了对最终颜色贡献很小的高斯瓷砖对。

除此之外,结合早期裁剪和负载平衡功能(标记为【Ours-Full】)的完整【AdvR-Gaussian】在所有方法中实现了最高的渲染速度,平均可以达到3DGS的310%。这归功于对重载像素需要渲染的高斯数量进行减少,即减少线程等待时间。同时,【Ours-Full】在Deep Blending数据集上可以实现更优秀的质量,因为负载平衡功能也增加了对轻载像素需要渲染的高斯数量的多少,从而增强了这些像素的信息。

Ablation Studies

为了明确评估作者方法中每个组件的性能,作者进行了以下消融实验:首先使用原始的3DGS项目,然后依次添加每个模块:自适应半径的早期裁剪,以及针对Gaussian的AABB(轴对称边界框)和划分。实验结果如表2所示,每个模块的贡献可通过对应行进行比较获得。

自适应半径. 消融实验表明,自适应半径的早期裁剪在所有测试数据集上提高了渲染速度,同时没有降低渲染质量,并减少了训练时间。自适应半径通过将部分连续裁剪从Gaussian-Serial Render阶段提前到Gaussian-Parallel Preprocess阶段来实现渲染加速。此外,这种方法在提高速度的同时,没有牺牲渲染质量,实现了一定程度的渲染质量提升。

轴对称边界框. 在三个数据集上的实验表明,自适应半径与轴对称边界框相关的Gaussian插值早期裁剪实现了更高的FPS(即更高的渲染效率)。由于自适应半径与AABB的早期裁剪可以有效裁剪Gaussian Tile对,而轴对称圆无法实现,因此自适应半径与AABB的早期裁剪将更多的连续裁剪从Render阶段提前到Preprocess阶段的并行裁剪,从而实现了进一步的加速。实验表明,这样的早期裁剪方法是无损的,适用于任何场景。

负载均衡. 实验结果显示,尽管在质量上牺牲了一点点,但负载均衡方法仍可以进一步提高速度和多个指标。负载均衡策略持续减少重负载像素需要渲染的Gaussian的数量,这样就实现了渲染速度等指标的全面优化。此外,负载均衡还对轻负载像素提供了更多信息,可以抵消质量损失。关于负载均衡在不同场景中的应用,它更适合适用于低频信息场景,如深度混叠数据集中的场景。随着信息频率的增加,局部低频信息的区域总是可以实现更准确的建模,从而抵消质量损失。

Discussions

5.4.1. Limitation.

调整最小镶嵌不透明度并不完全兼容于3D高斯核的训练。由于高斯不透明度在每个固定间隔内都会重新初始化,将镶嵌不透明度阈值设置为比初始值高,可能导致所有高斯核被裁剪,进而导致渲染失败。然而,在仅需渲染时,提高镶嵌不透明度阈值,可以安全地加速过程。

5.4.2. Combination

作者的方法专注于光栅化而不是3D Gaussian的表示,因此可以轻松地集成到其他3DGS方法中,其中包括旨在加速渲染的3DGS方法。如表3所示,通过在LightGaussian中添加剪枝策略,Ours-Full 的渲染速度可以进一步加速,而质量和精度只会略有降低。

6. Conclusion

在本文中,作者提出了一种名为 Add-Gaussian 的3D高斯插值加速方法,在保持与基准(3DGS)相同或更好的质量的同时,实现了310%的渲染速度提升。

通过将 Render 阶段的部分串行裁剪提前到 Preprocess 阶段的并行裁剪中,并在不同像素线程之间平衡负载以最小化线程等待时间, Add-Gaussian 能够显著加速高斯插值的渲染速度。

与目前用于3DGS的最快渲染方法相比,作者的AdR-Gaussian在渲染效率上表现出更高的性能。

参考

[1].AdR-Gaussian: Accelerating Gaussian Splatting with Adaptive Radius.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AIGC 先锋科技 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Introduction
  • 2. Related Works
  • Traditional Novel View Synthesis
  • Fast NeRF Rendering
  • Fast 3DGS Rendering
  • 3. Preliminaries and Analysis
  • 3D Gaussian Representation
  • Gaussian Rasterization
  • 3.2.1. Rasterization Pipeline
  • 3.2.2. Rasterization Costs Analysis
  • 4. Method
  • Overview
  • Early Culling with Adaptive Radius
  • Early Culling with Axis-aligned Bounding Box for Gaussian Splatting
  • Load Balancing for Pixel-parallel Splatting
  • 5. Experiments
  • Experimental Settings
  • 5.1.1. Datasets and Metrics.
  • 5.1.2. Implementation.
  • Comparisons
  • Ablation Studies
  • Discussions
  • 5.4.1. Limitation.
  • 5.4.2. Combination
  • 6. Conclusion
  • 参考
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档