前言
因为我司「七月在线」准备于25年7月底复现下NaVILA,而在研究NaVILA的过程中,注意到了这个NaVid
- 虽然NaVid目前已经不是VLN sota了,但其首次展示了VLM在无需地图、里程计或深度输入的情况下,能够实现优秀的导航性能
- 且对后来的很多VLN工作——比如对NaVILA 都有比较大的启发、借鉴意义,且VLN论文中 其实提供了 “不少更好理解NaVILA” 的背景知识或基础,比如VLN-CE、MP3D等等
- 总之,如果相对VLN有相对完整深入的理解,NaVid是必看工作之一
加之导航在人形落地中的重要性,故
一方面,为了加强我司现有同事和将来同事对VLN的深入
二方面,也为了让VLN在本博客内有一个成体系的内容,以方便广大具身和VLN同行
故成此文
第一部分 NaVid
1.1 引言与相关工作
1.1.1 引言
如原NaVid论文所述
- 作为具身人工智能的基础任务,视觉与语言导航VLN
32-Vision-and-language navigation: A survey of tasks, methods, and future directions
70-Visual language navigation: A survey and open challenges
要求智能体在多样化且尤其是未见过的环境中,依据自由形式的语言指令进行导航 - 比如VLN要求机器人能够理解复杂且多样的视觉观测,同时解析细粒度的指令
13-Touchdown: Natural language navigation and spatial reasoning in visual street environments
99-Talk2nav: Long-range vision-and-language navigation with dual attention and spatial memory
如“上楼梯并在门口停下”,因此该任务始终具有挑战性
为应对这一挑战,大量研究
- 85-Lm-nav: Robotic navigation with large pretrained models of language, vision, and action
- 18-History aware multimodal transformer for vision-and-language navigation
- 104-Scaling data generation in vision-and-language navigation
- 98-Multimodal large language model for visual navigation
- 69-Langnav: Language as a perceptual representation for navigation
- 48-Iterative vision-and-language navigation
- 4-Etpnav:Evolving topological planning for vision-language navigation in continuous environments
在简化场景下展开,即在离散环境中进行决策——例如在MP3D模拟器[12-Matterport3d: Learning
from rgb-d data in indoor environments]中的R2R[46-Beyond the nav-graph: Vision and language navigation in continuous environments]
- 具体而言,真实环境被抽象为连通图,导航过程被建模为在这些图上的航点集之间的跳跃。尽管这些方法发展迅速并取得了令人瞩目的成果
85-Lm-nav: Robotic navigation with large pretrained models of language, vision, and action
121-Navgpt:Explicit reasoning in vision-and-language navigation with large language models
63-Discuss before moving: Visual language navigation via multi-expert discussions
104-Scaling data generation in vision-and-language navigation
但离散化的环境设置也带来了额外的挑战,例如,需要使用地标图
45-Beyond the nav-graph: Visionand-language navigation in continuous environments
47-Waypoint models for instruction-guided navigation in continuous environments
以及一个用于在地标之间导航的本地模型
84-Ving: Learning open-world navigation with visual goals
87-Gnm: A general navigation model to drive any robot
83-Fast marching methods - 为了实现更为真实且直接的建模,连续环境中的导航(如R2R-CE、RxR-CE)受到越来越多的关注
大量优秀的研究致力于缩小仿真到现实(Sim-to-Real)之间的差距
47- Waypoint models for instruction-guided navigation in continuous environments
37-Bridging the gap between learning in discrete and continuous environments for vision-and-language navigation
108-Vision and language navigation in the real world via online visual language mapping
9- Sim-to-real transfer for vision-and-language navigation
然而,由于模型输入中的RGBD、里程计数据或地图等数据稀缺以及领域差异,这些方法在泛化能力上仍面临严重挑战
泛化问题在大规模现实世界部署中,特别是在已见场景到新环境、仿真到现实(Sim-to-Real)等转变过程中,构成了一个关键但尚未充分研究的挑战 - 近年来,大型视觉语言模型(VLMs)的兴起在众多研究领域展现了前所未有的潜力
109- The dawn of lmms: Preliminary explorations with gpt-4v(vision)
52-Blip-2: Bootstrapping language-image pre-training with frozen image encoders and large language models
3- Bevbert: Topo-metric map pre-training for language-guided navigation
且大型语言模型(LLMs)已被证明在离散环境中的视觉语言导航(VLN)规划任务中表现出色
63-Discuss before moving: Visual language navigation via multi-expert discussions
69-Langnav: Language as a perceptual representation for navigation
121- Navgpt: Explicit reasoning in vision-and-language navigation with large language models
14-Mapgpt:Map-guided prompting for unified vision-and-language navigation
74-March in chat: Interactive prompting for remote embodied referring expression
故,自然而然的一个问题是,那连续环境中呢?
来自1 Peking University、2 Beijing Academy of Artificial Intelligence、3 CASIA、4 University of Adelaide、5 Australian National University、6 GalBot的研究者,首次尝试利用基础VLMs的强大能力,将VLN泛化到现实世界,并提出了一种基于视频的VLM导航智能体,命名为NaVid
- 其对应的项目地址为:pku-epic.github.io/NaVid
- 其对应的paper地址为:NaVid: Video-based VLM Plans the Next Step for Vision-and-Language Navigation
该方法完全依赖机器人单目摄像头捕获的视频和人类发布的指令,作为端到端规划下一步动作的输入
为了更好的阐述清楚NaVid,做个同类对比
- 与AGI模型 [109- The dawn of lmms: Preliminary explorations with gpt-4v (vision)],或所谓的导航通用模型 [120- Towards learning a generalist model for embodied navigation] 相比,这些模型能进行粗略的导航规划
而NaVid是一个实用的视觉-语言-动作(VLA)模型,能够推理出带有定量参数(如移动距离、旋转角度)的可执行动作,使其能够在真实环境中部署 - 与采用LLM作为规划器的VLN模型相比,NaVid对VLN进行了更为真实的建模
具体而言,NaVid直接在连续环境中推导低层次可执行动作,并以视频形式编码视觉观测
而不是像以往LLM方法那样在离散空间建模VLN或用文本描述编码历史观测
69-Langnav: Language as a perceptual representation for navigation
121-Navgpt:Explicit reasoning in vision-and-language navigation with large language models
63-Discuss before moving: Visual language navigation via multi-expert discussions
14- Mapgpt:Map-guided prompting for unified vision-and-language navigation - 区别于现有的专用VLN模型,NaVid在动作规划过程中不依赖里程计数据、深度信息或地图,从而避免了由里程计噪声、深度感知或导航地图领域差异带来的泛化难题,使NaVid易于部署
作者宣称,他们所提出的NaVid是首个用于连续环境中VLN的视频VLM,实现了仅凭RGB信息的导航,类似于人类的导航行为
总之,NaVid 利用预训练视觉编码器对视觉观测进行编码,并采用预训练的大型语言模型(LLM)推理导航动作。通过这种方式,大规模预训练中获得的通用知识被迁移到视觉-语言导航(VLN)任务中,从而促进学习并提升泛化能力
受先进的视频基础视觉语言模型 LLaMA-VID [57-Llama-vid: An image is worth 2 tokens in large language models]的启发,作者用两种类型的 token 表示机器人视觉观测中的每一帧
- 第一种为基于指令查询的token,能够提取与给定指令高度相关的视觉特征
- 第二种为与指令无关的 token,能够全局编码细粒度视觉信息,其 token 数量决定了所编码特征的细致程度。历史观测的 token 数量可以与当前观测的不同
因此,在 NaVid 中,机器人的历史轨迹被编码为视频形式的视觉 token,这相比以往基于 LLM的 VLN 模型中采用离散编码空间
18- History aware multimodal transformer for vision-and-language navigation
19-Think global,act local: Dual-scale graph transformer for vision-andlanguage navigation
或使用文本描述[69, 121, 63, 14]的方法
69-Langnav: Language as a perceptual representation for navigation
121- Navgpt: Explicit reasoning in vision-and-language navigation with large language models
63-Discuss before moving: Visual language navigation via multi-expert discussions
14- Mapgpt: Map-guided prompting for unified vision-and-language navigation
NaVid能够提供更丰富且更具适应性的上下文信息
总之,这种基于视频的建模对模型输入施加了严格的约束,因为它不涉及除单目视频之外的其他信息,例如深度、里程计数据或地图。如果能够正确利用,这种方法有助于缓解由于里程计噪声以及以往VLN工作中深度感知或导航地图的领域差异所带来的泛化挑战
此外,作者在仿真环境和真实环境中对所提出的 NaVid 进行了大量实验评估
- 具体来说,NaVid 在 VLN-CER2R 数据集上达到了当前最先进SOTA水平的性能,并在跨数据集评测(R2R-RxR)中表现出显著提升
- 此外,在仿真到现实(Sim-to-Real)部署中展现出卓越的鲁棒性,在四个不同的室内场景中基于 200 条指令,使用仅 RGB 视频作为输入,成功率约为 66%
1.1.2 相关工作
第一,关于视觉与语言导航(VLN)
- 在离散化的仿真场景中,围绕学习根据人类指令在未访问环境中导航的研究已取得重大进展 7-Vision-andlanguage navigation: Interpreting visually-grounded navigation instructions in real environments
49-Room-across-room(RxR): Multilingual vision-and-language navigation with dense spatiotemporal grounding
72-Reverie: Remote embodied visual referring expression in real indoor environments
97-Vision-and-dialog navigation
在这些场景中,智能体通过在预定义导航图上的节点间瞬移,并对齐语言与视觉观测以进行决策
64-Self-monitoring navigation agent via auxiliary progress estimation
101-Reinforced cross-modal matching and self-supervised imitation learning for visionlanguage navigation
27- Speaker-follower models for vision-andlanguage navigation
96- Learning to navigate unseen environments: Back translation with environmental dropout
42-Tactical rewind: Self-correction via backtracking in vision-and-language navigation
29-Counterfactual vision-and-language navigation via adversarial path sampler
71-Object-and-action aware model for visual language navigation
35-Language and visual entity relationship graph for agent navigation
尽管这种方法高效,但直接将离散空间中训练的VLN模型应用于现实世界的机器人场景并不现实 - 因此,更加贴近真实环境的连续空间视觉与语言导航(VLN-CE)被提出
45-Beyond the nav-graph: Visionand-language navigation in continuous environments
81-Habitat: A platform for embodied ai research
允许智能体通过预测低层控制指令
78- Language-aligned waypoint (law) supervision for vision-and-language navigation in continuous environments
40-Sasra: Semanticallyaware spatio-temporal reasoning agent for vision-andlanguage navigation in continuous environments
15-Topological planning with transformers for vision-and-language navigation
31- Cross-modal map learning for vision and language navigation
16-Weakly-supervised multi-granularity map learning for vision-and-language navigation
或由航点预测器估算的可导航子目标中选择,自由地导航到模拟器中任何无障碍空间
37-Bridging the gap between learning in discrete and continuous environments for vision-and-language navigation
47- Waypoint models for instruction-guided navigation in continuous environments
44-Sim-2-sim transfer for vision-and-language navigation in continuous environments - 与此同时,得益于从大规模网页图文对中学习通用视觉-语言表征的成功
20-Uniter: Universal image-text representation learning
56-Oscar: Object-semantics aligned pre-training for vision-language tasks
91-Vl-bert: Pre-training of generic visual-linguistic representations
53-Visualbert: A simple and performant baseline for vision and language
95-Lxmert: Learning crossmodality encoder representations from transformers
许多VLN模型受益于大型视觉-语言模型
55-Robust navigation with language pretraining and stochastic sampling
36- A recurrent vision-andlanguage bert for navigation
18- History aware multimodal transformer for vision-and-language navigation
19-Think global, act local: Dual-scale graph transformer for vision-andlanguage navigation
及针对VLN的预训练
34-Towards learning a generic agent for vision-and-language navigation via pre-training
67-Improving vision-and-language navigation with image-text pairs from the web
33-Airbert: In-domain pretraining for vision-and-language navigation
107-Cross-modal semantic alignment pre-training for visionand-language navigation
73-Hop: History-and-order aware pre-training for vision-and-language navigation
最近,通过扩展导航训练数据,VLN智能体在广泛认可的R2R基准 [46-Beyond the nav-graph: Vision and language navigation in continuous environments]上的表现已接近人类水平 [104-Scaling data generation in vision-and-language navigation]
这一重大进展表明,将VLN技术应用于现实世界机器人已变得日益可行且时机成熟
第二,对于仿真到现实的VLN迁移
尽管取得了巨大进展,现有VLN方法主要在仿真环境中构建和评估,极大忽略了现实世界环境的复杂性和不可预知性
- 仿真到现实的VLN迁移仍是一个研究不足的话题;迄今为止,唯一系统性研究该问题的文献来自Anderson等人[8-Sim-to-real transfer for vision-and-language navigation],其论证了由于动作空间和视觉域的差异,成功率下降超过50%的性能差距
此外,还需强调泛化到自由形式语言指令的挑战——即使在数百万域内视觉数据上训练,智能体也常常无法理解不同风格的指令
104-Scaling data generation in vision-and-language navigation
41-A new path:Scaling vision-and-language navigation with synthetic instructions and imitation learning - 鉴于此,许多最新研究利用大型(视觉)语言模型卓越的泛化能力来促进VLN(视觉语言导航)的泛化
相关研究
要么考察LLMs本身所具备的导航推理能力
121- Navgpt: Explicit reasoning in vision-and-language navigation with large language models
69-Langnav: Language as a perceptual representation for navigation
120-Towards learning a generalist model for embodied navigation
63-Discuss before moving: Visual language navigation via multi-expert discussions
14- Mapgpt:Map-guided prompting for unified vision-and-language navigation
82-Velma:Verbalization embodiment of llm agents for vision and language navigation in street view
58- Mo-vln: A multi-task benchmark for open-set zero-shot vision-andlanguage navigation
要么通过模块化设计将LLMs集成到导航系统中,以便于指令解析[17-Action-aware zero-shot robot navigation by exploiting vision-and-language ability of foundation models]
或通过注入常识知识[74-March in chat: Interactive prompting for remote embodied referring expression]来增强系统能力
作者遵循这一趋势,进一步探索如何利用统一的大模型进行低层级动作预测,以及其在真实场景中的泛化能力。该方法旨在通过利用LLMs的全面理解和多样化能力
121- Navgpt: Explicit reasoning in vision-and-language navigation with large language models
69-Langnav: Language as a perceptual representation for navigation
120- Towards learning a generalist model for embodied navigation
63-Discuss before moving: Visual language navigation via multi-expert discussions
14-Mapgpt: Map-guided prompting for unified vision-and-language navigation
74-March in chat: Interactive prompting for remote embodied referring expression
不仅推动VLN领域的发展,还弥合仿真环境与现实应用中多样化挑战之间的差距
第三,对于大型模型作为具身智能体
- 近年来,研究者开始探索将大型模型集成到不同的具身智能领域
26-Palm-e: An embodied multimodal language model
121- Navgpt: Explicit reasoning in vision-and-language navigation with large language models
59-The development of llms for embodied navigation
86-Lmnav: Robotic navigation with large pre-trained models of language, vision, and action
90- Llmplanner: Few-shot grounded planning for embodied agents with large language models
82-Velma:Verbalization embodiment of llm agents for vision and language navigation in street view
39-Inner monologue: Embodied reasoning through planning with language models
例如,PaLM-E[26-Palm-e: An embodied multimodal language model]提出将多种模态的token(包括文本token)输入到大型模型中
然后模型为移动操作、运动规划等任务生成高层次的机器人指令以及桌面操作 - 更进一步
RT-2 [11-Rt-2: Vision-language-action models transfer web knowledge to robotic control] 为机器人生成低层次动作,实现闭环控制
GR-1 [106] 引入了一种专为多任务语言条件视觉机器人操作[111] 设计的 GPT 风格模型
[ 75- Improving language understanding by generative pre-training,
121-Navgpt,
63-Discuss before moving: Visual language navigation via multi-expert discussions ]
该模型能够根据「语言指令、观测到的图像和机器人状态」预测:机器人动作及未来图像
RoboFlamingo[54-Vision-language foundation models as effective robot imitators] 提出了一个视觉-语言操作框架,利用预训练的视觉-语言模型来制定机器人操作策略
其目标是为机器人操作提供一种高性价比、高性能的解决方案
[22-Toward next-generation learned robot manipulation,
94- A survey of robot manipulation in contact.Robotics and Autonomous Systems,
111-Homerobot: Open-vocabulary mobile manipulation,
89-Cliport: What and where pathways for robotic manipulation]
允许用户通过大模型对机器人进行微调
EMMA-LWM[112-Language-guided world models: A model-based approach to ai control] 通过语言交流开发了面向驾驶智能体的世界模型,并在数字游戏环境中展现了令人信服的结果[100-Grounding language to entities and dynamics for generalization in reinforcement learning]
深入探讨这些工作后,本文聚焦于另一个关键的具身领域:视觉与语言导航,该任务要求机器人在未知环境中根据人类指令完成导航
1.1.3 问题表述
本工作的连续环境下视觉与语言导航(VLN-CE)任务表述如下:
- 在时刻
,给定由
个单词组成的自然语言指令
以及由一系列帧组成的视频观测
智能体需要为下一步规划一个低级动作
该动作将使智能体到达下一个状态,并获得新的观测 - 总体而言,可以将决策过程表述为一个部分可观测马尔可夫决策过程(POMDP),记作
在本工作中,观测空间对应于仅由单目RGB 相机采集的视频,不涉及其他额外数据,动作空间则结合了定性动作类型与定量动作参数,在该领域中也被称为低级动作[45-Beyond the nav-graph: Visionand-language navigation in continuous environments]
这种建模方式实现了一种自然的范式,其中观测完全基于视觉且易于获取,而动作则可以直接执行,类似于人类的导航行为
1.2 Navid的完整方法论
1.2.1 总体架构
通过上文已知,NaVid是首个将VLM通用知识迁移到现实视觉语言导航VLN智能体的系统
作者在通用型视频视觉语言模型 LLaMA-VID [57-Llama-vid: An image is worth 2 tokens in large language models]的基础上构建了 NaVid。对于他们提出的NaVid,他们继承了 LLaMA-VID 的主要架构,并在此基础上融入了任务特定的设计,从而促进通用知识向 VLN-CE 的迁移,使其泛化难题更易解决
如图2所示
- NaVid的输入包括来自在线视频观测的RGB帧
以及人类指令
对于每一帧,使用观测编码器结合指令提取视觉信息,获得观测token,包括指令query token(橙色块)和指令无关token(蓝色块)
For each frame, we use an observation encoder to extract the visual information with the instruction to obtain observation tokens, including, instruction-queried tokens (orange blocks) and instruction-agnostic tokens(blue blocks).
在当前时刻t,历史帧和当前帧
被分别编码为观测token,历史帧有4个指令无关token,当前帧有64个指令无关token
- 作者的方法通过文本编码器获得语言token
- 最后,通过特殊token [HIS]、[OBS] 和 [NAV] 进行分割,将观测token与语言token拼接后输入Vicuna-7B,从而获得下一步动作
进一步
- NaVid 由视觉编码器、查询生成器、大型语言模型(LLM)和两个跨模态投影器组成
As illustrated in Fig. 2, NaVid consists of a vision encoder,a query generator, a LLM, and two cross-modality projectors.
给定截至时间 t 的观测,即包含帧的视频序列,通过视觉编码器『实现中采用 EVA-CLIP[92-Eva-clip: Improved training techniques for clip at scale]』将该视频编码为一系列token,并将其投影到与语言token对齐的空间
为简明起见,作者将投影后的token称为观测token
通常,指令也被分词为一组token,称为指令token- 作者将观测token与指令token拼接后输入 LLM,以推断出以语言形式表达的VLN 行为
需要注意的是,作者的工作重点在于任务特定建模,而非模型架构,详见下文
1.2.2 NaVid 的 VLN-CE 建模:涉及观测编码和动作规划
首先,对于观测编码
给定截至时刻的捕获单目视频,记为
,作者用一个指令查询的视觉token和若干个与指令无关的视觉token来表示每一帧「we represent each frame with one instruction-queried visual token and several instruction-agnostic visual tokens」
被指令查询的token 提取与给定指令特定相关的视觉特征,而与指令无关的token则全局编码细粒度的视觉信息
对于每一帧,首先通过视觉编码器获得其视觉嵌入
,其中Nx为patch 数量——
设置为256,
为嵌入维度
- 为了获得指令查询的tokens,作者采用基于Q-Former的查询生成器,利用查询生成器
生成指令感知查询
,其中
表示每帧的查询数量,
为每个查询的维度
查询生成过程可表述为:
其中
和
分别是帧
的视觉嵌入和指令
的文本嵌入
是一个基于Q-Former 的transformer,通过
和
之间的跨模态交互来学习具备指令感知能力的查询——与[57-Llama-vid:An image is worth 2 tokens in large language models] 中的方法类似
类似于Q-Former
—————
52- Blip-2: Bootstrapping language-image pre-training with frozen image encoders and large language models
简言之,其视觉侧和文本侧分别使用预训练的CLIP ViT-G/14模型和FLAN-T5模型(从T5微调来的编码器-解码器LLM),仅中间的起桥接作用的Q-Former参与训练
具体而言,则见此文《多模态与AI绘画发展史:从CLIP、BLIP、InstructBLIP到DALLE、DALLE 2、DALLE 3、Stable Diffusion(含ControlNet详解)》的1.3节 BLIP2:Q-Former连接视觉模型CLIP ViT-G/14和语言模型FLAN-T5]
——————————————
中的操作
指令查询的tokens是通过
和
之间的交叉注意力获得的,公式如下
其中
表示用于获取指令相关token 的跨模态投影器,
是在查询维度上的平均操作,使得
- 对于与指令无关的token,作者直接进行网格池化操作和跨模态投影以获得它们,可以表示为
其中GridPool (·) 是一种网格池化操作[57],将tokens 从压缩到
,得到
关于网格池化的详细描述可以在补充材料中找到
注意,像LLaMA-VID [57] 那样用两个tokens 表示每一帧并不满足VLN-CE 任务的要求,正如下文实验所证实的那样。这是因为LLaMA-VID 主要面向高层次的问答任务,而NaVid 需要为机器人规划可执行的动作。因此,作者在此采用网格池化,使与指令无关的tokens 能够保留足够的几何信息,从而使NaVid 中的LLM 拥有足够的上下文来推理机器人动作的定量参数
作者的池化操作在二维特征图上以特定的步幅进行
具体来说,作者将来自EVA-CLIP 的二维特征图以网格方式划分,并在每个网格上执行平均池化
例如,作者使用步幅H/2 将H × H 特征图划分为2 × 2 网格,其中每个网格产生一个token,最终总共得到四个token
对于VLN-CE,当前帧作为导航动作推理的主要依据,而历史帧则为追踪导航进度提供了重要的上下文。鉴于它们在保持几何信息方面的不同需求,作者在对历史帧和当前帧进行编码时采用了不同数量的与指令无关的token。在本研究中,除非另有说明,作者将当前帧的与指令无关的token数量设置为64,而每个历史帧设置为4。这不仅有助于模型学习,还提升了效率
此外,为了进一步促进NaVid的训练,作者在将不同类型的信息输入NaVid内部的大语言模型(LLM)之前,通过特殊token对其进行明确区分
- 具体而言,作者采用特殊token
和
分别对历史帧和当前帧编码的token进行分隔
其中,和
表示对应token序列的开始
而和
标记其结束
- 此外,他们还使用另一个特殊token
,用于提示LLM开始处理指令的文本token,并以语言形式输出机器人动作
因此,NaVid 的输入可以总结如下
在此格式中,{历史帧{historical_frames}、{当前帧{current_frame}、{指令内容instruction _content}和{答案内容answer_content}分别代表历史帧、当前帧、指令和推理动作的占位符Input: <HIS > {historical frames} </HIS ><OBS > {current frame} < /OBS >) < NAV >{instruction content} Output: {answer content}
其次,对于动作规划
NaVid以语言形式为VLN-CE规划下一步动作。其每一步输出的动作均由两个变量组成,与VLN-CE的设定保持一致
- 其中一个变量为动作类型,从离散集合
中选择
- 另一个变量为与不同动作类型对应的定量参数
对于FORWARD,NaVid进一步推断具体的移动距离;
对于TURN-LEFT和TURN-RIGHT,NaVid还预测具体的旋转角度
系统采用正则表达式解析器[43-Extending regular expressions with context operators and parse extraction],用于提取动作类型和参数,以便模型评估及实际部署
1.2.3 NaVid的训练:涉及非专家导航轨迹收集、VLN-CE与辅助任务的联合训练
现有的导航仿真数据在多样性、真实性和规模上仍然有限。作者设计了一种混合训练策略,以最大化这些数据的利用率,使NaVid能够尽可能有效地泛化到新场景或现实世界
为此,混合训练策略提出了两种关键方法:
- 一是收集非oracle导航轨迹并将其纳入训练循环;
- 二是设计辅助任务,以提升NaVid在导航场景理解和指令执行方面的能力
1.2.3.1 非专家导航轨迹收集
受 Dagger 技术 [80-A reduction of imitation learning and structured prediction to no-regret online learning] 启发,作者收集了非专家导航轨迹,并将其纳入NaVid 的训练过程中。如果不采用这种方法,NaVid 在训练期间只能接触到专家导航轨迹,这与实际应用环境不符,并且会降低所学导航策略的鲁棒性
为此,作者首先收集专家导航轨迹,包括单目视频观测、指令和机器人动作,来自于VLN-CE R2R数据集
- 具体来说,作者从61个MP3D室内场景[12-Matterport3d: Learning from rgb-d data in indoor environments]中收集数据,总计包含32万步级样本
- 随后,在这些oracle轨迹数据上训练NaVid,并将获得的智能体部署到VLN-CE环境中,进一步收集非oracle导航轨迹
- 最终,获得了另外18万步级样本。来自oracle和非oracle轨迹的样本被合并,用于NaVid的最终训练,如图3上方所示
用户:假设你是一台被编程用于导航任务的机器人
你获得了一段历史观测的视频和一张当前观测的图像<image>
你的任务是:向前走,进入并沿着工作区中间前进。一直向前走,直到你到达地板上靠近带有黑色椅子的桌子旁的一个白色水桶处并停下
分析这一系列图像,以决定你的下一个动作,该动作可能包括向左或向右转动特定角度,或向前移动一定距离
助手:下一个动作是向前移动75厘米
1.2.3.2 VLN-CE与辅助任务的联合训练
作为导航智能体,除了规划导航动作外,精确理解环境和遵循给定指令是两项不可或缺的能力。为促进智能体学习,作者将VLN-CE动作规划与两个辅助任务结合,以协同训练的方式进行
- 针对环境理解,作者设计了一个名为指令推理的辅助任务。给定一个基于视频的导航轨迹,NaVidis 被要求推导出该轨迹对应的指令
该辅助任务可以通过上文1.2.2节(原论文第四节 B 部分)介绍的共享数据组织格式轻松实现,其中{instruction content}和{answer content}可以分别实例化为请求描述机器人导航轨迹的提示和数据集中提供的人类标注指令
指令推理辅助任务包含 1 万条轨迹,示例见图 3 下方
用户:假设你是一台为导航设计的机器人。
你获得了一组捕获的图像序列<image>。 请根据该图像序列,描述机器人的导航轨迹。
助手:向前走,进入并沿着工作区中间前进。向前走,直到你到达地板上靠近带有黑色椅子的书桌旁的一个白色桶,然后停下 - 此外,为了增强指令跟随能力并防止在预训练中获得的通用知识遗忘,作者还将基于视频的问答样本纳入联合训练。详细信息可参见文献[57]。为简明起见,此处不再赘述
1.2.4 实现细节:训练配置、评估配置
- 对于训练配置
NaVid 在一台配备 24 块 NVIDIA A100GPU 的集群服务器上训练约 28 小时,总计 672GPU 小时
对于视频-字幕数据,以 1 帧每秒的速率采样帧,以去除连续帧之间的冗余信息。对于导航-动作数据,保留所有帧,通常不超过 300帧
在训练过程中,所有模块,包括 EVA-CLIP[92]、QFormer [23]、BERT [24] 和 Vicuna-7B[21],均加载默认的预训练权重
且按照文献 [57-LLaMA-VID: An Image is Worth 2 Tokens in Large Language Models] 的策略,作者仅优化 LLaMA 和文本编码器的可训练参数,且仅训练 1 个 epoch - 评估配置
在NaVid预测语言动作后,作者利用正则表达式匹配[43]来期望获得有效动作。作者发现,这一简单算法在VLN-CE val-unseen R2R评估中获取有效动作的成功率达到100%。在真实世界导航中,使用远程服务器运行NaVid,以接收观测数据(以及文本指令),并控制本地机器人执行预测的动作
在导航过程中,智能体每帧输出一个动作大约需要1.2到1.5秒。通过采用如量化[61, 60]等加速技术,这一速度有望进一步提升
1.3 实验
1.3.1 实验设置
- 对于模拟环境
作者在VLN-CE基准测试上评估他们的方法,该基准测试为在重建的逼真室内场景中执行低级动作提供了连续环境 [45-Beyond the nav-graph: Visionand-language navigation in continuous environments]
他们在VLN-CE中考虑了R2R [46] 和 RxR [49],这两个是VLN领域最具代表性的基准。为保证公平对比,所有方法均在10,819个R2R训练集上进行训练,并在1,839个R2R验证-不可见集和1,517个RxR验证-不可见集上进行评估,以分别评测跨分割和跨数据集的性能 - 对于真实环境
为了评估他们方法在真实环境中的表现,作者遵循文献[8, 108]的实验设置,并设计了包含不同室内场景和不同难度指令的综合实验
作者选择了四个不同的室内场景,包括会议室、办公室、实验室和休息室。在指令设计上,他他们设置了两种类型的指令:
1)简单地标指令跟随任务,要求智能体理解目标的语义并移动到目标的相对位置;
2)复杂的复合指令跟随任务,要求智能体完成2-5个地标跟随任务的组合指令
对于每个选定的场景,作者设计了25条简单地标指令和25条复杂复合指令,总共形成200个指令跟随案例
另,作者在所有真实环境实验中均使用Turtlebot4进行
该机器人配备了Kinect DK相机,用于捕捉深度和RGB图像
- 对于需要里程计的基线方法,作者使用Turtlebot4自带的RPLIDAR A1M8激光雷达,并利用Nav2 [65-The marathon 2: A navigation system]工具箱进行定位与建图
- 激光雷达与相机的标定遵循前人工作[118-Extrinsic calibration of a camera and laser range finder (improves camera calibration)],具体细节请参见补充材料
需要注意的是,已有更先进的跟踪与定位系统[62, 113, 114],这些系统有可能进一步提升性能
对于机器人配置的细节
- 作者对实际机器人进行了详细描述(见图10)。他们的机器人基于Turtlebot 4,并使用Azure KinectDK采集RGB和深度图像(作者的方法仅使用RGB图像)
- 此外,作者在机器人顶部部署了PRLIDARA1M8激光雷达,用于采集一维激光点云,该点云被激光雷达里程计算法用于计算位置和朝向[66]
基于上述机器人,作者设计了一个结合视觉与语言导航的NaVid流程(见图11)
- NaVid部署在配备A100 GPU的服务器上,该服务器通过互联网接收来自机器人的压缩图像,并返回解析后的指令
- 机器人接收诸如“左转”或“前进”等指令,并驱动机器人执行相应动作
在移动过程中,机器人持续跟踪运动状态,以确保旋转或前进动作与指令保持一致
对于评估指标
- 作者遵循标准的VLN评估指标[7, 46, 50,51]来评估导航性能,包括成功率(SR)、oracle成功率(OS)、按路径长度加权的成功率(SPL)[6]、轨迹长度(TL)以及距离目标的导航误差(NE)
其中,SPL是主要评估指标,因为它同时反映了导航的准确性与效率[5] - 需要注意的是,在VLN-CE中,如果智能体在距离目标3米以内调用STOP动作,则该回合被视为成功;而在真实环境中,此距离为1.5米。关于评估指标的更多细节,请参见补充材料
基线方法
为了与NaVid进行公平比较,作者对比了在VLN-CE环境中直接预测低层次动作原语的方法的性能:
- Seq2Seq [45] 是一种简单的序列到序列基线方法,采用循环策略直接根据RGBD观测预测动作。RGB-Seq2Seq表示仅使用RGB观测
- CMA [45] 利用指令与RGBD观测之间的跨模型注意力机制来预测动作。RGB-CMA表示仅使用RGB观测
- WS-MGMap [16] 利用多粒度地图,其中包含了物体的几何、纹理和语义信息
1.3.2 模拟环境下的对比:涉及VLN-CE R2R、VLN-CE RxR
第一,对于VLN-CE R2R
作者首先在VLN-CE R2R Val-Unseen数据集上进行实验,以评估方法的跨分割泛化能力。结果见表I「VLN-CE R2R Val-Unseen 的对比。∗:方法使用高级动作空间。†:方法使用与 [37] 提出的相同航点预测器。‡:方法使用除 MP3D 场景 [12] 外的额外视觉数据」
- 此处作者标注了各方法所需的具体观测信息,而作者的方法仅使用RGB观测。与相关的VLN-CE设置(低级动作空间)相比,作者认为他们的方法在SPL、NE等指标上取得了SOTA表现——在没有使用深度和里程计信息的情况下,本方法在OS 上表现出色,在SR 上也具有可比的性能
- 对于与作者方法设置相同的Seq2Seq-RGB 和CMA-RGB 方法,NaVid显著优于这些方法,将SR 从5.00 % 提升至37.4%,SPL 从4.43 % 提升至35.9 %
本方法在SPL 方面比SOTA 方法WS-MGMap 高出1.6 %。结果表明,仅利用RGB 观测,作者宣称NaVid就能展现出SOTA 级别的性能,验证了其有效性
为了探索NaVid 在更长记忆需求(更多步数)方面所面临的挑战,作者报告了在不同步长指令下的性能表现,这些指令通常需要30 到90 步才能完成,跨度约为5 到20米
- 结果如图4(a) 所示,显示NaVid在从短距离(低于30 步)到长距离(超过90 步)的范围内都保持了稳定的性能
- 此外,作者在图4(b) 中绘制了训练过程中每步的episode 数量。尽管约有5.91 % 的episode 超过了90 步,NaVid在大多数episode(范围为35 步到75步-约占74.3%的实验)表现优秀
作者认为,这一稳健的表现可能归因于他们采用了联合调优导航数据与网络级视频数据的策略,其中包括最长300帧的序列,因此使NaVid能够处理比大多数VLN任务所需更长的历史上下文
第二,对于VLN-CE RxR
为了评估方法的跨数据集性能,作者在R2R轨迹-指令样本上训练模型,并比较其在RxR Val-Unseen数据划分上的零样本表现
RxR数据集包含更细粒度的指令,描述了丰富的地标和更长的路径,这为评估方法的泛化能力提供了较大的语言与视觉鸿沟
如表II所示「在 VLN-CE RxR Val-Unseen 上跨数据集性能比较。请注意,A2Nav 是一种零样本方法,利用 GPT 作为规划器」
NaVid在NE、OS、SR和SPL等指标上均大幅优于现有方法。需要注意的是
- Seq2Seq的轨迹长度(TL)极小,主要由于其指令跟随能力较差(SR为3.51%),导致提前终止
- 与当前零样本VLN-CE RxR的SOTA方法A2Nav [17]相比,NaVid在SR和SPL上分别提升了41.7%(从16.8到23.8)和236.5%(从6.3到21.2)
- 此外,采用相同设置的Seq2Seq-RGB和CMA-RGB基线在所有指令上均失败,进一步说明了仅用RGB方法的挑战性
这证明了NaVid通过将基于视频的大型视觉-语言模型引入VLN以应对自由形式语言导航任务,具备良好的泛化潜力
第三,看下与大型基础模型的对比
接下来作者希望评估主流大型模型各变体的性能
在视觉语言导航任务中使用基础模型
- GPT-4V [109] 和 Emu [93] 支持带有图像输入的多轮对话,因此在每一轮对话中,作者输入一张新的观测到的 RGB 图像
- LLaVA [60] 是单轮对话图像模型,因此作者采用观测到历史的技术来编码历史信息
LLaMA-VID [57] 能够基于视频输入回答问题,这里的视频输入可以替换为导航观测序列
对于已公开训练数据集和代码的 LLaVA 和LLaMA-VID,作者使用提出的导航数据对这些模型进行联合微调,分别得到改进后的模型 LLaVA-Nav 和 LLaMA-VID-Nav。所有基线模型都经过了精心调优和提升,详细信息可见补充材料
考虑到在GPT-4V 和LLaVA 中提升历史信息等极高的计算成本,作者随机抽取了100 个episode,作为VLN-CER2R Val-Unseen 子集的一个子划分(所抽取episode 的ID 可在补充材料中找到以便复现)
结果见表III
作者发现,未在所提出的导航数据上训练的方法表现非常差
- 尤其是,Emu、LLaVA 和LLaMA-VID 经常输出与动作无关的答案,如环境描述或导航评论,这使得智能体很难导航
- 一个更强大的模型GPT-4V,在精心设计的in-context prompt [121, 38] 下,能够相对稳定地输出有效动作,但其性能仍然较低,SR仅为5 %
- 在使用所提出的导航数据进行微调后,作者发现LLaVA-Nav 和LLaMA-VID-Nav 有了显著提升,这证明了所收集导航数据的重要性。此外,在导航数据上训练还能提升指令遵循能力,使LLaMA-VID-Nav 的有效动作回答比例从0 % 提升到91.3 %
第四,看下与不同导航历史表示方法的对比
作者将所提出的基于视频的NaVid建模方法与其他用于表示过往轨迹的替代方案进行了比较。他们调整了用于识别不同表示方式的特殊token机制,同时保持其他设计元素不变,以确保对比的公平性
作者对这些替代方案进行了细致的实现,并收集了适用于训练的导航和描述数据。其详细实现方式如下所述
- 基于文本
作者使用文本来描述导航历史作为输入(包括当前帧)
借鉴NavGPT [121]的方法,作者采用视觉基础模型(LLaVA [60])对每一帧的环境进行描述,并每10帧将逐帧文本观测与GPT-4 [2]结合
需要注意的是,使用GPT-4V [109]替换LLaVA可能会带来更好的性能,但会导致不可接受的高成本。该模型与LLaVA [60]中的文本问答数据集联合微调 - 地图-文本
作者将当前的俯视二维地图与文本导航历史信息(A)一同作为输入
俯视二维地图通过Habitat仿真器 [81] 获得,并直接采用默认风格。俯视地图中包含指示机器人位置和朝向的箭头,并使用灰色表示可通行区域
俯视地图被编码为256个token。该模型与LLaMA-VID [57]和LLaVA[60]中使用的文本及图像问答数据集联合微调 - 自我视角文本
该模型利用当前的自我中心图像以及文本导航历史信息(A)作为输入。自我中心图像直接来自Habitat模拟器,自我中心图像视图被编码为256个token
该模型与LLaMA-VID [57]和LLaVA [60]中使用的文本及图像问答数据集进行联合微调
- 作者发现,在VLN任务中,将过去的轨迹建模为文本或二维地图明显不如以视频形式建模,SPL从35.9%下降到20.8%/8.97%。这证明了作者提出的视频化轨迹建模的必要性和优越性
- 作者认为,原因在于将过去的轨迹表示为文本或二维地图会大幅压缩丰富的视觉信息,从而增加理解轨迹历史的难度
- 此外,文本历史表示的推理时间平均每个动作步骤约为2.7秒,几乎是基于视频表示的两倍。推理时间延长主要源于需要额外的LLaVA查询来生成图像描述,以及GPT查询以总结导航历史
第五,与LM-Nav及其变体的对比
LM-Nav 是一个基线方法,利用离散化的环境设置和现成的大型基础模型。在这里,LM-Nav(GPT-3.5 和 CLIP)采用 GPT-3.5进行指令分解,CLIP 用于地标定位
- 此外,作者还进行了消融实验,LM-Nav(Vicuna-7B 和 EVA-CLIP),将 LM-Nav 的基础模型替换为 NaVid 所使用的模型
且还实现了一个强基线,LM-Nav(GPT-4 和 EVA-CLIP),其构建模块采用了更先进的基础模型 - 需要注意的是,LM-Nav 需要预先构建地标图,因此作者利用 Habitat模拟器中的真实地标数据来构建该图
此外,由于LM-Nav 所用的视觉导航模型(ViNG)[84] 未公开,作者为 LM-Nav 提供了地标之间的真实最短路径,以便其能够有效导航至每个地标
最终在 RxRVal-Unseen 分割集上对所有方法进行了评估,其中NaVid 在训练过程中未曾见过这些指令和场景
结果如表V所示
作者观察到
- NaVid在RxR Val-Unseen分割上的表现显著优于LM-Nav,尽管LM-Nav采用了预定义的oracle地标
这一优越性能可以归因于LM-Nav仅关注地标,忽略了动词及其他指令性命令(例如,“向右转并走到椅子旁”或“转身面对沙发”)
这种设计忽视了指令中的空间上下文,可能导致LM-Nav将目标定位到语义相同但实际位置错误的地标
这一问题在室内环境中尤为常见,因为许多物体可能属于相同的语义类别 - 此外,像CLIP和EVA-CLIP这样的模型在物体密集摆放且视角受阻的场景中,可能会在图像定位方面遇到困难
作者认为,NaVid凭借其端到端的训练方法,在视觉-语言导航(VLN)任务中展现出了更强的适应性和有效性
1.3.3 真实环境下的对比
为了进一步评估各方法在更具挑战性的情境下的泛化能力,作者在真实环境中进行了大规模实验
在本实验中,作者选择了两种广泛使用的基线方法Seq2Seq和CMA,以及一种具有竞争力的方法MS-MGMap(见表I)
每种方法均在四个不同的环境中进行测试,并针对两类不同难度的指令(每个场景包含25条简单指令和25条复杂指令)进行评估。关于真实环境实验的详细描述,请参见第V-A节及补充材料,实验结果见表VI,作者发现,他们的方法在所有基线方法上均表现出显著提升
- 端到端方法Seq2Seq、CMA等方法表现极差,作者认为这主要是由于VLN-CE与真实世界在深度和色彩域上的仿真到现实差距
- 与端到端方法相比,基于地图的方法WS-MGMap通过利用动态语义地图展现出更好的性能。经过精细的参数和算法调整,基于地图的方法被广泛认为是在现实世界中具有潜力的稳健策略[115, 77]
- 然而,NaVid通过挖掘VLM在VLN中的泛化能力,仅依赖RGB视频即可完成大多数指令(约84%)以及相当复杂的指令(约48%)
为了进一步研究NaVid在不同指令下的泛化能力,作者展示了真实场景实验的部分视觉结果(见表VI),这些实验要求NaVid根据非常具体的地标和动作执行指令
- 在图5中
作者给出了两组相似的指令,要求机器人在不同的停止条件下向前移动。他们发现,在这两种情况下,机器人都能够按照指令向前移动,并在接近指定停止条件时成功停下。这表明NaVid具备理解指令并为机器人生成正确动作的能力 - 此外,他们还进行了更具挑战性的实验,要求机器人执行复杂指令。相关视觉结果见图6
此时机器人需要转向并向前移动,最终停在指定目标附近。这些指令尤其具有挑战性,因为机器人面向的物体与目标(椅子)属于同一语义类别。尽管如此,作者宣称,NaVid依然能够通过转向目标方向并在正确目标附近停下,准确完成指令。这些实验的视频可见于附加的补充材料中
1.3.4 消融实验
作者为了验证他们方法中各个组件的有效性,他们在表 VII 中对训练策略和网络结构进行了消融实验
- 通过实验,作者发现协同微调数据对性能至关重要。这证明缺乏协同微调数据可能会导致大型基础模型失去了泛化能力
- 正如预期,指令推理样本和Dagger 导航动作样本表现出提升。这启发作者,收集更多与导航相关的数据可能进一步提升他们方法的性能,这也许是VLM 用于VLN 的后续方向
在架构消融实验中,作者保留了内容token(指令查询token 和与指令无关的token),并移除了特殊token:任务标识token [NAV] ,或观察标识token [HIS] 和[OBS]
作者观察到,移除特殊token 会导致性能明显下降,这证明了特殊token 的有效性。Waypoint预测变体用连续的位置和朝向替换了 (详细实现见补充材料)。然而,结果表明,直接输出连续的位置和朝向对VLMs 来说极具挑战性,使得VLMs 难以学习导航技能
为了全面评估指令无关视觉 token 的有效性,作者对不同视觉 token 设置进行了比较
- 具体而言,作者分析了 NaVid 在每帧采用不同数量视觉token 的表现,注意到更高的 token 数量能够保留更多视觉信息
在本实验中,作者分别采用了每帧 1、4 和 16 个视觉 token,这些 token 分别以 H、H/2 和 H/4 的步幅对特征图(H × H)进行平均池化
结果如表 VIII 所示
从实验结果可以看出,增加每帧指令无关(视觉)token 数量能够提升性能,因为更多的视觉 token 为动作预测提供了更丰富的视觉信息 - 然而,视觉 token 数量的增加也会导致推理时间延长
作者发现
从设置(1-1 token)到设置(2-4 token),成功率提升了 56.4%,但推理时间也增加了 40.2%;
而从设置(2-4 token)到设置(3-16 token),成功率仅提升了 1.60%,但推理时间却大幅增加了 122%
这表明,每帧采用四个视觉token 能够在编码导航历史时提供足够的视觉信息,同时保持合理的计算开销,实现最佳平衡
此外,作者还进行了分解实验,以验证导航数据在图8中的重要性。在这里,作者将训练过程分为两个阶段:
- pre-dagger(0到33万步)
在pre-dagger阶段,作者随机采样导航数据进行训练
结果发现,数据量不足(少于28万条)时,SR、OS、SPL和NE等指标的提升较为缓慢。然而,当数据量增加到33万条时,性能有明显提升,表明模型开始掌握VLN任务 - post-dagger(33万到51万步)
在post-dagger阶段,性能提升变得非常有限。其主要原因在于,R2R训练集上的dagger方法未能为VLM提供足够多样化的环境或指令信息以供学习
1.4 讨论与结论
本文提出了一种基于视频的视觉-语言导航方法NaVid,用于视觉与语言导航任务。NaVid在不依赖里程计、深度传感器或地图的情况下,实现了当前最优的导航性能
具体来说,作者通过集成自定义特殊token,将基于视频的视觉语言模型扩展为能够同时编码历史和当前导航数据
- 为学习视觉指令跟随能力,作者从R2R(32万条)和Dagger(18万条)中收集了共计51万条动作规划样本,以及1万条指令推理样本。在模拟环境下的大量实验表明
作者的方法仅以单目视频作为输入,即可达到SOTA级别的性能 - 此外,作者还在真实环境中部署了NaVid,展示了其在实际场景中执行VLN任务的泛化能力。局限性
尽管NaVid取得了令人鼓舞的成果,但仍存在若干局限性
- 首先,NaVid的计算成本较高,导致延迟时间过长,从而影响导航效率。一个有说服力的缓解方法是采用动作块技术[119]或量化技术[61]
- 其次,在超长任务指令下,NaVid可能会因上下文token过长而出现性能下降[25],且高质量长视频标注数据的缺乏进一步加剧了这一问题
为应对这些挑战,可以采用更先进的大型模型[57]作为骨干,并利用长视频数据[102]
对于未来工作
- 作者希望进一步探索将NaVid扩展到其他具身人工智能任务的潜力,例如移动操作[110, 88, 116]。为此,作者计划研究多种动作设计,以实现对机器人机械臂和移动底座的同时控制
- 此外,收集带有标注的移动操作视频数据集对于帮助他们的模型理解指令,以及对象与机器人之间的物理交互至关重要
且还将致力于提升模型的运行效率,使其能够在更高速度或更低成本的硬件上运行
// 待更
第二部分 从Matterport3D仿真器到Room-to-Room(R2R)
2017年11月,来自的研究者提出了
- 其对应的项目网站为:bringmeaspoon.org
- 其对应的paper为:Vision-and-Language Navigation: Interpreting visually-grounded navigation instructions in real environments
在这个工作中
- 为了推动和促进视觉与语言方法在解释基于视觉的导航指令问题中的应用,作者提出了 Matterport3D Simulator——一个基于真实图像的大规模RL环境[11]
- 利用该模拟器(未来可支持多种具身视觉与语言任务),作者首次提供了针对真实建筑中基于视觉的自然语言导航的基准数据集——Room-to-Room(R2R)数据集
- 近年来循环神经网络方法在图像与自然语言联合理解方面的成功,推动了视觉-语言导航(VLN)任务的发展,并促成了下文所述的 Room-to-Room(R2R)数据集的出现。该数据集的设计目标,正是为了简化视觉与语言方法在此类看似遥远问题上的应用
- 以往针对机器人自然语言指令的研究,往往忽视了视觉信息处理这一关键环节。例如,使用渲染图像而非真实图像 [7,27,62],限制了视觉信息的获取范围
2.1 Matterport3D 仿真器:基于Matterport3D数据集构建的RL环境
为了实现可复现的VLN方法评估,作者提出了Matterport3D模拟器。该模拟器是一个基于Matterport3D数据集[11]构建的大规模交互式RL环境,该数据集包含90个真实建筑规模室内环境的10,800张高密度采样全景RGB-D图像
与合成RL环境[7,27,62]相比,采用真实世界的图像数据能够保留视觉和语言的丰富性,从而最大化训练Agent迁移到现实应用的潜力
2.1.1 Matterport3D 数据集
大多数 RGB-D 数据集均源自视频序列,例如NYUv2 [42]、SUN RGB-D [48] 和 ScanNet[15]。这些数据集通常只提供一到两条穿越场景的路径,因此难以用于模拟机器人运动
与这些数据集相比,最近发布的 Matterport3D 数据集[11] 提供了全面的全景视图。据作者所知,截止到2017年11月,它也是目前可用的最大规模 RGB-D 研究数据集
- 具体而言,Matterport3D 数据集由 90 个建筑级场景的194,400 张 RGB-D 图像构建而成,共包含 10,800 个全景视图——点位分布在每个场景可步行的整个平面上,平均间隔为 2.25 米
每个全景视图由 18 张 RGB-D 图像组成,这些图像均从单一三维位置、约等于站立者高度进行采集
每张图像都带有精确的六自由度(6 DoF)相机位姿标注,整体上这些图像覆盖了除极点外的整个球面 - 数据集还包括全局对齐的有纹理三维网格,并对区域(房间)和物体进行了类别和实例分割标注。在视觉多样性方面,所选的 Matterport 场景涵盖了包括住宅、公寓、酒店、办公室和教堂等多种类型和规模的建筑,这些建筑具有极高的视觉多样性,对计算机视觉提出了真正的挑战
数据集中许多场景可在 Matterport 3Dspaces gallery2 中进行浏览
2.1.2 仿真器:观测、动作空间、实现细节、偏差
2.1.2.1 观测
- 为了构建模拟器,作者允许一个具身智能体通过采用与全景视角重合的姿态,在场景中虚拟“移动”。智能体的姿态由三维位置
、朝向
以及相机俯仰角
,其中
是三维位置的集合与场景中全景视点相关的点
- 在每一步,模拟器输出与智能体第一人称摄像头视角对应的RGB图像观测。图像是通过对每个视点预先计算的立方体贴图图像进行透视投影生成的。未来对模拟器的扩展还将支持深度图像观测(RGB-D),以及以渲染的对象类别和对象实例分割形式的额外工具(基于底层Matterport3D网格注释)
2.1.2.2 动作空间
实现模拟器的主要挑战在于确定与状态相关的动作空间
- 显然,咱们希望防止智能体穿越墙壁和地板,或进入其他不可通行的空间区域。因此,在每一步,模拟器还会输出一组下一步可达的视点
。智能体通过选择一个新的视点
,并指定相机的朝向
和俯仰角(
)调整来与模拟器交互。动作是确定性的
- 为了确定
,对于每个场景,模拟器包含一个加权无向图,该图覆盖全景视点,记为
,其中边的存在表示机器人可以在两个视点之间导航转换——该边的权重反映了它们之间的直线距离
为了构建这些图,作者在Matterport3D场景网格中对各视点之间进行了光线追踪,以检测中间的障碍物
为了确保运动范围保持局部化,随后移除了长度超过5米的边
最后,我们人工核查了每个导航图,以修正网格中未捕捉到的障碍物(如窗户和镜子)
给定导航图G,下一个可达视点的集合定义如下:
其中,是当前视点,
是由摄像机在第
步时视锥体左右边界所包围的空间区域。实际上,智能体被允许沿导航图中的任意边移动,只要目标位置位于当前视野范围内,或者通过上下转动摄像机可以看到。或者,智能体也可以选择始终停留在同一视点,仅仅移动摄像机
图3展示了一个典型导航图的部分示例
每个导航图平均包含117个视点,平均顶点度为4.1。相比之下,网格世界的导航图由于存在墙壁和障碍物,平均度必须小于4
- 因此,尽管智能体的移动被离散化,但在大多数高级任务的背景下,这并不构成显著限制。即使在实际机器人中,也未必实际或必要在每获得新的RGB-D相机视图时就持续重新规划高层目标
- 实际上,即使是在理论上支持连续运动的3D模拟器中,智能体在实际操作时通常也采用离散化的动作空间 [62,16,18,47]
2.1.2.3 实现细节
Matterport3D 模拟器使用 C++ 和 OpenGL 编写
- 除了 C++ API 外,还提供了 Python 绑定,使得该模拟器可以轻松与 Caffe [25] 和TensorFlow [1] 等深度学习框架,以及 ParlAI[39] 和 OpenAI Gym [9] 等强化学习平台结合使用
用户可针对图像分辨率、视场角等参数进行多种配置 - 此外,作者还开发了一个基于 WebGL的浏览器可视化库,用于通过 AmazonMechanical Turk 收集导航轨迹的文本标注,并计划向其他研究人员开放该工具
2.2 Room-to-Room(R2R)数据集:基于Matterport3D环境收集
基于Matterport3D环境,作者收集了Room-to-Room(R2R)数据集,该数据集包含21,567条开放词汇、众包的导航指令,平均长度为29个单词。每条指令描述了一条通常穿越多个房间的轨迹
如图1所示
相关任务要求智能体根据自然语言指令,在此前未见过的建筑中导航至目标位置。作者通过多种基线方法以及基于已在其他视觉与语言任务中成功应用的方法[4,14,19]的序列到序列模型,探讨了该任务的难度,尤其是在未见环境下的操作难度
// 待更