论文分享:【2024 TPAMI】ETPNav: Evolving Topological Planning for Vision-Language Navigation in Continuous

贡献

这是一篇期刊文献,参考了DUET的思想在连续环境中进行视觉语言导航(VLN-CE)。整体思想和DUET很相似,ETPNav通过自组织预测的路径点(waypoint)在没有先验知识的情况下完成环境的在线拓扑映射,然后基于Transformer完成拓扑地图和指令的跨模态对齐并生成导航计划。然后通过避障控制器执行该计划,该控制器利用试探法和启发式算法防止导航被障碍物卡住。在R2R-CE和RxR-CE数据集上进行了测评。

方法

一、概述

该文的拓扑地图是通过在线自组织(online self-organization)生成的预测航路点构建的,这些航路点是简洁的,并符合在真实环境中部分可观测性的假设。和以往需要预定义的图(如DUET)和对环境进行预探索的方法不同。

在每一轮任务中,代理通过对迄今为止预测的航路点进行在线自组织来更新拓扑地图。这个地图将导航问题分解为规划与控制。在每一个决策循环中,代理使用跨模态 transformer 根据指令和拓扑地图计算出一个全局导航规划。然后,这个规划由一个能够避开障碍物的鲁棒控制器通过低级动作来执行。

在这里插入图片描述

它由三个模块组成:一个拓扑映射模块,用于在接收新观测时逐步更新拓扑地图;一个跨模态规划模块,根据指令和地图计算导航规划;以及一个控制模块,通过低级动作执行规划。

基于该文的方法,赢得了 CVPR 2022 的 RxR-Habitat 挑战赛

按照全景 VLN-CE 设置 ,在每一个时间步 t t t,代理接收全景 RGB 观测 O t = { I t r g b , I t d } O_t = \{ I_t^{rgb}, I_t^{d} \} Ot={Itrgb,Itd},其中包含 12 张 RGB 图像和 12 张深度图像,这些图像从 12 个等间隔的水平朝向角度(即:0°,30°,…,330°)中捕捉到。代理还会在每一轮任务中接收到一段指令。将包含 L L L 个词的指令嵌入表示为 W = { w i } i = 1 L W = \{ w_i \}_{i=1}^L W={wi}i=1L

二、拓扑映射模块

该模块为本文主要的创新点

在这里插入图片描述

此方法不依赖先验地图,通过预测路径点(waypoints)进行建图。每个时间步 t t t,智能体会预测附近几个可达路径点,当前节点初始化于当前所在位置,连接到上一个访问节点,使用特征嵌入(RGB、深度、方向)表示这些路径点。

使用 Transformer 预测路径点的相对位置:

  • 特征先通过线性层融合;
  • 输入 Transformer 进行视角间交互,得到上下文感知的特征;
  • 输出路径点在空间中的概率热图,从中选择 K K K 个路径点。

预测器只使用深度图,不使用RGB图像,因为路径点主要是关于空间可达性,RGB的语义信息可能会干扰。

路径点会根据与图中已有节点的位置关系被归入图中,通过一个路径点定位函数 F L \mathcal{F}_L FL 实现:

  • 如果路径点与某个已访问节点的距离小于阈值 γ \gamma γ,则认为它是已知节点。

三种情况:

  1. 已访问节点
    • 删除该路径点,在当前节点和该节点之间加边。
  2. ghost节点(即可见但未访问节点)
    • 累积位置和特征信息,并更新为新的平均值。
  3. 无法匹配任何节点
    • 创建一个新的ghost节点。

三、跨模态规划模块

和DUET中全局规划部分几乎一模一样

在这里插入图片描述

跨模态图编码器根据拓扑图和已编码的指令进行推理,以预测一个长期目标节点。最终的输出是一个规划的路径,通向目标。

在图中的每个节点,视觉特征会与姿态编码(pose encoding)和导航步骤编码(navigation step encoding)相结合。姿态编码嵌入了该节点相对于当前位置信息的全局相对位置,包括方向和欧几里得距离。导航步骤编码表示每个节点的访问历史。

编码后的节点和词嵌入将输入到多层的Transformer中进行跨模态交互。加入了图感知自注意力(GASA)机制。(这一部分和DUET很像,几乎可以算是抄的……

在这里插入图片描述

使用一个前馈网络(FFN)来计算每个节点的目标分数。如果节点是“停止”节点或虚拟节点(ghost node),它会被视为可能的目标。

最终,代理根据预测的目标分数选择一个长期目标,并使用Dijkstra算法(和DUET比倒是换了另一个经典的路径规划算法)计算到目标的最短路径。

四、控制模块

控制模块负责将拓扑计划转换为一系列低级动作,帮助代理到达目标。控制模块的输入包括一个包含子目标节点的序列,和代理当前的姿势信息。输出的导航动作空间由一组低级的参数化动作组成,如“前进0.25米”,“左转/右转15度”和“停止”。控制模块根据启发式策略生成这些动作。例如,代理通过计算相对方向和距离来达成一个子目标,并执行一系列旋转(15°)和前进(0.25米)动作,直到到达目标节点。

  • 处理无法到达的目标

    预测的长期目标(虚拟节点)可能是不可达的,因为预测的路线可能不在导航网格上。这会导致代理在不同的规划阶段重复选择相同的不可达目标节点,从而造成导航进展停滞。解决策略是在尝试到达目标之前,从图的拓扑图中删除该不可达的虚拟节点。

  • 障碍物回避

    如果代理遇到死锁或卡住,系统采用了一个称为“试探”(Tryout)的启发式方法。具体来说,当代理执行一系列前进动作时,系统会检测是否发生死锁。如果发生死锁,代理会通过旋转并尝试继续前进。(enmmm,属于解决死锁,能不能避免死锁?)

  • 试探策略

    如果代理在执行“前进”动作时停滞不前,尝试其他方向,以帮助代理找到出路。

    在实践中,试探策略包含7个均匀间隔的水平方向角度,分别是:-90°、-60°、-30°、0°、30°、60°、90°。如果代理在尝试这些方向时仍然无法前进,就会返回到原方向并继续执行剩下的动作序列。(属于转圈圈)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值