当前位置: 首页 > 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…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...