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_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 π(at∣W,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=SR⋅max{∣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)=∣R∣1r∈R∑exp(−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()方法࿰…...
刷题记录 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端口…...
在 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的应用方案,用于监控和控制微位移平台的位移,从而提高系统的精度和稳定性。 项目背…...
有偿求助 如何使用openclaw 来实现办公自动化
本地部署openclaw 需要让他帮我下载企业微信里的客户聊天记录...
Wan2.2-T2V-A5B常见错误排查:运行失败、生成卡顿的解决方法
Wan2.2-T2V-A5B常见错误排查:运行失败、生成卡顿的解决方法 1. 问题概述与快速诊断 Wan2.2-T2V-A5B作为一款轻量级文本到视频生成模型,虽然在资源消耗和响应速度上具有优势,但在实际使用过程中仍可能遇到运行失败或生成卡顿的问题。这些问题…...
AI数字人制作:零门槛创建专属虚拟形象
AI数字人制作:零门槛创建专属虚拟形象 【免费下载链接】Duix-Avatar 🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning. 项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avat…...
[Windows 驱动] 深入解析进程名获取的多种内核方法
1. Windows驱动开发中的进程名获取基础 在Windows内核驱动开发中,获取进程名是最基础但至关重要的操作之一。想象一下,你正在开发一个安全监控驱动,需要实时检查哪些进程正在运行;或者你在开发一个性能优化工具,需要针…...
初识Git,带你深入学习Git相关的知识
在之前的博客中,我都会在博客的开头放一个gitee的链接。Gitee是什么呢?它是一个远程的代码托管库。在我们学习和项目管理的时候起着非常重要的作用。 本期我就带领着大家一起学习Git相关的知识内容。学习它的操作,了解其在企业级开发中的作用…...
zynq7020 u-boot 外设配置实战指南
1. Zynq7020 U-Boot外设配置概述 在嵌入式系统开发中,U-Boot作为系统启动加载器扮演着关键角色。对于Xilinx Zynq-7020平台来说,正确配置U-Boot外设是确保系统正常启动和运行的基础。本文将重点介绍网口、QSPI Flash和eMMC这三个核心外设的配置方法。 为…...
Discord社群运营神器:用AI自动回复提升活跃度的完整指南
Discord社群运营神器:用AI自动回复提升活跃度的完整指南 在数字社交时代,Discord已经从一个游戏语音工具成长为全球最受欢迎的社群平台之一。无论是Web3项目、开源社区还是兴趣小组,Discord都成为了连接成员的核心枢纽。但作为社群运营者&…...
Phi-3-mini-4k-instruct-gguf多场景:覆盖个人提效、团队协作、客户支持全链路
Phi-3-mini-4k-instruct-gguf多场景:覆盖个人提效、团队协作、客户支持全链路 1. 认识Phi-3-mini-4k-instruct-gguf Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本。这个开箱即用的工具特别适合处理日常工作中的文本任务,…...
仙侠H5手游【九州封魔劫代金券内购版】服务端图文搭建教程(含资源下载+部署过程)
游戏截图搭建环境信息 系统:Centos 7.6 内存:4G 处理器:2核 注意事项 复制代码需要通过浏览器打开文章才不会报错 搭建资源获取 百度网盘:https://pan.baidu.com/s/1wmz7RegQGBaNrYYVbuJqgg?pwdkdn4 解压密码:www.won…...
从FamNet到通用计数:小样本学习如何让AI“数”遍万物
1. 小样本计数的革命:从专用工具到通用能力 记得我第一次接触物体计数任务时,用的还是专门针对人群计数的模型。当时为了统计商场人流量,不得不专门训练一个模型。后来遇到统计停车场的需求,又要重新收集数据训练新模型。这种&quo…...
