Advertisement

论文阅读:HI-SLAM2: Geometry-Aware Gaussian SLAM for Fast Monocular Scene Reconstruction

阅读量:

摘要

我们开发出了一种名为HI-SLAM2的新系统,它是一种基于几何感知的高斯SLAM技术。该系统仅依赖RGB摄像头实现高精度和快速的单目场景重建能力。相比之下,在当前的研究中传统神经SLAM方法及基于3D Gaussian sampling(3DGS)的方法通常需在渲染质量与几何精度之间进行权衡。研究表明,通过仅使用RGB输入即可同时优化这两点:一方面实现了高质量渲染效果的同时保证了良好的空间定位精度;另一方面则能够在保证渲染效率的同时获得较为精确的空间模型构建效果。我们的核心创新在于结合易于获取的单目先验信息与学习驱动的密集匹配技术,并采用三维高斯球状分割(3D Gaussian splatting)作为场景地图的核心表示形式,并以此建立精确的空间模型并显著提升了对空间结构的理解能力。为了确保系统的实时性,在回环检测后我们引入了一种新的动态更新机制:通过高效的位姿图优化和基于锚定点帧更新机制实现动态三维高斯单元变形的过程以维持全局一致性。此外为了进一步提高系统的鲁棒性我们在算法中融入了一种多尺度特征融合策略并在此基础上设计了相应的数据校准流程以消除深度估计中的尺度偏差问题并最终实现了对 scene 的精细细节建模能力

III. METHODS

我们的系统致力于追求高效精准的相机追踪技术,并通过单目RGB输入实现复杂场景的重建

图3:系统概述:我们的框架由四个主要环节构成:相机跟踪、回环检测、动态建图以及连续映射与离线优化。相机跟踪部分采用基于循环网络的技术来计算相机姿态,并从RGB图像获取深度信息。在3D场景建模方面,我们利用3DGS进行几何重建以实现在线地图的高效更新。这些实时更新与姿态图BA优化相结合,在线回环检测得以高效完成,并实现了高质量的实时渲染效果。离线优化阶段中我们进行了全面的BA优化以提升全局一致性随后结合高斯基元进行联合优化以进一步提高系统的整体一致性水平。

如图3所示, 该系统包含四个关键组件: 在线跟踪器、闭环模块、连续建模器及离线优化阶段。其中, 在线相机跟踪器(第III-A节)采用了基于学习的密集SLAM前端技术, 用于估计相机的姿态与深度图参数。闭环模块(第III-B节)通过结合全局一致性与实时性, 实现了整体定位精度与运行效率的最佳平衡, 其中将环闭合检测与高效的姿态图束调整(PGBA)相结合是其核心创新点之一。在场景表示方面, 本系统采用了3D高斯喷溅(3DGS)(章节III-C), 该方法不仅实现了高效的在线地图构建, 而且确保了地图更新的质量与渲染效果的真实性。此外, 离线优化阶段(第III-D节)通过全BA增强重建质量, 并对高斯图及相机姿态进行联合优化, 最终实现了全局最优的一致性效果。最终生成的网格是通过TSDF融合结合深度图渲染生成的

A. Online Tracking

在线跟踪模块是基于深度学习驱动的密集视觉SLAM框架(DROID-SLAM),用于估算关键帧下的相机姿态与深度图。该系统通过循环光流网络充分挖掘密集且逐像素的信息,在复杂多变的环境下稳定可靠地追踪相机姿态。为了实现所有重叠帧间的精确像素级配准目标,在此基础上我们构建了一个关键帧图

,它表示每对关键帧之间的共视关系。图节点

V

与每个关键帧相关联的一个姿态T∈SE(3)以及一个估计深度图d。被足够重叠的关键帧通过其光流对应关系所连接的图边E定义为存在意义的关联关系。为了确保估计的状态能够与其他模块同步一致,并辅助连续映射及在线闭环的过程...因此建立了一个用于存储所有关键帧及其各自状态信息的关键帧缓冲区。

追踪器以关键帧选择作为起点,在每个输入帧中进行评估来判断它是否值得被选作关键帧。这一决定则基于通过单次运行光流网络[21]推导出相对于前一个关键帧的平均光流距离再加上一个预先设定的标准

d_{flow}

对于选定的关键帧序列,在预训练的深度估计模型[24]的基础上进行处理以获取单目先验信息。其中包含深度预估计以及法向量先验两种类型的信息。其中深度预估计直接作为深度估计的输入使用,并通过场景表示模块将法向量先验映射到3D高斯地图优化中以提供额外的几何约束信息。

根据DROID-SLAM,我们在收集了

