上篇我们学习到了这篇文章的loss设计,回顾一下本文主要解决的几个问题:

1.引入深度一致的 D-Normal 正则化模块加强模型的几何结构

2.引入基于梯度一致性和反深度偏差的自适应置信度权重机制,显著增强了多视角深度对齐和几何连贯性,有效解决了复杂大场景中的几何精度问题。

3.引入空间自适应高斯剪枝(SAGP)策略,根据局部几何复杂度和可见性动态调整高斯密度以减少冗余。

4.设计了一种统一的分区与视角分配方案,以消除边界伪影。

3.3 SPATIALLY ADAPTIVE GAUSSIAN PRUNING (SAGP)

UrbanGS 并没有草率地进行剪枝。因为一个高斯基元的体积大,并不意味着它一定是冗余的(例如建筑物平坦的墙面);体积小,也不代表它就是有效的细节(例如飘浮在空中的噪点)。这一节也是训练加速的一个技巧,通过一个权重(评分)来剪枝无用高斯球!

大规模的 3D 场景具有极强的空间异质性(Spatial Heterogeneity):细节丰富的近景区域需要密集的高斯点来捕捉微小的结构;而遥远的区域往往会遭遇高斯点的过度增殖,导致显存开销巨大且渲染质量下降。现有的剪枝策略(比如原版 3DGS)大多依赖于全局指标固定的透明度阈值。这种“一刀切”的做法往往会过度简化局部的细节,或者误删掉远景中重要的高斯点,导致重建结果不完整以及视觉伪影。

举个例子:

近处树叶上的一个高斯点如果体积是 5个单位,可能刚好代表一片叶子;但远处一栋大楼的一个高斯点体积可能是 50。如果全局阈值设为 10,远处的大楼就直接被删秃了,天空也会出现破洞。

3.3.1.场景的体素划分

我们提出了一个统一的、空间自适应的剪枝框架(SAGP)。 首先,场景被划分为多个体素单元(Volumetric Cells),其特征边长 ℓ 会根据整体的高斯密度进行缩放:

其中,表示整个场景边界框的体积,N 是高斯点的总数。我们将 λ 设定为 1.2,以稍微放大体素单元的尺寸,从而获得更稳定的局部统计数据。

3.3.2 基于统计量的评分(权重)

我们公平地评估一个 3D 高斯点的大小是否合理,并给出一个 0∼1 之间的权重得分。

在每个体素单元内部,我们计算高斯体积的第 t 个百分位数 ​,并通过一个次线性变换(Sub-linear transform)对每个高斯点的体积进行归一化:

其中,是第i个高斯球的体积,计算方法应该是直接把3个轴的scale乘起来,单纯去掉了体积公式中的常数项,

我们使用 t=90% 来代表每个体素单元内的典型体积,以此来减轻离群值的影响。应用次线性指数 κ=0.5(即平方根)来压缩体积比率的动态范围,从而在抑制过大高斯点的同时,放大精细结构的权重。这一操作削弱了尺寸过大的背景高斯点并突出了精细尺度的结构,从而为重要性估计建立了一个具备上下文感知的基准。

在 3DGS 中,直接用绝对体积(vi​)来判断“这个点是不是太大了”是极其错误的。因为相机近处的一片树叶和远处的一栋大楼,它们的高斯点物理体积天差地别。 除以 ,等同于在问:“在你的街坊邻居里,你的体积多大?”

  • 如果比值 =0.1,说明你比 90% 的邻居都要小得多。

  • 如果比值 =1.0,说明你刚好触及了局部的“正常体积天花板”。

如图,小体积高斯球的权重被根号放大,大体积高斯球的权重被抑制在1.

3.3.3 总体评分(权重)

在3.3.2局部体积权重的基础上,我们将每个高斯点的重要性得分 Si​ 定义为三个归一化的几何与光度属性的乘积:

其中,,是归一化的射线交叉频率,ri​ 记录了训练期间第 i 个高斯与采样射线相交的次数;是所有高斯球中,最高的交叉频率。

是经过 Sigmoid 映射的透明度,由可学习的不透明度参数 ai​ 导出,和代码中一样;

Si的计算使用了乘法,只要这三项中的一项特别小,那么就不能通过设定的Si阈值。因此这种设计消除了手动调整权重超参数的需要,确保了高斯点同时表现出高可见性、在多视角中被频繁观察到,以及具有合适的几何尺度时,才会被保留。

