VLN视觉语言导航基础

0 概述

视觉语言导航模型旨在构建导航决策模型 π π π,在 t t t时刻,模型能够根据指令 W W W、历史轨迹 τ = { V 1 , V 2 , . . . , V t − 1 } \tau=\{V_1,V_2,...,V_{t-1}\} τ={V1,V2,...,Vt1}和当前观察 V t = { P t , R t , N ( V t ) } V_t=\{P_t,R_t,N(V_t)\} Vt={Pt,Rt,N(Vt)}来决定下一步动作 a t a_t at π ( a t ∣ W , V t , τ ) — > a t π(a_t|W,V_t,\tau)—>a_t π(atW,Vt,τ)>at。模拟器随后执行智能体的动作并更新环境与智能体的状态 τ ( s t , a t ) − > s t + 1 \tau(s_t,a_t)->s_{t+1} τ(st,at)>st+1

V :节点 V:节点 V:节点
P t :姿态信息 P_t:姿态信息 Pt:姿态信息
R t :全景 R G B 图像 R_t:全景RGB图像 Rt:全景RGB图像
N ( V t ) :可导航点 N(V_t):可导航点 N(Vt):可导航点

任务类型:指令导向(R2R和R4R)、目标导向(REVERIR和SOON)、需求导向(DDN)

  • 指令导向:指令导向的视觉语言导航任务侧重于智能体严格遵循给定的语言指令进行导航。这种任务要求智能体能够理解复杂的自然语言指令,并将其转化为导航动作。
  • 目标导向:目标导向的视觉语言导航任务要求智能体根据给定的目标进行导航。在这种任务中,智能体需要理解目标的语义信息,并在环境中搜索与目标相匹配的物体。
  • 需求导向:需求导向的视觉语言导航任务是一种更高级的形式,它要求智能体根据用户的抽象需求进行导航。与前两种任务不同,需求导向导航不依赖于特定的物体或目标,而是需要智能体理解用户的需求并找到满足这些需求的物体或位置。

场景类型:室内、室外、空中

  • 室内场景:室内视觉语言导航主要关注于家庭或办公环境内的导航。智能体需要理解自然语言指令,并在室内环境中找到正确的路径。室内环境通常较为复杂,包含多个房间和各种家具,因此对智能体的空间理解能力要求较高。例如,Room-to-Room数据集
  • 室外场景:室外视觉语言导航涉及到更开放的环境,如街道、公园等。在这种场景下,智能体不仅需要理解指令,还需要处理更复杂的空间关系和可能的遮挡物。室外环境的动态性,如行人和车辆的移动,也会增加导航的难度
  • 空中:空中视觉语言导航是一个较新的研究领域,主要针对无人机(UAV)的导航任务。与地面导航不同,空中导航需要考虑飞行高度和更复杂的空间关系。例如,AerialVLN是一个针对无人机的视觉语言导航任务,它要求智能体根据自然语言指令在三维空间中进行导航,这涉及到对城市级场景的理解和操作。

1 测试基准

1.1 模拟器与数据集

在这里插入图片描述

1.2 数据集简介

VLN数据集提供了自然语言指令 W W W及其相应的真实轨迹 τ \tau τ,使其适合于监督学习和强化学习

R2R

Anderson 等人首次提出了在离散室内环境中遵循指令进行导航的任务,即 R2R (Room-to-Room)。R2R 任务基于 Matterport3D 数据集构建,该数据集包含 90 个房屋的真实照片,共计 10,567 张全景图。这些环境被表示为一系列通过边连接的可导航点。在 R2R 任务中,智能体需根据描述路线的语言指令,从指定的初始位置导航至目标位置。智能体必须遵循指令,执行一系列离散动作(如转弯、前进),以到达目标位置,并在到达后执行“停止”动作以完成任务。

R4R

Jain 等人通过将两个相邻的轨迹(尾部到头部)连接起来,扩展了 R2R 任务,从而生成更长的指令和轨迹。这些路径更加依赖于指令的描述,因为它们往往不是起点和终点之间的最短路径。

CVDN

在现实世界的导航中,人们通常使用自然语言进行多轮沟通。Thomason 等人收集了 CVDN 数据集,以模拟真实家庭环境中人与人之间的对话过程,并定义了基于对话历史进行导航并搜索目标的任务。