N_{init}=12

一个时间点之后完成系统状态的初始化。基于关键帧图执行BA优化,在每个节点周围连接到与之距离不超过3的关键帧节点(即索引距离在3以内的邻居),这样可以确保有足够的重叠区域实现可靠的收敛效果。由于单目视觉系统缺乏绝对尺度信息,在后续处理中我们将所有节点的高度均值归一化为1作为统一基准(即系统尺度)。在此基础上,在后续优化过程中使用前两个节点作为基准点来确定全局尺度(即固定这两点的位置)。每次新增一个节点时使用局部光束平差算法计算其位姿和深度信息,并将其与邻近且有重叠的关键点连接起来形成新的约束条件(即新键之间若存在足够的几何相关性则会生成边)。这些新键与现有键之间会根据它们的空间关系动态地构建出新的约束条件(即新增键会根据自身空间分布情况决定与其他哪些键产生关联)。利用光流预测随后可能出现的新特征点位置

f

,通过使用由光流预测得到的目标点

at{p}_{ij} = p_i+f

旨在最小化重投影误差的局部光束法平差优化问题可表述为:其中相机姿态和深度信息被视为原始数据。

nderset{​{athbf{T},athbf{d}}}{rgin}umimits_{nathcal{E}}athbf{ilde{p}}{ij}-i{igma_{ij}}^{2}

---公式(1)

其中

T_{ij}=T_{j}dot T_{i}^{-1}

表示从关键帧

i

到关键帧

j

的刚体变换,

d_i

指关键帧

i

在逆深度参数化下的深度图,

i

i ^{-1}

分别表示相机投影和反投影函数。

igma _{ij}

该权重矩阵由对角元素构成,每个元素对应来自光流网络预测出的置信度。该置信度通过减少遮挡或低纹理区域所带来的异常值影响,并有效提升了优化过程中的稳健性。在无法准确估计深度的区域中进行深度估计时,在后续步骤中将采用单目深度先验进行进一步优化。

为了克服在低纹理或遮挡区域等困难区域进行深度估计的问题我们将易于获取的单目深度先验[24]整合到在线跟踪流程中。在(DROID-SLAM)采用RGB-D模式时,在光束法平差(BA)优化过程中直接计算均方误差。然而我们不能直接采用该方法因为预测的单目深度先验存在尺度不一致的问题。为此[36]建议将每个深度先验的深度尺度和偏移量作为优化参数来进行估计。尽管这种方法有助于校准整体先验尺度但我们仍发现该方法无法完全消除单目深度先验固有的尺度畸变。

为了进一步改进这一点,我们提议为每个深度先验

at{d}_i

估计一个具有

维系数

s_i

代表二维深度尺度分布的空间结构。在每个像素位置上所对应的深度比例因子可以通过该像素所在区域邻近四个网格点上的缩放因子进行双线性插值计算得到。

B_i

基于网格的方法获取该空间变化度量公式;该公式使得基于光束法平差(BA)估计得到的深度实现了更为灵活地对齐,并有助于降低先验深度中的噪声干扰;通过对采样点处的深度值进行采集处理后可获得

d_i' = B_i

。然后我们将深度先验因子

r_d

表述如下:

r_d=heck{athbf{d}}_idot Bi-athbf{d}_i^2

正如[36]中所报道的,直接将深度先验因子纳入光束法平差(BA)优化中,即联合优化相机位姿、深度和尺度系数,会使系统容易出现尺度漂移并阻碍收敛。为了解决这个问题,与[36]中的方法类似,我们引入了一个联合深度和尺度对齐(JDSA)模块,用以下目标来分别估计先验尺度:

rgin_{athbf{s},athbf{d}}um_{nathcal{E}}heck{athbf{p}}{ij}-i{igma_{ij}}^{2}+ um_{inathcal{V}}heck{athbf{d}}{i}dot Bi-athbf{d}{i}^{2}

采用联合深度和尺度对齐(JDSA)与局部光束法平差(BA)的交替运用策略, 我们成功保证了系统的尺度稳定性, 并实现了深度先验的良好对齐, 从而使得系统能够提供更为准确的初始估计. 该算法有效地解决了优化问题. 为了进一步提高效率水平, 则将被分离出单独处理.

egin{pmatrix}athbf{B}&athbf{E} athbf{E}^T&athbf{C}nd{pmatrix}egin{pmatrix}eltaathbf{s} eltaathbf{d}nd{pmatrix}=egin{pmatrix}athbf{v} athbf{w}nd{pmatrix}

其中

B,E,C

是海森矩阵(Hessian matrix)的分块,

v

w

是线性化系统的梯度向量。由于矩阵

