• 作者:Ganlong Zhao1,2^{1,2}1,2, Guanbin Li2,3,4^{2,3,4}2,3,4, Jia Pan1^{1}1, Yizhou Yu1^{1}1
  • 单位:1^{1}1香港大学,2^{2}2中山大学,3^{3}3广东省大数据分析与处理重点实验室,4^{4}4鹏城实验室
  • 论文标题:Aerial Vision-and-Language Navigation with Grid-based View Selection and Map Construction
  • 论文链接:https://arxiv.org/pdf/2503.11091

主要贡献

  • 提出了基于网格的视图选择和地图构建框架,将无人机视觉语言导航(Aerial VLN)任务转化为离散环境中的视图选择任务。
  • 引入了垂直动作预测,考虑了垂直动作与水平动作的耦合,从而实现了有效的高度调整。
  • 设计了基于鸟瞰图的网格地图,融合了导航历史中的视觉信息,提供了上下文场景信息,并减轻了障碍物的影响。
  • 采用跨模态Transformer模型,显式对齐长导航历史与指令,提供了更丰富的状态跟踪和决策支持信息。
  • 在两个具有挑战性的基准数据集上取得了最先进的性能,验证了方法的有效性。

研究背景

研究问题

  • 论文主要解决的问题是如何在无人机(UAV)上实现视觉语言导航(Aerial VLN),即让无人机根据人类指令在三维空中环境中进行导航。
  • 与地面VLN不同,空中VLN要求智能体在水平和垂直方向上做出决策。

研究难点

该问题的研究难点包括:

  • 导航路径更长、
  • 三维场景更复杂、
  • 垂直和水平动作之间的相互作用被忽视。

相关工作

  • 无人机导航

    • 早期方法主要依赖GPS或惯性导航,但这些方法存在精度不足或误差累积的问题。
    • 近年来,基于视觉的导航成为一种有吸引力的替代方案,以实现可靠的自主性。
  • 无人机视觉语言导航

    • 结合语言模态进行无人机导航,研究如何让无人机在复杂环境中遵循自然语言指令。
    • 一些研究在小型虚拟环境中进行,使用四轴飞行器智能体进行实验,动作集有限。
    • AVDN数据集专注于基于对话的Aerial VLN,使用卫星图像数据集xView中的鸟瞰图输入,提出HAA-Transformer用于路径预测,但难以应用于当前环境。
  • 城市导航

    • CityNav利用SensatUrban数据集中的3D点云数据进行无人机飞行环境的模拟。
    • 使用CityRefer数据集的地理信息作为语言目标信息。
  • 视觉语言导航

    • VLN要求智能体通过自然语言指令导航环境,分为离散和连续环境两种设置。
    • 离散环境基准测试要求智能体通过预定义的视角图导航,而连续环境基准测试允许智能体自由移动。
    • 一些连续VLN方法尝试将离散VLN方法转移到连续环境,关键在于路径预测器,但高度依赖环境,难以转移。
    • 一些研究关注更复杂的室外环境,如Touchdown数据集和LANI数据集的修改版本。也有研究使用无人机进行指令引导的导航。

方法

问题表述

  • Aerial VLN的目标是让无人机智能体根据人类指令在三维环境中导航。
  • 给定一个指令 I={w1,w2,...,wNI}I = \{w_1, w_2, ..., w_{N_I}\}I={w1,w2,...,wNI} 和初始位置 p0=(x0,y0,z0)p_0 = (x_0, y_0, z_0)p0=(x0,y0,z0),智能体需要在环境中执行一系列动作 AAA 来完成任务。
  • 每个步骤中,智能体接收环境观测 OtO_tOt 并决定下一步动作 ata_tat
  • 成功导航的定义是智能体在停止时或达到最大步数时,距离目标位置不超过20米。

基于网格的视图选择

视图-候选对应关系
  • 在每一步,智能体从六个方向(前、左、右、后、上、下)捕获观测图像,形成天空盒 OtO_tOt
  • 对于每个图像 otio_t^ioti,根据图像方向和智能体的步长,计算候选位置 p~ti\tilde{p}_t^ip~ti
    p~ti=(xt,yt,zt)+dti⊙(sh,sh,sv) \tilde{p}_t^i = (x_t, y_t, z_t) + d_t^i \odot (s_h, s_h, s_v) p~ti=(xt,yt,zt)+dti(sh,sh,sv)
    其中 (xt,yt,zt)(x_t, y_t, z_t)(xt,yt,zt) 是智能体的位置,shs_hsh 是水平步长,svs_vsv 是垂直步长,dtid_t^idti 是摄像头的归一化方向向量,⊙\odot 表示逐元素乘法。
