前言

本工作开展的背景:

人类和其他物种构建类似地图的环境表示来完成寻路:

(1)当人类只使用现成的驾驶或步行路径到达目标时,构建认知地图和获取空间知识的能力就会下降;

(2)另一方面,当面对基于地标的导航指令而不是完整的路径时,人类会建立更好的空间表示。

本工作的主要贡献:

(1)提出了一种用于VLN任务的新系统,将地图作为显式的中间表示进行学习;

(2)预测语义图:在RGB-D图像和指令上应用跨模态注意力来学习在代理的视野之外产生幻觉信息,实现指令上的语义接地;

(3)预测路径:在预测的语义图和指令上应用跨模态注意力来学习预测路径,实现指令的空间接地。

在本工作中,机器人正在构建一个认知地图,该地图对环境先验进行编码,并根据该地图遵循指令。


一、模型整体框架

1.1 任务描述

在时间步 t :

(1)图片输入:一个视野有限的帧(不是全景图):

(2)文本输入:指令;

(3)动作空间:向前移动0.25m、向左转弯15^{\circ}、向右转弯15^{\circ} 和停止。


1.2 模型介绍

在episode的每一步,主要工作流程:
 
(1)预测以自我为中心的本地地图;

(2)预测以自我为中心的本地地图上定义为一组航路点的整个路径;

(3)代理将自己定位在当前预测的路径上,并选择路径上的以下航路点作为短期目标;

(4)该目标被传递给现成的本地策略(DD-PPO),该策略预测下一个导航动作。

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

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

(1)文本编码器:预训练的BERT,负责提取指令特征 X ;

(2)语义预测模块:上图中的蓝色部分,包括语义分割器、地面投影、UNet和跨模态地图注意力模块;

(3)路径预测模块:上图中的橙色部分,包括跨模态路径注意力模块和UNet。


二、难点

2.1 语义预测模块

本部分的主要是作用在代理无法直接观察的区域中产生语义信息的幻觉,主要通过利用指令中的空间和语义描述来学习布局先验。

流程如下:

(1)模型首先以深度观测 D 作为输入,将该深度观测 D 地面投影到一个包含“已占用”、“空闲”和“空白”类别的自我中心网格 o_{t}\in \mathbb{R}^{​{h}'\times {w}'\times 3}  中。其中地面投影的过程为:首先利用相机内参将深度数据反投影为三维点云,然后按照文献[25]的方法将每个三维点云映射到 {h}'\times {w}' 的网格中;

(2)将中心网格 o_{t}\in \mathbb{R}^{​{h}'\times {w}'\times 3} 编码为特征表示 Y^{o}_{t}=Enc(o_{t}) ; 

(3)定义一个跨模态注意力模块,以 Y^{o}_{t} 为查询,指令特征 X 为键和值,得到跨模态表示 H^{o}_{t} :

Q=Y^{o}_{t}W_{q}, K=XW_{k}, V=XW_{v}

H^{o}_{t}=Softmax(\frac{QK^{T}}{\sqrt{d}})V

(4)将 o^{t} 和 H^{o}_{t} 通过一个UNet,得到 \hat{o}^{t} :

(5)将 \hat{o}^{t} ,H^{o}_{t} 和 \hat{\chi }_{t} 通过另外一个UNet,得到 \hat{s}^{t} :

其中 \hat{\chi }_{t} 表示 RGB 图像帧的语义分割结果的地面投影。

此部分的损失函数如下:

其中 k 表示地图中的像素数;q_{k, c}是像素 k 的地面真实标签。


2.2 路径预测模块

本部分的主要作用是使代理学会预测整个轨迹。主要流程如下:

(1)将预测的自中心语义图 \hat{s}_{t}  编码为特征表示 Y^{s}_{t}=Enc(\hat{s}_{t}) ;

(2)定义一个跨模态注意力模块,以 Y^{s}_{t} 为查询,指令特征 X 为键和值,得到跨模态表示 H^{s}_{t} :

Q=Y^{s}_{t}W_{q}, K=XW_{k}, V=XW_{v}

H^{s}_{t}=Softmax(\frac{QK^{T}}{\sqrt{d}})V

(3)将 H^{s}_{t} 和 P^{0}_{t} 通过一个UNet:

其中 P^{0}_{t} 是相对于当前代理位置的起始位置热力图,\hat{P}_{t} 是当前时间步 t 预测的航路点热力图,\hat{\zeta }_{t} 是预测的每个航路点的概率。

此部分的损失函数如下:

其中 b^{i}_{t} 是一个二进制指示符,表示特定航路点 i 在时间 t 是否在以自我为中心的地图上可见,P^{i}_{t} 表示真实的航路点热力图,\lambda _{\zeta } 权衡辅助损失。


2.3 动作决策

目前为止路径是由一系列2D航路点 \begin{Bmatrix} p^{i}_{t} \end{Bmatrix}^{k}_{i=1} 组成。决策的流程如下:
 
(1)选择一个短期目标 p^{\zeta }_{t} :

其中\Delta 是欧几里得距离,\hat{p}^{i}_{t} 对应预测的航路点热力图\hat{P}_{t} 的峰值,\varrho _{t} 对应代理在当前时间步 t 的位姿。该机制通过以下方式确定短期目标:首先找到离智能体最近的预测航路点,然后选择序列中的下一个航路点作为短期目标 p^{\zeta }_{t} ;​

(2)为了达到短期目标,使用为PointNav任务训练的现成深度强化学习模型DD-PPO。DD-PPO接收当前深度观测值 D 和p^{\zeta }_{t} ,并为代理输出下一个导航动作。


三、总结

(1)当语言和视觉出现在显式空间表征中时,它们之间的关联更强;

(2)能否将本工作中的方法应用到CityNav中?

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