B

的维度比

C

小得多,我们可以通过先求解

elta s

,然后利用舒尔补(Schur complement)求解

elta d

来高效地求解该系统。

egin{aligned}eltaathbf{s}&=^{-1} eltaathbf{d}&=athbf{C}^{-1}nd{aligned}

矩阵

C

是对角矩阵,因为深度变量相互独立,并且它可以高效地求逆,即

Fig. 4: Example of scale alignment of monocular depth.

图4呈现了单目深度先验的尺度对齐实例。值得注意的是,在通过估计的空间变化尺度下,单目深度先验能够良好地与真实深度对应。

B. Online Loop Closing

虽然我们的在线追踪器能够可靠地估算相机位姿但测量噪声会随着时间推移以及移动距离的扩大而逐渐积累进而导致位姿漂移此外由于单目系统本身无法观测尺度因此容易出现尺度漂移为了校正这些漂移并增强三维地图的空间一致性我们的在线闭环模块将搜索潜在的闭环并利用[36]中首次提出的基于

Sim

的渐进式全局光束法平差(PGBA)对所有关键帧的历史数据进行全局优化。

闭环检测机制:在执行过程中,并行进行闭环检测与实时跟踪操作。针对每个被选定的关键帧,在此之后的所有先前的关键帧中计算光流距离作为衡量标准

d_{of}

。 我们定义了三个标准来选择闭环候选帧。首先,

d_{of}

必须低于预定义的阈值

au _{flow}

为了保证循环流更新过程中的足够共视性从而达到可靠的收敛效果 其次 根据当前姿态估计的方向偏差需维持在设定的有效范围内

au _{ori}

最终必须大于当前局部光束法平差(BA)窗口之外的最小阈值。其中局部光束法平差(BA)窗口用于定位最佳匹配

au _{temp}

只要所有标准得到满足,在关键帧图上添加连接两个关键帧之间的正向边和反向边

基于Sim(3)的位姿图光束法平差

Sim

代表关键帧位姿,并以实现如[59]中所提出的逐关键帧尺度校正的方法。在每一次优化运行开始前,我们将最新的位姿估计从

SE

转换为

Sim

组,并将尺度初始化为1。像素扭曲步骤遵循公式(1),其中

SE

变换被

Sim

变换所取代。

构建位姿图的过程依赖于将各个位姿通过相对位姿边连接起来。基于文献[58]和[36]中的研究发现,在稠密对应的点对中推导出各个节点间的相对位置信息。这些关键点对主要来源于那些在动态过程中未被激活的重投影边。当与当前节点相关的关键帧脱离局部光束法平差(BA)的滑动窗口后,在后续讨论中我们将采用公式(1)中的误差函数作为评估标准。不过,在当前阶段我们的讨论仅限于深度估计结果较为准确的情况。相应地,在这种情况下我们的优化过程主要关注于各节点之间的相对位置信息

T_{ij}

。为了考虑不确定性,我们根据平差理论[60]估计相对位姿的方差

um_{r_{ij}}^{rel}

如下:

igma_{ij}{rel}=(\mathbf{J}\Delta\mathbf{T_{ij}}-\mathbf{r})Tigma_{ij}^{-1}

其中

J

r

elta

涉及雅可比矩阵、重投影残差以及上一个迭代阶段的相对位姿更新量。这些方差在渐进式的全局光束调整算法(PGBA)中被用作权重。该算法的核心目标则是最小化相对位姿因素与重投影因素之总和:

rgin_{athbf{T},athbf{d}}um_{nathcal{E}{*}}|\mathbf{\tilde{p}}_{ij}-\Pi(\mathbf{T}_{ij}\Pi^{-1}(\mathbf{p}_{i},\mathbf{d}_{i}))|_{\Sigma_{ij}}{2}+ um_{nathcal{E}{+}}|\log(\mathbf{\tilde{T}}_{ij}\cdot\mathbf{T}_{i}\cdot\mathbf{T}_{j}^{-1})|_{\Sigma_{ij}{rel}}^{2}

其中

arepsilon ^*

表示检测到的回路闭包,

arepsilon ^+

用于描述相对姿态关系的一组变量集合。为了确保优化过程能够收敛,并且在处理相对位姿因素时需要考虑可能出现的异常值情况,在此研究中我们选择使用带阻尼系数的高斯-牛顿算法来求解最优解。

athbf H=athbf H+psilondotathbf I+ambdadotathbf H

其中H表示海森矩阵(Hessian matrix)。阻尼因子

psilon = 10^{-4}

和正则化因子

lambda = 10^{-1}

