Advertisement

论文阅读:MAGiC-SLAM: Multi-Agent Gaussian Globally Consistent SLAM

阅读量:

如图1所示。


摘要

基于独特视角融合能力的同步定位与地图构建(SLAM)系统在计算机视觉领域得到了广泛应用

我们开发了一种名为MAGiC - SLAM的新方法。这种流程具备多智能体新视角合成(NVS)能力,并实现了同步定位与地图构建(SLAM)。我们的目标是解决这些问题。该方法采用3D高斯函数作为场景表示模型,并利用多个智能体对输入的RGB序列进行处理以生成若干块(子地图)。这些块可以通过有效的校正并整合成一个完整的全局地图。为了提高轨迹精度,在整个系统中引入了一种闭环检测机制,并通过新型闭环检测模块对其进行增强以适应未知环境的情况。此外,在系统性能方面采用了灵活设计的跟踪和映射模块不仅提升了系统的运行速度而且能够轻松扩展到不同数量的智能体配置。综上所述我们的主要贡献体现在以下几个方面:

  • 该多智能体协同工作的NVS SLAM系统具备处理任意数量智能体并实现一致3D重建的能力。
  • 基于高斯地图构建的一种闭环机制,并通过基础视觉模型进行闭环检测。
  • 提出了一种高效的优化与融合策略,在减少磁盘存储需求的同时降低处理时间。
  • 一种鲁棒性强于其他同类方案的基于高斯分布的设计。

3. Method

该系统架构如图2所示。每个智能体负责处理单个RGB-D数据流,并执行局部地图绘制与追踪任务。系统使用三维高斯分布来表示各智能体的子地图,并通过此提升追踪精度。闭环检测模块从RGB图像中提取关键特征,并将这些特征与本地子地图数据整合后发送至中心服务器。中央服务器利用图像编码识别闭环并进行位姿优化。在任务完成时,各中心 server 将所有子地图整合成一个全局高斯地图。

图2展示了MAGiC-SLAM系统的架构设计。在代理端部分中描述了每个代理如何管理一个独立的RGBD流,并负责生成局部子映射并估算自身运动轨迹。每当一个代理启动新的局部子映射时,则会将之前的所有子映射信息以及相关的图像特征发送至集中式服务器进行处理。在服务器端部分中,则阐述了该系统是如何通过集中处理所有代理发送来的图像特征及子地图数据来实现全局环境建模的关键步骤:具体而言,在服务器端首先会整合所有来自不同代理的图像特征信息以及各自维护的子地图数据;其次通过执行环闭合检测、环约束估计以及姿态图优化等技术手段实现系统定位;最后更新并维护全局的地图信息库,并将优化后的姿态反馈给各个代理系统。

3.1. Mapping

每个智能体负责处理一个有限尺寸的独特子地图其空间表示采用一组三维高斯分布模型初始构建阶段从第一帧数据开始通过从提升后的3D RGB-D帧中提取θ采样点确定新生成高斯体的中心位置基于图像渲染中的不透明度权重进行调整将新生成的三维高斯分布叠加至当前活动区域中密度较低的位置并采用如下损失函数进行优化计算

L_{ext{mapping}} = ambda_{ext{color}} dot L_{ext{color}} + ambda_{ext{depth}} dot L_{ext{depth}} + ambda_{ext{reg}} dot L_{ext{reg}}

其中

ambda_* n athbb{R}

是超参数。颜色损失

L_{ext{color}}

定义为:

L_{ext{color}} =  dot  at{I} - I _1 + ambda

其中

at I

I

分别是渲染图像和输入图像,

ambda n athbb{R}

是加权因子。深度损失

L_{ext{depth}}

公式如下:

L_{ext{depth}} =  at{D} - D _1

其中

at D

D

分别是渲染深度图和输入深度图。 正则化损失

L_{ext{reg}}

表示为:

L_{ext{reg}} = |K|^{-1} um_{k n K} |s_k - ar{s}_k|

其中

s_k n athbb{R}^3

是3D高斯的尺度,

ar{s}_k

是平均子地图尺度,

|K|

代表子地图中的高斯个数。未对其球谐函数进行优化处理从而降低了存储空间的需求同时提升了定位准确性。每个

heta_{ext{submap}}

