Learning from Unlabeled 3D Environments forVision-and-Language Navigation
这篇论文是关于高级指令的
摘要
在视觉和语言导航 (VLN) 中,实体代理需要按照自然语言指令在真实的 3D 环境中进行导航。现有 VLN 方法的一个主要瓶颈是缺乏足够的训练数据,导致对未见过的环境的泛化效果不理想。虽然 VLN 数据通常是手动收集的,但这种方法成本高昂并且阻碍了可扩展性。在这项工作中,我们通过建议从 HM3D 的 900 个未标记的 3D 建筑物自动创建大规模 VLN 数据集来解决数据稀缺问题 [45]。我们为每个建筑物生成一个导航图,并从 2D 传输对象预测,通过跨视图一致性生成伪 3D 对象标签。然后,我们使用伪对象标签作为提示来微调预训练的语言模型,以减轻指令生成中的跨模式差距。我们生成的 HM3D-AutoVLN 数据集在导航环境和指令方面比现有 VLN 数据集大一个数量级。我们通过实验证明 HM3D-AutoVLN 显着提高了 VLN 模型的泛化能力。在 SPL 指标上,我们的方法在 REVERIE 和 SOON 数据集的未见验证分割上分别比现有技术提高了 7.1% 和 8.1%。
介绍
让机器人执行各种家务是科幻小说中的常见愿景。这样的长期目标需要一个实体代理来理解我们的人类语言,在物理环境中导航并与物体交互。作为实现这一目标的第一步,视觉和语言导航任务(VLN)[3]已经出现并吸引了越来越多的研究关注。早期的 VLN 方法 [3,28] 为代理提供了到达目标位置的分步导航指令,例如“走出卧室。右转,沿着走廊走。在走廊尽头左转。走到沙发前停下来”。虽然这些详细的指令降低了任务的难度,但它们降低了人们在现实生活中指挥机器人时的实用价值。因此,最近的 VLN 方法 [43,57] 专注于高级指令,并要求代理在目标位置找到特定对象,例如,“到客厅把沙发上最靠近灯的白色靠垫拿给我”。智能体需要自行探索 3D 环境以找到“靠垫”。
与分步instruction相比,遵循这种高级目标驱动的说明更具挑战性。由于没有详细的指导,智能体需要了解环境的结构才能进行有效的探索。然而,大多数现有的 VLN 任务,如 REVERIE [43] 或 SOON [57] 都是基于 Matterport3D (MP3D) 数据集 [4] 的 3D 扫描,并且包含少于 60 个建筑物和大约 10K 训练轨迹。有限的训练数据量使得 VLN 模型过度适应可见环境,从而导致在未见环境中导航策略的通用性较差。然而,手动收集更多 VLN 数据成本高昂且不可扩展。为了解决这个数据稀缺问题,之前的工作研究了各种数据增强方法,例如通过说话者模型在所见环境中合成更多指令和轨迹[16]、环境丢失[49]或编辑[30],以及混合所见环境[33]。尽管如此,这些方法仍然基于少量的 3D 环境,无法覆盖广泛的对象和场景。为了解决视觉多样性,VLN-BERT [36] 利用来自网络的图像标题对来提高泛化能力,而 Airbert [18] 表明来自室内环境(BnB 数据集)的图像标题对对 VLN 任务更有利。然而,图像标题对很难模仿 3D 环境中代理的真实导航体验,这使得通过动作预测学习导航策略变得具有挑战性。
在这项工作中,我们提出了一种新的数据生成方法,通过学习大规模未标记的 3D 建筑来提高模型对未见过的环境的泛化能力(见图 1)。我们利用最新的 HM3D 数据集 [45],其中包含 900 座 3D 建筑物。然而,这些数据没有任何标签。为了在各种未见过的环境中生成高质量的指令轨迹对,我们使用大规模预训练的视觉和语言模型。我们首先使用图像分割模型 [10] 来检测环境中图像的 2D 对象,并利用 3D 中的跨视图一致性来提高伪 3D 对象注释的准确性。然后,我们使用伪对象标签作为提示来微调语言模型 GPT-2 [44],以生成该对象的高级导航指令。通过这种方式,我们构建了 HM3D-AutoVLN 数据集,该数据集使用 900 个 3D 建筑物,由 36,562 个可导航节点、172,000 个 3D 对象和 217,703 个用于训练的对象-指令-轨迹三元组组成,比之前的 VLN 数据集大一个数量级。我们使用生成的 HM3D-AutoVLN 数据训练多个最先进的 VLN 模型 [8,9,22,49],并显示出显着的收益。具体来说,我们在 REVERIE 和 SOON 数据集上比最先进的 DUET 模型 [9] 分别提高了 7.1% 和 8.1%。总之,我们的贡献如下:
1、我们引入了一种从未标记的 3D 建筑物构建大规模 VLN 数据集 HM3D-AutoVLN 的自动方法。我们依靠 2D 图像模型来获取伪 3D 对象标签,并依靠预训练的语言模型来生成指令。
2、我们对两个具有挑战性的 VLN 任务 REVERIE 和 SOON 进行了广泛的实验。 HM3D-AutoVLN 数据集上的训练显着提高了多个最先进的 VLN 模型的性能。
3、我们提供有关数据收集和利用未标记环境所固有的挑战的见解。这表明环境的多样性比单独的训练样本数量更重要。
相关工作
vision and language navigation
随着各种支持数据集的出现,VLN 任务最近得到了普及[3,6,23,27,28,39,48,50]。不同的指令定义了 VLN 任务的变化。分步指令[3,6,28]要求智能体严格遵循路径,而目标驱动的高级指令[43,57]主要描述目标地点和物体,并命令智能体检索特定的远程对象。具身的问答任务要求代理导航并回答问题[12,55],而视觉和语言对话[13,38,39,50]任务使用与代理的交互式通信来指导导航。由于固有的多模态性质,VLN 任务的工作提供了有吸引力且富有创意的模型架构,例如跨模态注意机制 [16,34,35,49,52]、对象感知 [20,37,42]、序列建模使用transformer [8,22,40]、贝叶斯状态跟踪 [1] 和基于图的结构来更好地探索 [9,14,51]。这些模型通常以teacher forcing方式进行预训练 [8,19],然后使用student forcing [3,9]、随机采样 [31] 或强化学习 [8,22,49,53] 进行微调。虽然大多数现有的 VLN 工作侧重于具有预定义导航图的离散环境,但连续环境中的 VLN [26,27] 在现实世界中更实用 [2]。离散环境也被证明有利于连续 VLN,例如提供路点监督 [46] 并支持低级和高级操作的分层建模 [7,21]。
Data-centric VLN approaches
VLN 的主要挑战之一仍然是训练数据的稀缺,导致见过环境和未见过环境之间存在巨大差距。数据增强是解决过度拟合的一种有效方法,例如丢弃环境特征[49]、更改图像样式[30]、不同环境中的混合室[33]、从说话者模型生成更多路径指令对[16, 17,49] 和来自 GAN 的新图像 [24]。然而,这些数据增强方法仍然基于有限数量的环境,削弱了对未知环境的泛化能力。与上述相反,VLNBert [36] 和 Airbert [18] 利用丰富的网络图像标题来提高泛化能力。然而,这些数据并不完全类似于真实的导航体验,因此它们只能用于训练兼容性模型来测量路径指令相似性,而不是学习导航策略。在我们的工作中,逼真的 3D 环境用于学习导航策略。
3D environments
3D环境和仿真平台[25,29,41,47]是促进具身智能研究的基础。有一些基于视频游戏引擎的人工环境,例如 iThor [25] 和 VirtualHome [41],它们利用合成场景并允许与对象交互。然而,合成场景的视觉多样性有限,不能完全反映现实世界。因此,我们专注于 VLN 的逼真 3D 环境。 MP3D [4] 数据集是 90 个标记环境的集合,在 R2R [3]、RxR [28]、REVERIE [43] 和 SOON [57] 等现有 VLN 数据集中得到最广泛采用。虽然拥有高质量的重建,但 MP3D 中的房屋数量有限。 Gibson [54] 数据集包含 571 个场景,但它们的 3D 重建质量很差。最近的 HM3D 数据集 [45] 拥有最多数量的 3D 环境,但没有标签。它包含世界各地 1,000 个高质量且多样化的建筑规模重建(900 个公开发布),例如多层住宅、商店、办公室等。在这项工作中,我们采用未标记的 HM3D 数据集来扩展 VLN 数据集。
相关文章:

