印度语言指令驱动的无人机导航!UAV-VLN:端到端视觉语言导航助力无人机自主飞行
- 作者:Pranav Saxena, Nishant Raghuvanshi and Neena Goveas
- 单位:比尔拉理工学院(戈瓦校区)
- 论文标题:UAV-VLN: End-to-End Vision Language guided Navigation for UAVs
- 论文链接:https://arxiv.org/pdf/2504.21432
主要贡献
- 提出了UAV-VLN,这是一个针对无人机(UAV)的端到端视觉语言导航(VLN)框架,能够在复杂的真实世界环境中解释和执行自由形式的自然语言指令,填补了无人机视觉语言导航领域的研究空白。
- 构建了一个包含1000多个空中导航指令提示及其对应子计划的新颖数据集,专门用于训练和评估适用于3D无人机环境的大型语言模型。
- 证明了该方法能够泛化到未见环境和指令,在室内外环境中均实现了稳健的零样本导航性能。
研究背景
- 无人机(UAV)在室内和室外环境中承担着越来越多的任务,如包裹递送、空中监视和搜索救援等,这些任务要求无人机能够在动态、以人类为中心的环境中导航,同时与静态物体和移动主体进行交互。
- 传统的无人机导航方法依赖于预定义的飞行路径或基于GPS的航点,难以应对动态环境、不确定性和信息不完整的挑战。
- 视觉语言导航(VLN)为无人机导航提供了新的方向,使无人机能够通过视觉输入将高级自然语言指令转化为复杂的导航任务,但以往的VLN方法主要针对在结构化二维环境中运行的轮式或腿式机器人,对无人机的适用性有限。
研究方法
问题定义
- 任务目标:给定一个自由形式的自然语言指令 I I I 和无人机从机载RGB相机捕获的视觉观测流 V = { v 1 , v 2 , … , v T } V = \{v_1, v_2, \dots, v_T\} V={v1,v2,…,vT},目标是预测一个控制指令序列 A = { a 1 , a 2 , … , a T } A = \{a_1, a_2, \dots, a_T\} A={a1,a2,…,aT},引导无人机从起始位置到达指令中描述的目标位置或目标状态,同时安全地穿越环境。
- 关键挑战:
- 语义解析:从非结构化语言中提取可操作的目标和空间线索。
- 视觉定位:在动态、无结构的环境中,将语言引用的对象和区域与无人机的视觉视野对齐。
- 轨迹规划:在三维空间中生成可行、安全且符合指令的飞行路径。
- 泛化能力:在新环境中保持鲁棒性,对新的指令和视觉场景具有最小的重新训练需求。
自然语言Prompt
- 核心目标:准确理解和执行自然语言指令。
- 问题:通用的预训练大型语言模型(如ChatGPT或Gemini)在无人机导航任务中可能会出现误解或错误分类动作,且依赖云端基础设施可能导致延迟或可用性问题。
- 解决方案:采用基于领域特定数据集的微调方法。作者定制了一个无人机指令数据集,并在该数据集上微调了TinyLlama-1.1B模型,使其更好地理解无人机特定的术语、空间指令和安全关键细节。
- 输入:
- 输入提示:用户提供的高级自然语言指令。
- 动作空间:无人机可以执行的所有有效离散动作集合。
- 输出:微调后的LLM生成一系列中间子目标,每个子目标对应一个可执行的无人机动作。
自动化任务规划器
- 功能:将LLM分解的高级子目标进一步转换为具体的行动计划,以便无人机在物理环境中执行。
- 实现:
- 利用无人机的离散动作空间,结合当前状态和环境上下文,为每个子目标生成有效且高效的子计划。
- 将这些子计划组合成一个连贯的最终执行计划,确保无人机安全且最优地完成任务。
- 技术实现:使用Robot Operating System 2(ROS 2)实现控制流程,提供模块化、实时能力和与无人机飞行堆栈的稳健集成。
视觉输入
- 目标:结合语言理解分析视觉输入,确定无人机的目标位置。
- 挑战:无人机不仅要准确感知环境,还要根据自然语言指令对感知结果进行语义定位。
- 解决方案:采用开放词汇对象检测器Grounding DINO,利用文本查询的语义丰富性定位视觉输入中的相关实体。
- 输入:指令和微调后的TinyLlama-1.1B模型处理后的文本。
- 输出:目标对象或区域的描述符,用于在相机流中定位目标。
- 功能:
- 解释指令以识别目标对象或地标。
- 使用Grounding DINO在相机流中定位这些目标。
- 根据无人机与检测到的实体之间的空间关系生成基于语义的子目标。
终止条件
- 重要性:准确判断何时终止导航任务与执行路径本身同等重要。过早或过晚终止可能导致无人机悬停、漂移或错过目标位置。
- 终止逻辑:
- 目标对象检测:使用Grounding DINO确认当前视野中是否存在指令中指定的目标对象或地标。
- 接近度检查:使用预定义的空间阈值验证无人机是否在目标的可接受范围内。
- 指令满足:验证从指令中派生的子目标是否已成功执行。
- 实现:终止逻辑集成在ROS 2控制堆栈中,确保任务结束时无人机状态的安全处理,并为未来扩展(如用户发起的停止信号或任务失败时的动态重新规划)提供支持。
实验
实验设置
- 硬件:在配备Nvidia GTX 1650 GPU的笔记本电脑上运行,模拟真实无人机配备的计算能力。
- 模拟器:使用Gazebo Garden与ROS 2进行仿真,无人机配备Pixhawk飞行控制器和底部安装的单目相机。
- 评估指标:使用成功完成任务的比例(Success Rate, SR)和路径效率(Success Rate Weighted by Inverse Path Length, SPL)进行评估。
评估场景
实验在四个不同场景中进行,每个场景包含15个不同的导航任务:
- 仓库
- 公园
- 房屋社区
- 办公室
基线方法
- DEPS:使用LLM进行中间推理,通过描述环境、解释子目标、规划候选动作并选择可行计划。
- VLMNav:使用Gemini 2.0 Flash作为零样本和端到端的语言条件导航策略。
实验结果
- UAV-VLN在所有场景中的表现均优于基线方法,显示出更高的成功完成任务的比例和路径效率。
- 例如,在“公园”场景中,UAV-VLN的成功率达到93.33%,路径效率为0.0792,而DEPS的成功率为86.67%,路径效率为0.0733;VLMNav的成功率为73.33%,路径效率为0.0755。
消融研究
- 不同LLM和视觉模型的组合:实验结果表明,使用开放词汇模型(如CLIPSeg和Grounding DINO)比封闭词汇模型(如YOLO)表现更好,能够更好地泛化到不同场景。
- 微调的重要性:微调后的TinyLlama-1.1B模型在所有场景中均优于未微调的模型,强调了针对无人机任务定制语言模型的重要性。
结论与未来工作
- UAV-VLN通过结合微调的大型语言模型的语义推理能力和开放词汇视觉定位,显著提高了指令遵循准确性和路径效率,能够在复杂动态环境中实现稳健的导航。
- 未来工作计划将导航历史和轻量级语义映射纳入系统,帮助无人机进行全局推理,避免冗余探索并规划更高效的路径,使UAV-VLN系统更接近于在具有挑战性的开放世界环境中实现真正可扩展和终身导航的目标。
相关文章:

印度语言指令驱动的无人机导航!UAV-VLN:端到端视觉语言导航助力无人机自主飞行
作者:Pranav Saxena, Nishant Raghuvanshi and Neena Goveas单位:比尔拉理工学院(戈瓦校区)论文标题:UAV-VLN: End-to-End Vision Language guided Navigation for UAVs论文链接:https://arxiv.org/pdf/250…...

mysql都有哪些锁?
MySQL中的锁机制是确保数据库并发操作正确性和一致性的重要组成部分,根据锁的粒度、用途和特性,可以分为多种类型。以下是MySQL中常见的锁及其详细说明: 一、按锁的粒度划分 行级锁(Row-level Locks) 描述:…...
解锁未来AI:使用DACA模式和Agentic技术提高开发效率
学习Agentic AI:Dapr Agentic Cloud Ascent (DACA)设计模式的应用与演进 背景介绍 近年来,Agentic AI(代理型人工智能)的概念在学术界和产业界掀起了一阵热潮。Agentic AI指的是能够自主感知、决策和行动的智能体系统,它们不仅改变了我们与技术互动的方式,也为行业发展…...

HarmonyOS NEXT 使用 relationalStore 实现数据库操作
大家好,我是V哥。在 HarmonyOS NEXT 开发中,如何操作数据库,V 哥在测试中总结了以下学习代码,分享给你,如何想要系统学习鸿蒙开发,可以了解一下 V 哥最近刚刚上架出版的 《HarmonyOS 鸿蒙开发之路 卷2 从入…...

R语言学习--Day04--数据分析技巧
在清洗完数据,在对数据分析前,我们要懂得先梳理一下我们的逻辑,即数据是什么形式的,要进行哪种分析,有可能呈现什么特点,进而再想怎么处理数据去画图可以最大程度地凸显我们要的特点。 一般来讲࿰…...