每个帧生成一个新的子地图,并将上一帧生成的子地图发送给服务器。在已有区域再次创建新子地图会带来一定的计算冗余。然而这种做法有助于降低整体计算成本,并且能够维持较好的跟踪和映射速度。此外,在Gaussian-SLAM方法中只有当当前相机视野中的高斯渲染透明度为零时才会发送到服务器。这种方法不仅降低了存储这些子地图所需的磁盘空间比例,并且显著提高了整个的地图合并效率。

3.2. Tracking

一般性地

Pose Initialization 在时刻

t

,给定输入的彩色点云

P_t

,目标是估计其相对于前一个输入点云

P_{t - 1}

的位姿

T_{t - 1, t} n SE

。配准过程在多个尺度上迭代进行,从最粗的

l=0

到最细的

l=L

。 在每个尺度上,两个点云都进行体素化,并且使用ICP计算

P_t

P_{t-1}

之间的对应关系集

K =

。对于每个尺度,优化以下损失函数:

E =  um_{ n K} }G ^2 + igma um{ n K} }_C ^2

其中igma n 是标量权重。几何残差

r^{}_G

定义为:

r^{}_G =  - p athbf{n}_p^2

其中

athbf{n}_p

p

的法向量。颜色残差

r^{}_C

计算为:

r^{}_C = C_p  - p - C

其中

f_p

是将点投影到

p

的切平面上的函数,

C

是点

q

的强度,

C_p

是在点云

P_t

该强度函数被设定为连续型,并通过高斯-牛顿算法进行迭代优化以达到最优解的状态。为了了解配准机制的具体实现及相关细节,请参考文献[[28]](链接)。

在初始化阶段获得的姿态会被基于场景的重新渲染损失[43]所优化以达到更高的精度。为了优化初始姿态估计的过程我们将固定所有的高斯参数并利用最小化损失函数的方法来进行优化

nderset{T_{t - 1, t}}{rgin} L_{ext{tracking}} , at{D}, I_t, D_t, lpha_t

其中

at{I}

at{D}

是使用相对变换

T_{t - 1, t}

对从子地图中扭曲得到的颜色和深度,

I_t

D_t

是在第

t

在每帧中所使用的输入颜色信息以及深度图数据中包含了丰富的视觉特征信息,在目标检测与跟踪任务中具有重要的应用价值。为了提高跟踪效果,在目标丢失后的重现区域中引入基于软alpha值与颜色渲染误差mask的设计策略能够有效减少由于外观变化所带来的跟踪漂移问题15, [43]). 采用soft alpha mask能够更好地平衡不同区域的目标重建质量

M_{ext{alpha}}

是从3D高斯渲染得到的alpha图的多项式。误差布尔掩模

M_{ext{inner}}

舍弃所有颜色和深度误差大于帧相关误差阈值的像素:

L_{ext{tracking}} = um M_{ext{inner}} dot M_{ext{alpha}} dot  |at{D} - D|

这种加权机制保证了重建良好区域所引发的优化过程,并使该区域内累积的alpha值趋近于1的同时实现了较高的渲染质量

3.3. Loop Closure

回环是指系统通过重新访问先前已覆盖区域而实现地图更新,并通过相应调整相机与机器人位置估算来减少累积误差的过程;这一机制旨在确保全局一致性并实现环境建模的闭合性需求;主要包含以下四个关键环节:首先执行闭环检测以识别重叠区域;其次基于此估算各帧间的相对位置关系;随后对所有相机姿态进行全局优化精调;最后将所有优化后数据整合到环境重建模型中完成循环闭合。
主要包含以下四个关键环节:

  1. 闭环检测用于确定何时重新访问了已经覆盖的区域;
  2. 闭环约束估计计算在闭环期间各帧之间的相对位姿;
  3. 随后对所有相机的位姿进行优化精调;
  4. 最终将所有优化后数据整合到环境重建模型中完成循环闭合。

Loop Detection 在整个运行过程中, 每个智能体从每个子地图的第一帧中提取关键特征, 并经由中央服务器接收. 这些关键特征被存储于一个专为相似性搜索优化设计的高性能GPU数据仓库中. 当服务器在图像特征空间中对新子地图的每一帧进行检索时, 若其与数据库中某帧的相似度得分低于设定阈值, 则认为这两帧可能构成闭环.

heta_{ext{feature}}

,则将这一对帧视为一个闭环。属于同一智能体的闭环还会基于时间阈值

heta_{ext{time}}

进行过滤,以避免过多无意义的闭环。