3.4 PARTITIONING STRATEGY

3.4.1 总体介绍

在获取全局粗糙的 3DGS 模型时(CityGS一开始是用极低的分辨率或者少量的数据,把整个大场景跑一遍,得到一个粗糙但整体一致的 3DGS 模型),我们先通过 SAGP 剪枝(Pruning)来消除冗余的高斯点,以防止这些冗余的高斯点在随后的分块训练期间吸引无贡献的视角,从而增加计算负荷。

然后,在分区阶段,我们在每个子块的边界处保留了公共的高斯,以避免因为区块之间的几何不连续而引入肉眼可见的融合伪影(接缝瑕疵fusion artifacts)。在相邻区块的交界处留出了缓冲地带,让相邻的块共享一部分相同的高斯,确保在最终拼接各个分块时,边缘能够平滑过渡,消除几何上的断裂感。

比如blockA和blockB,中间共享区域为O,那么这两块训练的时候公共区域对应的相机也参与了训练,也就是blockA和blockB训练完的时候,区域O跟着用同样的数据训练了两次,在合并的时候,相当于做到了“有据可依”,可以合理的完成合并。

通常的合并方法采取:

  • 距离加权融合 (Distance-based Blending): 在渲染时,越靠近 A 块中心,越信任 A 块训练出的点;越靠近 B 块中心,越信任 B 块的点。在交界处,将两者的属性(位置、颜色)进行平滑插值/加权平均。

  • 去重机制 (Deduplication / NMS): 在空间中搜索,如果发现两个高斯点距离极近、属性相似(因为它们本就是同一个点分裂出来的),系统会直接保留置信度更高的一个,或者把它们平均成一个点,从而保证密度的均匀。

3.4.2 本文的分块

1.预剪枝

首先使用空间自适应评分(公式 15)对低影响的高斯点进行全局剪枝:

此操作针对的是吸引无关视角的背景和低贡献高斯球。在分块前进行剪枝,切断了冗余向局部区块的传播,从而显著降低了计算负荷。

2.混合收缩函数(Hybrid Contraction Function)与共享区域

现实世界的场景(如天空、远山)是无限大的,如果直接处理,计算机会因为试图追踪无穷远处的点而耗尽内存,最终无法直接均匀切块。作者借用了一个数学技巧使用混合收缩函数(如 (Wu 等人, 2023) 所述):把核心的建筑物(前景)按比例放入一个盒子里,然后把无限远的背景强行“压缩”塞进这个盒子的边缘。最终所有东西都被装进了一个大小为 的标准正方体中。

该函数对前景区域应用线性映射,对无边界的背景区域应用非线性缩放。这种收缩操作生成了整个场景的紧凑表示,并有利于进行均匀的空间划分。

在这个收缩空间内,场景划分为规则的区块。为了保持相邻分区之间的几何连续性,设置了一个阈值,然后通过此阈值边界处的高斯点显式地复制(共享):

这种复制机制在区块交界处强制实施了重叠的几何约束,从而在分块融合期间抑制了边界伪影。也在某种程度上减轻了因为遮挡导致的训练资源失配问题(由于遮挡(Occlusion)的存在,很多物理距离近的相机根本“看不见”这个块。比如,一墙之隔的情况)

比如,相机p因为距离近而被划进blockB,但是p的图像因为遮挡看不到blockB中的内容,如果一个block中包含多个此类相机,这就导致了浪费训练资源,使用共享区域,该相机p如果恰好在公共区域,那么就是合理的块划分。

3. 相机位姿是否分配进当前block

为每个区块 Bj​ 分配相机姿态(视角)时,通过双重评估标准综合了“几何连近性”和“感知贡献”。

几何标准通过检查收缩后的相机位置 来判断是否落在区块的空间范围内,来评估物理上的包含关系。公式化如下:

感知标准量化了当移除当前块的高斯球集合 时所带来的视觉退化程度。首先根据位姿渲染出原始的完整图像,然后排除再渲染一次得到 ,计算他们的SSIM以决定该相机是否属于当前的block:

最终的姿态分配结合了这两个标准:

