技术领域
[0001] 本发明属于导航技术领域,具体涉及一种融合网格地图和拓扑图的视觉语言导航方法。
相关背景技术
[0002] 视觉语言导航(vision language navigation,VLN)是一个非常具有挑战性的跨领域研究问题,它是为了智能体能解释人类的指令,并执行一系列的动作让智能体在未知的环境中导航。该领域目前大部分的工作都是与机器人无关的,主要集中在高度抽象的模拟器上。在 VLN 任务中引入连续环境后,其摈弃了离散环境的强图假设,并且要求智能体在3D网格中自由的执行低级操作,进一步提升了视觉语言导航的难度。
[0003] 现有技术中,一些方法通过构建拓扑地图,从而构建访问环境并进行全局规划。然而,拓扑地图是一种高度抽象的表现形式,这导致这些方法难以表现历史观测中景物之间的空间关系,从而丢失大量的细节信息。于是,工作使用自上而下的语义地图来建模导航环境,这能更精确的表达物体间的空间关系。但由于预先定义的语义标签十分有限,因此在出现没有定义的对象或场景时,地图无法表示出这些信息。
[0004] 因此,实有必要提供一种融合网格地图和拓扑图的视觉语言导航方法,以解决上述背景技术中提出的问题。
具体实施方式
[0018] 下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0019] 请结合参阅图1‑图6,本发明提供一种融合网格地图和拓扑图的视觉语言导航方法,包括如下步骤:步骤S1,采集智能体在不同视角下观测到的当前环境的全景图像,将所述全景图像输入路点预测器,预测智能体的路径点。
[0020] 具体而言,全景图像采集所针对的视角为智能体在12个等距水平航向角下的视角,即0°、30°、60°、90°、120°、150°、180°、210°、240°、270°、300°以及330°水平航向角所对应的视角,每个视角下采集一张RGB图像和一张深度图像,组成所述全景图像,表示为:,式中, 表示时间步 时所采集的全景图像; 表示时间步 时所采
集的RGB图像; 表示时间步 时所采集的深度图像。
[0021] 所述路点预测器包括视觉编码器、Transformer模型和非线性分类器。
[0022] 所述视觉编码器用于将采集的全景图像编码为视觉特征,其包括RGB特征编码器和深度特征编码器,RGB特征编码器用于将RGB图像编码为RGB特征,表示为:,式中,表示视角索引, 表示第 个视角的RGB特征;深度
特征编码器用于将深度图像编码为深度特征,表示为: ,式中, 表
示第 个视角的深度特征。因为全景视图中有12个不同视角的图像,为了对不同视角下的特征进行区分,于是为每个视角添加方向特征,表示为: , 表示
个视角的方向特征, ,式中, 表示第 个视角的水平航向角。将每
个时间步下所有12个视角的RGB特征、深度特征和方向特征组合后并行的发送给所述Transformer模型。
[0023] 在本实施方式中,采用CLIP模型中的ViT‑B/32模块作为RGB特征编码器;采用在点目标导航上预训练的ResNet50模型作为深度特征编码器。
[0024] 所述Transformer模型采用自注意力机制来建模图像中的空间关系,并基于图像中的空间关系推断相邻的路径点,获得上下文深度嵌入。所述Transformer模型包括两层,每层有12个自注意力头。
[0025] 所述非线性分类器为一个多层感知器,用于将所述Transformer模型输出的嵌入信息投影到空间中相邻路径点的概率,获得表示空间中相邻路径点概率的热图,使用非最大化抑制(NMS)对热图进行处理,得到多个相邻路径点。
[0026] 步骤S2,基于路点预测器预测的路径点,通过短期规划构建网格地图,通过长期规划构建拓扑地图。
[0027] 拓扑地图的构建具体包括如下步骤:将智能体当前所处的路径点标记为当前节点,智能体可以访问在当前节点观测的全景图像;将当前节点附近的路径点标记为观察节点,表示智能体附近可到达的位置;将智能体已经访问过的路径点标记为已访问节点;任意两个相邻节点之间由一条边连接,所有节点和边共同组成当前环境的拓扑地图。
[0028] 时间步t构建的拓扑地图表示为 ,其中 表示拓扑地图内的节点,节点的类型分为三种,分别为:当前节点、观察节点和已访问节点,每个节点存储视觉特征和位置信息; 表示拓扑地图内的边,每条边内存储相邻两个节点之间的欧式距离。
[0029] 对于一个新的路径点,其类型的确定方式为:计算该路径点与拓扑地图中所有节点的欧式距离,通过预先设定的距离阈值来确定该新路径点的类型:如果该新路径点与所有节点的距离均大于距离阈值 ,则将该路径点划归为一个新的观察节点;
如果该新路径点与某个节点的距离小于距离阈值 ,且该节点为已访问节点,则删除该新路径点,并在当前节点和该已访问节点中间添加一条边;
如果该新路径点与某个节点的距离小于距离阈值 ,且该节点为观察节点,则删除该观察节点,同时将该新路径点划归为一个新的观察节点,实现对观察节点的更新。
[0030] 在每个时间步t,通过路点预测器预测的路径点自组织的构建拓扑地图,不需要假设环境结构的先验知识,随着时间步t的推进,逐步更新当前环境的拓扑地图。
[0031] 网格地图的构建具体包括如下步骤:步骤S21,基于所述全景图像以及智能体当前的姿态,采用网格地图生成模型生成当前环境的原始网格地图,将每个网格内的RGB特征作为当前网格的视觉特征。
[0032] 采用网格地图生成模型生成网格地图的过程属于本领域的常规技术,本实施方式对此不做赘述。RGB特征通过路点预测器中的RGB特征编码器提取得到,第k个网格的视觉特征表示为 。
[0033] 步骤S22,将智能体采集的深度图像缩小到与视觉特征相同的尺寸,然后以深度图像的深度值计算当前网格的绝对坐标 ,计算过程表示为:;
式中, 分别表示第k个网格的横、纵坐标; 分别表示时间步t时,智能
体的横、纵坐标; 表示智能体与第k个网格的欧式距离; 表示智能体当前的方向与第k个网格之间的航向角。
[0034] 步骤S23,将所有网格的视觉特征和绝对坐标存储在网格存储器中,作为网格记忆,表示为:;
式中, 表示时间步t‑1时的网格记忆。
[0035] 在连续环境中,智能体每到达一个路径点,就对网格记忆 进行更新,网格记忆中包含了每个网格细粒度的视觉特征和位置信息,使得智能体可以充分利用语义特征,进而加强短期规划能力。
[0036] 步骤S24,以智能体的当前位置作为坐标原点,以智能体当前的方向作为y轴的正方向,以水平面内垂直于y轴的方向作为x轴方向,定义动态网格地图坐标系,将网格记忆中的所有视觉特征和位置信息投影到动态网格坐标系中,形成动态网格地图。
[0037] 动态网格地图的大小会随着智能体访问环境的扩大而扩大,智能体总是位于动态网格地图的中心,网格记忆中 的所有视觉特征和位置信息投影完成后,将动态网格地图划分为N×N个单元格,将所有单元格中的视觉特征聚合到一个嵌入向量中,形成动态网格地图特征 。然后为动态网格地图特征 配备一个局部动作空间,用于短期推理,局部动作空间由当前节点以及与当前节点相邻的节点组成。然后执行从节点到单元格的转换操作,将局部动作空间内所有节点的姿态投影到动态网格地图上,计算所有节点在动态网格地图上的坐标,并将节点划归至不同的单元格内。
[0038] 步骤S3,采集智能体获取的语言指令,利用网格地图和拓扑地图分别进行VLN导航任务,得到不同节点分别在网格地图和拓扑地图导航下的导航分数,将两种导航分数进行动态融合,得到最终的导航分数,指导智能体到达导航分数最高的目标节点。
[0039] 在VLN导航过程中,还需要进行文本嵌入、网格地图嵌入和拓扑地图嵌入。
[0040] 文本嵌入:对语言指令 中的每个单词嵌入都添加一个位置嵌入和一个标记类型嵌入,然后输入多层 Transformer 网络获得单词表示,得到指令编码 。
[0041] 网格地图嵌入:将每个单元格中的多个网格特征聚合到一个嵌入向量中。由于导航环境的复杂性,每个单元格区域内的网格特征不都是智能体导航所需要的,与语言指令高度相关的关键信息才是智能体所最需要的,因此本发明采用一种指令关联方法来聚合每个单元格中的特征,以更好的理解环境,编码后的单元格表示为 。
[0042] 指令关联方法具体包括过程:步骤S31,设置评估矩阵A来评估每个单元格中的网格特征 与指令编码 的
相关性,评估矩阵A表示为:
;
式中, 均表示可学习的参数;T表示矩阵转置;
步骤S32,对评估矩阵A进行逐行最大池化,以评估每个单元格中的网格特征
与导航指令令牌 的相关性 :
;
式中, 表示单元格中特征的个数;L表示语言指令的长度;
步骤S33,将每个单元格中的网格特征聚合为一个嵌入向量 ,表示为:
;
式中, 表示中间参数, ; 表示可学习参数; 表示单元
格中的位置特征;
为了表示空间关系,在网格地图中引入位置信息,则地图特征表示为:
;
式中, 表示可学习的参数; 表示单元格中心与智能体之间的欧式距离;
表示智能体与单元格之间的相对朝向角。
[0043] 拓扑地图嵌入:将编码后的节点和词嵌入被送入多层变压器进行节点级的跨模态融合。它包含一个双向交叉注意力子层、两个自注意力子层和两个前馈子层。在这之后使用图形自注意力(GASA)取代了视觉自注意子层,最终获得编码后的节点。采用拓扑地图和指令编码进行节点级的跨模态融合,编码后的节点表示为 。具体包括如下步骤:为拓扑地图中每个节点添加位置编码和导航步骤编码,其中位置编码是将节点位置嵌入以自我为中心的视图中;导航步骤编码是为每个节点赋予其访问的时间步长;同时,在拓扑地图中添加一个用于表示停止动作的停止节点,将停止节点鱼其他节点连接起来;
将添加位置编码和导航步骤编码的节点和指令编码送入多层跨模态Transformer模型进行交互,预测每个节点的导航目标分数;
屏蔽当前节点和已访问节点的导航分数,智能体根据观察节点和停止节点的导航分数,导航分数最高的节点即为目标位置,假如选择的是一个观察节点则通过Dikjstra算法计算跳到目标位置的最短路径,假如选择的是停止节点,则终止当前的导航。
[0044] 具体的,位置编码即为将任意节点相对于当前节点的方向和欧式距离添加至视觉特征中;导航步骤编码中,将观察节点的导航步骤编码赋值为0,可以将已访问节点编码成不同的导航历史,促进与原始指令的对齐。
[0045] 标准的自注意层只考虑节点之间的视觉相似性,往往会忽略远端节点更相关的邻近节点。为了改善这种情况,本发明使用用于图形感知的自注意力层(GASA),在计算注意力时进一步考虑到了图拓扑结构,用于图形感知的自注意力层的执行过程 表示为:;
式中, X表示节点;E表示从拓扑地图的边得到的全对最短距离构成的空间矩阵,都为可学习矩阵;d表示节点的个数;be表示偏置量; 表
示采用softmax函数激活。
[0046] 融合的目的是融合长期动作空间和短期动作空间,将网格地图的短期推理结果融入到拓扑地图中。具体来说,首先将局部动作空间 使用单元格到节点操作(节点到单元格操作的逆操作,即将单元格上的特征映射到节点上),转换后的单元格表示为:,式中, 表示全局动作空间; 表示全局动作空间的子集。
[0047] 则,拓扑地图和网格地图下每个节点的导航分数表示为:;
;
则最终的导航分数表示为:
;
式中, 表示第i个节点在拓扑地图下的导航分数; 第i个节点在网格地图下的
导航分数; 表示采用一个两层的前馈网络处理; 表示权重系数,
,其中, 表示停止节点的特征表示, 表示中心单
元格的特征表示。
[0048] 在VLN任务中,没必要对同一个节点重复访问,所以屏蔽当前节点和已访问节点的导航分数。
[0049] 实施例1
[0050] 为了验证本发明提供的一种融合网格地图和拓扑图的视觉语言导航方法的可行性,设置对比试验,将本发明的方法与现有技术中的几种视觉语言导航方法进行对比,试验结果汇总于表1及表2,其中表1表示本申请与现有技术中的几种方法在R2R‑CE数据集Val‑Seen分割集上的性能对比表;表2表示本申请与现有技术中的几种方法在R2R‑CE数据集Val‑UnSeen分割集上的性能对比表。表1和表2中涉及的性能指标定义如下:成功率SR用于评价导航的成功到达概率,其定义如下:
;
式中,N表示测试数据数目;k表示任意一次测试数据; 表示智能体停靠坐标。
[0051] 轨迹长度TL用于衡量智能体到达目的地所需要的步长,其定义如下:;
式中,m表示目标点坐标,dth表示智能体导航距离。
[0052] 导航误差NE用于衡量智能体与目标点之间的最短间距,其定义如下:;
式中,dm表示目标节点位置 dk表示实际节点位置。
[0053] Oracle成功率OSR用于横向Oracle停止策略的成功率。
[0054] 路径长度加权成功率SPL,用衡量导航成功率被接受的程度,其定义如下:;
式中,ds表示当前导航的出发点与目标点的距离。
[0055] 表1 多种方法在R2R‑CE数据集Val‑Seen分割集上的测试结果表
[0056] 表2 多种方法在R2R‑CE数据集Val‑UnSeen分割集上的测试结果表
[0057] 从表1和表2中可以看出,在Val‑Seen分割集上导航,导航成功率和路径长度加权成功率都比之前的研究要高。同样的Val‑Unseen分割集上也保持着性能的优异,证明了加入网格地图的有效性。其中,比较GridMM的方法,该方法也使用了网格地图,但在长期规划中使用的直接的图像选择,在 Val‑Unseen分割集中的重要指标SPL比GridMM优秀了五个点,这得益于使用拓扑图的长期规划,面对未知环境有着更强的泛化能力。总体来看,在视觉语言导航中加入导航图是可以很大程度上提升导航的性能的,地图所提供的方位信息和存储的视觉语义信息可以让智能体面对导航环境有着很强的适应能力,同时加强了导航的回溯能力,弱化了导航的犯错资本。具体的模块的提升分析由下面的消融实验逐个分析。
[0058] 如下表3所示,表示地图选择的消融实验,包括四个实验,分别为不加入 任何地图、加入拓扑地图、加入网格地图与本申请的多地图融合。从表3中可以看出,融合地图的效果远远好于单个地图或是没有地图。
[0059] 表3 地图选择的消融实验
[0060] 如下表4所示,为地图尺寸的消融实验,将网格地图分为7×7,14×14,21×21三种不同的尺寸,比较选择不同尺寸所带来的导航效果。
[0061] 从表4中可以看出选择14×14比例尺的地图导航性能最好,正常情况下随着地图尺寸的增加,更大的地图可以容纳更多的环境细节,更加精确的表示空间关系,但随着地图尺寸到一定程度会增大计算量从而反过来导致性能的下降。
[0062] 表4 地图尺寸的消融实验
[0063] 如下表5所示,为预训练任务的消融实验。
[0064] 表5 预训练任务的消融实验
[0065] 从第一行可以看出,在没有预训练的情况下,导航性能表现最差,因为没有对语音的预训练,导致学习到的映射缺乏通用的多模态表示。从第二行可以看出,增加MLM后方法表现出不错的性能。从第三行可以看出,智能体对模糊环境也有想象能力,加强适应位置环境的能力。从第四行可以看出,第四行加入的SAP单步行动预测也对性能有着一定提升,并且它使得路径长度变得更短,让智能体更加有效的寻找目标节点。
[0066] 上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。