arXiv-2024 | NavAgent:基于多尺度城市街道视图融合的无人机视觉语言导航

  • 作者:Youzhi Liu, Fanglong Yao*, Yuanchang Yue, Guangluan Xu, Xian Sun, Kun Fu

  • 单位:中国科学院大学电子电气与通信工程学院,中国科学院空天信息创新研究院网络信息系统技术重点实验室

  • 原文链接:NavAgent: Multi-scale Urban Street View Fusion For UAV Embodied Vision-and-Language Navigation (https://arxiv.org/pdf/2411.08579)

主要贡献

论文首个提出由大型视觉语言模型驱动的城市无人机导航模型(NavAgent),能够在城市环境中通过多尺度环境信息融合实现自主导航:

  • 设计并训练了细粒度地标识别器:利用GLIP模型开发了地标视觉识别器,通过NavAgent-Landmark2K数据集进行训练,显著提高了细粒度地标的识别准确率(提升了9.5%)。

  • 构建了动态生长的场景拓扑图:设计了拓扑图编码器,能够整合环境信息和当前视觉信息,增强了无人机在长距离导航中的规划能力。

  • 创建了首个真实城市街景的细粒度地标数据集:NavAgent-Landmark2K数据集包含2000个图像-文本对,涵盖了城市街道场景中的细粒度地标。

  • 在多个基准数据集上的优异表现:在Touchdown和Map2seq数据集上,NavAgent在任务完成率、最短路径距离和关键点准确率等指标上均优于现有的强基线模型。

研究背景

研究问题

论文主要解决无人机视觉语言导航(VLN)在城市环境中的应用。具体来说,现有的VLN方法主要集中在室内地面机器人场景,而在户外城市场景中应用时面临两个主要挑战:一是城市环境中物体众多,难以将图像中的细粒度地标与复杂的文本描述匹配;二是整体环境信息包含多种模态维度,表示的多样性显著增加了编码过程的复杂性。

研究难点

  • 细粒度地标的匹配:在全景观察图像中识别和匹配细粒度地标(如路边的邮箱、垃圾桶等),这些地标在图像中仅占少数像素,且相关的文本描述通常包含多个修饰词。

  • 多模态信息的编码:环境信息包括视觉数据(如观测图像)、语义信息(如地标类别和位置)和地理数据(如环境地图),这些数据类型具有不同的表示方式,并且在空间和时间上高度异构,增加了编码的复杂性。

研究方法

论文提出了NavAgent,用于解决无人机在城市环境中的视觉语言导航问题。

视觉识别器

利用GLIP构建一个地标视觉识别器,能够识别和语言化细粒度地标。通过对Google Street View中的街景图像进行标注,使用BLIP2生成地标的描述,创建了一个名为NavAgent-Landmark2K的细粒度地标数据集。

动态增长的场景拓扑图

开发一个动态增长的场景拓扑图,整合环境信息,并采用图卷积网络(GCN)编码全局环境数据。记录可导航位置作为节点,初始捕捉每个节点的位置和节点之间的方向关系,然后探索当前节点及其相邻节点,将其合并为一个连贯的场景拓扑图。

拓扑图编码器

设计拓扑图编码器以提取节点特征。通过GCN聚合信息,更新每个节点的特征,并使用全局池化提取全局节点特征。

基于大语言模型的动作决策

利用LLM综合多尺度信息。LLM接收导航指令文本、环境观测图像、地标信息和拓扑图特征,生成动作决策。

实验设计

数据集

实验使用了Touchdown和Map2seq两个数据集。Touchdown数据集包含18,402个导航实例,Map2seq数据集包含15,009个导航实例。数据集分为训练集、验证集和测试集。

视觉识别器训练

使用NavAgent-Landmark2K数据集对GLIP进行微调,评估其在细粒度地标识别任务中的性能。

模型训练

在Touchdown和Map2seq数据集上训练NavAgent模型,使用GPT-4作为地标文本提取器,微调后的GLIP作为地标视觉识别器,LLaMa2-13b模型作为决策LLM。

结果与分析

细粒度地标识别

微调后的GLIP在NavAgent-Landmark2K验证集上的细粒度地标识别准确率提高了9.5%。不同地标类别的识别准确率也有显著提高,例如公交车站的识别准确率提高了23.1%。

总体性能

在Touchdown数据集上,NavAgent在开发和测试集上的任务完成率分别比VELMA提高了4.6%和2.2%。在Map2seq数据集上,NavAgent在开发和测试集上的任务完成率分别比VELMA提高了2.4%和0.8%。

消融实验

移除视觉识别器或拓扑图编码器后,模型性能显著下降,验证了这两个模块的有效性。

总结

论文提出了NavAgent,首个由大型视觉语言模型驱动的城市无人机导航模型。通过结合多尺度环境信息,NavAgent在细粒度地标识别和全局环境信息编码方面表现出色。

实验结果表明,NavAgent在Touchdown和Map2seq数据集上均优于现有的最先进方法,验证了其在城市无人机VLN任务中的有效性。

未来工作将致力于提高NavAgent在实际场景中的导航能力,增强其在复杂道路条件和行人障碍物下的稳定性,并扩展其功能以支持实时的人类更新和调整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/64602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Leetcode Top 100】199. 二叉树的右视图

问题背景 给定一个二叉树的 根节点 r o o t root root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 数据约束 二叉树的节点个数的范围是 [ 0 , 100 ] [0,100] [0,100] − 100 ≤ N o d e . v a l ≤ 100…

校园点餐订餐外卖跑腿Java源码

简介: 一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合&am…

Android AOSP 源码中批量替换“phone“为“tablet“的命令详解

我来帮你写一篇关于这条命令的分析博客。 Android 项目中批量替换"phone"为"tablet"的命令详解 前言 在 Android 开发中,有时我们需要批量修改资源文件中的某些文本内容。今天我们来分析一条结合了 grep 和 sed 的强大命令,该命令用于将项目中的 “ph…

[计算机网络]ARP协议的故事:小明找小红的奇妙旅程

1.ARP小故事 在一个繁忙的网络世界中,每个设备都有自己的身份标识——MAC地址,就像每个人的身份证号码一样。在这个故事里,我们的主角小明(主机)需要找到小红(目标主机)的MAC地址,才…

YOLOv9-0.1部分代码阅读笔记-autoanchor.py

autoanchor.py utils\autoanchor.py 目录 autoanchor.py 1.所需的库和模块 2.def check_anchor_order(m): 3.def check_anchors(dataset, model, thr4.0, imgsz640): 4.def kmean_anchors(dataset./data/coco128.yaml, n9, img_size640, thr4.0, gen1000, verboseTrue…

arcgisPro将面要素转成CAD多段线

1、说明:正常使用【导出为CAD】工具,则导出的是CAD三维多线段,无法进行编辑操作、读取面积等。这是因为要素面中包含Z值,导出则为三维多线段数据。需要利用【复制要素】工具禁用M值和Z值,再导出为CAD,则得到…

c# iis 解决跨域问题

该错误是一个典型的跨域问题,说明从 http://www.fuc.com 发起的请求被目标服务器(https://aip.baidubce.com)拒绝,原因是目标服务器未返回正确的 AccessControlAllowOrigin 响应头。 解决方法 1. 了解问题的本质 CORS&#xff08…

vue+springboot+cas配置及cookie传递问题

cookie的注意事项 前边的文章已经介绍过cookie的基本信息,这里再次说明一点:cookie是无法进行跨域传递的,很多时候cookie无法设置和传递都是因为跨域问题,ip/端口不一致。 主要就是:被设置cookie和要传递cookie的地址…

java数据类型(补充-引用类型)

Java还提供了引用数据类型(Reference Types)。这些类型的变量存储的是对象的引用,而不是直接存储值。引用数据类型主要包括以下几类: 类型描述类(Class)每个对象都有自己的状态(属性或字段)、行为&#xf…

simulink离散传递函数得到差分方程并用C语言实现

一. 创建连续时间的传递函数 G ( s ) s 2 217 s s 2 384 s 8989 G(s) \frac{s^2217s}{s^2384s8989} G(s)s2384s8989s2217s​ 二. 离散连续时间的传递函数G(s) 2.1 在matlab中用c2d函数双线性变换法离散G(s), 下面是matlab脚本代码 % 创建连续时间传递函数 …

搭建私有链

文章目录 1. 准备工作2. 创建创世区块配置文件2.1 创建数据目录2.2 创建创世区块配置文件1. “config”部分2. “alloc”部分3. “coinbase”4. “difficulty”5. “extraData”6. “gasLimit”7. “nonce”8. “mixhash”9. “parentHash”10. “timestamp” 3. 初始化&#x…

AI Alignment: A Comprehensive Survey---治理

治理 除了技术解决方案之外,治理(规则的制定和执行)对于确保人工智能系统的安全开发和部署也是必不可少的。在本节中,我们将通过探索人工智能治理的作用、利益相关者在治理人工智能方面的功能和关系以及有效人工智能治理面临的若干…

CNN、RNN、LSTM和Transformer之间的区别和联系

文章目录 CNN、RNN、LSTM和Transformer之间的区别和联系前言CNN(卷积神经网络)RNN(循环神经网络)LSTM(长短期记忆网络)Transformer四者之间的联系与区别Yolo算法简介Yolo和CNN的关系YOLO各版本 CNN、RNN、L…

Java中通过ArrayList扩展数组

在Java中,ArrayList 是一个动态数组实现,能够根据需要自动调整其大小。与传统的数组不同,ArrayList 不需要预先指定大小,并且提供了许多方便的方法来操作集合中的元素。下面将详细介绍如何使用 ArrayList 进行数组的扩展&#xff…

dify.ai和fastgpt,各有什么优缺点,有什么区别

从专业技术角度来看,Dify.ai 和 FastGPT 的区别可以从 架构设计、技术生态、适用场景和性能优化 四个方面进行深入对比: 1. 架构设计 Dify.ai: 云端优先: 主要基于 SaaS(Software as a Service)模式&…

深度学习之超分辨率算法——FRCNN

– 对之前SRCNN算法的改进 输出层采用转置卷积层放大尺寸,这样可以直接将低分辨率图片输入模型中,解决了输入尺度问题。改变特征维数,使用更小的卷积核和使用更多的映射层。卷积核更小,加入了更多的激活层。共享其中的映射层&…

小程序UI自动化测试实践:Minium+PageObject !

小程序架构上分为渲染层和逻辑层,尽管各平台的运行环境十分相似,但是还是有些许的区别(如下图),比如说JavaScript 语法和 API 支持不一致,WXSS 渲染表现也有不同,所以不论是手工测试&#xff0c…

堆的深度剖析及使用

目录 1.堆的创建1.1初始化1.2销毁 2.堆的使用2.1数据插入2.2堆顶元素2.3数据删除 3.堆的难点3.1向上调整3.1.1视频分析向上调整3.1.2 代码分析 3.2向下调整3.2.1视频分析向下调整3.2.2代码分析 1.堆的创建 堆的物理储存方式其实是一个数组,而逻辑储存方式其实是一个…

Hu矩原理 | cv2中基于Hu矩计算图像轮廓相似度差异的函数cv2.matchShapes【小白记笔记】

Hu 矩(Hu Moments) 是一种用于描述轮廓形状的 不变特征。它基于图像的矩提取,经过数学变换得到 7 个不变矩,这些不变矩在图像 平移、旋转和缩放等几何变换下保持不变,适合用来衡量轮廓或形状的相似度差异。 1、图像矩…

计算无人机俯拍图像的地面采样距离(GSD)矩阵

引言 在无人机遥感、测绘和精细农业等领域,地面采样距离(Ground Sampling Distance,简称 GSD)是一个非常重要的指标。GSD 是指图像中每个像素在地面上实际代表的物理距离,通常以米或厘米为单位。GSD 决定了图像的空间…