Learning from Unlabeled 3D Environments forVision-and-Language Navigation
这篇论文是关于高级指令的 摘要 在视觉和语言导航 (VLN) 中,实体代理需要按照自然语言指令在真实的 3D 环境中进行导航。现有 VLN 方法的一个主要瓶颈是缺乏足够的训练数据,导致对未见过的环境的泛化效果不理想。虽然 VLN 数据通常是手动收集的&#x…...

【算法分析与设计】组合
📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 题目 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 示例 1&…...

数仓模型设计方法论
在当今大数据时代,数据已经成为企业最重要的资产之一。而数据仓库作为企业数据管理和分析的核心基础设施,其设计方法论对于企业的数据治理和决策分析至关重要。本文将探索数仓模型设计的方法论,帮助读者更好地理解和应用数仓模型设计。 一、…...

MySQL 面试题
MySQL 基础 数据库的约束与范式? 七大约束: 检查约束:以数据类型以及数据的长度进行约束,在一个表中, 所插入的数据,必须和数据类型匹配,并且范围不能超过指定的长度。非空约束 not null&…...

计算机专业必看的十部电影
计算机专业必看的十部电影 1. 人工智能2. 黑客帝国3. 盗梦空间4. 社交网络5. Her6. 模仿游戏7. 斯诺登8. 头号玩家9. 暗网10. 网络迷踪 计算机专业必看的十部电影,就像一场精彩盛宴! 《黑客帝国》让你穿越虚拟世界,感受高科技的魅力《模仿游戏…...

