赞
踩
ACL 2022 VLN视觉和语言导航:任务、方法和未来方向综述
多模态任务新蓝海:视觉语言导航最新进展
RXR: Room-across-Room (RxR) is a large-scale, multilingual dataset for Vision-and-Language Navigation (VLN) in Matterport3D environments. It contains 126k navigation instructions in English, Hindi and Telugu, and 126k navigation following demonstrations. Both annotation types include dense spatiotemporal alignments between the text and the visual per…
问题定义:
语言驱动的零样本对象导航(L-ZSON),导航到语言指定的目标对象,无需明确的训练即可实现。让 O 表示具有潜在属性的目标对象的一组自然语言描述(例如,“植物”、“蛇植物”、“床下的植物”等)。让S表示导航场景的集合。让 p_0 描述代理的初始姿势。导航episode τ ∈ T 被写为元组 τ = (s, o, p_0), s ∈ S, o ∈ O。每个 τ 都是零样本任务,因为在训练期间看不到这种形式的元组。从 p_0 开始,具体代理的目标是找到 o(目标)。代理 agent 接收观察结果和传感器读数 I_t(例如 RGB-D 图像)。在每个时间步 t,代理执行导航动作 a ∈ A。特殊动作 STOP ∈ A 终止情节。如果智能体位于 o 的 c 个单位内并且满足可见性标准,则该事件成功。
CoW 将一个以自我为中心的 RGB-D 图像和一个用语言指定的对象目标作为输入。当 CoW 移动时,它会更新使用 RGB-D 观察和姿势估计创建的自上而下的世界地图(第 4.1 节)。每个 CoW 都有一个探索策略(exploration policy)和一个零样本对象定位模块(zero-shot object localization module),如图 2 所示。为了观察场景的不同视图,CoW 使用策略进行探索(第 4.2 节)。当 CoW 漫游时,它使用对象定位模块(第 4.3 节)及其自上而下的地图来跟踪其对目标对象位置的置信度。当 CoW 的置信度超过阈值时,它会计划目标位置并发出 STOP 操作。
4.1 Depth-based Mapping 基于深度的地图建模: 当 CoW 移动时,它会使用输入深度、姿势估计和已知的代理高度构建一个自上而下的地图。靠近地板的单元格被认为是自由空间(图3(a)中的白点),而其他单元格被认为是占用的(图3(a)中的蓝点)。
4.2 Exploration : 基于边界的探索,使用简单的探索启发式进行导航:移动到自由空间和未知空间之间的边界以发现新区域。一旦导航器到达边界(如图 3 (a) 中的紫色点所示),它就会贪婪地移动到下一个最近的边界。 可学习的探索,具体来说,我们采用了一个冻结的 CLIP 主干,带有可训练的 GRU 和用于动作和批判网络的线性头。
可学习的探索我还是没懂?涉及到强化学习。
4.3. Object Localization : 从 2D 图像中提取的高对象相关性区域被投影到基于深度的映射(图 3 (b)),它们用作自然导航目标。(类似注意力热图)①k个referring expresssion推理表达式,将k个文本嵌入与CLIP视觉特征进行匹配。②将图片打成patch,如果目标对象在一个patch中,则patch的相关性得分就高。③④
以前的VLN预训练方法要么缺乏预测未来行动的能力,要么忽略了轨迹上下文,这对贪婪导航过程至关重要。
为了促进对时空-视觉-文本对应关系的学习以及智能体的决策能力,我们提出了一种新的历史和顺序感知预训练范式(HOP,history-and-order aware pre-training paradigm),该范式具有VLN特定的目标,利用过去的观测结果并支持未来的行动预测
具体来说,除了常用的掩蔽语言建模(MLM)和轨迹构造匹配(TIM)外,我们还设计了两个代理任务来对时间顺序信息进行建模:轨迹顺序建模(TOM)和组顺序建模(GOM)(Trajectory Order Modeling (TOM) and Group Order Modeling (GOM))。此外,我们的导航动作预测还通过引入历史动作预测(APH,Action Prediction with History)任务来增强,该任务考虑了历史视觉感知。
该模型以 指令轨迹对(instruction-trajectory pair) 为输入,首先利用语言编码器和视觉编码器分别从指令和图像序列中提取单模态表示。然后,这些表示被馈送到跨模态编码器中,以实现两种模态之间的交互,并生成最终的融合表示。
我们首先使用在ImageNet上预训练的ResNet-152[10]来提取每个前视图图像vi的2048维图像。计算航向角α和仰角β的方向特征,表示为rsinα、cosα、sinβ、cosβ,并重复32次以构成一个128维方向特征向量vd。将两者进行串联,组成2176维向量。
跨模态编码器的输出被用作预训练和下游任务的跨模态特征。
Masked Language Modeling (MLM): 对于VLN预训练,MLM的目标是通过对周围单词wzm和轨迹τ的推理来恢复掩蔽单词wm。
Trajectory-Instruction Matching (TIM) : TIM是一个全局匹配任务,旨在预测给定的图像轨迹和指令是否是匹配的一对。TIM的输入是指令轨迹对(w, t)。在训练过程中,我们通过用不匹配的轨迹随机替换轨迹来生成负样本,概率为50%。 具体而言,生成的负样本仅从同一环境中选择,因此模型可以专注于区分路径而不是环境。我们使用[CLS]的特殊令牌的输出表示作为指令轨迹对的联合表示,然后将其馈送到具有sigmoid函数的FC层中,以预测匹配分数sθ(w,τ)。
Trajectory Order Modeling (TOM): VLN对 轨迹的序列顺序 很敏感,因此我们设计了TOM任务,使模型能够学习指令中的时间顺序以及视觉文本对应关系。TOM的输入是指令w和重新排序的轨迹τ1。具体而言,我们随机选择原始轨迹τ的50%图像进行混洗。TOM的目标是重建正确的顺序r“xr1,r2,…,rN是参考给定指令w的原始轨迹τ,其中N是轨迹的步数。
Group Order Modeling (GOM): 与 TOM 具有相同的动机,但在子轨迹 sub-trajectory 级别。它预测两个子轨迹之间的前一个、下一个或随机关系。如图 3 所示,GOM 的输入是指令 w 和从轨迹 τ 导出的图像序列组 (G1, G2)。具体来说,我们将轨迹依次均匀地分为两部分(G1,G2)。
Action Prediction with History (APH): 该任务的动机是使学习到的表示有利于最终目标:预测导航动作。
将离散设置下的GT中的waypoints,以一种新的预测的形式挪用到连续导航的setting下。算是在连续的设置下,模型计算出的离散的点。(还算直白)
大多数视觉和语言导航(VLN)领域的现有工作都集中在离散或连续环境上,训练代理无法在这两者之间进行泛化。尽管学习在连续空间中导航更接近现实世界,但训练这样的智能体比在离散空间中训练智能体要困难得多。然而,由于域间隙,离散 VLN 的最新进展很难转化为连续 VLN。
两种设置之间的根本区别在于,离散导航假设环境连接图的先验知识,因此代理可以有效地将低级控制的导航问题转移到具有高级操作的从一个节点跳转到另一个节点接地到可导航方向的图像。
为了弥合离散与连续之间的差距,我们提出了一个预测器来在导航过程中生成一组候选路径点,以便使用高级动作设计的代理可以转移到连续环境中并在连续环境中进行训练。我们细化 Matterport3D 的连接图以适应连续的 Habitat-Matterport3D,并使用细化的图训练路点预测器,以在每个时间步生成可访问的路点。此外,我们证明了预测的路点可以在训练过程中增强,以使视图和路径多样化,从而增强代理的泛化能力
① 给定一条自然语言的指令,我们首先使用一个大型语言模型(即ChatGPT)将其解析为一系列包含宏操作名称和相关地标的初步宏操作描述。② 在每个时间步,在线视觉语言映射器维护来自前视图RGB-D观察的视觉语言地图。③ 使用最新的地图和宏操作描述,基于语言索引的定位器输出地图上的路点位置。④ DD-PPO同时接受RGB-D观测和相对点目标,从地图上的航路点位置和代理位置计算,并预测下一个动作。
Instruction parser指令解析:我们观察到VLN-CE任务中的指令由几个子指令组成。例如,在room - to- room (R2R)任务中,机器人被要求按照指令从一个房间移动到另一个相邻的房间。一个典型的指示可能是这样的:“走出卧室,向左拐。径直走过灰色的沙发,停在地毯旁边。”整个指令可以被解析成一系列的子指令,例如⟨“Exit The bedroom”,“Turn left”, “Walk straight passed The gray couch”, “stop near The rug”⟩。此外,我们已经注意到, 每个解析的子指令要么描述一个纯粹的机器人运动(例如,“左转”),要么描述运动和相关的地标 。例如,“直走经过灰色沙发”包含了“直走”的运动和地标“灰色沙发”。然而,这些解析后的子指令不能由机器人直接执行。
我们定义了10个宏动作描述,每个描述都表示为一个Python字典,其中包括动作的名称和相关参数。例如,“直行经过灰色沙发”对应于“{”名称“:”移动到“,”地标“:”灰色沙发“}”。我们通过几次提示工程与 ChatGPT 进行交互,并在进行导航实验之前解析每条指令。
Online visual-language Mapper在线视觉语言地图:
在VLN-CE中,从目标环境收集数据是禁止的,因为它们被认为是不可见的。因此,我们将VLMaps扩展到在线设置,并引入一个在线制图器,逐步构建看不见的环境的视觉语言地图。
一般来说,视觉语言图融合了从 VLM 计算出的视觉语言特征和二维占用网格 。与语义标签相比,这些视觉语言特征通过合并更丰富的语义特征来增强二维占用图的表示。
Language indexing-based localizer:基于语言索引的定位器
对于纯运动宏动作描述,例如“{”name”:“向前移动”,“dist”:D}”,路径点位置计算为 ⟨xt + D × cos θt, yt + D × sin θt, θt ⟩。当没有指定移动距离时,我们将默认移动距离设置为半米。类似的策略也适用于纯转弯动作。
DD-PPO-based local controller:
为了处理现实世界中的噪声观测,我们使用在大规模点目标导航任务上预先训练的 DD-PPO 导航策略作为本地控制器 。具体来说,控制器将前视 RGBD 观测值 {Irgb,I深度} 和表示为 2 维自心极坐标 (ρ,φ) 的点目标作为输入。现成的本地策略 π(at | I_rgb, I_depth, (ρ, φ)) 预测下一个动作 at。具体来说,动作空间是离散的并且包含四个原始动作,包括指示终止或到达目标点的“停止”动作。
对于与地标相关landmark-associated的宏观动作,例如“{”name”:“向左移动”,“landmark”:“椅子”}”,我们首先通过语言索引在视觉语言地图上定位地标对象。
具体来说,我们构建一个标签列表[ltarget, l2default, …, lkdefault, other],其中第一个世界是地标标签,其余的是默认标签。请注意,“其他”是 LSeg 的默认标签,用于表示任何超出范围的对象类。 LSeg 的文本编码器接收标签列表并输出文本嵌入特征矩阵 f_text ∈R^C×(K+1)。每个网格单元上每个标签的相似度得分可以计算为 M_t ×f_text,其中 M_t ∈ R ^H×W ×C 。利用相似度矩阵,我们通过选择具有最大相似度得分的标签来为每个网格单元选择标签。因此,在每个时间步都会生成语义图。为了定位所需的地标,我们首先应用基于密度的空间聚类(DBSCAN)来查找所有地标标签的中心。接下来,我们计算机器人当前位置与地图中心之间的方向和欧几里德距离。我们选择机器人前面最近的标签,并使用相应的中心位置作为路径点。这种设计选择是因为 VLN-CE 中的指令是从机器人的自我中心视图的角度生成的。结合在线地图,我们可以减轻导航过程中的对象模糊问题(见图 3)。航路点表示为二维自心极坐标 (ρ, φ),其中 ρ 表示航路点的相对距离(以米为单位),而 φ 是以半径为单位的朝向航路点的自心方向。
我们还提出了HomeRobot,这是一种软件框架,可促进在模拟和物理环境中进行广泛的基准测试。它包括在两种环境中实现的相同API,使研究人员能够进行可以在模拟和真实世界环境中复制的实验。表1将OVMM+HomeRobot与文献进行了比较。HomeRobot库还支持许多子任务,包括操作学习、导航和目标导航。
我们使用HomeRobot来比较两类方法:一种是启发式解决方案,使用运动规划器进行真实世界的对象搜索[2],另一种是强化学习(RL)解决方案,学习如何导航到给定深度的对象并预测对象分割。
在本文中,我们使用HomeRobot比较了两类方法:一种是启发式解决方案,使用运动规划器进行真实世界的对象搜索[2],另一种是强化学习(RL)解决方案,学习如何导航到给定深度的对象并预测对象分割。
形式上,我们的任务设置为以下形式的指令:ª将(对象)从(start_receptacle)移动到(goal_receptacle)。º 该对象是一个小型且可操作的家用物品(例如,杯子、毛绒玩具或盒子) 。相比之下,start_receptacle 和goal_receptacle 是大型家具,其表面可以放置物体。机器人被放置在未知的单层家庭环境中(例如公寓),并且必须根据 start_receptacle、object 和 goal_receptacle 的语言名称,拾取已知位于 start_receptacle 上的对象并将其移动到任意位置。
如果指定的对象确实从开始情节的 start_receptacle 移动到任何有效的 goal_receptacle,则代理成功。我们对机器人完成的每个步骤给予部分信任:1.找到带有物体的start_receptacle,2.拾取物体,3.找到goal_receptacle,4.并将物体放在goal_receptacle上。可以有多个满足每个查询的有效对象。
虚拟数据集: 栖息地合成场景数据集(Habitat Synthetic Scenes Dataset,HSSD)由200多个人类创作的3D家庭场景组成,其中包含超过18000个真实世界物体的单个模型。
真实世界数据集: 实际测试期间,我们选择了在模拟训练期间未出现的对象实例池,但在类之间进行了划分这在训练中出现过,也没有出现过。我们使用了八个不同的类别,其中五个在训练期间见过(杯子、碗、毛绒玩具、药瓶和玩具动物),三个没有(魔方、玩具钻和柠檬)。我们在 Stretch 机器人上针对两种不同的基线和七种不同的容器类别进行了 20 次实验:柜子、椅子、沙发、柜台、水槽、凳子、桌子
我们提供了基线和工具,我们在 HomeRobot 中包含两种类型的基线:
启发式基线,其中我们使用众所周知的运动规划技术 [2] 和简单的规则来执行抓取和操纵动作;
以及强化学习基线,我们使用一种现成的 策略学习算法 DDPPO 来学习探索和操作技能。
此外,我们还实现了最近发布的几篇论文中的示例项目,测试了不同的功能,例如对象目标导航 、技能学习 、持续学习 和图像实例导航 。由于任务具有挑战性、长期性,我们实施了一项名为 OVMMAgent 的高级策略,它调用一系列技能来完成任务。我们将代理分为四种技能:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。