SRS流媒体服务器之RTC播放环境搭建
环境概述 srs版本 commit 44f0c36b61bc7c3a1d51cb60be0ec184c840f09d Author: winlin <winlinvip.126.com> Date: Wed Aug 2 10:34:41 2023 0800Release v4.0-r5, 4.0 release5, v4.0.271, 145574 lines. rtc.conf # WebRTC streaming config for SRS. # see full.…...

Android 性能优化入门(三)—— ANR 问题分析
需要清楚 ANR 的概念、类型、如何产生以及如何定位分析。 1、概述 1.1 ANR 的概念 ANR(Application Not Responding)应用程序无响应。如果你应用程序在主线程被阻塞太长时间,就会出现 ANR,通常出现 ANR,系统会弹出一…...
用HTML5实现实时ASCII艺术摄像头
用HTML5实现实时ASCII艺术摄像头 项目简介 这是一个将摄像头画面实时转换为ASCII字符艺术的Web应用,基于HTML5和原生JavaScript实现。通过本项目可以学习到: 浏览器摄像头API的使用Canvas图像处理技术实时视频流处理复杂DOM操作性能优化技巧 功能亮点…...

鸿蒙Flutter实战:22-混合开发详解-2-Har包模式引入
以 Har 包的方式加载到 HarmonyOS 工程 创建工作 创建一个根目录 mkdir ohos_flutter_module_demo这个目录用于存放 flutter 项目和鸿蒙项目。 创建 Flutter 模块 首先创建一个 Flutter 模块,我们选择与 ohos_app 项目同级目录 flutter create --templatemodu…...

游戏引擎学习第302天:使用精灵边界进行排序
在 game_render_group.cpp 中:正确计算 GetBoundFor() 里的 SpriteBound 值 我们正在进行游戏的排序问题调试。虽然这是一个二维游戏,但包含一些三维元素,因此排序变得比较复杂和棘手。混合二维和三维元素时,需要依赖一些比较主观…...

SpringBoot+MyBatis
切换数据库连接词 引入数据库连接词的依赖,配置数据库连接池的类型; 编写测试类: package org.example.threelayerdecouplingdomeapplication2;import org.example.threelayerdecouplingdomeapplication2.mapper.UserMapper; import org.ex…...

wireshark: Display Filter Reference
https://www.wireshark.org/docs/dfref/// 这个里面的扩展功能还是很强大,可以帮着问题分析。支持大量的自定义化的字段读取功能,支持很多的协议。 https://www.wireshark.org/docs/dfref///f/frame.html frame.time_delta Time delta from previous ca…...

Java基础 Day19
一、泛型(JDK5引入) 1、基本概念 在编译阶段约束操作的数据类型,并进行检查 好处:统一数据类型,将运行期的错误提升到了编译期 泛型的默认类型是 Object 2、泛型类 在创建类的时候写上泛型 在创建具体对象的时候…...

VMware+Windows 11 跳过安装阶段微软账号登录
OOBE 阶段 来到这里 断开网络适配器 VMware右下角,点击网络适配器,断开连接 同时按下 Shift 和 F10 ,打开命令提示符(cmd.exe) 输入 oobe\BypassNRO.cmd 并回车 接下来正常进行即可...

HarmonyOS开发-应用间跳转
1. HarmonyOS开发-应用间跳转 在鸿蒙中,我们再开发过程当中或多或少都会遇见想要从一个App的页面跳转至另一个App的页面,这个时候我们要怎么进行跳转呢,其实在HarmonyOS开发者文档中只需要用到Want对象和startAbility()方法进行跳转就可以了。 1.1. 实现 (1)我们要先准备两个…...
网工每日一练
2025/5/22.每日一练(单选题) 路由器在查找路由表时存在最长匹配原则,这里的长度指的是以下哪个参数? A. NextHopIP地址的大小 B. 路由协议的优先级 C. Cost D. 掩码的长度 路由器在查找路由表时遵循的最长匹配原则中,“…...
使用 Navicat 17 for PostgreSQL 时,请问哪个版本支持 PostgreSQL 的 20150623 版本?还是每个版本都支持?
🧑💻 PostgreSQL 用户 使用 Navicat 17 for PostgreSQL 时,请问哪个版本支持 PostgreSQL 的 20150623 版本?还是每个版本都支持? 🧑🔧 官方技术中心 Navicat Premium 17 和 Navicat for P…...

校园二手交易系统
该交易平台分为两部分,前台和后台。用户在前台进行商品选购以及交易;管理员登录后台可以对商品进行维护,主要功能包含: 后台系统的主要功能模块如下: 登录功能、注册功能、后台首页 系统设置: 菜单管理、…...