真值候选生成
  • 为了计算损失,需要生成真值候选。通过比较真值路径 PgtP_{gt}Pgt 和导航路径 PtP_tPt,使用归一化的动态时间规整(nDTW)来选择最匹配的候选位置:
    cgt=arg⁡max⁡1≤i≤N{nDTW(Pgt,(Pt+p~ti))} c_{gt} = \arg\max_{1 \leq i \leq N} \{nDTW(P_{gt}, (P_t + \tilde{p}_t^i))\} cgt=arg1iNmax{nDTW(Pgt,(Pt+p~ti))}
    其中 (Pt+p~ti)(P_t + \tilde{p}_t^i)(Pt+p~ti) 表示移动到候选位置 p~ti\tilde{p}_t^ip~ti 后的导航路径。
低级控制
  • 智能体根据当前位置和选定的候选位置,分别进行水平和垂直移动。
  • 具体步骤包括转向、前进、上升或下降,直到智能体到达目标位置。
基于网格的视图选择
  • 为了简化框架并与下一节的BEV网格地图构建对齐,智能体在每一步捕获六个视图。
  • 这种网格化的方法有效地将场景离散化,简化了低级控制和场景地图构建。

模型设计

模型架构
  • 文本编码:使用BERT提取指令嵌入,然后通过transformer获得上下文表示。
  • 观测编码:计算每个视图的相对角度,提取观测嵌入。观测嵌入 eie_iei 是视图嵌入和角度嵌入的和。
  • 历史编码:使用全景transformer和时间transformer编码导航历史,生成历史嵌入。
  • 跨模态transformer:结合历史和观测嵌入,输出不同视图的概率分布,确定预测动作。
垂直动作预测
  • 智能体在每个视图中预测垂直偏移,提供上升或下降的候选位置。对于每个视图 oio_ioi 和其对应的候选位置 p~ti\tilde{p}_t^ip~ti,计算三个候选位置:下、中、上:
    Ui=(p~ti−vup,p~ti,p~ti+vup) U_i = (\tilde{p}_t^i - v_{up}, \tilde{p}_t^i, \tilde{p}_t^i + v_{up}) Ui=(p~tivup,p~ti,p~ti+vup)
    其中 vupv_{up}vup 是上升移动的位移向量。然后使用nDTW选择最佳候选位置:
    dvgti=arg⁡max⁡1≤j≤3{nDTW(Pgt,(Pt+p~j))} d_{v_{gt}}^i = \arg\max_{1 \leq j \leq 3} \{nDTW(P_{gt}, (P_t + \tilde{p}_j))\} dvgti=arg1j3max{nDTW(Pgt,(Pt+p~j))}
    最后,使用均方误差(MSE)计算损失:

Lvertical=1N∑i=1NMSE(dvi,(dvgti−1)2) L_{vertical} = \frac{1}{N} \sum_{i=1}^{N} \text{MSE}(d_v^i, \frac{(d_{v_{gt}}^i - 1)}{2}) Lvertical=N1i=1NMSE(dvi,2(dvgti1))

BEV网格地图
  • 构建一个二维网格地图,记录水平平面上的特征。每个单元格包含对应位置的BEV特征向量。
  • 在每一步更新网格地图,提取局部特征图以支持决策:
    M(u,v)t=GRU⁡(M(u,v)t−1,fp~ti) M^{t}_{(u,v)} = \operatorname*{GRU}(M^{t-1}_{(u,v)}, f_{\tilde{p}^i_{t}}) M(u,v)t=GRU(M(u,v)t1,fp~ti)
    其中 M(u,v)tM_{(u, v)}^tM(u,v)t 是在 (u,v)(u, v)(u,v) 处的特征,fp~tif_{\tilde{p}_t^i}fp~ti 是提取的特征。
额外候选
  • 引入额外候选池,存储高置信度但未被选择的候选视图。
  • 在新位置时,结合新视图和额外候选池进行预测,更新候选池。

实验

数据集

