基于全局拓扑图和双尺度图Transformer的视觉语言导航
前言
本工作的主要贡献有:
(1)实时构建拓扑图,以便在全球行动空间中进行高效探索;
(2)使用图Transformer对拓扑图进行编码,并学习与指令的跨模态关系,以便动作预测可以依赖于远程导航记忆。
一、模型整体框架
1.1 任务描述
在VLN的离散情况下,环境是无向图 ,其中
表示
个可导航节点,
表示连接边。在时间步
:
(1)是具有
个单词的指令嵌入;
(2)代理接收其当前节点 的全景图和位置坐标。其中全景图被分成
个图像
,每个图像由图像特征向量
和唯一方向表示;
(3)为了实现精细的视觉感知,使用带注释的对象边界框或自动对象检测器在全景图中提取 个对象特征
;
(4)此外,代理还感知与其邻近节点集对应的若干可导航视图,以及这些节点的空间坐标,可能的局部动作空间
包含导航到
并在
停止;
(4)在代理决定在某个位置停止后,它需要预测全景中目标对象的位置。
1.2 模型介绍
模型的整体框架如下图所示:
可以看出,主要由以下几部分组成:
(1)视觉编码器:多层Transformer,输入为RGB特征和目标特征,输出为总的视觉特征;
(2)文本编码器:多层Transformer,输出为文本特征;
(3)拓扑图映射模块:动态构建已访问、当前、未访问节点,并输出节点的特征;
(4)细尺度多模态注意力模块 + 局部动作预测模块:整合对齐局部视觉特征和文本特征,并得到局部预测动作;
(5)粗尺度多模态注意力模块 + 全局动作预测模块:整合对齐全局视觉特征和文本特征,并得到全局预测动作;
(6)动态融合模块:融合局部和全局动作预测,得到最终动作预测结果。
二、难点
2.1 图谱图映射
环境图 最初是代理未知的,代理沿路径逐渐构建自己的映射:
(1)总共包含三类节点:(a)访问过的节点;(b)当前节点;(c)可导航的节点:
(2)代理可以访问已访问节点和当前节点的全景视图。可导航节点还未经探索,只能从已访问的位置部分观察到;
(3)当代理到达新的节点后,需当前访问过的节点和可导航节点的视觉表示,如下图所示:
上图表示由节点 到达节点
后,将节点
及其邻近的节点一同添加到当前时刻的环境图
中。
2.1.1 节点的视觉表示
在时间步 ,代理接受节点
的图像特征
和目标特征
:
(1)使用多层Transformer建模图像和目标的空间关系:
为了表示方便,将通过注意力层后的图像和目标特征仍然表示为 和
。
然后,通过 和
的平均池化来更新当前节点的视觉表示。由于代理也在
处部分观察到
:
(1)根据 中相应的视图嵌入来累积这些可导航节点的视觉表示;
(2)如果从多个位置看到了一个可导航节点,将所有部分视图嵌入的平均作为其视觉表示。使用 来表示每个节点
的合并视觉表示。
2.2 粗交叉模态编码器
节点视觉特征 添加位置编码和导航步编码:
(1)位置编码:将节点在地图中的位置嵌入到以自我为中心的视图中,即相对于当前节点的方向和距离;
(2)导航步编码:对于访问过的节点,编码最后一次访问时间步,对于未访问过的节点,编码为0。通过这种方式,访问的节点被编码为不同的导航历史,以提高与指令的一致性。
在图中添加一个“停止”节点 来表示停止动作,并将其与所有其他节点连接。
2.2.1 图感知交叉模态编码器
(1)标准注意力仅考虑节点之间的视觉相似性,因此它可能会忽略比远处节点更相关的附近节点;
(2)为了解决这个问题,我们提出了图感知自注意力(GASA),它进一步考虑了图的结构来计算注意力。公式如下:
其中 是从
得到的成对距离矩阵。
2.3 细交叉模态编码器
在 中添加了两种类型的位置嵌入:
(1)第一种类型是地图中相对于起始节点的当前位置。这种嵌入有助于理解指令中的绝对位置,例如“去一楼的客厅”;
(2)对于,我们添加了第二个位置嵌入,即每个相邻节点与当前节点的相对位置。它有助于编码器实现以自我为中心的方向,如“右转”。
为停止操作添加了一个特殊的“停止”标记 。
2.4 动态融合
动态融合粗尺度和细尺度动作预测,以获得更好的全局动作预测。
(1)由于细尺度编码器预测是在局部空间,与粗尺度编码器的全局空间不匹配,因此,首先将局部动作得分转换为空间动作得分:
(2)计算融合预测的加权标量:
(3)得到最终动作的预测:
三、总结
(1)怎么判断一个模型是连续VLN还是离散VLN?
(2)拓扑图具体怎么实现的?
(2)拓扑图能应用到连续VLN中吗?