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

无需训练的具身导航探索!TRAVEL:零样本视觉语言导航中的检索与对齐

  • 作者: Navid Rajabi, Jana Kosecka

  • 单位:乔治梅森大学计算机科学系

  • 论文标题:TRAVEL: Training-Free Retrieval and Alignment for Vision-and-Language Navigation

  • 论文链接:https://arxiv.org/pdf/2502.07306

主要贡献

  • 提出了基于模块化方法的Vision-Language Navigation(VLN)任务解决方案,该方法在零样本设置下利用最先进的大型语言模型(LLMs)和视觉语言模型(VLMs),将问题分解为四个子模块,通过提取导航指令中的地标和访问顺序,检索最后地标的候选位置,生成路径假设,并计算与指令的对齐分数,最终评估路径保真度。

  • 在复杂的R2RHabitat指令数据集上,与使用联合语义地图的方法(如VLMaps)相比,展示了优越的性能,并详细量化了视觉定位对导航性能的影响。

研究背景

  • VLN任务:要求控制智能体(在模拟环境或现实世界中)根据自然语言指令在环境中导航。例如,让智能体按照“在走廊左转,去厨房,在水槽边停下”这样的指令行动。该任务需要解析语言输入,将短语与视觉概念(场景、地标、动作等)以及时间线索(如“在……之前”)进行对应。

  • 现有方法
    • 端到端方法:采用序列到序列模型,输入语言指令和视觉信息,输出低级导航动作序列。训练时使用强化学习和模仿学习的混合方法,但在新环境和复杂指令下性能受限,且需要大量高质量训练样本和计算资源。

    • 基于LLM和VLM的模块化方法:将LLMs、VLMs与传统地图表示和机器人导航堆栈相结合。例如,CLIPNav利用CLIP VLMs和GPT-3进行指令分解和方向判断,但依赖于环境的可导航图,且CLIP在关联地标与图像方面能力有限;VLMaps构建联合视觉语言语义占用图,但指令简单,且需要额外数据集进行LLMs微调。

研究方法

  • 整体框架:该方法包含八个主要步骤,基于R2R-Habitat数据集的复杂指令,利用预训练的LLMs和VLMs进行零样本导航。

  • 步骤详解
    • 步骤1:使用数据集的训练集构建环境的拓扑地图,将每个节点表示为360°RGB全景图,边的权重为1,确保训练集中每个真实路径节点在拓扑地图中有对应节点。

    • 步骤2:使用预训练的LLM(LLama-3.1-8B-Instruct)从自然语言指令中提取地标序列,并识别最后地标短语,搜索最后地标的候选目标节点。

    • 步骤3:利用最先进的VLM(SigLIP)进行目标/最后地标识别,通过计算全景图与地标文本描述的余弦相似度来完成。与VLMaps方法相比,在127个地标上的平均Precision@10从34.4%提升到70.0%,优势在于使用SigLIP代替CLIP进行地标识别。

    • 步骤4:根据前k个目标位置,从起始位置到目标节点计算BFS最短路径,得到k条路径假设。

    • 步骤5(方法一):将路径与指令对齐问题视为序列到序列对齐问题,构建全景图序列与地标短语序列的矩阵A,使用VLM(GPT-4o)获取地标在全景图中的二值定位分数,然后通过动态规划算法(Pano2Land)计算路径的归一化对齐分数,类似于最长公共子序列问题。

    • 步骤6(方法二):直接提示GPT-4o根据全景图序列、原始自然语言指令和提取的地标短语序列,对路径进行1到5的评分,跳过了单独地标定位和Pano2Land算法计算对齐分数的步骤,但性能略低于方法一,且结果可解释性较差。

    • 步骤7:对于每种方法的输出,计算真实路径与最佳对齐路径之间的归一化动态时间规整(nDTW)度量,以评估路径保真度,nDTW比成功率(SR)更符合任务目标,因为SR仅考虑智能体最后位置与真实目标的距离,而不考虑智能体按顺序访问的中间地标。

实验

  • 实验设置:在R2R-Habitat数据集的五个环境中进行实验,使用上述两种方法对路径进行排名和选择。

  • 实验结果
    • 路径假设生成准确率:平均准确率为65.72%,表明在大多数情况下,真实路径或高度相似的路径能够被选为路径假设之一。

    • nDTW分数:方法一的平均nDTW分数为88.92%,方法二为88.34%,且方法一的成功率(nDTW分数高于87%)更高,说明方法一在路径与指令对齐方面表现更好。

    • 标准差:两种方法的标准差均较小,表明结果具有一定的稳定性。

