CVPR2020:视觉导航的神经拓扑SLAM
CVPR2020:视觉导航的神经拓扑SLAM
Neural Topological SLAM for Visual Navigation
论文地址:
Project webpage:
https://devendrachaplot.github.io/projects/Neural-Topological-SLAM
摘要
本文研究了图像目标导航问题,即在一个新的未知环境中导航到目标图像所指示的位置。为了解决这一问题,我们设计了有效利用语义和提供近似几何推理的空间拓扑表示。我们表示的核心是具有相关语义特征的节点,这些节点使用粗糙的几何信息相互连接。我们描述了基于监督学习的算法,可以在噪声驱动下建立、维护和使用这些表示。视景仿真和物理仿真的实验研究表明,该方法能够有效地描述结构的变化规律,有效地解决长视距导航问题。我们观察到,与研究这项任务的现有方法相比,相对提高了50%以上。
1. 介绍
假设你在一个新房子里,如图1所示,你被赋予了一个任务,如图1所示找到一个目标物体(上图)。虽然有多种可能的移动方向,但我们大多数人会选择2号路径移动。这是因为我们使用了强大的结构优先-我们意识到目标是一个烤箱,更可能在厨房找到,似乎可以通过路径2。现在让我们假设,一旦你到达烤箱,你的目标是回到你最初看到的客厅。你将如何导航?这个问题的答案在于我们人类如何存储我们刚刚穿过的房子的地图(或布局)。一个可能的答案是公制地图,在这种情况下,我们将确切知道多少步骤,以达到客厅。但这显然不是我们人类的运作方式[16,41]。相反,我们中的大多数人会先离开厨房,搬到走廊上,然后导航到从走廊上可以看到的客厅。
图1:语义优先级和标记。当被要求进入烤箱的目标图像时,大多数人会使用2号路径,因为它允许进入厨房。人类每天都使用语义先验和常识来探索和导航,但大多数导航算法都很难做到这一点。
从上面的例子可以清楚地看出,一个成功的视觉导航算法有两个主要组成部分:(a)建立空间表示并存储它们的能力;(b)利用结构先验知识的能力。在空间表现方面,大多数导航论文都坚持要建立自由空间的精确表达。然而,度量地图有两个主要缺点:第一,度量地图不能很好地根据环境大小和经验量进行缩放。但更重要的是,真实机器人上的驱动噪声使得建立一致的表示具有挑战性,精确的定位可能并不总是可能的。当涉及到利用结构性优先权时,大多数基于学习的方法都没有明确地对这些优先权进行建模。相反,他们希望学习的策略函数隐式编码这些结构优先prior。但是,这些策略函数在通过RL学习时是否能够编码语义优先级仍然不清楚。
在本文中,我们建议正面解决这两个问题。我们提出了一个空间的拓扑表示,代替了使用容易受到局部化和噪声影响的度量映射。基于局部几何信息,我们提出的表示由以图的形式连接的节点组成。通过360度全景图像直观地表示每个节点。节点之间使用近似的相对姿态相互连接。但是,使我们的视觉拓扑图新颖的是两个方向函数Fg和Fs,它们提取了节点的几何和语义属性。具体来说,Fg估计智能体agent遇到空闲空间的可能性,Fs估计智能体agent朝特定方向移动时遇到目标映像的可能性。通过显式建模和学习函数Fs,我们的模型确保在探索和导航新的未知环境时对结构prior进行编码和使用。与经典的和基于端到端学习的方法相比,我们的表现法没有什么优势:(a)它使用图形化表示法,允许进行有效的长期规划;(b)它通过函数Fs显式地编码结构优先级;(c)几何函数Fg允许为新环境进行有效的探索和在线地图构建;(d)但最重要的是,所有的功能和政策都可以在完全监督的方式学习,而不需要通过RL进行不可靠的信用分配。
图2:模型概述。图中显示了所提出的模型,神经拓扑SLAM的概述。它由三个部分组成,一个在接收到观测数据时更新拓扑图的图构造模块,一个对子目标进行采样的全局策略,以及一个通过导航操作到达子目标的局部策略。
2. 相关研究
本文在以下几个方面对导航问题做出了贡献:空间表示、导航策略的训练范式和不同的导航任务。我们调查以下这些领域的工作。
导航任务。
导航任务可以分为两大类。第一类任务是已知目标位置的任务,需要进行有限的探索。这可以是一种简单的无碰撞漫游[15,33],跟随对象[22],到达目标坐标[1,17]:使用沿路径[5,21]的图像序列或基于语言的指令[2]。有时,目标被指定为一个图像,但环境经验可以通过演示[13,34]或基于奖励的训练[24,47]的形式获得,这再次限制了探索的作用。第二类任务是目标未知,需要探索的时候。例如,在一个新的环境中找到一个物体[17],或者房间[42],或者进行明确的探索[6,9]。这些任务类别涉及不同的挑战。前一个任务侧重于有效的检索和健壮的执行,而后一个任务则涉及语义和常识推理,以便在以前看不见的环境中高效地操作。在这项工作中,我们的重点是在一个新的环境中达到目标图像。除目标图像外,环境中没有可用的经验。我们不知道有任何针对这一具体问题的工作。
经典的空间表现。
空间和拓扑表示在机器人导航中有着丰富的历史。研究人员使用了明确的度量空间表示[12],并考虑了如何使用不同的传感器构建这种表示[19,26–28,38],以及如何根据这种表示对智能体agent进行定位[11]。最近的工作已经开始将语义与这种空间表示联系起来[4]。类似地,非度量拓扑表示在经典文献中也被考虑过[10,20,23]。一些工作结合了拓扑和度量表示[39,40],一些研究了语义拓扑表示[20]。虽然我们的工作建立在现有的拓扑图文献的基础上,但这种相似性只存在于高层次的图结构中。我们的工作重点是使可视化拓扑映射和探索具有可扩展性、健壮性和高效性。我们通过在拓扑图中同时表示语义和几何属性来实现这一点;能够以在线方式构建拓扑图,最终将学习问题作为一个有监督的问题。
学习空间表示
根据所考虑的问题,研究了不同的表示。对于短程移动任务,应提供纯反应性策略[3,15,22,33]。对于更复杂的问题,例如在一个新的环境中的目标驱动导航,这种纯反应策略不能很好地工作[47],并且已经研究了基于内存的策略。这可以是普通的神经网络存储器的形式,如LSTMs[25,29]或transformers[14]。研究人员还将经典文献中的见解融入到导航用表达性神经记忆的设计中。这包括空间记忆[17,30]和拓扑方法[8,13,34,35,42,45]。学习到的空间方法可以获得表达性的空间表示[17],但是由于它们依赖于度量一致性而受到限制,因此大多被证明在离散状态空间中用于相对较短的水平任务[17,30]。研究人员还解决了被动和主动定位的问题[7,26],以帮助建立这种一致的度量表示。一些拓扑方法[8,13,34]处理人类探索或预先构建的拓扑图,因此忽略了探索问题。其他人则使用显式语义构建拓扑表示[42,46],这限制了可以处理的任务和环境。与以往的工作相比,我们将空间和拓扑表示统一起来,使之对驱动误差具有鲁棒性,并说明了如何逐步地、自主地建立拓扑表示,以及如何进行语义推理。
训练方法
不同的任务还导致设计不同的导航政策训练方法。这包括使用稀疏和形状奖励的强化学习[24,25,31,33,47]、模仿学习和匕首[17,32]、针对单个组件的自我监督学习[15,34]。虽然RL允许学习丰富的探索性行为,但使用RL的训练策略是众所周知的困难和样本不足。模仿学习是样本有效,但不允许学习探索性行为。自我监督学习很有前途,但只在已知目标任务的背景下进行了实验。我们采用一种有监督的学习方法,展示了我们如何在不受大量样本复杂性影响的情况下学习表现性探索行为。
实验测试
我们的模型由三个部分组成:图形更新模块、全局策略和局部策略。在较高层次上,图更新模块基于智能体agent观测更新拓扑图,全局策略选择图中的节点作为长期目标,并使用路径规划确定子目标以达到目标,局部策略基于视觉观测导航到子目标。图2提供了所提议的模型的概述。上述组件需要访问4个功能。我们首先定义了这4个函数,然后描述了模型组件如何使用它们。
图4显示了此函数的输入输出对示例。对应于同一源图像的分数随着目标图像的变化而变化。估计这个分数需要模型学习环境的语义先验知识。
图5显示了图形更新模块的概述。
通过访问上述四个功能,我们讨论了不同组件如何使用这些功能进行导航。在本小节中,我们将描述如何训练单个多任务学习模型来学习所有四个功能。图7显示了这个多任务学习模型的概述。
我们将NTS和两次消融的成功率和SPL作为顺序目标数的函数在图8中报告。在这种情况下,成功被定义为智能体agent在1000集测试集中达到的目标比率。
我们对每一个困难场景的1000集的建议方法和所有基线进行评估。我们比较了表1中RGB和RGBD设置中所有困难级别的所有方法。结果表明,在所有困难的情况下,该方法都比所有基线有相当大的优势,总的SUC/SPL分别为0.55/0.38、0.35/0.23和0.63/0.43、0.44/0.29。结果还表明,随着难度的增加,NTS相对于基线的相对改善会增加,从而导致硬设置的大幅度改善(RGBD为0.43/0.26 vs 0.16/0.09)。
为了量化停止操作的影响,我们在表2(左)中报告了所有没有停止操作的模型的性能。我们发现RL基线的性能要高得多。
为了量化这种影响,我们在表2(右)中评估了所有没有任何运动驱动和传感器噪声的模型。结果表明,在无运动噪声的情况下,基于度量映射的基线随距离的变化具有更好的性能,但NTS的性能并没有明显提高。