国防科大清华城市空间无人机导航推理!GeoNav:赋予多模态大模型地理空间推理能力,实现语言指令导向的空中目标导航

- 作者: Haotian Xu 1 ^{1} 1, Yue Hu 1 ^{1} 1, Chen Gao 2 ^{2} 2, Zhengqiu Zhu 1 ^{1} 1, Yong Zhao 1 ^{1} 1, Yong Li 2 ^{2} 2, Quanjun Yin 1 ^{1} 1
- 单位: 1 ^{1} 1国防科技大学系统工程学院, 2 ^{2} 2清华大学
- 论文标题:GeoNav: Empowering MLLMs with Explicit Geospatial Reasoning Abilities for Language-Goal Aerial Navigation
- 论文链接:https://arxiv.org/pdf/2504.09587
主要贡献
- 论文提出了针对语言目标空中导航任务的地理空间感知多模态智能体GeoNav,其核心贡献在于为多模态大模型(MLLMs)赋予了明确的地理空间推理能力,显著提升了无人机(UAVs)在复杂城市环境中的长距离导航性能。
- 设计了分阶段的推理框架,将语言目标城市空中导航任务分解为地标导航、目标搜索和精确定位三个阶段,通过结构化和多模态的链式思考(CoT)提示与 MLLMs 协同工作,实现了从粗到细的逐步推理。
- 为了支持跨尺度规划,GeoNav 融合了文本地理先验知识、语言指令和具身观测数据,构建了两种不同类型的地理空间表示:全局但简练的认知地图(SCM)和局部但精细的场景图(HSG),分别用于快速导航和精确定位。
- 在具有挑战性的 CityNav 城市导航基准测试中,GeoNav 在导航成功率和效率方面相较于典型基线模型取得了显著提升,证明了其在复杂城市环境导航任务中的有效性。
研究背景
语言目标空中导航是具身人工智能(embodied AI)中的一个重要研究领域,要求无人机能够在未知的室外环境中,根据自然语言指令定位目标对象。
这一任务在现实世界中有广泛的应用前景,如物流配送和公共安全等。然而,现有的方法大多是基于室内导航的思想,将局部视觉与指令对齐的方向选择应用于整个导航过程,这些方法在小规模环境中可能有效,但在大规模城市空中导航中面临诸多挑战:
- 大规模空间推理:复杂的城市环境需要高层次的空间推理能力来实现远距离导航,但无人机的视野有限,无法直接获取整个地理布局,这使得获取和组织多尺度空间知识以进行长距离规划变得困难。
- 视觉语义的模糊性:城市中存在大量视觉上相似的实体,如建筑物和车辆,仅凭外观难以区分,这增加了基于目标级感知来区分目标的难度。
- 自适应规划:长距离空中导航任务涉及多种情况,如目标物体在视野内和视野外的阶段,为了提高导航效率,无人机需要根据不同的阶段目标灵活调整策略,这要求智能体能够利用感知、空间记忆和推理来做出基于上下文的决策。
研究方法
GeoNav是一种多模态大模型(MLLM)导航框架,整合了地理和具身信息的双尺度时空感知,用于地标目标导航任务。GeoNav包含三个关键模块:图解式认知地图(SCM)、层次化场景图(HSG)和多阶段导航策略(MNS),分别建模了智能体的感知、记忆和决策能力。