讨论与未来工作

  • 局限性
    • 该方法仅适用于之前探索过的环境,并且需要拓扑地图。

    • 当自然语言指令不是基于地标,而是包含大量空间和时间短语、动作短语以及绝对距离时,该方法可能不适用。

    • 由于管道是模块化的,不是端到端训练的,因此早期阶段(如LLM地标提取和VLM检索)的缺点会传播到后续阶段的Pano2Land对齐或GPT-4o排名中,路径假设的质量最终决定了GPT-4o或其他VLM计算的排名上限。

  • 未来工作:可以通过对现有的VLMs在导航任务上进行微调,以及将智能体的探索和导航部分无缝整合,使其能够在以前未见过的环境中部署,从而实现性能提升。

相关文章:

无需训练的具身导航探索!TRAVEL:零样本视觉语言导航中的检索与对齐

作者: Navid Rajabi, Jana Kosecka 单位:乔治梅森大学计算机科学系 论文标题:TRAVEL: Training-Free Retrieval and Alignment for Vision-and-Language Navigation 论文链接:https://arxiv.org/pdf/2502.07306 主要贡献 提出…...

C#测试linq中的左连接的基本用法

使用linq联表或者连接两个对象集合查询时一般使用的是join关键字,返回结果中包含两个表或两个对象集合中连接字段相等的数据记录,如果要实现sql语句中的左连接效果,并没有现成的left join关键字,此时可以使用DefaultIfEmpty 实现左…...

2025-04-19 Python 强类型编程

文章目录 1 方法标注1.1 参数与返回值1.2 变参类型1.3 函数类型 2 数据类型2.1 内置类型2.2 复杂数据结构2.3 类别选择2.4 泛型 3 标注方式3.1 注释标注3.2 文件标注 4 特殊情形4.1 前置引用4.2 函数标注扩展4.3 协变与逆变4.4 dataclass 5 高级内容5.1 接口5.2 泛型的协变/逆变…...

Java大模型MCP服务端开发-数据库查询与数据分析(附源码)

Java大模型MCP服务端开发-数据库查询 MCP服务器概述安装依赖服务端对象服务器传输服务器功能客户端测试源码地址MCP服务器概述 MCP服务器是模型上下文协议(MCP)架构中的基础组件,为客户端提供工具、资源和功能。它实现了协议的服务器端,负责: 暴露客户端可以发现和执行的工…...

spring-batch批处理框架(2)

文章目录 八、作业控制8.1 作业启动8.1.1 SpringBoot 启动8.1.2 Spring 单元测试启动8.1.3 RESTful API 启动 8.2 作业停止方案1:Step 步骤监听器方式方案2:StepExecution停止标记 8.3 作业重启8.3.1 禁止重启8.3.2 限制重启次数8.3.3 无限重启 九、Item…...

鸿蒙NEXT开发键盘工具类(ArkTs)

export declare type KeyboardCallBack (show: boolean, height: number) > void; import { AppUtil } from ./AppUtil; import { LogUtil } from ./LogUtil; import { ArrayUtil } from ./ArrayUtil;/*** 键盘工具类* author 鸿蒙布道师* since 2025/04/18*/ export class…...

动态规划算法的欢乐密码(一):斐波那契数模型

专栏:算法的魔法世界 个人主页:手握风云 目录 一、动态规划 二、例题讲解 2.1. 第 N 个泰波那契数 2.2. 三步问题 2.3. 使用最小花费爬楼梯 2.4. 解码方法 一、动态规划 动态规划是一种将复杂问题分解为更小的子问题,并利用子问题的解来…...

Echarts柱状图斜线环纹(图形的贴花图案)

单独设置 <!--此示例下载自 https://echarts.apache.org/examples/zh/editor.html?cbar-stack&codePYBwLglsB2AEC8sDeAoWszGAG0iAXMmuhgE4QDmFApqYQOQCGAHhAM70A0x6L7ACsAjQwtQqhIkwATxDUGbABaMAJsADu9HrAC-xHd3TZqNaCvEHiFcuaKTjAMzAMAzAFIu28hUXPY9ABYPQxIAI2AwTABbV…...