实验使用了两个数据集:AerialVLN和AerialVLN-S。

  • AerialVLN

    • 是一个用于连续环境中的Aerial VLN的挑战性基准。
    • 数据集包含四个不同的分割:训练集、验证可见集、验证不可见集和测试集。
    • 训练集包含16,380个指令,来自17个场景;测试集包含4,830个指令,来自8个场景;验证可见集和验证不可见集分别包含1,818和2,310个指令,来自17和8个场景。
  • AerialVLN-S

    • 是AerialVLN的一个变体,适用于小场景。
    • 数据集保留相同的数据分割,但包含17个较小规模且路径长度均匀分布的场景。
    • 训练集、测试集、验证可见集和验证不可见集分别包含10,113、771、333和531个指令,来自12、5、12和5个场景。

评估指标

使用以下四个指标评估方法的性能:

  • 导航误差(NE):停止位置到目的地的距离。
  • 成功率(SR):在目的地20米范围内停止的智能体比例。
  • Oracle成功率(OSR):在任何时刻在目的地20米范围内的导航次数比例。
  • SDTW:通过成功率加权的路径相似性。
  • nDTW:用于详细比较导航路径和真值路径的整体相似性。

实现细节

  • 模型实现:基于之前的研究,保留了大部分超参数和模型架构。
  • 图像特征提取:使用CLIP ViT-B/16模型进行图像特征提取。
  • 批量大小:所有实验中设置为8。
  • 学习率:设置为0.0001。
  • 垂直损失权重:设置为1。
  • BEV局部地图大小:设置为11。
  • 额外候选数量:设置为10。
  • 迭代次数:模型在AerialVLN和AerialVLN-S上分别训练60,000次迭代。

实验结果

实验结果显示,所提出的方法在所有指标上显著优于基线方法。

  • AerialVLN
    • 与随机选择、动作采样、Seq2Seq和CMA等基线方法相比,所提出的方法在所有指标上表现更好。
    • 特别是在验证不可见集上,显示出在陌生环境中有效性的提升。

  • AerialVLN-S
    • 在AerialVLN-S数据集上,所提出的方法在所有指标上表现最佳。尽管增加了更多竞争者,但所提出的方法仍然取得了最好的性能。
    • 在验证可见集上,成功率提高了10.9%,在验证不可见集上提高了2.3%。

定性结果

定性结果显示,所提出的方法能够成功识别地标并遵循方向指令进行导航。

消融实验

不同组件的消融实验

实验设置
  • 额外候选(EC):通过将额外候选的数量设置为零来移除该组件。这减少了模型在选择动作时的备选方案。
  • 俯仰/俯视观测(TDO):在训练和评估过程中移除向上和向下的观测,以消除上下文信息。这使得智能体只能通过垂直动作预测来调整高度。
  • 垂直动作(VA):在训练和评估过程中移除垂直动作预测,使得智能体只能通过选择相应的视图来上升或下降。由于成功距离阈值(20米)远大于步长(5米),这不会影响智能体到达真值目的地的能力。
结果分析
  • 实验结果显示,所有四个组件都对性能提升有贡献。
  • 具体来说,移除任何一个组件都会导致性能下降,表明这些组件在模型中起到了重要作用。

超参数敏感性分析

分析了两个重要超参数的敏感性:局部BEV网格地图的大小 LML_MLM 和额外候选的数量 spools_{pool}spool

  • 局部BEV网格地图大小 LML_MLM:决定了发送给智能体的局部地图信息的范围,以提供动作预测的上下文。实验结果表明,LM=11L_M = 11LM=11 时成功率最高。
  • 额外候选数量 spools_{pool}spool:决定了候选池中维护的额外候选数量,以提供动作预测的额外选择。实验结果显示,spool=10s_{pool} = 10spool=10 时效果最佳。

垂直动作预测分析

  • 实验设置:在AerialVLN-S的三个数据集分割上进行测试,报告了四种不同指标的性能。
  • 指标:包括“选择视图”的准确性和“所有视图”的准确性。“精确准确率”是指预测与真值完全匹配的准确率,“宽松准确率”是指预测与真值最多相差1的准确率。
  • 实验结果表明,所提出的方法在所有设置中都显著优于随机选择。特别是,“宽松准确率”接近100%,表明智能体偏离真值高度的可能性非常低。

总结

  • 本文提出了基于网格视图选择和地图构建的方法,用于空中视觉语言导航。
  • 网格视图选择将连续环境中的空中VLN转化为离散环境中的视图选择任务,地图构建进一步融合了导航路径上的观测特征,提供了周围环境的信息。
  • 广泛的实验结果表明,基于网格的视图选择是一种有效的框架,能够将传统的VLN方法适应于空中VLN,BEV网格图使智能体能够利用环境上下文以获得更好的性能。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