论文标题:
GaussReg: Fast 3D Registration with Gaussian Splatting
论文作者:
Jiahao Chang, Yinglin Xu, Yihao Li, Yuantao Chen, and Xiaoguang Han
开源地址:https://jiahao620.github.io/gaussreg
导读:
点云配准是实现大规模3D场景SLAM和三维重建的关键问题。传统的配准方法已经逐渐淡出视野,而当前的配准方法通过借助深度学习技术取得了显著进展。
NeRF凭借强大的多视角图像渲染能力成为最受欢迎的三维重建方法之一,然而NeRF在大规模场景重建中的配准问题却鲜有研究。这是因为用隐式表示描绘两个场景之间的几何关系非常困难。现有的方法通常需要将隐式表示转换为显式表示,才能进行进一步的配准。
而3DGS不仅能够实现与NeRF一样高质量的图像渲染,还可以使用显式的高斯表示场景,使场景之间的配准成为可能。本文是基于3DGS进行配准的首份工作,作者相信这将为后续基于3DGS配准技术的研究提供宝贵的思路和参考。©️【深蓝AI】编译
1.引入
在传统的3D场景扫描和重建中,大规模场景通常会被分成不同的区块,生成很多位于不同坐标系的独立子场景。因此,这些子场景之间的配准非常重要。目前,点云配准技术已经得到了广泛研究并达到了相对成熟的阶段,典型的方法包括ICP、D3Feat和Geotransformer等。主流方法通常涉及从点云中提取特征并定位匹配点,以计算两个输入场景之间的变换关系。
在NeRF被提出且迅速席卷三维重建领域之后,3DGS的发布又成了一个新的里程碑,其实时的渲染能力,显性的场景表达,逼真的图像级场景重建使其迅速受到关注,广泛应用于三维场景表示。然而,在基于3DGS进行大规模场景重建时,面临两大主要挑战:
1)由于现实场景中存在复杂的遮挡情况,通常需要拍摄大量图像或视频来进行大规模重建,导致数据采集过程耗时较长。
2)3DGS是基于图像进行渲染和训练的,当场景较大,输入图像较多时,会带来比较大的运算量。
因此,一种直接的方法是将大规模场景划分为若干较小的场景,分别进行重建,然后利用配准技术将这些小场景组合在一起。
在图像处理领域,面对这样的挑战,一种非常有效的解决方案是将场景中重叠的部分进行配准,配准之后融合为同一个场景表示,从而节省了计算资源,减免了对于重复场景的运算。而3DGS在进行重建时,由于其显性表达,能够找到场景的各个部分,其中包括重叠的场景。考虑到两个重叠的场景,每个场景都有自己的3DGS模型。
于是,出现了一个有趣的问题:“既然3DGS提供了一种显示的点状表示,能否利用点云配准方法进行3DGS配准?”
在本文中,作者探索了使用3DGS进行快速且准确的3D配准,作者首先从两个场景的3DGS模型中提取点云。一个直接的方法是使用点云配准方法对这些3DGS点云进行配准。为此,作者设计了一种粗配准方法,该方法遵循标准的点云配准流程,如GeoTransformer,但特别考虑了3D高斯中的额外属性(如不透明度)。
然而,与传统的点云数据相比,来自3DGS的点云仅捕获粗略的几何结构且通常包含噪声。因此,粗配准无法达到足够精度的结果。作者进一步提出了一种新颖的基于粗配准结果的图像引导精细配准流程。作者的主要思想是基于观察到高斯展开不仅包含几何信息,还内在地包含详细的图像信息,这可以支持更精确的对齐。因此,作者首先在粗配准的帮助下定位重叠区域,并在高斯展开的帮助下渲染一些图像。然后,精细配准流程将图像投影到三维体积特征中进行最终匹配和变换估计。最终,作者提出了一种新颖的粗到细的高斯展开配准框架GaussReg。然而,目前缺乏使用高斯展开进行场景级配准的评估基准。为此,作者构建了一个名为ScanNet-GSReg的数据集,该数据集包含来自ScanNet数据集的1379个场景。此外,作者还收集了一个名为GSReg的数据集,包含6个室内和4个室外场景,以评估作者方法的泛化能力。作者在ScanNet-GSReg数据集、DReg-NeRF中使用的Objaverse数据集以及GSReg数据集上进行了广泛的实验,证明了作者方法的有效性。
图1|高斯配准效果图©️【深蓝AI】编译
2.具体方法与实现
图2|全文方法Pipeline©️【深蓝AI】编译
如图2所示,GaussReg主要包括两个阶段:粗配准和图像引导精细配准。假设有两个重叠的场景A和B,每个场景都有自己的高斯展开3DGS模型,且仅保存并可访问所有训练图像的相机姿态。将A和B的所有训练图像的相机姿态分别进行提取,并标记对应的3DGS模型。
作者的目标是找到刚性变换 ( s , R