【泡泡图灵智库】对于协作视觉SLAM的有效地图压缩

泡泡图灵智库,带你精读机器人顶级会议文章

标题:Efficient Map Compression for Collaborative Visual SLAM

作者:Dominik Van Opdenbosch, Tamay Aykut, Martin Oelsch, Nicolas Alt, Eckehard Steinbach

机构:Chair of Media Technology, Technical University of Munich

来源:WACV 2018

编译:刘嘉玲

审核:  陈凯祺

这是泡泡图灵智库推送的第 683篇文章,欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权

摘要

大家好,今天为大家带来的文章是 Efficient Map Compression for Collaborative Visual SLAM

群体机器人技术受到越来越多的关注,因为任务的协作完成导致提高了性能和减少了工作量,例如探索未知环境。能够交换地图信息是协作探索的基本要求。当移动到大尺度环境,在群体参与者之间的通信数据速率通常是有限的情况下,有效的压缩算法和丢弃地图信息较小部分的方法是成功的长期操作的关键。在这篇论文中,我们提出对于从一个视觉SLAM系统获得环境地图的一个神奇的压缩方法。我们应用特征编码到视觉信息来有效地压缩地图。我们使用最小生成树来连接作为单个地图点观察的所有特征。因此,我们可以利用特征间的依赖关系并获得最佳编码顺序。此外,我们添加了一个地图稀疏化步骤,通过解决线性整数规划问题来仅保留有用的地图点,这保留具有良好压缩特性和高可观察性的地图点。

主要工作与贡献

  1. 我们提出了一种新颖有效的地图压缩方法,该方法对二进制局部视觉描述符与其相应的词袋表示进行联合编码,其中地图是从视觉 SLAM 算法中获得的。为了利用单个地图点的观察结果之间的视觉相似性,我们建议根据它们的汉明距离在这些特征之间构建最小生成树,并使用由此产生的树结构来推导出视觉特征的最佳编码顺序。

  2. 此外,我们通过使用线性整数规划解决优化问题来执行地图点剔除。我们的方法保留了具有良好压缩特性的地图点,并有利于具有许多视觉相似观察的地图点。

算法流程

使用特征编码的地图压缩

我们从关键帧中删除所有与任何地图点无关的特征以及所有立体和深度信息。这样地图就表示为本质图。我们的目标是最小的特征集,允许未来的地图扩展,包括在地图创建过程中使用的视觉信息和约束。

1地图点编码

我们压缩包含在地图中的视觉信息的方法受到从视频序列中提取的特征的视觉描述符编码概念的启发 [1]。对于视频序列,在过去帧中提取的视觉描述符可以作为从当前帧预测特征的参考,并且只需要传输参考索引旁边的差异。虽然视频序列遵循线性顺序,但地图点的观察没有特定的排列,因为可以从轨迹的不同部分观察地图点。为了找到附加到地图点的观测的最佳编码顺序,我们建议构建一个最小生成树(MST),将所有视觉特征vi连接到单个地图点,其中i表示观测索引。观察i和j之间边缘的权重wi,j被设置为汉明距离,如图 1 所示。然后,我们确定一个起始观察,它使用类似于 [24] 的方法进行编码。我们简要概括了这种称为帧内编码的技术,并通过进一步包括观察信息来扩展该方法。之后,我们使用 MST 对剩余特征进行预测编码。

图1:带有估计的关键帧姿势(黑色相机)的采样轨迹(灰色虚线)。全连接图(红色虚线)连接单个地图点(黑色圆圈)的观测值 v i(蓝色)。最小生成树(红色实线)包含具有最小汉明距离的图的边,以观察 i 和 j 之间的权重 w i,j 的形式表示。在这个例子中,我们从v1开始编码,使用视觉词汇表(左上角)中最匹配的视觉词c1。

2.观测的内部编码

在我们之前的工作 [24] 中,我们建议从预训练的视觉词汇表中将描述符分配给最接近的视觉词。我们发送相应的视觉词索引并传输包含视觉词和描述符之间差异的残差向量。此外,关键点信息必须与该观察属于哪个关键帧的标识符一起传输。地图点n的观测i的帧内编码信息总量,在下文中用I表示,由下式给出:

编码视觉词索引的成本:

传输描述符和视觉词之间的差异向量:

h:描述符和视觉词之间的汉明距离. p0是帧内编码的残差向量中零的概率. 使用可变长度编码来计算长度为D的二进制串所需的位为:

编码关键点的成本:

有关关键帧和特征索引的信息:

3.最小生成树

为了利用视觉相似性,我们确定了最小化特征之间汉明距离的观察排列。为此,我们将单个地图点的观察建模为图结构中的顶点v i。我们从观测集合Vn和所有观测之间的边En构建一个完整的无向图Gn = (Vn , En )。分配给顶点vi和vj之间的每条边的权重wi,j被定义为二元特征描述符di和dj之间的汉明距离。我们使用Kruskal算法来确定连接所有顶点的最小生成树。

4最小生成树编码

我们利用特征描述符之间的依赖关系,并使用最小生成树中的连接描述符作为参考。使用 MST 编码对连接观测进行编码的成本,记为 M,可以写为:

发送参考顶点信号的成本:

发送参考描述符dg(i)和当前描述符di之间的残差向量:

Vm附加到地图点的一组观测值,使用MST编码进行压缩.我们采用产生最小成本的编码模式,导致编码具有所有观察的地图点的总成本为:

5.地图稀疏化

给定一组地图点,我们的目标是确定成功重新定位所需的点子集。我们对地图点的要求有三方面:地图点的子集应该覆盖整个地图区域。其次,地图点在地图创建阶段应该经常匹配。第三,它们应该使用我们的编码方法提供良好的压缩,允许在固定位预算内保持尽可能多的地图点。

我们将地图稀疏化问题表述为一个最小化问题。与之前的工作相比,根据可见性分数对每个地图点进行加权,我们建议根据单独的编码成本对每个地图点进行加权。为此,我们不是直接从观察次数中导出权重向量,而是建议使用对特定地图点的每个观察的平均编码成本的估计。这种表述的动机有三方面。首先,我们倾向于展示视觉上相似的观察结果的地图点,因此由于它们的小汉明距离而易于压缩。此外,高汉明距离是不稳定特征或错误对应的指标。其次,由于使用最小生成树编码观测的成本低于使用视觉词汇的帧内编码成本,因此这种方法有利于具有许多观测的地图点。

我们为优化问题添加了两个约束。我们保留地图点的方式是每个关键帧在子采样步骤后至少保留 b 个观察值。将地图的总大小限制为R。

实验结果

通过仅应用内部编码,我们已经可以节省 50% 以上的所需大小来存储地图。通过结合 MST 和帧内编码,我们可以将 MH04 序列的映射存储在未压缩大小的 39% 中。除了量化的关键点方向外,所提出的编码方法是无损的,并且包含与基本地图相同的视觉信息。编码所需的理论位数

在表 3 中,我们展示了优化对我们提出的压缩方法的影响。

如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号

(0)

相关推荐