基于模态关系理解的无人机视觉语言导航模型
前言
视觉语言导航任务的关键在于多模态理解,需要模型能够同时理解文本和视觉两种模态信息。然而,不同模态数据之间往往特征分布差异大、特征对齐难度高,如何捕获并利用文本和视觉两种模态之间的关系,实现不同模态内容统一建模与表征具有一定挑战性。
此外,环境中视觉内容往往复杂多样,存在各种冗余信息或噪声干扰,如何聚焦视觉模态内的关键信息,减少冗余或无关信息的影响亦是亟需解决的问题。
目前,现有方法通过构建语义地图以帮助智能体理解环境内容,然而,其局限于仅将语义地图作为表征环境的额外视觉信息输入模型,忽略了指令与语义地图之间的潜在联系,且难以有效识别语义地图中的关键区域信息。
本工作的主要贡献:
(1)针对文本和视觉这两个模态对齐困难的问题,提出一种基于对比学习的辅助学习任务,充分挖掘指令和语义地图之间的对应关系,使两种模态相互促进,从而增强彼此特征的表征能力;
(2)针对视觉内容(语义地图)存在冗余信息和噪声干扰的问题,提出一种指令引导的语义地图感知模块,引导模型更关注于语义地图中与指令相关的关键区域,减少冗余或无关信息带来的干扰。
一、模型整体框架
1.1 任务描述
在每个时刻 ,放置在环境中随机位置的智能体需要理解自然语言指令
以及视角范围内的图
像信息 ,并根据自身所处状态做出准确的动作决策
,最终按照指令给定的路线到达目标位置。
在构建地图的基础之上,智能体可选择预测子目标点位置 ,再通过路径规划算法或者视觉导航模型得到动作决策。
1.2 模型介绍
模型的整体框架如下所示:
智能体所接收的指令通常以环境中的各种视觉信息作为线索,引导智能体逐步走向终点。该过程可在语义地图中找到一条真实路径与之对应。这种指令和语义地图之间的对应关系天然存在。本工作利用这一关系,提出的模型主要由三个模块组成:
(1)基于对比学习的辅助任务学习:给定指令和语义地图,分别提取两者特征后,将所提取的特征输入辅助学习任务模块,通过对比学习促进模态间对齐,增强两种特征的表征能力;
(2)指令引导的语义地图感知模块:引导模块促使模型关注与指令相关的语义地图区域,减少语义地图中冗余或无关信息的干扰;
(3)基于子目标点预测和进度预测的动作决策模块。
二、难点
2.1 基于对比学习的辅助任务学习
2.1.1 特征提取
(1)首先基于ResNet,分别提取RGB和深度的特征,按通道维度concat之后通过GRU,获取历史视觉信息,得到当前视觉状态特征 :
(2)将智能体接收的导航指令 的
个单词通过双向LSTM进行编码,输出每个单词的上下文特征
,然后将每个单词的
与视觉特征
进行点乘,得到相似度,对相似度Softmax归一化后得到权重
,将
与单词特征
加权求和,得到当前时刻的指令特征
:
2.1.2 语义地图构建
基于上述视觉图像,可构建语义地图 表示环境中物体的位置及其语义类。其中,
表示地图大小,
表示地图通道数,每层通道对应一种物体类别。语义地图中每个元素表示该位置是否存在对应类别物体,若存在则数值为1,否则为0。
语义地图随着智能体的移动逐步构建,并通过三层卷积网络提取语义地图特征 。
2.1.3 对比学习
在视觉语言导航中,语义地图中不同区域与指令的相关程度不尽相同。由于指令所描述的是智能体在环境中需要跟随的轨迹,其可在语义地图中找到一条真实路径与之对应,靠近该路径的区域所包含的内容通常与指令相关性更高,而远离该路径的区域所包含的内容通常与指令相关性更低。
基于此观察,本工作提出一种基于对比学习的辅助学习任务以捕获并利用两者之间潜在的对应关系。根据语义地图中不同区域与真实路径的距离,将指令特征和语义地图不同区域特征构建为正负样本,并设计对比损失函数,通过对比学习实现文本与视觉模态对齐,增强指令特征和语义地图特征的表征能力。
(1)正负样本构建:对于语义地图中的每个位置,计算该位置与真实路径之间的最短直线距离 并归一化至
。若该距离小于阈值
,则指令特征
与对应位置的语义地图特征
构成正样本对
,反之则构成负样本对
。根据距离进行划分之后,共可得到
个正样本对以及
个负样本对。此外,由于语义地图中的每个位置与真实路径之间的最短直线距离存在差异,根据距离不同,为每个正样本对赋予不同的权重
,以区分不同程度的正样本对,具体计算过程如下:
其中, 表示当前位置与真实路径之间的最短直线距离,
和
分别表示语义地图内所有位置与真实路径之间的最短直线距离最大值和最小值。
(2)对比损失设计:根据所构建的正负样本对,设计一种对比损失函数,拉近正样本对内的两种特征之间的距离,推远负样本对内的两种特征之间的距离。具体而言,将每个正负样本对内的指令特征和语义地图特征分别经过一层全连接层,使其映射至同一特征空间,并在通道维度进行归一化处理。然后,计算每个正负样本对内的指令特征和语义地图特征之间的余弦相似度,通过优化以下对比损失函数,使正样本对内的两种特征相互靠近,且权重更大的正样本对,其内的两种特征彼此之间更加靠近,随着权重减小,两种特征彼此之间靠近的程度逐渐减小,而负样本对内的两种特征相互远离,具体计算过程如下:
其中, 表示正样本对内的两种特征之间的距离,
表示负样本对内的两种特征之间的距离,具体计算过程如下:
其中, 和
表示单层全连接层中的可学习参数,norm(⋅) 表示归一化操作,dis(⋅, ⋅) 表示输入特征之间的余弦相似度,𝜏 表示温度系数。
2.2 指令引导的语义地图感知模块
通过指令引导模型将注意力转向语义地图中与指令所描述内容相关的区域,突出语义地图中的关键信息,帮助模型过滤其他冗余或无关信息,从而减少其带来的干扰,增强模型动作决策的准确性。主要过程如下:
(1)首先,给定指令特征 和语义地图特征
,将两者分别经过一层全连接层,使其映射至同一特征空间;
(2)通过逐元素相乘的方式将两种模态特征进行融合,以利用指令作为引导信息;
(3)将融合后的特征输入一层全连接层以建模两种模态特征在空间维度的对应关系,生成空间注意力图 ;
(4)将生成的空间注意力图作用于语义地图特征,得到指令引导的增强语义地图特征 。
整体的计算过程如下:
其中,⊙ 表示逐元素相乘操作,⊗ 表示矩阵相乘操作, 和
表示全连接层 + 整流线性单位函数(ReLU)中的可学习参数,
表示全连接层中的可学习参数,σ(⋅) 表示sigmoid函数。
2.3 动作决策
为充分利用语义地图中所包含的环境空间结构信息,本章设计一个子目标点位置预测模块,采用在每个时刻 预测子目标点位置的方式作为智能体动作决策的依据。根据所预测的子目标,通过路径规划算法或者预训练视觉语言导航模型输出当前时刻的动作
,包括前进、左/右转动作。此外,本章设计一个导航完成进度预测模块以决定智能体何时执行停止动作。
2.3.1 输入子目标点预测器和进度预测器前的最终特征
将当前视觉特征、指令特征和指令引导的语义地图特征在通道维度进行concat操作,随后输出第二个GRU,得到当前状态特征 :
2.3.2 子目标预测器
子目标点位置预测器定义为一层全连接层:
(1)将当前状态特征 输入子目标点位置预测器,预测子目标点位置
,表示子目标点位置距离智能体当前位置的相对坐标
;
(2)通过现有预训练视觉导航模型(DDPPO)进行动作决策,输出前进、左转或右转动作;
(3)子目标点位置预测损失:
其中 定义为真实路径上距离智能体当前位置3m的位置。
(4)距离损失:促使模型将子目标点位置预测在靠近真实路径的位置,避免其严重偏离目标方向:
其中, 表示所预测的子目标点位置与真实路径之间的最短直线距离。
2.3.3 导航完成进度预测器
导航完成进度预测器定义为一层全连接层:
(1)将当前状态特征 输入进度预测器,预测导航完成进度
,表示当前导航进度的完成情况;
(2)当该导航完成进度大于一定阈值 时,则输出停止动作;
(3)导航完成进度预测损失:
其中,真实导航完成进度 定义为:
其中, 表示智能体当前位置和最终目标点位置之间的最短路径距离,
表示智能体起始位置和最终目标点位置之间的最短路径距离。
此外,根据导航完成进度决定的动作相比根据子目标点位置决定的动作具有更高的优先级,即一旦根据导航完成进度输出停止动作,则无论根据子目标点位置所决定的动作属于前进或转向,最终动作都将设为停止动作。
三、总结
(1)能否在之前那个模型中添加对比学习?重点是正负样本对该如何构建?涉及语义地图中的每个位置与真实路径之间的最短直线距离;
(2)对语义地图进行指令引导,增加路径沿线关键区域的注意力?
(3)路径规划算法是否有性能更优异的?