2025.04.19【Spider】| 蜘蛛图绘制技巧精解

Basic multi-group radar chart Start with a basic version, learn how to format your input dataset Radar chart with ggradar A Spider chart made using the ggradar package and a lot of customization.A work by Tuo Wang 文章目录 Basic multi-group radar chartRa…...

机器学习误差图绘

机器学习误差图绘制 绘图类 # Define the ModelComparisonPlot class class ModelComparisonPlot:def __init__(self, model_name):self.model_name model_namedef plot_comparison(self, y_val, y_pred, mse, mae, r2):# Create a figure with two subplotsfig, axes plt.…...

llama-factory微调报错:

报错信息 [INFO] [utils.py:789:see_memory_usage] CPU Virtual Memory: used 81.51 GB, percent 64.9% W0419 10:14:27.573000 108354 site-packages/torch/distributed/elastic/multiprocessing/api.py:897] Sending process 108373 closing signal SIGTERM W0419 10:14:27…...

【Linux】深入理解Linux文件系统:从C接口到内核设计哲学

文章目录 前言一、C语言中的文件接口1. 文件指针&#xff08;句柄&#xff09;FILE*以写方式打开文件&#xff0c;若文件不存在会新建一个文件W写入方式&#xff0c;在打开文件之前都会将文件内容全部清空追加写方式&#xff0c;其用法与写方法一致&#xff0c;不同在于a方法可…...

基于尚硅谷FreeRTOS视频笔记——15—系统配制文件说明与数据规范

目录 配置函数 INCLUDE函数 config函数 数据类型 命名规范 函数与宏 配置函数 官网上可以查找 最核心的就是 config和INCLUDE INCLUDE函数 这些就是裁剪的函数 它们使用一个ifndef。如果定义了&#xff0c;就如果定义了这个宏定义&#xff0c;那么代码就生效。 通过ifn…...

Linux网络编程 深入解析TFTP协议:基于UDP的文件传输实战

知识点1【TFTP的概述】 学习通信的基本&#xff1a;通信协议&#xff08;具体发送上面样的报文&#xff09;、通信流程&#xff08;按照什么步骤发送&#xff09; 1、TFTP的概述 tftp&#xff1a;简单文件传输协议&#xff0c;**基于UDP&#xff0c;**不进行用户有效性验证 …...

c# MES生产进度看板,报警看板 热流道行业可用实时看生产进度

MES生产进度看板&#xff0c;报警看板 热流道行业可用实时看生产进度 背景 本软件是给宁波热流道行业客户开发的生产电子看板软件系统 功能 1.录入工艺流程图&#xff08;途程图&#xff09;由多个站别组成。可以手动设置每个工艺站点完成百分比。 2.可以看生成到哪个工…...

Qt unknown module(s) in qt:serialport解决方法

在Ubuntu和CentOS系统中,若使用Qt时遇到Unknown module(s) in QT: serialport错误,通常是由于未正确安装Qt的串口模块(QSerialPort)或项目配置不当导致。以下是针对两种系统的解决方案: 一、安装Qt串口模块 1. Ubuntu/Debian系列 安装开发包: 执行以下命令安装Qt5串口模…...

AtCoder ABC402 A~D 题解

A - CBC 题目大意 给点字符串 S S S&#xff0c;输出其中所有大写字母。 思路 根据题意模拟即可。 代码 #include <cstdio> #include <iostream> #include <algorithm> using namespace std;int main() {string s;cin >> s;for (int i 0; i &l…...

2025.04.19-阿里淘天春招算法岗笔试-第二题

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 02. 秒杀顺子查找 问题描述 K小姐是一名热爱扑克牌的玩家。她定义一个数列是"顺子",当且仅当将该数列排序后,每个元素恰好比前一个元素大 1 1...

初识Redis · C++客户端string

目录 前言&#xff1a; string的API使用 set get&#xff1a; expire: NX XX: mset,mget&#xff1a; getrange setrange: incr decr 前言&#xff1a; 在前文&#xff0c;我们已经学习了Redis的定制化客户端怎么来的&#xff0c;以及如何配置好Redis定制化客户端&…...

华硕原厂系统枪神9/9p超竟版-WIN11原装开箱出厂系统安装