数据库之间数据迁移工具datax
简介 DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databe…...
uniapp:根据环境(开发、测试、生产)选择服务器接口或者业务
一、根据环境(开发、测试、生产)选择服务器接口或者业务 打开main.js 页面,使用以下代码 const accountInfo wx.getAccountInfoSync(); const envWx accountInfo.miniProgram.envVersion; if (envWx develop) {console.log(开发环境&…...

Leetcode—63. 不同路径 II【中等】
2024每日刷题(115) Leetcode—63. 不同路径 II 动态规划算法思想 实现代码 class Solution { public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {int m obstacleGrid.size();int n obstacleGrid[0].size();…...

Redis 之三:Redis 的发布订阅(pub/sub)
概念介绍 Redis 发布订阅 (pub/sub) 是一种消息通信模式,它允许客户端之间进行异步的消息传递 Redis 客户端可以订阅任意数量的频道。 模型中的角色 在该模型中,有三种角色: 发布者(Publisher):负责发送信…...
ngx_waf入门教程:保护你的Nginx服务器
ngx_waf入门教程:保护你的Nginx服务器 在今天的网络环境中,安全性是每个网站和应用程序都必须考虑的关键因素。Nginx作为一款流行的开源Web服务器和反向代理服务器,广泛应用于各种业务场景。为了增强Nginx的安全性,我们可以使用n…...

视觉Transformers中的位置嵌入 - 研究与应用指南
视觉 Transformer 中位置嵌入背后的数学和代码简介。 自从 2017 年推出《Attention is All You Need》以来,Transformer 已成为自然语言处理 (NLP) 领域最先进的技术。 2021 年,An Image is Worth 16x16 Words 成功地将 Transformer 应用于计算机视觉任务…...

真香定律!我用这种模式重构了第三方登录
分享是最有效的学习方式。 博客:https://blog.ktdaddy.com/ 老猫的设计模式专栏已经偷偷发车了。不甘愿做crud boy?看了好几遍的设计模式还记不住?那就不要刻意记了,跟上老猫的步伐,在一个个有趣的职场故事中领悟设计模…...

Linux入门到入土
Linxu Linux 简介 Linux 内核最初只是由芬兰人林纳斯托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口)…...

基础真空技术外国文献Fundamentals of Vacuum Technology
基础真空技术外国文献Fundamentals of Vacuum Technology...
LeetCode每日一题【c++版】- 用队列实现栈与用栈实现队列
用队列实现栈 题目描述 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。int pop() 移除…...

深入理解快速排序算法:从原理到实现
目录 1. 引言 2. 快速排序算法原理 3. 快速排序的时间复杂度分析 4. 快速排序的应用场景 5. 快速排序的优缺点分析 5.1 优点: 5.2 缺点: 6. Java、JavaScript 和 Python 实现快速排序算法 6.1 Java 实现: 6.2 JavaScript 实现&#…...

设计模式----装饰器模式
在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以动态地扩展其功能。所有这些都可以釆用装饰器模式来实现。 装饰器模式 允许向一个现有的对象添加新的功能,同时又不改变他的…...

Golang pprof 分析程序的使用内存和执行时间
一、分析程序执行的内存情况 package mainimport ("os""runtime/pprof" )func main() {// ... 你的程序逻辑 ...// 将 HeapProfile 写入文件f, err : os.Create("heap.prof")if err ! nil {panic(err)}defer f.Close()pprof.WriteHeapProfile(f…...

C/C++平方和问题(蓝桥杯)
题目描述: 小明对数位中含有2、0、1、9 的数字很感兴趣,在1 到40 中这样的数包 括1、2、9、10 至32、39 和40,共28 个,他们的和是574,平方和是14362。 注意,平方和是指将每个数分别平方后求和。 请问&#…...

(libusb) usb口自动刷新
文章目录 libusb自动刷新程序Code目录结构Code项目文件usb包code包 效果描述重置reset热拔插使用 END libusb 在操作USB相关内容时,有一个比较著名的库就是libusb。 官方网址:libusb 下载: 下载源码官方编好的库github:Release…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...

什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...

《Docker》架构
文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...
ubuntu22.04 安装docker 和docker-compose
首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...