换句话说,几何标准根据相机的position与block的位置关系,筛选出哪些相机应该属于当前block,然后感知标准根据当前块在相机图像中的“重要性”来判断相机是否属于当前block,只要满足两个中的一个即可分配进入block。

补充1,点云与相机位置的混合收缩

在 CityGaussian (Liu 等人, 2024a) 这篇论文中,作者所使用的收缩算子(Contraction Operator)在核心数学原理上与 ScaNeRF(如 (Wu 等人, 2023) 所述) 是一脉相承的。

它们都面临同一个工程痛点:如何把一个无限延伸的城市场景,切分成大小一致的网格块?

如果直接在真实物理空间切块,市中心(前景)会被切得很好,但远处的山、天空、延伸的街道(背景)会无限延伸,导致外围区块的数据边界无法界定。为了解决这个问题,CityGS 采用了基于 L∞​ 范数(无穷范数) 的空间收缩方法。

补充2,分块示例

1.初始模型

2.SAGP剪枝

3.分块

4 EXPERIMENTS

我们的实验涵盖了来自四个数据集的七个代表性场景:Mill-19(Yu等人,2022)中的Building和Rubble;UrbanScene3D(Lin等人,2022)中的Residence和Sci-Art;以及GauU-Scene(Xiong等人,2024)中的Residence、Russian Building和Modern Building。除非另有说明,对比方法均在RTXA800 GPU上进行评估,而UrbanGS则在八块RTXA5000 GPU上进行训练。

Novel View Synthesis

如表1和图3所示,UrbanGS在所有场景中均取得了最先进的性能,在建筑场景中获得了最高的PSNR和SSIM,并在住宅场景中将LPIPS相较于CityGS(Liu等人,2024a)降低了0.006。图3中的定性结果进一步显示了浮空伪影的减少,这表明UrbanGS在大型场景重建中具有更强的多视图一致性,并能更真实地保留外观信息。

Surface Reconstruction

与现有表面重建方法在GauU-Scene数据集(Xiong等人,2024)上进行了比较。如表2所示,我们的方法在神经隐式基线方法和近期基于3DGS的城市级方法中均取得了最先进的性能。与CityGS-X相比,我们的方法在保持相近精确率的同时提高了召回率,从而在所有场景中均获得了更高的F1分数。同时,在大多数指标上,我们的方法也优于CityGS-v2(Liu等人,2024b)。图4中的定性比较进一步表明,我们的方法能够生成更精细、更清晰的表面结构。

Efficiency Comparison

与现有方法的训练时间进行了对比。如图5所示,我们的方法在Rubble场景(Lin等人,2022)上仅需2小时10分钟即可完成训练,显著快于其他对比方法。如表3所示,与其他大规模场景算法相比,我们的方法在实现更优渲染质量和几何精度的同时,所需的计算成本更低。

ABLATION STUDIES

我们在GauU-Scene数据集上进行了一系列消融研究。评估了以下组件的影响:空间自适应高斯剪枝(SAGP)、深度一致的D-法向正则化,以及分块策略。

SAGP与高斯分块

如表4所示,我们首先建立了一个既不使用SAGP也不使用任何分块策略的基线模型。

对于SAGP,我们将我们的SAGP剪枝方法与LightGaussian(Fan等人,2023)中的剪枝方法LP进行了比较。结果表明,我们的SAGP在显著减少高斯点数量、训练时间和内存消耗的同时,能够更有效地保持原有的几何质量(更高的F1分数),且对渲染质量的影响很小。

对于分块策略,我们的完整方法(Ours)将所提出的分块策略(ST)与SAGP相结合。我们进一步将其与STPG进行了比较,后者使用CityGaussian(Liu等人,2024a)中的分块策略配合我们的SAGP。比较结果验证了我们的分块策略具有更优的有效性,因为在相同的剪枝方法下,它实现了更好的渲染和几何质量,表明其能够更好地保持块间的结构一致性。

深度一致的D-法向正则化的消融实验

如表5所示,结果表明其引入显著提升了大规模场景的渲染质量和几何精度。定量结果显示了在所有评估指标上的一致改进,其中F1分数(从0.453提高到0.503)和PSNR(从24.59提高到26.44)的提升尤为显著,验证了该组件对于高质量大规模重建的关键重要性。此外,如图D所示,几何正则化显著改善了渲染图像的细节,以及所渲染的法向图和深度图的质量。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