文章目录
1. 【ICCV2023】GridMM: Grid Memory Map for Vision-and-Language Navigation
摘要和结论
-
为了表示以前访问过的环境,VLN 的大多数方法使用循环状态、拓扑图或自上而下的语义图来实现内存
-
我们构建了自上而下的自我中心和动态增长的网格记忆图(即GridMM)来构建访问的环境。
-
从全局角度看,历史观测以自上而下的视角投影成统一的网格图,更能体现环境的空间关系。从局部的角度出发,我们进一步提出了一种指令关联聚合方法来捕获每个网格区域的细粒度视觉线索。
引言
- 视觉和语言导航(VLN)任务要求智能体理解自然语言指令并根据指令采取行动。已经提出了两种不同的VLN场景,分别是离散环境中的导航(例如R2R , REVERIE , SOON)和连续环境中的导航(例如R2R- ce , RxRCE)。VLN中的离散环境被抽象为相互连接的可导航节点的拓扑结构。使用连接图,代理可以通过从可导航方向中选择一个方向移动到图上的相邻节点。waypoints
与离散环境不同,连续环境中的VLN需要智能体通过低级控制(即向左15度,向右15度,或向前移动0.25米),这更接近现实世界的机器人导航,也更具挑战性。 - 无论是离散环境还是连续环境,导航过程中的历史信息对环境理解和指令接地都具有重要作用。
- 循环状态最常被用作VLN的历史信息,它将历史观察和动作编码在固定大小的状态向量中。然而,这种浓缩状态可能不足以捕获轨迹历史中的基本信息。
- 因此,[41]和[12]建议将轨迹历史和动作直接编码为先前观察的序列,而不是使用循环状态。
- 此外,为了构建所访问的环境并进行全局规划,最近的一些方法构建了拓扑图,如图1(a)所示。然而,这些方法难以表示历史观测中物体和场景之间的空间关系,从而丢失了大量的详细信息。
- 如图1(b)所示,最近的研究使用自上而下的语义图对导航环境进行建模,该语义图更精确地表示空间关系。但是由于预定义的语义标签,语义概念是非常有限的。因此,未包含在先前语义标签中的对象或场景无法表示,例如图1(b)中的“冰箱”。此外,如图1(b)所示,“木桌”、“蓝色沙发”等具有多种属性的对象,无法通过缺失对象属性的语义图充分表达。
- 与 BEVbert [1] 应用局部混合度量图进行短期推理不同,我们的 GridMM 利用时间和空间信息来描述全局访问的环境。具体来说,网格地图将访问的环境划分为许多同样大的网格区域,每个网格区域包含许多细粒度的视觉特征。我们动态构建网格存储库以在导航过程中更新网格地图。在导航的每一步中,来自预训练 CLIP [45] 模型的视觉特征都被保存到内存库中,并且所有这些特征都根据通过深度信息计算出的坐标被分类到网格地图区域中。为了获得每个区域的表示,我们设计了一种指令相关性聚合方法来捕获与指令最相关的视觉特征并将它们聚合成一个整体特征。借助N×N聚合的地图特征,智能体能够准确地进行下一步的行动规划。大量的实验说明了我们的 GridMM 与以前的方法相比的有效性。
模型框架
3.1 Navigation Setups :
对于 离散环境中的VLN ,在Matterport3D模拟器 中提供了导航连通性图G = {V, E},其中V表示可导航节点,E表示边。(K个独立的视角呈现了全景视角)
连续环境中的VLN是在Habitat上建立的, 其中agent的位置Pt可以是开放空间中的任何点。在每个导航步骤中,我们使用 预训练的航路点预测器 在连续环境中生成可导航航路点(waypoints),这将任务与离散环境中的 VLN 同化。
3.2. Grid Memory Mapping
然后,我们提出了一种利用网格内存 Mt 中的视觉特征构建网格内存图的动态坐标变换方法(dynamic coordinate transformation method)。
绝对坐标地图(Absolute Coordinate Map):
在图 3(a) 中,地图使用固定的边长和坐标原点(例如,一个固定的起始点)来表示环境。
这种方法的缺点是,随着代理探索环境的扩展,地图可能无法有效地表示所有新访问的区域,因为地图的大小是固定的,而且难以确定地图的适当规模和范围。
动态相对坐标地图(Dynamic Relative Coordinate Map):
在图 3(b) 中,地图使用动态增长的边长,并且以当前代理的位置作为坐标原点,代理的当前方向作为 y 轴的正方向。
这种方法的优点是,地图能够随着代理探索环境的扩展而增长,始终保持以代理为中心的视角,并且能够更好地对齐当前的全景观察和指令。
3.3. Model Architecture
3.3.1 Instruction and Observation Encoding 指令和观察编码
- 对于指令编码,W 中的每个词嵌入都添加了位置嵌入和令牌类型嵌入。然后将所有标记输入multi-layer transformer以获得单词表示,表示为 W′= {w′l }L l=1。
- 对于全景观测的视图图像Rt,我们使用在ImageNet上预训练的ViT-B/16 [17]来提取视觉特征R′t。
3.3.2 Grid Memory Encoding
这一节的核心内容是将多个网格特征聚合成一个嵌入向量,以便代理(agent)能够理解和利用这些特征进行导航决策。下面是这一节的主要内容概述:
网格特征聚合:
每个网格区域(cell)内可能包含多个网格特征(grid features),但并不是所有这些特征都对代理完成导航任务有帮助。代理需要的是与当前指令高度相关且关键的信息。
为了聚合每个网格区域内的特征,作者提出了一种指令相关性(instruction relevance)方法。这种方法通过计算每个网格特征与导航指令中每个词的相关性来评估它们的重要性。
相关性矩阵计算:
通过一个可学习的权重矩阵(W_A1 和 W_A2),将网格特征与指令词嵌入(word embeddings)进行点积操作,得到一个相关性矩阵(A)。
然后,对相关性矩阵进行行-wise 最大池化(row-wise max-pooling),以评估每个网格特征对整个指令的相关性。
特征聚合:
使用 softmax 函数对每个网格区域内的特征相关性进行归一化,得到一个注意力权重(αj)。
最后,根据这些权重,将网格特征加权求和,得到每个网格区域的聚合特征(Et,m,n)。
空间关系表示:
为了表示网格特征之间的空间关系,作者引入了位置信息。具体来说,对于每个网格区域的中心点和代理之间,计算线距离(qM_t)和相对航向角(hM_t)。
3.4. Pre-training and Fine-tuning
-
Masked language modeling (MLM) .15% 的概率mask,然后预测被屏蔽的单词 Wmasked。
-
Masked view modeling (MVM) 15% 的概率随机屏蔽视图图像并预测掩码视图图像的语义标签。
-
Single-step action prediction (SAP).
-
Historical environment reasoning (HER) HER 要求代理仅根据地图特征和导航轨迹预测下一个动作,而无需全景观察:
-
Fine-tuning。对于微调,我们遵循现有工作 [14, 26] 使用 Dagger [49] 训练技术。与使用演示路径的预训练过程不同,微调的监督来自伪交互演示器,该演示器选择可导航航路点作为下一个目标,总距离从当前航路点到目标。
实验
2. 【ICCV2023】BEVBert: Topo-Metric Map Pre-training for Language-guided Navigation
摘要和结论
-
大规模预训练在视觉和语言导航(VLN)任务上取得了有希望的结果。
-
现有的VLN预训练方法通常使用离散的全景图像来学习视觉-文本关联,这要求模型隐式地关联全景图像中不完整且重复的观察结果,可能会损害代理的空间理解能力。
-
为了解决这个问题,论文提出了一种新的基于地图的预训练范式,用于VLN任务,它具有空间感知能力。
-
研究者们构建了一个局部度量地图来明确聚合不完整的观察结果并消除重复项,同时在全局拓扑地图中建模导航依赖性。
基于这种混合地图,提出了一个预训练框架来学习多模态地图表示,以增强空间感知的跨模态推理,从而促进语言引导的导航目标。
广泛的实验表明,基于地图的预训练方法在四个VLN基准测试上取得了最先进的性能。 -
论文首次探索了在VLN中使用拓扑-度量地图,并提出了一种新颖的基于地图的预训练范式,学习更好的视觉-文本关联,以帮助VLN代理进行复杂的空间推理。
-
提出的BEVBert方法在四个VLN基准测试(R2R、R2R-CE、RxR、REVERIE)上取得了最先进的性能。
-
论文的贡献包括:提出了一种新的混合地图方法,平衡了短期推理和长期规划的需求;提出了一种新颖的基于地图的预训练范式,并实证展示了学习到的地图表示可以增强空间感知的跨模态推理;BEVBert在四个VLN基准测试上取得了最先进的性能。
引言
单个视图中不完整的观察结果和跨视图的重复观察结果可能会混淆代理。 将离散的全景投影到统一的地图中可以解决这个问题,从而促进空间推理。
给定自然语言指令,VLN代理需要解释并遵循该指令到达所需位置。增强视觉文本联系对于智能体的成功至关重要。
在视觉语言预训练取得巨大成功的启发下,人们研究了各种VLN预训练方法,并取得了有希望的结果。然而,大多数现有的VLN预训练模型都采用离散的全景图(图1(a))作为视觉输入。如图1(a)所示,很难推断出“书架对面的第二间卧室”,因为在不同的视图中存在“卧室”和“书架”的重复图像,因此很难判断它们是同一对象或多个实例的图像。
- 一个潜在的解决方案是 将这些观测结果投影到一个统一的地图中,该地图明确地聚合不完整的观测结果并删除重复的观测结果。尽管该方案在许多导航场景中都取得了成功,但其与预训练的结合仍有待研究,本文对此进行了首次探索。
模型框架
该方法主要通过 基于地图的预训练 来提高VLN代理的规划能力。为了简洁起见,我们将我们的技术描述放在离散环境中的VLN上下文中,其中地图可以从预定义的导航图中导出。然而,这种方法也可以推广到连续环境中的VLN任务。
3.1. Topo-Metric Mapping
为了平衡VLN对长期规划和短期推理的需求,我们建议构建一个混合映射。如图2(a)所示,假设代理当前处于步骤t,并且行走路径为Γ′,我们构造全局拓扑图Gt和局部度量图Mt。接下来我们介绍如何构造这两个图。
拓扑映射:基于图的拓扑地图(Gt)跟踪路径上所有观察到的节点。给定路径Γ’,通过从预定义的图G中派生相应的子图来初始化拓扑地图。节点被分为三类:已访问节点、当前节点和幽灵节点(表示沿路径观察到但未探索的可导航节点)。边记录相邻节点之间的欧几里得距离。将特征向量Vp映射到节点上作为它们的视觉表示。
度量映射:基于网格的度量地图(Mt)以当前节点为中心进行局部构建。定义Mt为一个以自我为中心的地图,其中每个单元格包含一个表示周围布局小区域的潜在特征。类似于MapNet,将网格视觉特征Vg投影到单元格上以表示地图。由于Mt是局部表示,可以从当前节点附近的已访问节点观察到,因此整合来自附近已访问节点的网格特征来构建地图。
具体来说,假设当前节点是ni,我们首先查询拓扑图Gt以获取其附近在κ阶内访问过的节点:Nκ = {nj |order(ni, nj ) ≤ κ}。然后,我们结合 Nκ 中节点的网格特征 Vg,并将它们投影到地平面(以当前节点为中心),使用相应的深度 D′* 和姿势 P*。投影特征被离散化到 2D 空间 gridMt 中,使用元素平均池来处理单元中的特征碰撞。我们为Mt配备一个用于短期推理的局部动作空间AM,该空间由当前节点及其相邻节点组成。我们通过将这些节点的姿态投影到地图上来计算这些节点在 Mt 上的坐标,即“节点→单元”。
3.2. Pre-training Model
3.2.2 Topo Map Encoder 这个模块接收拓扑地图Gt和编码后的指令W,进行节点级别 (node-level) 的跨模态融合。
3.2.3 Metric Map Encoder 这个模块接收度量地图Mt和编码后的指令W,进行单元格级别的跨模态融合(cell-level cross-modal fusion.)。
3.3. Pre-training Tasks
3.4. Training and Inference
我们通过将新观察到的节点添加到 Gt-1 并更新节点状态来获得 Gt。
实验
- R2R、R2RCE 和 RxR 专注于细粒度指令跟踪,而 R2R-CE 是连续环境中 R2R 的变体,RxR 提供更详细的路径描述(例如,对象及其关系)。 REVERIE 是一项使用粗粒度指令的目标导向任务,例如“前往入口通道并清洁咖啡桌”。