基于pycharm,python,flask,sklearn,orm,mysql,在线深度学习sql语句检测系统
详细视频:【基于pycharm,python,flask,sklearn,orm,mysql,在线深度学习sql语句检测系统-哔哩哔哩】 https://b23.tv/JLQDwNn...
LangChain02-Agent与Memory模块
Agent与Memory模块深度解析 1. Agent模块原理 1.1 ReAct框架的实现机制 Agent是LangChain中最具智能化的组件,其核心思想基于 ReAct框架(Reasoning Acting),即通过 思维(Thought) 和 行动(Ac…...

upload-labs通关笔记-第17关文件上传之二次渲染gif格式
系列目录 upload-labs通关笔记-第1关 文件上传之前端绕过(3种渗透方法) upload-labs通关笔记-第2关 文件上传之MIME绕过-CSDN博客 upload-labs通关笔记-第3关 文件上传之黑名单绕过-CSDN博客 upload-labs通关笔记-第4关 文件上传之.htacess绕过-CSDN…...
计算机网络学习20250525
应用层协议原理 创建一个网络应用,编写应用程序,这些应用程序运行在不同的端系统上,通过网络彼此通信 不需要在网络核心设备(路由器,交换机)上写应用程序网络应用程序工作在网络层以下将应用程序限制在端系统上促进应用程序迅速研发和部署,将复杂问题放到网络边缘网络应…...

STM32中的SPI通信协议
IIC和SPI的对比 IIC是半双工的通信,无法同时收发信息;SPI是全双工通讯,可以同时收发信息;IIC的通讯协议较复杂,而SPI通讯协议较简单;IIC需要通过地址选择从机,而SPI只主要一个引脚即可选中从机…...

从版本控制到协同开发:深度解析 Git、SVN 及现代工具链
前言:在当今软件开发的浪潮中,版本控制与协同开发无疑扮演着举足轻重的角色。从最初的单兵作战到如今大规模团队的高效协作,一套成熟且得力的版本控制系统以及围绕其构建的现代工具链,已然成为推动软件项目稳步前行的关键引擎。今…...
redis Pub/Sub 简介 -16 (PUBLISH、SUBSCRIBE、PSUBSCRIBE)
Redis Pub/Sub 简介:PUBLISH、SUBSCRIBE、PSUBSCRIBE Redis Pub/Sub 是一种强大的消息传递范例,可在应用程序的不同部分之间实现实时通信。它是构建可扩展和响应式系统的基石,允许组件在没有直接依赖的情况下进行交互。本章将全面介绍 Redis…...

《黄帝内经》数学建模与形式化表征方式的重构
黄帝内经的数学概括:《黄帝内经》数学建模与形式化表征方式的重构 摘要:《黄帝内经》通过现代数学理论如动力系统、代数拓扑和随机过程,被重构为一个形式化的人体健康模型。该模型包括阴阳动力学的微分几何、五行代数的李群结构、经络拓扑与同…...
PyTorch Image Models (timm) 技术指南
timm PyTorch Image Models (timm) 技术指南功能概述 一、引言二、timm 库概述三、安装 timm 库四、模型加载与推理示例4.1 通用推理流程4.2 具体模型示例4.2.1 ResNeXt50-32x4d4.2.2 EfficientNet-V2 Small 模型4.2.3 DeiT-3 large 模型4.2.4 RepViT-M2 模型4.2.5 ResNet-RS-1…...
基于Scikit-learn与Flask的医疗AI糖尿病预测系统开发实战
引言 在精准医疗时代,人工智能技术正在重塑临床决策流程。本文将深入解析如何基于MIMIC-III医疗大数据集,使用Python生态构建符合医疗AI开发规范的糖尿病预测系统。项目涵盖从数据治理到模型部署的全流程,最终交付符合DICOM标准的临床决策支…...
掌握聚合函数:COUNT,MAX,MIN,SUM,AVG,GROUP BY和HAVING子句的用法,Where和HAVING的区别
对于Java后端开发来说,必须要掌握常用的聚合函数:COUNT,MAX,MIN,SUM,AVG,掌握GROUP BY和HAVING子句的用法,掌握Where和HAVING的区别: ✅ 一、常用聚合函数(聚…...

【Node.js】高级主题
个人主页:Guiat 归属专栏:node.js 文章目录 1. Node.js 高级主题概览1.1 高级主题架构图 2. 事件循环与异步编程深度解析2.1 事件循环机制详解事件循环阶段详解 2.2 异步编程模式演进高级异步模式实现 3. 内存管理与性能优化3.1 V8 内存管理机制内存监控…...