当前位置: 首页 > article >正文

基于全局拓扑图和双尺度图Transformer的视觉语言导航

前言

本工作的主要贡献有:

(1)实时构建拓扑图,以便在全球行动空间中进行高效探索;

(2)使用图Transformer对拓扑图进行编码,并学习与指令的跨模态关系,以便动作预测可以依赖于远程导航记忆。


一、模型整体框架

1.1 任务描述

在VLN的离散情况下,环境是无向图 G=\begin{Bmatrix} V, E \end{Bmatrix},其中 V=\begin{Bmatrix} V_{i} \end{Bmatrix}^{K}_{i=1} 表示 K 个可导航节点,E 表示连接边。在时间步 t :

(1)W=\begin{Bmatrix} w_{i} \end{Bmatrix}^{L}_{i=1}是具有 L 个单词的指令嵌入;

(2)代理接收其当前节点 V_{t} 的全景图和位置坐标。其中全景图被分成 n 个图像R_{t}=\begin{Bmatrix} r_{i} \end{Bmatrix}^{n}_{i=1},每个图像由图像特征向量 r_{i} 和唯一方向表示;

(3)为了实现精细的视觉感知,使用带注释的对象边界框或自动对象检测器在全景图中提取 m 个对象特征O_{t}=\begin{Bmatrix} o_{i} \end{Bmatrix}^{m}_{i=1}

(4)此外,代理还感知与其邻近节点集N(V_{t})对应的若干可导航视图,以及这些节点的空间坐标,可能的局部动作空间 A_{t} 包含导航到 V_{i}\in N(V_{t})并在 V_{t} 停止;

(4)在代理决定在某个位置停止后,它需要预测全景中目标对象的位置。


1.2 模型介绍

模型的整体框架如下图所示:

可以看出,主要由以下几部分组成:

(1)视觉编码器:多层Transformer,输入为RGB特征和目标特征,输出为总的视觉特征;

(2)文本编码器:多层Transformer,输出为文本特征;

(3)拓扑图映射模块:动态构建已访问、当前、未访问节点,并输出节点的特征;

(4)细尺度多模态注意力模块 + 局部动作预测模块:整合对齐局部视觉特征和文本特征,并得到局部预测动作;

(5)粗尺度多模态注意力模块 + 全局动作预测模块:整合对齐全局视觉特征和文本特征,并得到全局预测动作;

(6)动态融合模块:融合局部和全局动作预测,得到最终动作预测结果。


二、难点

2.1 图谱图映射

环境图 G 最初是代理未知的,代理沿路径逐渐构建自己的映射:

(1)总共包含三类节点:(a)访问过的节点;(b)当前节点;(c)可导航的节点:

(2)代理可以访问已访问节点和当前节点的全景视图。可导航节点还未经探索,只能从已访问的位置部分观察到

(3)当代理到达新的节点后,需当前访问过的节点和可导航节点的视觉表示,如下图所示:

上图表示由节点 d 到达节点 e 后,将节点 e 及其邻近的节点一同添加到当前时刻的环境图 G 中。

2.1.1 节点的视觉表示

在时间步 t ,代理接受节点 V_{t} 的图像特征 R_{t} 和目标特征 O_{t}

(1)使用多层Transformer建模图像和目标的空间关系:

为了表示方便,将通过注意力层后的图像和目标特征仍然表示为 R_{t} 和 O_{t} 。

然后,通过 R_{t} 和 O_{t} 的平均池化来更新当前节点的视觉表示。由于代理也在 V_{t} 处部分观察到N(V_{t})

(1)根据 R_{t} 中相应的视图嵌入来累积这些可导航节点的视觉表示;

(2)如果从多个位置看到了一个可导航节点,将所有部分视图嵌入的平均作为其视觉表示。使用 v_{i} 来表示每个节点 V_{i} 的合并视觉表示。


2.2 粗交叉模态编码器

节点视觉特征v_{i} 添加位置编码和导航步编码:

(1)位置编码:将节点在地图中的位置嵌入到以自我为中心的视图中,即相对于当前节点的方向和距离;

(2)导航步编码:对于访问过的节点,编码最后一次访问时间步,对于未访问过的节点,编码为0。通过这种方式,访问的节点被编码为不同的导航历史,以提高与指令的一致性。

在图中添加一个“停止”节点 v_{o} 来表示停止动作,并将其与所有其他节点连接。

2.2.1 图感知交叉模态编码器

(1)标准注意力仅考虑节点之间的视觉相似性,因此它可能会忽略比远处节点更相关的附近节点;

(2)为了解决这个问题,我们提出了图感知自注意力(GASA),它进一步考虑了图的结构来计算注意力。公式如下:

其中 E 是从 \varepsilon _{t} 得到的成对距离矩阵。


2.3 细交叉模态编码器

在 R_{t} 中添加了两种类型的位置嵌入:

(1)第一种类型是地图中相对于起始节点的当前位置。这种嵌入有助于理解指令中的绝对位置,例如“去一楼的客厅”;

(2)对于V_{i}\in N(V_{t}),我们添加了第二个位置嵌入,即每个相邻节点与当前节点的相对位置。它有助于编码器实现以自我为中心的方向,如“右转”。

为停止操作添加了一个特殊的“停止”标记 r_{0}


2.4 动态融合

动态融合粗尺度和细尺度动作预测,以获得更好的全局动作预测。

(1)由于细尺度编码器预测是在局部空间,与粗尺度编码器的全局空间不匹配,因此,首先将局部动作得分转换为空间动作得分:

(2)计算融合预测的加权标量:

(3)得到最终动作的预测:


三、总结

(1)怎么判断一个模型是连续VLN还是离散VLN?

(2)拓扑图具体怎么实现的?

(2)拓扑图能应用到连续VLN中吗?


http://www.kler.cn/a/580079.html

相关文章:

  • 基于SSM+Vue的汽车维修保养预约系统+LW示例
  • RuleOS:区块链开发的“破局者”,开启Web3新纪元
  • 狮子座大数据分析(python爬虫版)
  • 【AI论文】SurveyX: 通过大型语言模型实现学术调查自动化
  • FPGA前端设计适合哪些人学?该怎么学?
  • 【kubernetes】service
  • VS 2022 安装速成指南
  • SVN 标签
  • IDEA与Maven使用-学习记录(持续补充...)
  • 全面解析Tomcat:简介、安装与配置指南
  • Git 钩子自动化部署完全指南:掌握 post-receive 触发机制与生产实践
  • 简单以太网配置
  • WPF给ListBox中的每一项添加右键菜单功能
  • Windows平台使用NDK交叉编译OpenCV
  • 在window终端创建docker容器的问题
  • PyTorch中的损失函数:F.nll_loss 与 nn.CrossEntropyLoss
  • 小华半导体学习方法
  • 如何为服务设置合理的线程数
  • mac|IDEA语言中文改回英文
  • Elasticsearch Java API Client [8.17] 使用