承担着双重主要职责:一方面能够避免陷入局部极小点,并且提升数值稳定性;同时确保了全局收敛速度。优化后, 我们将得到的最优位姿坐标系转换为全局坐标系

SE

以便后续跟踪。深度图根据相应的

Sim

在位姿变换的过程中进行了尺寸的缩放处理。此外,在章节Ⅲ - C中对锚关键帧(anchor keyframes)的位姿更新进行了详细描述,并据此对三维重建基元进行了更新。

C. 3D Scene Representation

我们采用了3DGS作为场景表示模型来进行场景外观和几何形状的建模工作。相较于诸如NeRF等隐式神经表示方法而言,3DGS提供了一种显式的空间分割表示方式,在实现高效的在线地图更新和高质量渲染方面具有显著优势。具体来说,场景是由一组具有各向异性特性的三维高斯分布组成的。

G = g_i_{i = 1}^{M}

表示,其中每个3D高斯单元定义为:

g_i = e{-(\mathbf{x}-\boldsymbol{\mu}_i)T oldsymbol{igma}_i^{-1} } uad

其中

u_i n athbb{R}^3

表示高斯均值,

oldsymbol{igma}_i n athbb{R}^{3 imes 3}

表示世界坐标中的协方差矩阵。协方差矩阵

oldsymbol{igma}_i

分解为方向

R_i

和尺度

S_i = ext{diag}s_{i,j} n athbb{R}^{3 imes 3}

,即

oldsymbol{igma}_i = R_i S_i S_i^T R_i^T

。每个高斯分布还具有不透明度o_i n 和颜色

c_i n athbb{R}^3

这一特性。相较于传统的3DGS方法,在本研究中我们直接地采用RGB值替代球谐函数来进行颜色表示,并因此显著降低了优化过程中的计算复杂度。为了应对由于视角变化导致的颜色调整需求,在第III- D节的具体优化过程中应用了曝光补偿技术。

渲染过程使用透视变换将这些3D高斯投影到图像平面上:

egin{aligned}&u_{i}^{rime}=i, &igma_{i}{\prime}=\mathbf{JW}\Sigma_{i}\mathbf{W}{T}athbf{J}^{T}nd{aligned}

其中

J

表示透视变换的雅可比矩阵,

W

表示关键帧姿态

T_i

变换矩阵 在处理投影后的二维高斯分布时 ,沿着每一条射线从近到远地使用α混合技术来计算像素的颜色与深度

egin{aligned}at C&=um_{inathcal N}c_ilpha_irod_{j=1}^{i-1}, at D&=um_{inathcal N}d_ilpha_irod_{j=1}^{i-1}nd{aligned}

其中

athcal N

表示与射线相交的高斯集合,

c_i

是第

i

个高斯的颜色,

lpha_i

是通过评估第

i

个高斯在交点处的不透明度计算得到的像素透明度。

无偏深度: 现有研究通常采用基于高斯均值位置的深度作为渲染基础。然而,在某些情况下当光线偏离该均值方向并与曲面发生相交时会引入估计偏差为了解决这一问题我们参考文献[34]提出的方法即通过精确确定沿光线方向的实际光-曲面交点来实现无偏深度计算。该无偏深度可通过求解光-曲面相交处对应的平面方程获得由于所有用于与特定高斯曲面交互的光线都位于同一平面上因此每个高斯仅需求解一次相关的几何方程从而保证了渲染效率的同时显著提升了渲染质量

地图更新: 地图更新过程基于关键帧位姿的重新定位来优化3D高斯单元分布,在全局范围内保证3D地图的一致性。这种持续优化过程能够通过不断校准姿态信息并精确配置单元参数,在空间维度上实现整体连贯性和完整性。

Sim

渐进式光束法平差(PGBA)不仅存在于在线过程中,在线过程中也会涉及;同样地,在全局全光束法平差(BA)的过程中也会涉及。为了实现对复杂三维场景的快速响应与灵活适应, 我们将每个高斯单元的位置参数进行了优化调整, 具体包括均值和平移量的变化, 以及缩放因子等参数的优化配置

SE

位姿变化进行变换,而尺度则使用从

Sim

位姿表示中导出的尺度因子进行调整。 每个高斯单元的更新方程如下:

egin{aligned}&u_{j}^{rime}=/s_{i}, &athbf{R}{j}{\prime}=\mathbf{R}_{i}{rime-1}dotathbf{R}{i}dotathbf{R}{j}, &s{j}^{rime}=s_{i}dot s_{j}nd{aligned}

其中

u'_j

R'_j

s'_j

分别表示第

j

