当前位置: 首页 > news >正文

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)

相关文章:

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​,...,Vt−1​}和当前观察 V t { P t , R t , N ( V t ) } V_…...

4 Hadoop 面试真题

4 Hadoop 面试真题 1. Apache Hadoop 3.0.02. HDFS 3.x 数据存储新特性-纠删码Hadoop面试真题 1. Apache Hadoop 3.0.0 Apache Hadoop 3.0.0在以前的主要发行版本(hadoop-2.x)上进行了许多重大改进。 最低要求的Java版本从Java 7增加到Java 8 现在&…...

java练习(2)

回文数(题目来自力扣) 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数 是指正序(从左向右)和倒序(从右向左)读都是一样的整…...

vscode命令面板输入 CMake:build不执行提示输入

CMake:build或rebuild不编译了,弹出:> [Add a new preset] , 提示输入发现settings.jsons设置有问题 { "workbench.colorTheme": "Default Light", "cmake.pinnedCommands": [ "workbench.action.tasks.configu…...

Java中对消息序列化和反序列化并且加入到Spring消息容器中

--- 参考项目:苍穹外卖。 在对没有Java中的数据序列化时,比如说时间格式: 时间的格式是这种没有格式化的效果,因为在给前端返回数据时,返回的结果并没有序列化。 所以,需要对返回的数据序列化。 首先需…...

FFmpeg源码:av_base64_decode函数分析

一、引言 Base64(基底64)是一种基于64个可打印字符来表示二进制数据的表示方法。由于log2 646,所以每6个比特为一个单元,对应某个可打印字符。3个字节相当于24个比特,对应于4个Base64单元,即3个字节可由4个…...

【后端面试总结】mysql的group by怎么用

GROUP BY 是 SQL 中的一种用于对结果集进行分组的子句,常与聚合函数(如 COUNT()、SUM()、AVG()、MAX() 和 MIN() 等)一起使用。GROUP BY 的作用是基于一个或多个列对查询结果进行分组,然后可以对每个分组执行聚合操作。 以下是 G…...

计算机视觉和图像处理

计算机视觉与图像处理的最新进展 随着人工智能技术的飞速发展,计算机视觉和图像处理作为其中的重要分支,正逐步成为推动科技进步和产业升级的关键力量。 一、计算机视觉的最新进展 计算机视觉,作为人工智能的重要分支,主要研究如…...

一文读懂Python之random模块(31)

random模块是Python的内置标准库,用于生成各类随机数,可以用作生成网站初始登录密码和随机验证码。 一、random模块简介 random模块可以生成随机数,包括随机整数、浮点数、随机元素等。 二、random模块相关概念 随机数: 是指在…...

p1044 栈

两种递推细节不同 1,将1和n在序列末尾的情况单独放出来处理,因为dp[0]0; 2,将所有情况统一处理,这种情况就要要求dp[1]1; 这里的n在解题中可以看做是元素数量 思路是,根据出栈最后一个元素,统计它前面的元素数量的输出序列数和…...

吴恩达深度学习——超参数调试

内容来自https://www.bilibili.com/video/BV1FT4y1E74V,仅为本人学习所用。 文章目录 超参数调试调试选择范围 Batch归一化公式整合 Softmax 超参数调试 调试 目前学习的一些超参数有学习率 α \alpha α(最重要)、动量梯度下降法 β \bet…...

SQL NOW() 函数详解

SQL NOW() 函数详解 引言 在SQL数据库中,NOW() 函数是一个常用的日期和时间函数,用于获取当前的时间戳。本文将详细介绍 NOW() 函数的用法、参数、返回值以及在实际应用中的注意事项。 函数概述 NOW() 函数返回当前的日期和时间,格式为 Y…...

【JAVA基础】双亲委派

双亲委派可以简单理解为, 当收到加载请求时, 会依次向上加载 ; 只有当父类加载器无法完成加载请求时,子类加载器才会尝试自己去加载。 工作原理 类加载请求传递:当应用程序需要加载一个类时,比如通过ClassLoader.loadClass()方法&#xff0…...

刷题记录 HOT100回溯算法-6:79. 单词搜索

题目:79. 单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻…...

JavaScript系列(52)--编译优化技术详解

JavaScript编译优化技术详解 🚀 今天,让我们深入探讨JavaScript的编译优化技术。通过理解和应用这些技术,我们可以显著提升JavaScript代码的执行效率。 编译优化基础概念 🌟 💡 小知识:JavaScript引擎通常…...

Ollama+DeepSeek本地大模型部署

1、Ollama 官网:https://ollama.com/ Ollama可以干什么? 可以快速在本地部署和管理各种大语言模型,操作命令和dokcer类似。 mac安装ollama: # 安装ollama brew install ollama# 启动ollama服务(默认11434端口&#xf…...

在 WSL2 中重启 Ubuntu 实例

在 WSL2 中重启 Ubuntu 实例,可以按照以下步骤操作: 方法 1: 使用 wsl 命令 关闭 Ubuntu 实例: 打开 PowerShell 或命令提示符,运行以下命令: wsl --shutdown这会关闭所有 WSL2 实例。 重新启动 Ubuntu: 再次打开 Ubuntu&#x…...

【ts + java】古玩系统开发总结

src别名的配置 开发中文件和文件的关系会比较复杂,我们需要给src文件夹一个别名吧 vite.config.js import { defineConfig } from vite import vue from vitejs/plugin-vue import path from path// https://vitejs.dev/config/ export default defineConfig({pl…...

机器学习周报-文献阅读

文章目录 摘要Abstract 1 相关知识1.1 WDN建模1.2 掩码操作(Masking Operation) 2 论文内容2.1 WDN信息的数据处理2.2 使用所收集的数据构造模型2.2.1 Gated graph neural network2.2.2 Masking operation2.2.3 Training loss2.2.4 Evaluation metrics 2…...

LabVIEW微位移平台位移控制系统

本文介绍了基于LabVIEW的微位移平台位移控制系统的研究。通过设计一个闭环控制系统,针对微位移平台的通信驱动问题进行了解决,并提出了一种LabVIEW的应用方案,用于监控和控制微位移平台的位移,从而提高系统的精度和稳定性。 项目背…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...