【论文笔记】OccluGaussian解决大场景重建中的区域遮挡问题
大场景重建中的一个创新性工程方法,相比之前的vasrgaussian、citygaussian,OccluGaussian主要对于场景区块划分、模型渲染做了非常灵活的改进,对于分块流程引用了图卷积谱聚类方法避免了因为图像中的遮挡导致区块训练失配,训练视角对整体贡献低的问题,在渲染过程中,相比于之前的渲染所有高斯球或者Lod方法,通过利用分块结果对高斯球加mask的技巧,提高了fps。感谢作者的great work!
主页:OccluGaussianOccluGaussianhttps://occlugaussian.github.io
abstract
在大规模场景重建中,使用3D高斯泼溅技术时,通常需要将场景划分为多个较小区域并分别进行重建。然而,现有的划分方法对遮挡问题缺乏感知能力,导致每个区域可能包含严重遮挡的区域。因此,这些区域内的相机之间关联性较低,对整体重建的平均贡献度也较低。本文提出一种遮挡感知的场景划分策略:通过根据相机位置和共视关系对训练相机进行聚类,从而获得多个相关性更强的区域。此类区域内的相机具有更强的关联性和更高的平均贡献度,有助于实现高质量场景重建。我们进一步提出基于区域的渲染加速技术,通过剔除对观察点所在区域不可见的高斯元素,显著提升大规模场景的渲染速度且不影响画质。在多个大型场景上的大量实验表明,与现有最先进方法相比,本方法能以更快的渲染速度获得更优的重建效果。
一、简介
现有大规模场景重建研究[22,28,32,47,49,51]主要采用辐射场作为基础三维表征,如神经辐射场(NeRF)[33]和3D高斯泼溅(3DGS)[21]。基于NeRF的方法因其隐式表征需要大量训练与渲染资源,难以扩展至富含细节的大规模场景。3DGS作为基于图元的栅格化技术,同样因其内存密集型表征面临可扩展性问题,极易超出高端GPU的显存容量。为此,研究者通常采用分治策略:将场景划分为若干更易处理的小区域分别重建,最终合并为完整模型。
现有场景划分策略主要基于相机位姿或点云数据[22,28,32,47,51]。这类方法虽适用于航拍图像或开放空间等无遮挡场景,却忽略了室内环境中普遍存在的场景布局与遮挡问题(如图1所示)。对比图1(b)与图1(c)中黄色高亮的两个区域,前者训练相机之间共视区域更少。这些相机虽占用同等训练时间和资源,但对彼此区域重建的贡献度极低。换言之,现有方法将过多贡献度低的训练相机强行归入同一区域,显著降低了该区域重建的平均贡献度。
本文提出面向大规模场景重建与渲染的遮挡感知3D高斯泼溅方法(OccluGaussian)。该方法通过融入考虑场景布局与遮挡关系的划分策略,将训练资源集中分配给对特定区域重建有实质贡献的相机,而非分散至低相关区域,从而提升训练效率并最终提高重建质量。具体而言,我们首先构建带属性的视图图:节点为附带位置特征的相机,边表示基于拍摄相机共视关系的可见性关联;随后对该图实施图聚类算法,获得符合场景布局的划分结果(如图1(c)所示)。此类区域内的训练相机具有更强相关性,可提升其平均贡献度从而优化重建效果;最终通过分区域重建与合并获得完整模型。
重建完成的模型通常包含海量高斯元素,导致渲染速度缓慢。现有方法[22,32]常采用细节层级(LOD)技术动态剔除细小或遥远的高斯元素以提升效率,但这些方法仍忽略遮挡关系,会处理渲染相机视锥内所有3D高斯元素。实际上,对相机不可见的被遮挡高斯元素可被预先剔除,从而在不损失画质的前提下加速渲染。为此,我们进一步提出基于区域的渲染加速技术:针对划分生成的每个区域,记录该区域内所有训练相机可见的3D高斯元素;渲染时仅处理当前渲染相机所属区域记录的高斯元素。得益于遮挡感知的划分策略,我们能有效剔除相机不可见的被遮挡高斯元素,在避免过渡伪影和画质损失的同时实现显著加速。
本文贡献可总结如下:
*提出考虑场景布局与相机共视关系的遮挡感知场景划分策略。所得区域几乎不含遮挡,对应训练相机具有更高平均贡献度,从而提升重建质量。
*提出加速大规模场景3D高斯泼溅的基于区域渲染技术。通过消除对不可见3D高斯元素的冗余处理,在保持画质前提下大幅提升渲染速度。
*在多个大规模场景数据集上的实验表明,OccluGaussian相比现有最优方法能实现更优的渲染质量与更快的渲染速度。
二、相关工作
2.1 大规模场景重建
VastGaussian[28]采用均匀划分并引入渐进式分区策略确保各区块获得充分监督;City-Gaussian[32]在收缩空间内划分场景以平衡各区块优化负载;另有研究[6,54]探索多GPU分布式训练系统以加速优化或容纳更多高斯图元来提升重建质量。然而这些划分方法主要基于相机位置,忽略了相机间的可见性关联,本质上不具备遮挡感知能力。虽然此类方法在主流大规模场景数据集(如航拍数据)中表现良好,但对于地面拍摄等遮挡频发的场景则效果欠佳。
2.2相机聚类
在大规模场景相机位姿估计中,划分方法常被用于聚类相机并分割场景以实现并行处理,从而降低计算复杂度[20,26,37,43,52]。部分研究[5,7,37,52,56]采用图切割算法根据相机共视关系进行聚合,如Out-of-Core-BA[37]和COLMAP[44]使用Metis图分割器[20];另一些方法[26,43]则基于图像特征与三维关键点进行聚类。但这些方法往往仅采用图像或匹配特征,不足以避免分割区域内的遮挡问题(如图6所示)。本文提出的场景划分技术同时利用相机位置与共视信息,具有遮挡感知能力且能与场景布局对齐。
2.3渲染加速
由于大规模场景包含海量高斯图元,加速3DGS渲染以实现实时性能至关重要。近期研究[12,16,19,23,34,36,38]通过减少高斯图元数量来压缩3DGS,同时提升大场景渲染速度。这些方法剔除对整体渲染贡献极小的3D高斯元素(如低不透明度元素),以最小化对视觉质量的影响。另一种主流加速方案是通过多细节层级(LoD)实现定制化渲染:例如Octree-GS[42]采用八叉树结构分层组织3D高斯元素;CityGaussian[32]运用LightGaussian[12]的压缩算法按区块生成不同细节层级;Hierarchical-3DGS[22]则为3DGS设计新型层级结构以实现高效细节选择与插值。与现有方法不同,Occlu-Gaussian提出基于区域的渲染策略,可预先剔除观察点不可见的被遮挡高斯元素,显著减少冗余计算并进一步提升渲染速度。
三、方法
第3.1节提出基于属性图聚类的新型遮挡感知场景划分策略;接着第3.2节详述各独立区域的优化及合并完整模型的过程;最后在第3.3节介绍加速大场景渲染的基于区域渲染技术。
3.1 遮挡感知场景划分
现有划分方法通常忽略场景布局,仅基于相机位置或点云均匀划分。更有效的划分策略应考虑场景遮挡,使每个区域内的相机具有强相关性且对重建有更高平均贡献度。如图2左上部分所示,我们提出遮挡感知场景划分策略。
从大场景的任务来看,分块阶段的问题解决需要用到两类信息,一是相机位置信息,这是问题的本身,分块实际上就是在划分相机位置,二是场景信息,这是解决问题的条件,依赖场景中的信息是划分区域的基础,之前的方法中,是直接粗暴的按照相机位置信息来划分的,现在的方法中,作者的考虑是:构建view graph,也就是把相机位置信息与场景信息巧妙地放进graph中,然后使用graph中的信息来完成基于图卷积的谱聚类,达到划分区块的目的。
1.构造视图graph区分视角之间的共视(fig2-a)
首先构建包含n个位姿已知训练相机的视图graph,定义为无向属性图,其中V、E和X分别表示节点、带权边和特征矩阵。节点集
对应各相机。边集E直接利用相机位姿估计时获得的运动恢复结构(SfM)结果:若两相机存在共视内容则建立边,权重设为匹配特征点数,最终表示为邻接矩阵
。特征矩阵
包含各相机三维坐标及位置编码[33]。直观上,被遮挡或远距离相机共视区域极少,可在本视图graph中有效区分。
特征矩阵的说明
2.属性视图graph聚类(fig2-bcd)
0.预备知识
19年香港理工大学的一篇关于使用图卷积网络与谱分析进行聚类的论文https://arxiv.org/pdf/1906.01210https://arxiv.org/pdf/1906.01210
正文
采用属性图聚类算法[53]对graph 分割。该算法通过图卷积生成平滑特征表示,再对特征进行谱聚类实现节点分组。具体流程如下:
最终输出为:
- 相机分组结果:每个组内的相机共视性强且空间邻近
- 区域边界:通过线性分类器划分各组边界
逻辑
3. 边界计算(Boundary Calculation)
基于聚类结果,采用线性分类方法[8]生成决策函数作为区域边界线。得益于遮挡感知聚类,这些边界线与场景布局高度吻合,为后续边界扩展(3.2节)和区域渲染(3.3节)奠定基础。
3.2单个区域的重建与区域合并
完成遮挡感知的场景划分后,我们分别对每个区域进行独立重建,最终合并为完整模型。本节将详细说明各区域训练相机的选择策略以及无缝区域合并算法。
1.训练相机选择
如[28,32]所述,选择合适的训练相机对三维重建至关重要。过少的训练相机无法提供充分监督,而过多的无关相机会浪费计算资源并降低单相机平均贡献度。如图2左下部分所示,我们选择三组训练相机:
-
基础集:位于区域内部的相机;
-
扩展集:位于区域外部但能捕捉该区域足够可见内容的相机(依据CityGaussian按可见性贡献筛选);
-
边界集:面向该区域但被遮挡的相机。这些相机可约束边界处的高斯基元,确保最终无缝合并,被遮挡相机虽无法直接观测区域内部,但其对边界高斯基元的约束可防止两类典型问题:
- 浮游伪影(floaters):因缺乏约束导致高斯分布漂移到无效空间;
- 边界撕裂:合并时因几何不连续产生的接缝。
相比现有方法,本研究的遮挡感知划分策略能以更少的扩展相机实现充分监督,提升单相机平均贡献度,从而改善重建质量。
2.无缝区域合并
首先利用选定训练相机分别优化各区域的3D高斯模型,随后剔除所有超出区域边界的高斯基元以形成清晰边界,最终合并所有区域生成完整模型。
这样,删除跨区域高斯基元可避免渲染时的冗余计算(与3.3节区域渲染加速形成闭环);而边界集的约束使相邻区域的高斯基元在边界处自然过渡,无需后处理对齐。
3.3Region-Based Rendering
大规模场景包含海量的3D高斯元素,导致渲染计算开销巨大且速度缓慢。考虑到场景中许多高斯元素被遮挡且对当前视角不可见,提前剔除它们可显著降低计算负载,从而在不损失视觉质量的前提下加速渲染。因此,我们利用遮挡感知的场景划分,提出一种基于区域的渲染策略,通过剔除不可见高斯元素实现高效的大场景渲染(如图2右侧所示)。
1.基于区域剔除不可见的高斯球
假设一个大场景被重建为 个高斯⚽️,并划分为 k 个区域
。对于每个区域
,我们定义一个可见性掩码
,表示所有
个高斯元素在该区域内任意训练视角下的可见性。具体计算方式如下:
- 对
内的每个相机执行 3DGS光栅化,计算每个高斯元素 i 对渲染图像的最大累计权重贡献。
- 若高斯球 i 对视锥内任意像素的贡献超过 0.01,则标记
(可见),否则
(被遮挡)。
- 为全面覆盖可见高斯元素,我们不仅计算相机原始视角,还计算其背面视角(确保遮挡关系被准确建模)。
- 最终,所有
的高斯元素在渲染时被提前剔除。
2.区域细分优化
靠近区域边界的视角通常会观测到来自相邻区域的过多高斯元素,导致渲染时冗余计算。为解决该问题,我们在生成可见性掩码时进一步将每个区域细分为:
-
内部子区域:远离边界的核心区域。
-
边界子区域:沿区域边界向内收缩
(
为区域内最远相机间距)形成的带状区域。
该策略使可见性掩码更紧凑,进一步提升渲染速度。
3.总结渲染流程
定位视角所属区域:确定渲染相机所在的区域 。
应用可见性掩码:使用 剔除被遮挡的高斯元素。
光栅化剩余高斯元素:仅对可见的高斯元素执行3DGS光栅化,生成最终渲染图像。
该方法通过跨区域遮挡分析,仅保留必要的最小高斯元素集,在保证画质的同时显著加速渲染(见补充材料中的实验结果)。
四、 Experiments
4.1实验设置
数据集
现有大规模场景数据集[27,30]多以航拍视角采集,遮挡情况稀少。为此,我们构建了名为OccluScene3D的新数据集,包含校园内三个具有复杂布局和显著遮挡的大场景:GALLERY(画廊)、CANTEEN(食堂)和CLASSBUILDING(教学楼),所有视频都是用手机录制的,具有广角模式和景观方向,帧率为60 Hz。我们统一提取3%的帧,并使用COLMAP [44]来估计相机的内外参数。我们还在Zip-NeRF数据集[4](含公寓、住宅等四个大场景)上评估了本方法。为验证泛化性,进一步在无遮挡场景数据集Mill-19[49]和UrbanScene3D[30]上进行了实验。
参数设置
- 模型优化90,000次迭代,其中1,500至45,000次迭代间每100步执行一次高斯元素致密化。
- 采用VastGaussian[28]的外观建模方法处理图像间外观变化。
- 视图图聚类时,初始聚类数固定为 K=10,通过递归优化调整聚类数,直至每簇相机数落在区间
内(Mc 为平均每簇相机数)。
baseline
在OccluScene3D上,与基于3DGS的可扩展方法[21,22,28,32]对比。由于VastGaussian[28]未开源,我们复现其场景划分策略,并保持3DGS优化超参数与本方法一致。
在Zip-NeRF数据集上,与已在该数据集评估的方法[4,10,38,41]对比。遵循RadSplat[38]的评估协议,训练两个模型:一个用于可视化,另一个排除外观建模以进行定量分析。为公平性,未使用Hierarchical-GS[22]的单目深度先验。
评估指标
- 渲染质量:SSIM、PSNR、LPIPS
- 渲染速度:1080p分辨率下的平均帧率(FPS)
4.2定量分析
遮挡场景重建的定量结果如表1和表2所示。由于分布式优化策略所需的GPU资源不足,我们未能在OccluScene3D和Zip-NeRF数据集上评估DOGS[6]。图3与图4对比表明,OccluGaussian在细节渲染上更优;图5进一步显示其场景划分结果与场景布局的契合度更高。
表3展示了本方法在无遮挡场景(Mill-19[49]和UrbanScene3D[30]数据集)上的表现,其优势依然显著,体现了方法的泛化性。这些结果验证了本文场景划分策略的有效性——通过增强区域内训练相机的相关性提升重建质量。
4.3相机聚类方法对比
我们在OccluScene3D数据集的GALLERY场景上对比了不同相机聚类方法。如图6所示:
- 基于网格的方法:将场景均匀划分为网格,完全忽略聚类特征与遮挡关系。
- K-means算法:仅依赖相机位置特征,同样无法感知遮挡;即使结合NetVLAD[3]提取的图像特征,仍无法正确提取区域边界。
- DBSCAN[11]:无需预设聚类数,但生成的簇大小不均且缺乏遮挡感知能力。
- Metis[20]:通过图聚类获得稍优结果,但划分后的区域仍存在严重遮挡。
基于这些聚类结果进一步进行3DGS优化的数据显示(表4),本方法在所有指标上均优于其他方法。
4.4消融实验
基于区域的渲染技术
在GALLERY场景上对区域渲染策略进行消融实验(表5):
- 区域剔除策略在几乎不损失视觉质量的前提下显著提升渲染速度;
- 区域细分技术可进一步加速渲染;
划分策略对比
我们在OccluScene3D的CANTEEN场景和Zip-NeRF的BERLIN场景上,保持其他超参数不变,仅将本方法的场景划分替换为VastGaussian、CityGaussian、Hierarchical-GS和DOGS的划分策略进行对比。表6数据显示,本方法仍具显著优势(更多可视化结果见补充材料)。
初始聚类数分析
为证明方法鲁棒性,我们在Zip-NeRF的NYC场景上测试不同手动设定的初始聚类数K。表7显示性能趋势基本一致,但对于包含数十/数百个独立区域的特大规模场景,合理设置K仍至关重要,这将是未来研究方向。
场景划分
如图12所示,节点属性中的位置特征和场景图中边缘权重编码的可见性相关性对于实现遮挡感知划分都很重要。
4.5定性实验
场景划分策略对比
在OccluScene3D和Zip-NeRF数据集上,我们对VastGaussian[28]、CityGaussian[32]、Hierarchical-GS[22]、DOGS[6]及OccluGaussian的划分结果进行对比(图7-8)。结果表明:
- OccluGaussian的划分结果与场景布局吻合度更高。通过固定超参数进行3DGS优化后(图9),其重建质量显著优于其他方法。
- 在无遮挡的航拍场景(Mill-19[49]和UrbanScene3D[30]数据集)中,本方法同样表现优异(图10),验证了泛化能力。
五、结论
本文通过遮挡感知场景划分策略优化区域内训练相机的贡献度,显著提升重建质量;进一步提出的基于区域渲染策略通过剔除被遮挡3D高斯元素,大幅加速大规模场景的渲染速度。
尽管OccluGaussian取得重要进展,仍存在以下限制:当前相机聚类采用固定初始数量,虽在实验中表现良好,但对超大规模场景可能不足。未来工作将聚焦于根据训练相机数量动态确定初始聚类数,以增强方法的鲁棒性与可扩展性。