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

ECCV-2024 | 指令不够用、大模型来生成!BEVInstructor:基于BEV感知和大模型的视觉语言导航指令生成

  • 作者:Sheng Fan, Rui Liu, Wenguan Wang, and Yi Yang

  • 单位:浙江大学

  • 原文链接:Navigation Instruction Generation with BEV Perception and Large Language Models (https://link.springer.com/chapter/10.1007/978-3-031-72670-5_21)

  • 代码链接:https://github.com/FanScy/BEVInstructor

主要贡献

  • 论文提出BEVInstructor,通过将鸟瞰图(BEV)特征与多模态大模型(MLLMs)结合,显著提高了导航指令生成的性能。

  • BEV编码器将多视角图像特征转换为BEV网格特征,保留三维几何和对象语义,提供更全面的场景理解。

  • 通过参数高效的提示调优和实例引导的迭代精调策略,BEVInstructor逐步优化指令,生成更准确和详细的导航指令。

  • 实验表明,该方法在R2R、REVERIE和UrbanWalk数据集上均优于现有方法,验证了其在复杂环境中生成高质量导航指令的有效性。

研究背景

研究问题

论文主要解决的问题是如何生成导航指令,使得具身智能体能够描述导航路线。现有的研究直接将2D透视观测序列映射到路线描述,但这种方法忽略了3D环境的几何信息和对象语义。

研究难点

  • 如何有效融合3D几何信息和对象语义以生成准确的导航指令;

  • 如何在零样本情况下利用多模态大模型(MLLMs)生成高质量的导航指令。

相关工作

  • 早期的解决方案依赖于手工制作的规则或模板,缺乏灵活性。

  • 后续研究采用神经网络进行端到端学习,如LSTM和Transformer。

  • 最近的多模态大模型展示了强大的视觉-语言理解和生成能力,但在零样本情况下仍无法完全满足导航指令生成的需求。

研究方法

BEVINSTRUCTOR通过引入BEV特征并结合2D视角特征来编码3D环境的语义和几何信息。视觉嵌入被用作视觉提示,并通过透视-BEV提示调整来实现跨模态对齐。此外,提出了实例引导的迭代细化策略,以逐步提高生成指令的质量。

Perspective-BEV编码器

论文构建了BEV编码器,通过3D检测的监督,将透视特征转换为3D信息。

该编码器使用deformable注意力层来采样图像特征,并通过深度一致性权重来区分不同深度的参考点。

Perspective-BEV融合模块

这是一种参数高效的更新策略,它将3D几何信息融入提示中,以利用MLLMs的跨模态能力。

通过在视觉嵌入序列中插入可学习的嵌入作为透视Perspective-BEV提示来实现。

Perspective-BEV提示调优

为了参数高效更新,提出了Perspective-BEV提示调优方法。

该方法在MLLMs的最后几层插入可学习的嵌入作为提示,并通过自注意力和线性层来调节深度特征。

实例引导的迭代精调

采用了实例引导的迭代精调策略,逐步改进生成的指令。

初始阶段,BEVInstructor输出一系列候选实例词作为初始地标token,然后在模型中结合这些粗粒度地标来细化指令。

这一过程通过多轮迭代实现,以提高指令的质量和相关性。

实验设计

数据集

实验在三个数据集上进行:R2R、REVERIE和UrbanWalk。R2R和REVERIE用于室内场景,UrbanWalk用于室外场景。

评估指标

使用五个标准指标进行评估:BLEU、CIDEr、METEOR、ROUGE和SPICE。其中,SPICE被作为主要指标。

实现细节

BEVInstructor使用PyTorch实现,所有模型在单台机器上使用2个NVIDIA A40 GPU训练。多模态大模型使用LLaMA-7B初始化,具有32层。

结果与分析

定量结果

  • 在R2R、REVERIE和UrbanWalk数据集上,BEVINSTRUCTOR在所有指标上都取得了最佳性能。

  • 在R2R val seen和val unseen上,BEVINSTRUCTOR分别在SPICE上提高了1.9%和1.4%,在CIDEr上提高了4.6%和3.0%。

  • 在REVERIE val seen和val unseen上,BEVINSTRUCTOR在SPICE上分别提高了7.0%和4.2%,在CIDEr上分别提高了12.6%和8.3%。

  • 在UrbanWalk测试集上,BEVINSTRUCTOR在SPICE上提高了11.3%,在Bleu-4上提高了12.5%,在Meteor上提高了7.3%,在Rouge上提高了13.1%。

定性结果

  • 在REVERIE数据集上,BEVINSTRUCTOR在识别与动作视图相关的场景和对象方面表现出增强的能力,并在细化阶段将这些元素明确地纳入指令中。

诊断实验

  • 通过一系列消融研究评估了BEVINSTRUCTOR的关键模块的有效性,证明了各个组件的互补性和整体设计的有效性。

指令质量分析

  • 通过与HAMT和DUET模型的比较,验证了BEVINSTRUCTOR生成的指令在实际视觉-语言导航任务中的路径引导能力和数据增强效果。

总结

BEVInstructor通过结合BEV特征和多模态大模型,显著提高了3D感知和语言能力。

该方法在多个数据集上均表现出色,验证了其生成高质量导航指令的有效性。

相关文章:

ECCV-2024 | 指令不够用、大模型来生成!BEVInstructor:基于BEV感知和大模型的视觉语言导航指令生成

作者:Sheng Fan, Rui Liu, Wenguan Wang, and Yi Yang 单位:浙江大学 原文链接:Navigation Instruction Generation with BEV Perception and Large Language Models (https://link.springer.com/chapter/10.1007/978-3-031-726…...

【UE5.3.2 】引擎中安装RiderLink插件

Rider会提示你安装这个插件选择在引擎中安装 Running AutomationTool... Using bundled DotNet SDK version: 6.0.302 Starting AutomationTool... Parsing command line: BuildPlugin -Unversioned -Plugin=C:\Users\zhangbin\AppData\Local\...

【HarmonyOS 5.0】第十二篇-ArkUI公共属性(一)

一、公共样式类属性 ArkUI框架提供的基础组件直接或者间接的继承自 CommonMethod , CommonMethod 中定义的属性样式属于公共样式。下面就来学习这些样式 1.1.尺寸设置 宽高设置 设置组件的宽高,缺省时使用组件自身内容的宽高,比如充满父布…...

京准电钟解读,NTP网络授时服务器如何提升DCS系统效率

京准电钟解读,NTP网络授时服务器如何提升DCS系统效率 京准电钟解读,NTP网络授时服务器如何提升DCS系统效率 NTP 网络授时服务器为防火墙内的网络设备、终端、服务器提供准确、可靠和安全的高精度卫星时间参考,可为它支持数万台支持标准的网…...

4.银河麒麟V10(ARM) 离线安装 MySQL

1. 系统版本 [rootga-sit-cssjgj-db-01u ~]# nkvers ############## Kylin Linux Version ################# Release: Kylin Linux Advanced Server release V10 (Lance)Kernel: 4.19.90-52.39.v2207.ky10.aarch64Build: Kylin Linux Advanced Server release V10 (SP3) /(La…...

Redis四种模式在Spring Boot框架下的配置

1. 单机模式 application.properties 配置: spring.redis.host127.0.0.1 spring.redis.port6379 spring.redis.passwordyourpasswordspring.redis.host: 该配置指定 Redis 服务器的主机地址。在单机模式下,通常是本地 Redis 实例(127.0.0.1…...

Golang的性能监控指标

Golang的性能监控指标 一、介绍 是一种高性能的编程语言,因其并发模型和内建的性能监控工具而备受开发者青睐。在实际开发中,我们需要了解一些重要的性能监控指标,以便及时发现和解决性能问题。本文将介绍Golang中常用的性能监控指标&#xf…...

基于GAN和DenseNett组合的调制信号分类网络(源码)

(需要源码请私信或评论) 生成对抗网络(GAN)原理 生成对抗网络(GAN)是一种革命性的深度学习模型,在无监督学习领域取得了显著进展。其核心思想基于 二人零和博弈 ,通过生成模型和判别模型的相互竞争实现高质量的数据合成。GAN由Ian Goodfellow等人于2014年首次提出,随后在图…...

uniapp 项目基础搭建(vue2)

一 .创建项目 创建项目可以通过工具创建,也可以通过脚手架下载 1.通过工具创建 2.通过脚手架下载 安装脚手架 ​​npm install -g vue/cli 下载项目模板 vue create -p dcloudio/uni-preset-vue 项目名称 二. 下载相关依赖 1. 项目默认是没有package.json文件的&…...

中关村科金外呼机器人智能沟通破解营销难题

当今,传统的营销方式在效率、成本控制、客户管理等方面逐渐显现出局限性,难以满足现代企业的需求。如何提升营销效率、降低运营成本、有效管理客户会员,成为企业的难题。中关村科金外呼机器人通过智能化沟通技术,为企业提供了一站…...

【Linux】处理用户输入

一、基本介绍 1、如何传递参数 向shell脚本传递数据的最基本方法就是通过命令行参数。如下,这条命令会向test.sh脚本传递10和20这两个参数。 ./test.sh 10 20 2、如何读取参数 bash shell会将所有的命令行参数都指派给称作位置参数(positional parame…...

flask后端开发(1):第一个Flask项目

目录 一、Helloworddebug、host、port的配置 gitcode地址: https://gitcode.com/qq_43920838/flask_project.git 一、Helloword 一般是会创建两个文件夹和app.py app.py from flask import FlaskappFlask(__name__)app.route(/) def hello_world():return Hello…...

Highcharts 饼图:数据可视化利器

Highcharts 饼图:数据可视化利器 引言 在数据可视化的领域中,饼图作为一种经典且直观的图表类型,被广泛应用于各种行业和场景中。Highcharts,作为一个功能强大且易于使用的JavaScript图表库,为我们提供了创建交互式和…...

黑马商城项目—服务注册、服务发现

服务注册 我们把item-service注册到Nacos,步骤如下: 1.引入依赖 在item-service的pom.xml中添加依赖: 2.配置Nacos 在item-service的application.yml中添加nacos地址配置: 3.配置服务实例 为了测试一个服务多个实例的情况,我…...

【ES6复习笔记】Map(14)

概念 Map 是 JavaScript 中的一种数据结构,它允许你存储键值对,并且可以通过键来访问对应的值。在本教程中,我们将学习如何声明、添加、删除、获取和遍历 Map 集合。 ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合。…...

15-makefile

一、Makefile的概述 1.认识make make 是一个命令,是个可执行程序,用来解析 Makefile 文件的命令;linux 环境下,这个命令存放在 /usr/bin/ 目录下;当用户输入 make 指令时,系统会自动寻找 makefile、Makef…...

yii2 手动添加 phpoffice\phpexcel

1.下载地址:https://github.com/PHPOffice/PHPExcel 2.解压并修改文件名为phpexcel 在yii项目的vendor目录下创建一个文件夹命名为phpoffice 把phpexcel目录放到phpoffic文件夹下 查看vendor\phpoffice\phpexcel目录下会看到这些文件 3.到vendor\composer目录下…...

使用 AI 辅助开发一个开源 IP 信息查询工具:一

本文将分享如何借助当下流行的 AI 工具,一步步完成一个开源项目的开发。 写在前面 在写代码时,总是会遇到一些有趣的机缘巧合。前几天,我在翻看自己之前的开源项目时,又看到了 DDNS 相关的讨论。虽然在 2021 年我写过两篇相对详细的教程&am…...

HNUST-数据分析技术课堂实验

1.要求 1,从下列第一、二、三组实验中各至少选取一个算法进行实验,选修组实验不作强制要求;2,实验过程不限,目标在于锻炼算法实现过程,即可采用C、C、Java、Python(建议)等任意语言编…...

P3456 [POI2007] GRZ-Ridges and Valleys BFS-连通块思想

题目描述 Byteasar loves trekking in the hills. During the hikes he explores all the ridges and valleys in vicinity. Therefore, in order to plan the journey and know how long it will last, he must know the number of ridgesand valleys in the area he is goi…...

docker详细操作--未完待续

docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

django filter 统计数量 按属性去重

在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...