前言
本文的主要贡献:
(1)提出第一个基于LLM的端到端的无人机视觉语言导航框架,不需要训练;
(2)提出语义拓扑度量表示STMR,这是一种包含拓扑、语义和度量信息的独特矩阵表示,可以增强LLM在室外环境中的空间感知推理能力;
(3) 为未来的零样本无人机VLN工作建立了强有力的基线。
一、模型整体框架
1.1 任务描述
(1)开始时,代理被放置在初始位置,其中
表示代理的位置,
表示代理方向的俯仰、横滚和偏航部分;
(2)给出自然语言指令;
(3)代理访问其前视图(深度和RGB);
(4)在每个时间步长t自然语言指令和观察的视图预测下一步动作(右、左、上、下、前、后),当代理预测到停止操作或达到预定义的最大操作数时,导航结束。
1.2 导航过程
(1)首先,提取地标并获得相应的语义掩码;
(2)使用深度和位置变换,将提取的语义掩码投影到一个自上而下的图;
(3)将映射图转变为矩阵表示,作为LLM的空间提示;
(4)矩阵表示和历史动作、子目标指令和其他信息一起输入到LLM中,以推断下一个动作。
1.3 模型介绍
模型的整体框架如下图所示:
可以看出,主要由以下几部分组成:
(1)指令重述器(子目标分割器):将原始指令重述为一条条子目标(子指令);
(2)2D视觉感知器:提取RGB图像的2D语义掩码;
(3)子目标驱动的自上而下投影模块:利用深度图像将语义掩码映射到3D空间,然后将其转换为自上而下的映射;
(4)矩阵表示模块:将得到的3D映射用矩阵的形式表示;
(5)LLM推理模块:将得到的矩阵表示和历史动作、子目标指令一起输入到LLM中,以推断下一个动作。
二、难点
2.1 2D视觉感知器
如下图所示:
(1)借助地标提取器,提取出指令当中的地标;
(2)Grounding DINO,作为目标检测器,检测出地标的边界框;
(3)Tokenize Anything,借助Grounding DINO生成的预测框,对框进行分割,同时为每一个边界框作注释提示,得到语义掩码 和字幕
;
(4)对从文本指令中提取的地标和在每个 中生成的字幕
进行矢量化。然后,使用TF-IDF计算这些矢量化地标和字幕之间的余弦相似度,如果相似性得分
,则地标在当前视图中被分类为可见。通过实施这一策略,可以有效地简化语义掩码。
2.2 子目标驱动的自上而下投影
考虑到自上而下的视图比第一人称视图更能表达空间关系,我们进一步利用深度图像 和代理的位姿将语义掩码映射到3D空间,然后将其转换为自上而下的映射。具体步骤如下:
(1)将语义掩码中的每个像素分配语义标签,生成第一人称视图预测,得到一个具有识别对象和区域的分割图像;
(2)将深度图像 转为3D点云
;
(3)将分割后带有语义标签的语义掩码映射到相应的3D点云,从而产生有语义信息 的点云,其中
是语义类别;
(4)将3D点云划分为离散的体素,然后每个体素使用最大池操作将其中的点云聚合为一个语义类别,考虑到无人机通常在地面上方飞行,对于特定的坐标 ,体素列中最顶部的语义标签(或者语义类别
)将被投影到自上而下的地图中。
投影后的地图如下图所示:
2.3 矩阵表示
将视觉地图处理成基于文本的矩阵表示,并将其输入到LLM中以指导导航。具体步骤如下:
(1)无人机逐步收集观测数据,并逐步构建由子目标驱动的自上而下的周围环境地图;
(2)定义了一个以无人机当前位置为中心的局部地图,将局部地图划分为20×20的坐标网格,并在每个网格中应用语义最大池,使其最终包含一个语义类别,从而生成一个矩阵;
(3)每个网格之间的距离r(5m)也作为度量信息输入到LLM中,LLM可以直接推断每个地标之间的位置关系。
结果如下图所示:
2.4 LLM推理
用格式化的提示和动作空间来补充LLM的空间感知和场景理解能力。具体步骤如下:
(1)准备"Task Description",包括环境和无人机的定义,以及"Input Format"和"Output Format"。我们需要LLM在捕捉观察结果后利用思维链推理,按照观察顺序一步一步地思考,规划历史以预测下一步行动。关于输入指令,LLM提取子目标,指令中给出的地标将随着场景的变化在任务定义中更新;
(2)为了提高提示的质量,实施了循环细化过程。这涉及为LLM设计一组新的指令,包括与STMR模块相对应的"History"和"Plan"等元素;
(3)任务描述还强调了计划状态的更新(包括"todo"、"in process"和"completed"三种状态)。随着代理探索如何提高提示的准确性和相关性,STMR在这个迭代过程中逐渐更新。
三、总结
(1)使用LLM作为代理来解析指令和预测操作已成为一种趋势;
(2)如何在视觉语言导航任务中更近一步地使用LLM?