在高斯更新阶段之后的均值、方向和尺度方面表现突出。这种变换确保在适应精细的关键帧位姿时保持了高斯间的几何关系,并且保证了3D重建的准确性与完整性。

曝光补偿: 由于光照变化和依赖于视角的反射,现实世界中的拍摄在不同视角下会呈现出不同的曝光。这些变化会导致颜色不一致,从而显著影响重建质量。按照[32][61]的方法,我们通过优化每关键帧的曝光参数(通过一个3×4仿射变换矩阵)来解决这一问题。对于渲染图像

at I

,曝光校正公式如下:

at{I}'=athbf{A}dotat{I}+athbf{b}

其中

A

表示 3×3 颜色变换矩阵,

b

定义为 3×1 的偏差向量。在离线精化工流程中,在进行图像处理时这些曝光参数将与相机姿态以及场景几何结构共同参与优化过程,并参考第三章D节的相关内容。

地图管理:为了保证新观测区域能被准确表示出来 ,我们将每个新关键帧的深度估计值反向投影至三维空间以引入高斯分布模型。为了维持地图的紧凑性并避免冗余信息 ,在执行三维位置采样处理之前 ,我们采用因子为... 的参数设置。

si

使用随机抽样的方式来设置新的高斯分布。该系统被设计为用于控制地图的增长。每隔500次迭代就会重新设置不透明度值,并且每隔150次迭代会交错地执行密集化和剪枝操作以维持平衡。其关于地图大小演变的详细分析可在第四节H部分找到。

优化损失: 3DGS 表示通过结合光度、几何和正则化损失进行优化。光度损失

L_c

度量曝光补偿后的渲染图像

I'

与观测图像

I

之间的

L_1

差异。深度损失

L_d

计算渲染深度与通过交错 BA 和 JDSA 优化得到的估计深度之间的

L_1

差异:

L_c=um_{knathcal{K}}|I_k^{rime}-I_k|,uad L_d=um_{knathcal{K}}|at{D}_k-D_k|

其中

athcal{K}

表示在线映射期间局部窗口中的关键帧或离线细化时的所有关键帧。

为了提高几何监督的效果, 我们将法线先验作为优化过程的一部分进行融合。我们通过沿图像平面轴方向计算深度梯度并进行叉积运算来获得法线估计值。然后, 计算其与真实法线之间的差异作为法线损失

L_n

定义为余弦嵌入损失:

L_n=um_{knathcal{K}}|1-at{N}_k^Tdotat{N}_k|

为了避免因3D高斯分布过于长条形而导致的虚假影像(伪影),我们在该分布中引入了正则化项。

L_s=um_{inathcal{G}}|s_i-ar{s}_i|

其中

ar{s}_{i}

表示第

i

一种高斯分布的均值尺度被用来用以惩罚椭圆形的拉伸。随后计算出最终损失并将这些项融合进去并给予相应的权重系数

L=ambda_cL_c+ambda_dL_d+ambda_nL_n+ambda_sL_s
D. Offline Refinement

在完成在线处理后

Post-keyframe insertion :这一阶段的主要工作是识别未被充分覆盖的区域,在视锥边界的周围区域进行特别处理。这些区域通常出现在当相机先向前移动随后立即转向时(如图5所示)。

图5:两种场景下的视图覆盖分析:(a) 最佳情况,在连续关键帧之间保持较高的重叠区域能够较好地实现多视图覆盖。(b) 次优情况,在关键帧Kt中未能充分捕捉到新观测区域。为此,在系统中采用插入后续关键帧(以蓝色显示)的方法来补充缺失的部分,从而提高整体的视图覆盖效果。

在线处理阶段中

Full Bundle Adjustment :虽然我们的在线闭环模块通过基于

Sim

高效渐进式全局光束法平差(PGBA)体现了其在实现全局一致性的能力

联合估计与地图精整化:最后一个重要的优化环节是基于全光束法平差结果实现高斯地图和相机姿态的协同最优估计。在实时建图过程中为维持系统性能需控制各关键帧的迭代更新次数,在离线流程则可对全部关键帧进行全方位调整以获取最佳结果。为了提高协同解算效率,在基于栅格化渲染的过程中计算姿态雅可比矩阵并对其值进行精确求解以辅助后续迭代更新操作完成定位校正工作。此外,在这一协同精整步骤中我们还实现了各个关键帧曝光参数的最佳配置从而保证了全局视觉一致性水平的同时避免了传统高斯-牛顿算法在大规模数据处理中可能出现的收敛问题通过引入Adam一阶梯度下降框架实现了更为鲁棒且快速收敛的整体解决方案

全部评论 (0)

还没有任何评论哟~