图解式认知地图
为了快速导航至指定的、可能较远的地标,无人机需要内部具备城市环境的整体模型。在此基础上,无人机可以掌握导航方向和距离,从而避免曲折飞行。SCM通过将地标先验信息和实时观测信息融合,形成一个鸟瞰的、图解式的地图。具体来说,SCM的构建涉及以下步骤:
- 地理先验信息的获取与投影 :从OpenGIS数据中检索地标的先验地理信息,并将其投影到地标地图上。
- 图像处理与语义信息提取 :利用GroundDino处理无人机的向下RGB图像以检测对象,并通过Segment Anything对结果边界框进行优化,生成分割掩码。将掩码像素转换为世界坐标,得到标注有对象信息的语义地图。
- 地图与导航策略的形成 :将上述地图与方向提示(通过虚线和箭头指示无人机轨迹)相结合,形成导航策略的基础。
层次化场景图
场景图结构
- 层次化场景图通过节点和节点之间的边来描述城市中的空间关系。定义了三种类型的节点:区块、地标和对象,以表示场景的不同粒度。
- 区块是预先知晓的,表示一系列地标节点的集合。地标节点来源于指令中解析出的名称,如街道和地标建筑。HSG基于地标先验信息开始构建。
场景图构建
- 对象提取与关注对象筛选 :GeoNav首先通过提示LLM从给定指令中提取感兴趣的对象。例如,从指令 “在道路左侧找到一辆白色汽车,旁边停着一辆黑色汽车” 中,LLM会关注可能出现的白色和黑色汽车。
- 空间关系确定 :利用基于MLLM的视觉编码器,结合无人机RGB图像和预定义的空间关系,确定两个对象节点之间的空间关系。
递增图更新
- 在第二阶段的每个时间步长,通过合并从当前图像提取的子图与先前构建的图,递增地更新场景图。
- 为了识别和合并跨帧的重复对象节点,定义了相似度度量公式: S i j = ( 1 − ψ ) S i j spatial + ψ S i j semantic S_{i j}=(1-\psi) S_{i j}^{\text {spatial }}+\psi S_{i j}^{\text {semantic }} Sij=(1−ψ)Sijspatial +ψSijsemantic 其中, S i j spatial S_{i j}^{\text {spatial }} Sijspatial 表示节点 i i i 和节点 j j j 之间的空间相似性, S i j semantic S_{i j}^{\text {semantic }} Sijsemantic 表示它们的语义相似性, ψ \psi ψ 是平衡两个部分的加权参数。如果 S i j S_{i j} Sij 超过阈值 π \pi π ,则认为 i i i 和 j j j 是同一对象,并用单个节点表示。此外,为了减轻VLM幻觉的影响,采用简单的再检测策略,只有在两个连续帧中持续被检测到的对象才会作为节点保留在场景图中。

节点检索作为记忆
-
在第三阶段,无人机基于HSG和视觉观测来定位目标。HSG的层次化结构使智能体能够根据目标与地标或其他对象之间的空间关系来识别目标对象。
-
为了解释自然语言指令,定义了一个由LLM驱动的递归查询机制,将复杂指令转换为一系列结构化操作,具体过程如下:
- 地标节点检索 :首先在HSG中检索指令中提到的地标节点。
- 错误边过滤 :基于目标与地标节点之间的关系,过滤掉不正确的边分支。
- 目标定位 :在剩余的子图中,通过目标与其他对象的关系来定位目标。
- 查询条件调整 :如果查询失败,模块会自动调整查询条件(例如,放宽关系类型),并递归地扩展搜索范围,以确保检索到最相关的结果。
阶段感知推理
阶段调度器
在任务执行前,智能体将复杂指令分解为多个子任务。每个子任务包含一个目标和期望状态,并选择一种执行方法(导航、搜索或定位)。每个子任务都有停止条件,当条件满足时,触发后续子任务。完成当前阶段的所有任务后,系统切换到下一策略。
多模态推理
- 粗粒度导航 :MLLM通过生成子目标描述来指定参考地标,结合可视化SCM使MLLM了解地标与智能体之间的空间关系,计算与地标之间的相对方位和距离,确定航路点选择。
- 细粒度搜索 :MLLM生成子目标描述以提示智能体进行区域搜索,强调新奇驱动的探索,视觉输入包括语义掩码标注地图,驱动MLLM的动作推理。
- 定位 :当探索覆盖率达到一定水平后,无人机在层次化场景图中激活查询引擎以定位目标,选择置信度最高的候选节点作为导航目的地。
实验
数据集与评估指标
- 数据集:导航指令来自 CityNav 数据集,包含 32,637 条自然语言描述和人类示范轨迹。
- 无人机图像取自 SensatUrban 数据集,收集了伯明翰和剑桥的正射投影和深度图,用于模拟无人机获取的 RGBD 输入。
- 地理信息数据库中的地标和物体的空间坐标及几何轮廓来自 CityRefer 数据集。
- 评估指标:采用四个标准指标评估导航性能,包括导航误差(NE)、成功率(SR)、Oracle 成功率(OSR)和按路径长度加权的成功率(SPL)。
- NE 衡量智能体最终位置与目标真实位置之间的欧几里得距离;
- SR 计算智能体在预定义成功阈值(20 米)内终止的百分比;
- OSR 评估智能体的轨迹是否曾接近目标,与路径执行解耦;
- SPL 是按参考路径长度与实际路径长度之比加权的成功率。
基线方法与性能对比
- 基线方法:将 GeoNav 与三种类型的基线方法进行对比,包括:
- 基于规则的方法(随机和贪婪)、
- 基于学习的方法(Seq2Seq 和 CMA)、
- 原生 MLLM 方法(GPT-4o 和 Qwen-VL-Max)。
- 性能对比:
- 在 CityNav 验证集上,GeoNav 在成功率(SR)和 Oracle 成功率(OSR)方面均优于其他方法。
- 在简单任务中,GeoNav 的性能分别比第二名 MGP 方法高出 12.53% 和 49.47%;
- 在中等难度任务中,提升幅度分别为 6.25% 和 20.83%;
- 在困难任务中,提升幅度分别为 8.34% 和 12.5%。
- 此外,GeoNav 在 SPL 指标上也表现出色,表明其在平衡导航成功率和路径效率方面的有效性。