REVERIE

在现实环境下,智能体的导航通常是需求驱动的,经常需要到达指定地点并找到相关物体。因此,Qi 等人和 Zhu 等人分别通过 REVERIE 和 SOON 数据集进一步提出了远程对象定位导航任务。在 REVERIE 数据集中,每个视觉观察的全景图都标记有预定义的对象框,智能体必须在导航路径的终点选择正确的对象。

SOON

而在实际应用中,人类通常给出高层次的目标导向指令,而非详尽的逐步指导。基于这一特点,SOON 数据集提出了一种基于视觉的场景定位目标导航方法,智能体被指示在房屋内寻找详细描述的目标对象。

AerialVLN

为了解决无人机在复杂城市环境中进行导航的问题,AerialVLN 数据集被提出。该数据集包含 10 个城市的 100 个不同的飞行场景,每个场景都由无人机在飞行过程中拍摄的全景图像组成。这些图像被标记为包含多个对象,并且每个对象都与一个自然语言描述相关联。智能体的任务是根据这些描述,在飞行过程中找到并识别相应的对象。

1.3 评估指标

参考文章:视觉语言导航入门必看
(1)路径长度PL
(2)导航误差d
(3)导航成功率SR
(4)Oracle Success Rate(OSR) :衡量导航路径上任意点到目标点的距离是否在预定义的阈值范围内
(5)基于路径加权的成功率SPL
S P L = S R ⋅ ∣ R ∣ max ⁡ { ∣ P ∣ , ∣ R ∣ } S P L=S R \cdot \frac{|R|}{\max \{|P|,|R|\}} SPL=SRmax{P,R}R
(6)长度加权的覆盖分数CLS:生成路径和参考路径的一致性问题
P C ( P , R ) = 1 ∣ R ∣ ∑ r ∈ R exp ⁡ ( − d ( r , P ) d t h ) \mathrm{PC}(P, R)=\frac{1}{|R|} \sum_{r \in R} \exp \left(-\frac{d(r, P)}{d_{t h}}\right) PC(P,R)=R1rRexp(dthd(r,P))
路径长度分数则是评价生成路径和参考路径的一致性程度,进而来约束生成路径的长度
L S ( P , R ) = P C ( P , R ) ∗ P L ( R ) P C ( P , R ) ∗ P L ( R ) + P C ( P , R ) ∗ P L ( R ) − P L ( P ) LS(P,R)=\frac{PC(P,R)*PL(R)}{PC(P,R)*PL(R)+PC(P,R)*PL(R)-PL(P)} LS(P,R)=PC(P,R)PL(R)+PC(P,R)PL(R)PL(P)PC(P,R)PL(R)
(7)基于动态时间规整加权成功率nDTW:通过动态时间弯曲评估由成功率加权的预测路径P和参考路径R的时空相似性,对偏离参考路径的行为进行软性惩罚,并考虑路径节点的顺序
在这里插入图片描述
(8)远程定位成功率RGS:智能体定位到与目标语义标签相对应的实例时,才视为成功

(9)长度加权的远程定位成功率RGSPL:综合考虑远程定位成功的效率与经历的路径长度

2 典型模型与开源代码

(1)传统Seq2seq方法

使用基于注意力机制的 LSTM 的序列到序列模型, 并结合 “学生自学”的训练方法, 对于先前的分布采用动作输出序列预测下一步动作,使用交叉熵损失函数, 学习标注数据的特征信息。