闭环边缘约束估计的准确性受到回环检测的影响程度较高。由于较大的帧重叠对配准具有重要意义[20]。基于ORB或NetVLAD图像描述符的方法是常见的回环检测方法;然而,在相对较小的数据集上进行训练这一点是其局限性之一;Hu等人主张NetVLAD全局图像描述符更适合用于回环检测;为了克服这一局限性;我们建议采用基础视觉模型作为特征提取器;为此我们选择了DinoV2 的一个小变体;因为它不仅具备大量训练数据量支持而且具有良好的紧凑性;同时它为后续任务生成的特征质量较高

Loop Closure Constraints 我们采用分级策略以估计闭环边缘约束。对于粗配准阶段, 我们基于Rusu等人的研究, 应用全局配准算法. 该算法利用低分辨率版本的数据.

P_s

和目标点云

P_t

从...中提取快速点特征直方图(FPFH),然后在非欧几里得空间而非FPFH特征空间中进行对应搜索。随后,在RANSAC框架内将该优化嵌入到该框架,并通过剔除异常对应点来生成源点云

S_s

与目标点云

S_t

对齐的刚性变换。最后,将ICP [应用于全分辨率点云以精化粗配准估计。

我们注意到,在不同智能体中获取的高斯均值直接进行配准可能会产生不可靠的结果。由于这些高斯在不同智能体之间覆盖范围存在显著差异,在重叠区域的表现可能会受到严重影响。针对这一问题,在构建每个子地图时,在其起点固定一个输入点云,并将其作为基准用于后续配准过程。

Pose Graph Optimization.位姿图中的每个节点

T_i n SE

每个子地图代表一个独特的区域划分。邻近的子地图通过由跟踪器输出的里程计边连接在一起;这些边表示各区域之间的相对变化关系。在非邻近区域间的分区内添加闭合边以确保整体结构的一致性。

T_{st} n SE

,并使用与跟踪器不同的配准方法进行计算。 节点

i

j

之间的误差项定义为:

e_{ij} = og

其中\

T_{ij}

是节点

i

j

之间的相对变换,

T_i

T_j

是节点位姿,

og

是从

SE

se

的对数映射。 为了得到优化的相机位姿,我们最小化误差项:

F = um_{angle i, j angle n C} ^T mega_{ij} e

其中

mega_{ij} n athbb{R}^{6 imes 6}

属于一个正定半正定的信息矩阵,并且表征了约束估计中的不确定性程度——当边的置信度提高时,在应用残差的过程中其权重随之增大。误差项采用了泰勒展开的一阶近似来进行线性化处理,并通过高斯-牛顿法实现损失函数的最小化。更多细节请参见[17]

Pose Update Integration. 位姿信息图优化子系统负责对各个智能体的所有子地图进行位姿修正工作

 T_i^c n SE _{i = 1}^{N_s}

。属于子地图

i

的所有相机位姿

 T_j _{j = 1}^{N_p}

都按如下方式校正:

T_j eftarrow T_i^c T_j

属于子地图

i

的所有高斯

 G_{ij}  _{j = 1}^{N_g}

也进行更新:

u_{ij} eftarrow T_i^c u_{ij}, uad igma_{ij} eftarrow T_{i, R}^c igma_{ij}

其中

T_{i, R}^c

T_i^c n SE

的旋转分量。我们不校正高斯颜色,因为我们不优化球谐函数

3.4. Global Map Construction

当智能体完成数据处理后, 服务器将所有智能体的子地图整合为一个统一的全局地图. 地图整合分为两个步骤:粗整合与精整合. 在粗整合阶段, 服务器加载缓存中的子地图并将其整合到一个单一的地图中. 缓存采用从下一个子地图的第一帧不可见的高斯分布, 这种方式使得无需执行耗时相交检查即可实现附加效果[43]. 然而, 这种方法可能导致渲染边缘出现视觉伪影现象. 具体来说, 尽管某些不透明度为零的高斯分布在二维密度投影中可能通过边缘影响渲染效果, 但仍需注意其对整体视觉效果的影响. 此外, 粗整合理论上可能在交叉区域引入几何伪影问题. 精整合同理则通过基于颜色与深度渲染损失对高斯参数进行少量迭代优化, 并去除不透明度为零的部分以改善视觉效果. 如图所示即展示了精整化后的效果[43]

图3展示了地图的整合过程。我们采用分层次的方法有效地消除了(a)由于GS机制导致的视觉伪影和(c)由于高斯子图相交产生的几何伪影。

全部评论 (0)

还没有任何评论哟~