再也不怕显存爆炸了!高效重建「几何精准」的大规模复杂三维场景,中科院提出CityGaussianV2

科技   2024-12-13 11:17   北京  



  新智元报道  

编辑:LRST
【新智元导读】是否还在担心大规模场景训练和压缩耗时太长、显存开销太大?是否还在苦恼重建出的建筑物和道路表面破碎不堪?是否还在困扰如何定量衡量大规模场景几何重建的精确程度?来自中科院自动化所的研究团队提出了用于大规模复杂三维场景的高效重建算法CityGaussianV2,能够在快速实现训练和压缩的同时,得到精准的几何结构与逼真的实时渲染体验。
三维场景重建旨在基于围绕目标场景拍摄的一组图像恢复出场景的三维结构,其核心追求是精准的几何结构以及逼真的图像渲染。

随着近两年的发展,3D Gaussian Splatting(3DGS)因其训练和渲染效率上的优势逐渐成为该领域的主流算法。这一技术使用一组离散的高斯椭球来表示场景,并使用高度优化的光栅器进行渲染。

然而,这一离散且无序的表征形式通常难以很好地拟合物体表面的实际分布,导致重建出的场景几何结构并不精准。近来包括SuGaR、2DGS、GOF在内的一系列杰出工作针对这一问题进行了探索,并给出了有效的解决方案。

几何重建质量可视化比较

尽管这些技术在单一目标或小场景上取得了巨大的成功,但它们应用于复杂的大规模场景却往往面临比3DGS更加严峻的挑战。

从不同算法在大规模场景下的几何重建效果中可以看出,SuGaR的模型容量有限,难以还原精细的几何结构;GOF受到严重的模糊鬼影的干扰,许多视角下画面被鬼影完全遮挡,以至于监督失效,重建结果面对显著的欠拟合;2DGS受到模糊鬼影的影响较弱,但也妨碍了其收敛效果,并且退化现象容易诱发高斯基元的过度增长,进而引起显存爆炸,训练难以为继。

此外,大规模场景下长期以来缺少几何重建质量的有效评估手段,已有的工作或只进行了可视化定性比较,或忽视了欠观测区域不稳定的重建效果对指标产生的干扰。

大规模场景的重建往往还意味着显著的训练开销,要重建1.97的区域会产生接近两千万的高斯点,意味着需要4.6G的存储以及31.5G的显存开销,以及超过三小时的训练时长。如果要进一步完成压缩,通常还需要额外将近一个小时的时间。

针对这三方面的技术挑战,中科院自动化所的研究人员提出了CityGaussianV2。该算法继承了CityGaussian的子模型划分与数据分配方案,并使用2DGS作为基元来重建。

项目主页: https://dekuliutesla.github.io/CityGaussianV2
论文链接: https://arxiv.org/pdf/2411.00771

代码链接(500+星): https://github.com/DekuLiuTesla/CityGaussian

在此基础上,CityGaussianV2引入了基于延展率过滤和梯度解耦的稠密化技术,以及深度回归监督,同时合并了训练和压缩过程,得到了端到端的高效训练管线,不仅有效加速算法收敛,同时保障了稳定、快速、低显存开销的并行训练。

CityGaussianV2算法介绍

场景重建基础

3DGS使用一组高斯分布表征的椭球对场景进行表征,每个高斯球同时绑定包括不透明度、颜色以及高阶球谐系数等用于alpha blending渲染的属性,并通过包含L1损失和SSIM损失的加权和对渲染质量进行监督。

在训练过程中,算法还会根据每个高斯基元的梯度信息进行自适应地分裂和克隆,使得重建效果不佳的区域能够自动被更合适的基元填充。

2DGS旨在增强几何重建精度,并将椭球降维为椭圆面片作为基元表征场景,同时对渲染出的深度和法向量分布施加监督,保证重建表面的平整性。

CityGaussian旨在将3DGS泛化到大场景,首先预训练一个表征全局场景的粗粒度的3DGS场,随后将预训练结果划分为一系列子模型,并根据子模型对训练视图渲染的贡献程度为每个子模型分配训练数据。每个子模型随后会用不同的GPU并行微调,并在训练结束后进行合并和压缩,得到场景的最终表征。

CityGaussianV2的优化算法

高斯基元优化算法示意图

现有表面重建方案在泛化到大场景时往往展现出收敛迟缓、训练不稳定等问题,导致并行训练失败,难以取得良好的重建效果。

