1 Introduction
为了实现具有高保真渲染的实时三维重建,研究人员已经探索了将SLAM与可微渲染相结合的潜力。然而,单目SLAM系统,特别是在早期建图阶段,由于观测有限、三角测量基线较浅以及位姿约束较弱,容易产生不准确的点云。这些不准确性会传播到下游建图任务中,导致诸如墙壁和家具上的“重影”等伪影,尤其是从未经训练的视角观察时。传统的三维场景生成系统(3DGS)致密化管道通常依赖RGB损失来纠正这些误差,在补偿初始不准确性时会引入额外的计算开销。
为了应对这些挑战,作者提出了SLAM感知自适应致密化(SIAD),这是一种利用SLAM的动态更新来实时精化点云的新策略。通过修剪错误点、纳入新观测以及基于可靠掩码调整高斯表示,该方法确保了准确且高效的点云精化,而无需进行昂贵的事后校正。这种方法弥合了单目稠密SLAM与基于高斯的场景表示之间的差距,实现了超越传统管道的几何细节水平和鲁棒性。
此外,我们引入了几何引导优化,它结合了边缘感知法向损失和光度一致性损失,以联合优化三维场景生成系统(3DGS)表示的外观和几何形状。该框架在保留精细结构细节(特别是物体边缘和急剧过渡区域周围)的同时,增强了渲染保真度。通过将这些改进集成到一个统一的管道中,我们的SplatMap框架可从单目输入提供高保真的三维重建,适用于实时和高质量应用。
我们的SplatMap系统的贡献总结如下:
- SLAM感知自适应致密化:我们通过利用稠密SLAM输出升级了传统的高斯溅射,实现了点云的动态致密化,以获得更丰富的场景表示。
- 几何引导优化:我们引入了一种新的损失函数,在映射过程中集成了几何和光度约束,提高了视觉质量和结构准确性。
- 稠密单目重建的统一管道:通过将稠密单目SLAM与三维高斯溅射相结合,我们的框架实现了从单目输入的高保真重建。
SplatMap相较于之前的单目SOTA方法有了显著改进,在真实世界数据集上,PSNR提高了高达10.2%,SSIM提高了6.6%,LPIPS提高了34.7%,证明了其在跨不同数据集精化场景表示方面的有效性。
3 Methodology
我们方法的主要思路是使用稠密单目SLAM的输出来监督三维高斯溅射模型。稠密单目SLAM可以估计稠密深度图和相机位姿,同时还能为深度和位姿提供不确定性估计。有了这些信息,我们可以训练一个三维高斯溅射模型,该模型具有由深度的边际协方差加权的稠密深度损失。通过使用稠密SLAM和三维高斯溅射训练的实时实现,并并行运行这些过程,我们实现了实时性能。图2展示了我们管道中的信息流。现在我们来解释我们的架构,从我们的跟踪前端开始,然后是我们的建图后端。
3.1 视频流输入与因子图构建
SplatMap系统将连续的单目视频流作为输入,并增量式地构建一个因子图,该因子图捕捉帧之间的共视关系。我们首先从输入的视频帧序列构建一个因子图 G ( V , E ) G(V, E) G(V,E),其中 V V V表示帧的集合, E E E表示帧之间边的集合。如果两帧之间存在重叠的视觉特征,那么它们之间就存在一条边,从而捕捉它们的共视性。随着新帧的添加,因子图会动态更新以维持帧之间的共视关系。
3.2 跟踪
在跟踪过程中,我们通过求解在因子图上定义的优化问题来迭代精化相机位姿 T T T和深度图 d d d。受DRIOD-SLAM中所使用方法的启发,我们估计每帧相机位姿 ( Δ ξ ) (\Delta\xi) (Δξ)和深度 ( Δ d ) (\Delta d) (Δd)的增量更新。
优化过程利用帧之间的稠密光流。具体而言,预测流 f i j p r e d f_{ij}^{pred} fijpred表示将帧 i i i中的像素映射到帧 j j j中对应位置的像素位移场,如RAFT[18]所估计。基于当前相机位姿 T i j T_{ij} Tij和深度图 d i d_i di计算得到的诱导流 ω i j ( T i j , d i ) \omega_{ij}(T_{ij}, d_i) ωij(Tij,di),它表示从帧 i i i到帧 j j j的像素重投影:
ω i j ( T i j , d i ) = Π c ( T i j ∘ Π c − 1 ( p i , d i ) ) ( 1 ) \omega_{ij}(T_{ij}, d_i) = \Pi_c(T_{ij} \circ \Pi_c^{-1}(p_i, d_i)) \quad (1) ωij(Tij,di)=Πc(Tij∘Πc−1(pi,di))(1)
这里, ∘ \circ ∘表示函数复合,其中 Π c − 1 ( p i , d i ) \Pi_c^{-1}(p_i, d_i) Πc−1(pi,di)将二维像素坐标 p i ∈ R H × W × 2 p_i \in \mathbb{R}^{H\times W\times 2} pi∈RH×W×2和相应的深度图 d i ∈ R H × W d_i \in \mathbb{R}^{H\times W} di∈RH×W映射到三维点云,其中 T i j ∈ S E ( 3 ) T_{ij} \in SE(3) Tij∈SE(3)是帧 i i i和帧 j j j之间的相对位姿变换, Π c \Pi_c Πc是相机投影算子, Π c − 1 \Pi_c^{-1} Πc−1是其逆算子,将二维像素坐标 p i p_i pi和深度 d i d_i di