华硕原厂系统枪神9/9p超竟版-WIN11-24H2-专业工作站版本安装可带F12-ASUSRecovery恢复功能 适用机型&#xff1a; G635LX、G635LW、G835LX、G835LW、G615LW、G615LP、G615LM、G615LH G815LW、G815LP、G815LM、G815LH、G635LR、G835LR、G615LR、G815LR 远程恢复安装&#xff…...

CF1016赛后总结

文章目录 前言T1:Ideal GeneratorT2&#xff1a;Expensive NumberT3:Simple RepetitionT4&#xff1a;Skibidi TableT5:Min Max MEXT6:Hackers and Neural NetworksT7:Shorten the Array 前言 由于最近在半期考试&#xff0c;更新稍微晚了一点&#xff0c;还望大家见谅 &#…...

QT聊天项目DAY06

1.从git上同步项目 编译测试&#xff0c;编译通过 Post请求测试 测试成功 2. email is 打印有问题&#xff0c;检查 解析结果是存储在jsonResult中的&#xff0c;修改 3. 客户端实现Post验证码请求 3.1 同步Qt客户端项目 检查QT版本&#xff0c;由于我在公司用的还是QT5.12.9…...

GNU,GDB,GCC,G++是什么?与其他编译器又有什么关系?

文章目录 前言1. GNU和他的工具1.1 gcc与g1.2 gdb 2.Windows的Mingw/MSVC3.LLVM的clang/clang4.Make/CMake 前言 在开始之前我们先放一段Hello World&#xff1a;hello.c #include <stdio.h>int main() {printf("Hello World");return 0; }然后就是一段老生常…...

【AI提示词】IT专家顾问

提示说明 IT 专家顾问是一位专注于IT行业的专家&#xff0c;拥有深厚的技术背景和广泛的知识储备。他们能够为企业、政府机构或其他组织提供技术支持、解决方案设计和战略规划。 提示词 # Role: IT 专家顾问## Profile - **语言**: 中文 - **描述**: IT 专家顾问是一位专注于…...

笔记整理五

STP生成树 stp生成树是用于解决二层环路问题的协议。 二层环路为有以下三种&#xff1a; 1.广播风暴 2.MAC地址的偏移&#xff08;每一次循环&#xff0c;都会导致交换机来回刷新MAC地址表记录&#xff09; 3.多帧复制 stp生成树&#xff1a;需要将原本的环型拓扑结构转换…...

Java中“this”关键字梳理详解

在Java中&#xff0c;this 是一个非常重要的关键字&#xff0c;它表示当前对象的引用。也就是说&#xff0c;当你在某个类的实例方法或构造器中时&#xff0c;this 指向调用该方法或创建的当前对象实例。以下将结合代码示例和具体场景&#xff0c;详细讲解 this 的用法及其作用…...

mybatis plus打印sql日志到指定目录

1、mybatis plus打印sql日志 参考文档&#xff1a;mybatis plus打印sql日志_mybatisplus日志打印-CSDN博客 2、修改 修改InfoLevelLogger Override public void debug(String s) {// 修改这里logger.info(s);log.debug(s); } 增加&#xff1a;log.debug(s); 修改logback.x…...

奥比中光tof相机开发学习笔记

针对奥比中光 tof相机&#xff0c;官方提供的资料如下ProcessOn Mindmap|思维导图 Orbbec SDK Python Wrapper基于Orbbec SDK进行设计封装&#xff0c;主要实现数据流接收&#xff0c;设备指令控制。下面就其开发适配进行如下总结&#xff1a; &#xff08;1&#xff09;系统配…...

Oracle游标和触发器

--1.游标 --什么是游标 --游标是数据库在内存中开辟的数据缓冲区 --作用&#xff1a;用于遍历查询返回之后的结果集&#xff08;多条数据结果&#xff09; --游标分类&#xff1a;隐式游标&#xff0c;显示游标&#xff0c;REF游标&#xff08;动态游标&#xff09; --游标的状…...

【面试向】点积与注意力机制,逐步编码理解自注意力机制

点积&#xff08;dot product&#xff09;两个向量点积的数学公式点积&#xff08;dot product&#xff09;与 Attention 注意力机制&#xff08;Attention&#xff09;注意力机制的核心思想注意力机制中的缩放点积自注意力机制中&#xff0c;谁注意谁&#xff1f; 逐步编码理解…...