消融研究
- 模块消融:
- 通过在验证集上进行消融测试,评估了 GeoNav 中三个模块的重要性。
- 结果表明,仅使用 SCM 的方法(方法 1)导航准确性和成功率较低;在此基础上增加 HSG(方法 2)可显著降低 NE,并提高 SR、OSR 和 SPL;而完整方法(方法 5)在 SR 和 SPL 上表现最佳,凸显了 HSG 和 MNS 模块对整体性能的贡献。
- 此外,省略 SCM 的方法(方法 4)导致 SR 显著下降,强调了视觉认知地图作为信息丰富且整体表示的必要性。

- 三阶段策略贡献:
- 通过测试 GeoNav 在不同阶段是否能持续引导无人机接近目标,验证了三阶段策略的有效性。
- 在地标导航阶段,无人机与目标的平均距离显著降低,尤其是对于中等和困难设置,这证明了基于 SCM 的导航在长距离任务中的有效性;
- 在搜索阶段,由于 GeoNav 进行新颖性驱动的探索,无人机可能会在地标和目标周围移动,导致剩余距离不确定;
- 在定位阶段,通过在 HSG 中精确检索目标,无人机最终会更接近目标,表明 HSG 在目标定位方面的有效性。

定性分析

- 通过可视化 GeoNav 的导航过程,展示了其在不同阶段的行为。
- 在导航阶段,HSG 中仅包含街区和地标节点,GeoNav 处理从相机图像获得的 SCM 并推断向前移动;
- 到达 St Johns 学院图书馆附近后,无人机开始基于 SCM 进行搜索,同时 HSG 开始更新物体节点;
- 最终,在满足探索覆盖条件后,切换到定位阶段,通过多步查询复杂目标描述获得阴影覆盖的子图,并推断最有可能是目标的节点。
结论与未来工作
- GeoNav 通过模拟人类处理复杂规划问题的从粗到细的思维方式,为语言目标空中导航任务提供了一个有效的解决方案。
- 通过设计两种地理空间表示(SCM 和 HSG)和分阶段的推理框架,GeoNav 充分利用了 MLLMs 的多模态推理能力,显著提高了无人机在复杂城市环境中的导航性能。
- 然而,导航成功率和效率仍有待提高,未来的工作可以从以下两个方面展开:
- 当前的多模态 CoT 提示在每次移动时都会消耗大量的 MLLM 令牌,因此需要一个更优雅的调度框架,例如将基于 MLLM 的任务级推理与基于学习的动作级控制异步结合。
- 考虑联合构建和推断两种空间表示,以提高模型结构和语义的准确性。
相关文章:
国防科大清华城市空间无人机导航推理!GeoNav:赋予多模态大模型地理空间推理能力,实现语言指令导向的空中目标导航
作者: Haotian Xu 1 ^{1} 1, Yue Hu 1 ^{1} 1, Chen Gao 2 ^{2} 2, Zhengqiu Zhu 1 ^{1} 1, Yong Zhao 1 ^{1} 1, Yong Li 2 ^{2} 2, Quanjun Yin 1 ^{1} 1单位: 1 ^{1} 1国防科技大学系统工程学院, 2 ^{2} 2清华大学论文标题:Geo…...
uniapp打ios包
uniapp在windows电脑下申请证书并打包上架 前言 该开发笔记记录了在window系统下,在苹果开发者网站生成不同证书,进行uniapp打包调试和上线发布,对window用户友好 注:苹果打包涉及到两种证书:开发证书 和 分发证书 …...
Redis 的指令执行方式:Pipeline、事务与 Lua 脚本的对比
Pipeline 客户端将多条命令打包发送,服务器顺序执行并一次性返回所有结果。可以减少网络往返延迟(RTT)以提升吞吐量。 需要注意的是,Pipeline 中的命令按顺序执行,但中间可能被其他客户端的命令打断。 典型场景&…...
(14)VTK C++开发示例 --- 将点投影到平面上
文章目录 1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果 更多精彩内容👉内容导航 👈👉VTK开发 👈 1. 概述 计算一个点在一个平面上的投影。 vtkPlane 是 VTK(Visualization Toolkit)库中的一个类&…...
快速搭建 Cpolar 内网穿透(Mac 系统)
1、Cpolar快速入门教程(官方) 链接地址:Cpolar 快速入门 2、官方教程详解 本地安装homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"这个是从 git 上拉取的&#x…...
【Flink SQL实战】 UTC 时区格式的 ISO 时间转东八区时间
文章目录 一、原始数据格式二、解决方案三、其他要求 在实际开发中,我们常常会遇到此类情况:数据源里的时间格式是类似 2025-04-21T09:23:16.025Z 这种带 TimeZone 标识的 ISO 8601 格式,而我们需要在 Flink SQL 中将其转换成北京时间显示。 …...
动态监控进程
1.介绍: top和ps命令很相似,它们都是用来显示正在执行的进程,top和ps最大的不同之处,在于top在执行中可以更新正在执行的进程. 2.基本语法: top [选项] 选项说明 ⭐️僵死进程:内存没有释放,但是进程已经停止工作了,需要及时清理 交互操作说明 应用案…...
HADOOP 3.4.1安装和搭建(尚硅谷版~)
目录 1.配置模版虚拟机 2.克隆虚拟机 3.在hadoop102安装JDK 4.完全分布式运行模式 1.配置模版虚拟机 1.安装模板虚拟机,IP地址192.168.10.100、主机名称hadoop100、内存2G、硬盘20G(有需求的可以配置4G内存,50G硬盘) 2.hado…...
第 4 篇:平稳性 - 时间序列分析的基石
第 4 篇:平稳性 - 时间序列分析的基石 在上一篇中,我们学习了如何将时间序列分解为趋势、季节性和残差。我们看到,很多真实世界的时间序列(比如 CO2 浓度)都包含明显的趋势(长期向上或向下)和/…...
DeepSeek赋能Nuclei:打造网络安全检测的“超级助手”
引言 各位少侠,周末快乐,幸会幸会! 今天唠一个超酷的技术组合——用AI大模型给Nuclei开挂,提升漏洞检测能力! 想象一下,当出现新漏洞时,少侠们经常需要根据Nuclei模板,手动扒漏洞文章…...
分享一个python启动文件脚本(django示例)
今天给大家分享一个python启动文件脚本 在日常开发中,我们常常需要运行多条命令来完成“静态收集”“数据库迁移”“启动服务”……如果把这些命令整合到一个脚本里就好了 一、整体流程概览 #mermaid-svg-wA6UnfATaUOfJoPn {font-family:"trebuchet ms"…...
从0到1彻底掌握Trae:手把手带你实战开发AI Chatbot,提升开发效率的必备指南!
我正在参加Trae「超级体验官」创意实践征文, 本文所使用的 Trae 免费下载链接: www.trae.ai/?utm_source… 前言 大家好,我是小Q,字节跳动近期推出了一款 AI IDE—— Trae,由国人团队开发,并且限时免费体…...
3200温控板电路解析
提示:文章 文章目录 前言一、背景二、2.12.2 三、3.1 总结 前言 前期疑问: 本文目标: 一、背景 最近重温3200温控板电路设计和芯片选型 3200代码仓 二、 2.1 按照顺序整理,主要是依靠自己想到的来整理 1、传感器是pt1000&…...
opencv图片颜色识别,颜色的替换
图片颜色识别 1. RGB颜色空间2. 颜色加法2.1使用numpy对图像进行加法2.2使用opencv加法(cv2.add) 3 颜色加权加法(cv2.addWeighted())4. HSV颜色空间5. 制作掩膜4. 与运算(cv2.bitwise_and)5.颜色的替换7 R…...
B实验-12
需要注意版本、页面源代码 两个文件一个目录:phpinfo robots phpmyadmin 实验12 靶机1 一个key在phpmyadmin,一个key在回收站 用两个扫描目录的工具扫,nmap给python版 情况1:弱口令 root root root 123456 …...
Python多技术融合在生态参量估算中的创新应用—以蒸散发与植被GPP估算为例
在全球气候变化背景下,精确估算陆地生态系统水碳通量成为生态研究的关键命题。本研究创新性地整合Python编程、遥感数据处理、机器学习算法及生态过程模型,构建了一套高效可靠的蒸散发(ET)与植被总初级生产力(GPP&…...
文件有几十个T,需要做rag,用ragFlow能否快速落地呢?
一、RAGFlow的优势 1、RAGFlow处理大规模数据性能: (1)、RAGFlow支持分布式索引构建,采用分片技术,能够处理TB级数据。 (2)、它结合向量搜索和关键词搜索,提高检索效率。 …...
【网工第6版】第5章 网络互联②
目录 ■ IPV6 ▲ IPV6报文格式 ◎ IPV6扩展报头(RFC2460) ◎ IPv6相关协议 ▲ IPV6地址分类 ◎ IPv6地址基础 ◎ IPv6地址举例 ◎ IPv6地址分类 ◎ 特殊地址对比IPv4 vs IPv6 ▲ 过渡技术 本章重要程度:☆☆☆☆☆ ■ IPV6 与IPv4…...
为什么Makefile中的clean需要.PHONY
原因一:避免Makefile检查时间戳 前置知识:makefile在依赖文件没有改变时不会执行编译命令 #第一次执行,OK [rootVM-16-14-centos ~]# make g -E main.cc -o main.i g -S main.i -o main.s g -c main.s -o main.o g main.o -o main#第二…...
Vue组件库开发实战:从0到1构建可复用的微前端模块
🔥 随着前端项目越来越复杂,如何开发一个可以随处使用的组件库变得尤为重要。本文将带你从0开始,实现一个完全独立的Vue组件库,包含样式隔离、主题定制等核心功能。 前言 在日常开发中,我们经常需要在不同项目间复用组…...
相机标定(输出相机内参和畸变参数)
相机标定 这里我用笔记本电脑自带的摄像头进行相机标定 仅作示例,实际工程中要用对应的摄像头进行标定 同时代码也要相应的修改,不过修改的主要是相机的初始化 粗略的说就是打开相机那部分要修改(依据实际情况相应修改) 最终的结果…...
单页面应用的特点,什么是路由,VueRouter的下载,安装和使用,路由的封装抽离,声明式导航的介绍和使用
文章目录 一.什么是单页面应用?二.什么是路由?生活中的路由和Vue中的路由 三.VueRouter(重点)0.引出1.介绍2.下载与使用(5个基本步骤2个核心步骤)2.1 五个基本步骤2.2 两个核心步骤 四.路由的封装抽离五.声明式导航1.导航链接特点一:能跳转特点二:能高亮 2.两个高亮类名2.1.区…...
数字ic后端设计从入门到精通2(含fusion compiler, tcl教学)
上篇回顾 上一篇文章需要讨论了net,pin的基础用法,让我们来看一下高级一点的用法 instance current_instance current_instance 是 Synopsys 工具(如 Fusion Compiler 或 Design Compiler)中用于在设计层次结构中导航的关键命令。它允许用…...
STM32---外部中断EXTI
目录 一、中断向量表 二、EXTI工作原理图 三、NVIC模块 四、GPIO设置为EXTI的结构 五、C语言示例代码 在STM32中,中断是一个非常重要的结构,他能让我们在执行主函数的时候,由硬件检测一些外部或内部产生的中断信号,跳转到中断…...
Itext进行PDF的编辑开发
这周写了一周的需求,是制作一个PDF生成功能,其中用到了Itext来制作PDF的视觉效果。其中一些功能不是很懂,仅作记录,若要学习请仔细甄别正确与否。 开始之前,我还是想说,这傻福需求怎么想出来的,…...
Hibernate的组件映射
在实际的开发中,使用的是非常多的,还有几种比较特殊的关系映射: 组件映射继承映射 先看一下组件映射: 组件映射中, 组件也是一个类, 但是这个类它不独立称为一个实体, 也就是说, 数据库中没有一个表格单独的和它对应, 具体情况呢, 看演示:...
C++ 操作符重载Operator
C可以重载大多数操作符,如算术运算符号,-号。 位操作符<<,>> 下标符号[]等都可以重载。 重载的意思,是让这些符号,按你定义的行为来执行代码,但是这种自定义,是有限制的,必须有一…...
Docker 镜像、容器和 Docker Compose的区别
前言:Docker 的镜像、容器和 Docker Compose 是容器化技术的核心组件,以下是对它们的详细解析及使用场景说明。 1、Docker 镜像(Image) 定义: 镜像是只读模板,包含运行应用程序所需的代码、…...
Linux深度探索:进程管理与系统架构
1.冯诺依曼体系结构 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。 截至目前,我们所认识的计算机,都是由⼀个个的硬件组件组成。 输入设备:键盘,鼠标…...
一段式端到端自动驾驶:VAD:Vectorized Scene Representation for Efficient Autonomous Driving
论文地址:https://github.com/hustvl/VAD 代码地址:https://arxiv.org/pdf/2303.12077 1. 摘要 自动驾驶需要对周围环境进行全面理解,以实现可靠的轨迹规划。以往的方法依赖于密集的栅格化场景表示(如:占据图、语义…...