算法以泛化能力最好的2DGS为基元,在引入Depth-Anything-V2的伪深度监督提供几何先验的基础上,进一步提出了新的高斯基元稠密化方案。

可以观察到,在复杂大规模场景上,2DGS在早期训练阶段比3DGS受到更严重的模糊伪影的干扰,导致在迭代次数有限的情况下性能显著劣于3DGS。

为了缓解这一问题,研究人员引入梯度解耦策略,利用对图像结构差异更为敏感的SSIM损失作为稠密化的主要梯度来源:

此处用于控制梯度的尺度;另外在大规模场景下用2DGS进行重建的障碍在于其退化现象。实验证据表明,当从远距离或侧面视角渲染时,部分面片可能会退化成线或点,尤其是那些延展率比较高的面片。

对于那些具有高不透明度的投影点,它们的移动往往意味着像素值的剧烈变化,从而使得它们获得较高的梯度,并在稠密化过程中大量增殖,导致基元数量指数级增长,最终导致显存爆炸问题。

为了解决这一问题,在稠密化过程中,对容易引起退化和梯度集中的具有极端延展率的高斯面片进行了筛选,并对其增殖过程进行了限制,从而在不牺牲性能的情况下有效稳定了训练过程,保障了优化过程的顺利进行。

CityGaussianV2的并行训练管线

CityGaussianV2训练管线,虚线框为摒弃的算法流程

CityGaussianV2在V1的基础上进一步优化了并行训练管线,使得训练和压缩过程得到统一,删除了冗余的后处理流程。

具体而言,算法在子模型的并行训练过程中周期性地遍历训练视角集合并计算每个高斯基元的重要性分数:

其中为第张训练视图的像素集合,为第n个基元的不透明度。以此为基础,重要性低于一定百分比阈值的基元会被删除,从而降低显存和存储的开销,使得训练对于低端设备更友好,也显著加速了模型总体的收敛速度。

大规模重建几何评估协议

大规模场景几何精度评估流程

CityGaussianV2填补了大规模场景下几何评测协议长期以来的空白,在Tanks and Temple (TnT) 数据集的启发下,基于点云的目击频次统计设计了针对大规模场景欠观测区域的边界估计方案。

具体而言,点云真值会首先被初始化为3DGS,在遍历所有训练视图的同时记录每个点的观测频次,观测频次低于阈值的点将被滤除;剩余的点将用于估计垂直方向的高度分布范围,以及地平面内的多边形外接轮廓,二者构成的Crop Volume进一步用于TnT形式的指标计算。

这一方案有效规避了欠观测区域重建效果不稳定带来的指标波动,使得大规模复杂场景的几何性能评估更为客观公正。

实验与分析


与主流算法的性能对比

在实验中,相比于已有算法,CityGaussianV2在几何精度(精度P,召回率R,综合指标F1-Score)方面达到了最佳的性能表现。

从可视化结果中也可以看到,CityGaussianV2的重建结果具有更准确的细节,完整性也更高。而渲染质量方面,CityGaussianV2则达到了和V1相媲美的程度,能够带来逼真的浏览体验。此外,CityGaussianV2还能较好地泛化到街道景观,并且在渲染质量和几何精度上都取得良好的性能结果。

渲染质量可视化比较

街拍场景可视化比较

高斯基元数量相近情况下的重建性能及训练开销比较

在训练开销方面,CityGaussianV2克服了2DGS泛化到大规模复杂场景下的种种挑战,不仅有效规避显存爆炸问题,而且实现了相对于V1显著的显存优化,同时在训练用时和几何质量方面大幅领先。针对2DGS的量化压缩策略也使得大规模场景的重建结果能够以400M左右的开销存储下来。

总结

研究人员致力于大规模复杂场景的高效精准重建,并建立了大规模场景下的几何精度评估基准,提出的CityGaussianV2以2DGS为基元,消除了其收敛速度和扩展能力方面的问题,并实现了高效的并行训练和压缩,从而大大降低了模型的训练成本。在多个具有挑战性的数据集上的实验结果证明了该方法的效率、有效性和鲁棒性。
参考资料:
https://dekuliutesla.github.io/CityGaussianV2




新智元
智能+中国主平台,致力于推动中国从互联网+迈向智能+新纪元。重点关注人工智能、机器人等前沿领域发展,关注人机融合、人工智能和机器人革命对人类社会与文明进化的影响,领航中国新智能时代。
 最新文章