Following High-level Navigation Instructions on a Simulated Quadcopter with Imitation Learning (https://github.com/lil-lab/drif)

(2)基于数据增强方法

专业人员标注的指令不仅成本高, 且数量十分有限。因此, 数据稀缺是视觉语言导航中的先天问题,不仅使得学习跨模态匹配更加困难, 还在很大程度上限制了模型的性能。当前很多领域的研究已经证明了数据增强的有效性, 特别是提升模型的性能有很大帮助。

Speaker-Follower Models for Vision-and-Language Navigation (http://ronghanghu.com/speaker_follower)

(3)基于辅助目标方法

辅助推理任务对于提高视觉语言导航任务中智能体的泛化能力和鲁棒性至关重要,它们通过提供额外的训练信号来增强模型对环境的理解,使其能够更好地利用语义信息进行决策,从而提升导航准确性和效率。

Self-Monitoring Navigation Agent via Auxiliary Progress Estimation (https://github.com/chihyaoma/selfmonitoring-agent)

(4)基于拓扑图方法

拓扑图在视觉语言导航中至关重要,它支持全局路径规划,提高探索效率,增强环境记忆,并促进自然语言指令与视觉场景的有效对接,使智能体能在复杂环境中准确导航至目标位置。

Think Global, Act Local: Dual-scale Graph Transformer for Vision-and-Language Navigation (https://cshizhe.github.io/projects/vln_duet.html)

(5)基于大模型方法

大模型能处理多模态输入,执行零样本学习,展现高级规划和推理能力。这些模型通过理解复杂的导航指令和环境,提供强大的决策支持,增强任务的泛化性,并能生成高质量的导航指令,从而提升导航性能和可解释性。

NavGPT: Explicit Reasoning in Vision-and-Language Navigation with Large Language Models (https://github.com/GengzeZhou/NavGPT)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/67675.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI协助探索AI新构型的自动化创新概念

训练AI自生成输出模块化代码,生成元代码级别的AI功能单元代码,然后再由AI组织为另一个AI,实现AI开发AI的能力;用AI协助探索迭代新构型AI将会出现,并成为一种新的技术路线潮流。 有限结点,无限的连接形式&a…

Flux的三步炼丹炉——fluxgym(三):矩阵测试

前面两篇文章给大家介绍了如何准备素材和怎么炼丹,现在我们拿到训练完成后的多个Lora怎么才能确定哪个才是我们需要的、效果最好的呢?答案就是使用xyz图表测试,也称为矩阵测试,通过控制控制变量的方法对Lora模型批量生图&#xff…

利用Muduo库实现简单且健壮的Echo服务器

一、muduo网络库主要提供了两个类: TcpServer:用于编写服务器程序 TcpClient:用于编写客户端程序 二、三个重要的链接库: libmuduo_net、libmuduo_base、libpthread 三、muduo库底层就是epoll线程池,其好处是…

文件读写操作

写入文本文件 #include <iostream> #include <fstream>//ofstream类需要包含的头文件 using namespace std;void test01() {//1、包含头文件 fstream//2、创建流对象ofstream fout;/*3、指定打开方式&#xff1a;1.ios::out、ios::trunc 清除文件内容后打开2.ios:…

C++编程语言:抽象机制:模板(Bjarne Stroustrup)

目录 23.1 引言和概观(Introduction and Overview) 23.2 一个简单的字符串模板(A Simple String Template) 23.2.1 模板的定义(Defining a Template) 23.2.2 模板实例化(Template Instantiation) 23.3 类型检查(Type Checking) 23.3.1 类型等价(Type Equivalence) …

定制Centos镜像(二)

本章是对上篇文章的扩展&#xff1a; https://blog.csdn.net/qq_50247813/article/details/145286244 上篇文章学习了如何自定义镜像安装。这篇介绍如何在定制镜像的时候安装其他软件&#xff1b; &#xff08;源文件参考上篇文章&#xff09; 根据上篇文章的步骤&#xff0c;…

【机器学习理论】朴素贝叶斯网络

基础知识&#xff1a; 先验概率&#xff1a;对某个事件发生的概率的估计。可以是基于历史数据的估计&#xff0c;可以由专家知识得出等等。一般是单独事件概率。 后验概率&#xff1a;指某件事已经发生&#xff0c;计算事情发生是由某个因素引起的概率。一般是一个条件概率。 …

Flutter 新春第一弹,Dart 宏功能推进暂停,后续专注定制数据处理支持

在去年春节&#xff0c;Flutter 官方发布了宏&#xff08;Macros&#xff09;编程的原型支持&#xff0c; 同年的 5 月份在 Google I/O 发布的 Dart 3.4 宣布了宏的实验性支持&#xff0c;但是对于 Dart 内部来说&#xff0c;从启动宏编程实验开始已经过去了几年&#xff0c;但…

计算机组成原理——存储系统(一)

在人生的道路上&#xff0c;成功与失败交织成一幅丰富多彩的画卷。不论我们是面对胜利的喜悦&#xff0c;还是遭遇失败的痛苦&#xff0c;都不能放弃对梦想的追求。正是在这种追求中&#xff0c;我们不断地超越自我&#xff0c;不断地突破自己的极限。只有勇往直前&#xff0c;…

前端知识速记:节流与防抖

前端知识速记&#xff1a;节流与防抖 什么是防抖&#xff1f; 防抖是一种控制事件触发频率的方法&#xff0c;通常用于处理用户频繁触发事件的场景。防抖的核心思想是将多个连续触发事件合并为一个事件&#xff0c;以减少执行次数。它在以下场景中特别有效&#xff1a; 输入…

无人机图传模块 wfb-ng openipc-fpv,4G

openipc 的定位是为各种模块提供底层的驱动和linux最小系统&#xff0c;openipc 是采用buildroot系统编译而成&#xff0c;因此二次开发能力有点麻烦。为啥openipc 会用于无人机图传呢&#xff1f;因为openipc可以将现有的网络摄像头ip-camera模块直接利用起来&#xff0c;从而…

蓝桥杯例题一

不管遇到多大的困难&#xff0c;我们都要坚持下去。每一次挫折都是我们成长的机会&#xff0c;每一次失败都是我们前进的动力。路漫漫其修远兮&#xff0c;吾将上下而求索。只有不断努力奋斗&#xff0c;才能追逐到自己的梦想。不要害怕失败&#xff0c;害怕的是不敢去尝试。只…

【JavaEE进阶】图书管理系统 - 壹

目录 &#x1f332;序言 &#x1f334;前端代码的引入 &#x1f38b;约定前后端交互接口 &#x1f6a9;接口定义 &#x1f343;后端服务器代码实现 &#x1f6a9;登录接口 &#x1f6a9;图书列表接口 &#x1f384;前端代码实现 &#x1f6a9;登录页面 &#x1f6a9;…

【算法设计与分析】实验8:分支限界—TSP问题

目录 一、实验目的 二、实验环境 三、实验内容 四、核心代码 五、记录与处理 六、思考与总结 七、完整报告和成果文件提取链接 一、实验目的 掌握分支界限求解问题的思想&#xff1b;针对不同的问题&#xff0c;能够利用分支界限法进行问题拆分和求解以及时间复杂度分析…

【3】阿里面试题整理

[1]. ES架构&#xff0c;如何进行路由以及选主 路由&#xff1a;在Elasticsearch&#xff08;ES&#xff09;中&#xff0c;默认的路由算法是基于文档的_id。具体来说&#xff0c;Elasticsearch会对文档的_id进行哈希计算&#xff0c;然后对分片数量取模&#xff0c;以确定该文…

【Linux】opencv在arm64上提示找不到libjasper-dev

解决opencv在arm64上提示找不到libjasper-dev的问题。 本文首发于❄慕雪的寒舍 问题说明 最近我在尝试编译opencv&#xff0c;安装依赖项libjasper1和libjasper-dev的时候就遇到了这个问题。在amd64平台上&#xff0c;我们可以通过下面的命令安装&#xff08;ubuntu18.04&…

【数据结构】_时间复杂度相关OJ(力扣版)

目录 1. 示例1&#xff1a;消失的数字 思路1&#xff1a;等差求和 思路2&#xff1a;异或运算 思路3&#xff1a;排序&#xff0b;二分查找 2. 示例2&#xff1a;轮转数组 思路1&#xff1a;逐次轮转 思路2&#xff1a;三段逆置&#xff08;经典解法&#xff09; 思路3…

基于微信小程序的电子商城购物系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

【linux】Linux 常见目录特性、权限和功能

目录特性默认权限主要功能/用途/根目录&#xff0c;所有目录的起点755文件系统的顶层目录&#xff0c;包含所有其他子目录和文件/bin基础二进制命令目录&#xff08;系统启动和修复必需的命令&#xff09;755存放所有用户可用的基本命令&#xff08;如 ls, cp, bash 等&#xf…

docker直接运行arm下的docker

运行环境是树莓派A 处理器是 arm32v6 安装了docker&#xff0c;运行lamp 编译安装php的时候发现要按天来算&#xff0c;于是用电脑vm下的Ubuntu系统运行arm的docker 然后打包到a直接导入运行就可以了 第一种方法 sudo apt install qemu-user-static 导入直接运行就可以了…