图像目标驱动导航方法、装置、设备和存储介质

文档序号:32484431发布日期:2022-12-10 00:32阅读:34来源:国知局
图像目标驱动导航方法、装置、设备和存储介质

1.本发明涉及视觉导航技术领域,尤其涉及一种图像目标驱动导航方法、装置、设备和存储介质。


背景技术:

2.图像目标驱动导航对于智能体是一种常见的任务,它要求智能体根据指定图像在三维场景中导航,自主移动到目标位置而不碰撞任何物体,在智能体的室内服务上有广泛的应用。
3.相关技术中,图像目标驱动导航仍处于起步阶段,通常在导航时存储并利用导航历史信息进行导航,但基于导航历史信息进行导航的过程中只能获取到局部且有限的信息来进行导航决策,且无法删除冗余历史信息和噪声信息,导致图像目标驱动导航的成功率仍然很低。


技术实现要素:

4.针对现有技术中的问题,本发明实施例提供一种图像目标驱动导航方法、装置、设备和存储介质。
5.具体地,本发明实施例提供了以下技术方案:
6.第一方面,本发明实施例提供了一种图像目标驱动导航方法,包括:
7.获取导航目标的目标图像;
8.根据所述目标图像和当前时刻的观测图像,生成拓扑地图中的地图节点和全局节点;所述地图节点中存储短期记忆数据;所述全局节点中存储长期记忆数据;所述短期记忆数据表示目标图像的特征向量和观测图像的特征向量;所述长期记忆数据表示短期记忆数据的加权求和结果;
9.根据地图节点中的所述短期记忆数据、全局节点中的所述长期记忆数据、当前时刻的观测图像和训练后的导航模型,得到所述导航模型输出的导航动作;所述导航模型用于图像目标驱动导航。
10.进一步地,所述根据所述目标图像和当前时刻的观测图像,生成拓扑地图中的地图节点和全局节点;所述地图节点中存储短期记忆数据;所述全局节点中存储长期记忆数据,包括:
11.根据所述目标图像对应的第一特征向量和当前时刻的观测图像对应的第二特征向量,生成拓扑地图中的地图节点及地图节点中的短期记忆数据;
12.将多个地图节点中的短期记忆数据进行加权求和处理,生成拓扑地图中的全局节点及全局节点中的长期记忆数据。
13.进一步地,所述将地图节点中的所述短期记忆数据、全局节点中的所述长期记忆数据、当前时刻的观测图像输入训练后的导航模型,得到所述导航模型输出的导航动作,包括:
14.根据地图节点中的所述短期记忆数据和全局节点中的所述长期记忆数据,生成工作记忆数据;
15.对所述工作记忆数据进行解码,获取与目标图像相关的第三特征向量、与当前时刻的观测图像相关的第四特征向量;
16.将所述第三特征向量、第四特征向量和当前时刻的观测图像输入所述导航模型,得到所述导航模型输出的导航动作。
17.进一步地,获取拓扑地图中各个地图节点对应的注意力分数;
18.根据各个所述地图节点对应的注意力分数,确定拓扑地图中的冗余地图节点,将所述冗余地图节点从所述拓扑地图中删除。
19.进一步地,所述导航模型是基于所述导航动作及预设的目标动作训练得到的;所述导航模型的损失函数是根据所述目标动作的对数似然度、当前位置是否曾经被探索过、当前位置与导航目标之间距离的预测结果确定的。
20.进一步地,所述导航模型是基于所述导航动作及所述导航动作的奖励值训练得到的;所述导航模型的损失函数是根据所述导航动作的奖励值、当前位置是否曾经被探索过、当前位置与导航目标之间距离的预测结果确定的。
21.第二方面,本发明实施例还提供了一种图像目标驱动导航装置,包括:
22.获取模块,用于获取导航目标的目标图像;
23.生成模块,用于根据所述目标图像和当前时刻的观测图像,生成拓扑地图中的地图节点和全局节点;所述地图节点中存储短期记忆数据;所述全局节点中存储长期记忆数据;所述短期记忆数据表示目标图像的特征向量和观测图像的特征向量;所述长期记忆数据表示短期记忆数据的加权求和结果;
24.导航模块,用于根据地图节点中的所述短期记忆数据、全局节点中的所述长期记忆数据、当前时刻的观测图像和训练后的导航模型,得到所述导航模型输出的导航动作;所述导航模型用于图像目标驱动导航。
25.第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述图像目标驱动导航方法。
26.第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述图像目标驱动导航方法。
27.第五方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述图像目标驱动导航方法。
28.本发明实施例提供的图像目标驱动导航方法、装置、设备和存储介质,根据目标图像和当前时刻的观测图像,生成拓扑地图中的地图节点和全局节点;地图节点中存储短期记忆数据;全局节点中存储长期记忆数据;即将目标图像和当前时刻的观测图像的特征向量生成的短期记忆数据进行加权求和处理后得到长期记忆数据后,基于长期记忆数据就可以获取到导航场景中更多层次且更加全面的视觉特征,并在远距离视觉特征对应的地图结点之间实现信息的互相传递,为图像目标驱动导航提供了更加丰富、全面、准确的决策信息,进而基于更加丰富、全面、准确的决策信息,也就可以准确地实现图像目标驱动导航,提
升图像目标驱动导航的成功率。
附图说明
29.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
30.图1是本发明实施例提供的图像目标驱动导航方法的流程示意图之一;
31.图2是本发明实施例提供的图像目标驱动导航方法的流程示意图之二;
32.图3是本发明实施例提供的图像目标驱动导航模型训练方法的示意图;
33.图4是本发明实施例提供的图像目标驱动导航方法的流程示意图之三;
34.图5是本发明实施例提供的图像目标驱动导航装置的结构示意图;
35.图6是本发明实施例提供的电子设备的结构示意图。
具体实施方式
36.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.本发明实施例的方法可以应用于视觉导航场景中,实现图像目标驱动导航。
38.相关技术中,图像目标驱动导航仍处于起步阶段,通常在导航时存储并利用导航历史信息进行导航,但基于导航历史信息进行导航的过程中只能获取到局部且有限的信息来进行导航决策,且无法删除冗余历史信息和噪声信息,导致图像目标驱动导航的成功率仍然很低。
39.本发明实施例的图像目标驱动导航方法,根据目标图像和当前时刻的观测图像,生成拓扑地图中的地图节点和全局节点;地图节点中存储短期记忆数据;全局节点中存储长期记忆数据;即将目标图像和当前时刻的观测图像的特征向量生成的短期记忆数据进行加权求和处理后得到长期记忆数据后,基于长期记忆数据就可以获取到导航场景中更多层次且更加全面的视觉特征,并在远距离视觉特征对应的地图结点之间实现信息的互相传递,为图像目标驱动导航提供了更加丰富、全面、准确的决策信息,进而基于更加丰富、全面、准确的决策信息,也就可以准确地实现图像目标驱动导航,提升图像目标驱动导航的成功率。
40.下面结合图1-图6以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
41.图1是本发明实施例提供的图像目标驱动导航方法一实施例的流程示意图。如图1所示,本实施例提供的方法,包括:
42.步骤101、获取导航目标的目标图像;
43.具体地,图像目标驱动导航要求智能体根据指定图像在三维场景中导航,因此为
了实现图像目标驱动导航,需要获取导航目标的目标图像,进而根据获取到的目标图像进行导航。
44.步骤102、根据目标图像和当前时刻的观测图像,生成拓扑地图中的地图节点和全局节点;地图节点中存储短期记忆数据;全局节点中存储长期记忆数据;短期记忆数据表示目标图像的特征向量和观测图像的特征向量;长期记忆数据表示短期记忆数据的加权求和结果;
45.具体地,通常在导航时存储并利用导航历史信息进行导航,但基于导航历史信息进行导航的过程中只能获取到局部且有限的信息来进行导航决策,且无法删除冗余历史信息和噪声信息,导致图像目标驱动导航的成功率仍然很低。本发明实施例为了提高图像目标驱动导航的成功率,在导航过程中引入了人脑工作记忆机制,即将智能体观测到的全景图像编码成特征向量(如512维),并且和目标图像的特征向量拼接在一起,生成短期记忆数据,存储在拓扑地图的地图结点中,并在近邻的地图结点之间建立边。进一步将短期记忆数据进行加权求和处理得到长期记忆数据,存储在拓扑地图的全局结点中,且全局节点和所有的地图节点建立边的联系。本发明实施例通过模仿人脑工作记忆机制进行图像目标驱动导航,引入了长期记忆数据用于聚合智能体短期记忆数据中存储的导航历史信息,即通过在拓扑地图上引入和所有地图结点相连的全局结点,存储智能体的长期记忆数据,其优点在于将目标图像和当前时刻的观测图像的特征向量生成的短期记忆数据进行加权求和处理后得到长期记忆数据,使得通过长期记忆数据可以更充分地融合拓扑地图的地图结点特征,提取到导航场景中更多层次且更加全面的视觉特征,实现了远距离视觉特征对应的地图结点之间信息的互相传递,扩大了图注意力机制视觉特征的感受野,为图像目标驱动导航提供了更加丰富、全面和准确的决策信息,也就可以准确地实现图像目标驱动导航,提升图像目标驱动导航的成功率。需要说明的是,本发明实施例中通过人脑工作记忆机制进行图像目标驱动导航,引入了长期记忆数据用于聚合智能体短期记忆数据中存储的导航历史信息,基于长期记忆数据可以有效辅助导航决策,也就是将目标图像和当前时刻的观测图像的特征向量生成的短期记忆数据进行加权求和处理后得到长期记忆数据,一方面可以融合地图结点存储的局部信息(短期记忆数据)从而生成有关导航视觉场景的全局信息,为图像目标驱动导航提供丰富的决策信息来源,另一方面可以加快地图节点之间的信息传递,扩大图卷积的感受野,减少图卷积层数,从而减少冗余参数量,提高图像目标驱动导航的决策效率和导航成功率。
46.步骤103、根据地图节点中的短期记忆数据、全局节点中的长期记忆数据、当前时刻的观测图像和训练后的导航模型,得到导航模型输出的导航动作;导航模型用于图像目标驱动导航。
47.具体地,在将目标图像和当前时刻的观测图像的特征向量生成的短期记忆数据进行加权求和处理后得到长期记忆数据后,也就可以基于长期记忆数据获取到导航场景中更多层次且更加全面的视觉特征,并在远距离视觉特征对应的地图结点之间实现信息的互相传递,为图像目标驱动导航提供了更加丰富、全面、准确的决策信息,也就可以准确地实现图像目标驱动导航,提升图像目标驱动导航的成功率。即基于地图节点中的短期记忆数据、全局节点中的长期记忆数据、当前时刻的观测图像,也就是基于更加丰富、全面、准确的全局信息和局部信息,可以有效辅助导航决策,也就可以准确地得到导航模型输出的导航动
作,提升图像目标驱动导航的成功率。
48.上述实施例的方法,根据目标图像和当前时刻的观测图像,生成拓扑地图中的地图节点和全局节点;地图节点中存储短期记忆数据;全局节点中存储长期记忆数据;即将目标图像和当前时刻的观测图像的特征向量生成的短期记忆数据进行加权求和处理后得到长期记忆数据后,基于长期记忆数据就可以获取到导航场景中更多层次且更加全面的视觉特征,并在远距离视觉特征对应的地图结点之间实现信息的互相传递,为图像目标驱动导航提供了更加丰富、全面、准确的决策信息,进而基于更加丰富、全面、准确的决策信息,也就可以准确地实现图像目标驱动导航,提升图像目标驱动导航的成功率。
49.在一实施例中,根据目标图像和当前时刻的观测图像,生成拓扑地图中的地图节点和全局节点;地图节点中存储短期记忆数据;全局节点中存储长期记忆数据,包括:
50.根据目标图像对应的第一特征向量和当前时刻的观测图像对应的第二特征向量,生成拓扑地图中的地图节点及地图节点中的短期记忆数据;
51.将多个地图节点中的短期记忆数据进行加权求和处理,生成拓扑地图中的全局节点及全局节点中的长期记忆数据。
52.具体地,本发明实施例为了提高图像目标驱动导航成功率,引入了人脑工作记忆机制。可选地,通过一个预训练的神经网络将智能体观测到的全景图像编码成特征向量,并且和目标图像的特征向量拼接在一起,存储在拓扑地图的地图结点中,然后在近邻的地图结点之间建立边,将拓扑地图中的地图结点的特征向量作为智能体的短期记忆数据;并将多个地图节点中的短期记忆数据进行加权求和处理,生成拓扑地图中的全局节点及全局节点中的长期记忆数据;可选地,将拓扑地图的全局地点和拓扑地图中的所有地图节点建立边的联系,然后整张地图经过图注意力机制的处理,将短期记忆数据融合为长期记忆数据,在拓扑地图的全局节点中存储长期记忆数据。
53.上述实施例的方法,根据目标图像对应的第一特征向量和当前时刻的观测图像对应的第二特征向量,生成拓扑地图中的地图节点及地图节点中的短期记忆数据,然后将多个地图节点中的短期记忆数据进行加权求和处理,生成拓扑地图中的全局节点及全局节点中的长期记忆数据,即通过模仿人脑工作记忆机制,拓扑地图的地图节点中存储短期记忆数据,拓扑地图的全局节点中存储长期记忆数据,进而基于短期记忆数据和长期记忆数据就为图像目标驱动导航提供了更加丰富、全面、准确的决策信息,也就可以准确地实现图像目标驱动导航,提升图像目标驱动导航的成功率。
54.在一实施例的方法,将地图节点中的短期记忆数据、全局节点中的长期记忆数据、当前时刻的观测图像输入训练后的导航模型,得到导航模型输出的导航动作,包括:
55.根据地图节点中的短期记忆数据和全局节点中的长期记忆数据,生成工作记忆数据;
56.对工作记忆数据进行解码,获取与目标图像相关的第三特征向量、与当前时刻的观测图像相关的第四特征向量;
57.将第三特征向量、第四特征向量和当前时刻的观测图像输入导航模型,得到导航模型输出的导航动作。
58.具体地,为了基于短期记忆数据和长期记忆数据为图像目标驱动导航提供更加丰富、全面、准确的决策信息,本发明实施例中,根据地图节点中的短期记忆数据和全局节点
中的长期记忆数据,生成工作记忆数据;可选地,通过将短期记忆数据和长期记忆数据按照序列维度拼接在一起,生成工作记忆数据。进一步地,通过对工作记忆数据进行解码,获取与目标图像相关的第三特征向量、与当前时刻的观测图像相关的第四特征向量;可选地,利用残差神经网络resnet50将智能体当前观测到的全景图像和目标图像分别编码成特征f
cur
和f
goal
,然后两个基于注意力机制的解码器分别利用这两个特征f
cur
和f
goal
,来解码工作记忆数据,得到与目标图像相关的第三特征向量、与当前时刻的观测图像相关的第四特征向量,也就获得了更加丰富、全面、准确的决策信息;最后,将与目标图像相关的第三特征向量、与当前时刻的观测图像相关的第四特征向量及当前时刻的观测图像输入导航模型,基于丰富的决策信息就可以实现准确决策,准确地实现图像目标驱动导航,提升图像目标驱动导航的成功率。
59.上述实施例的方法,根据地图节点中的短期记忆数据和全局节点中的长期记忆数据,生成工作记忆数据;进而对工作记忆数据进行解码,获取与目标图像相关的第三特征向量、与当前时刻的观测图像相关的第四特征向量,也就获得了更加丰富、全面、准确的决策信息;从而基于丰富的决策信息就可以实现准确决策,准确地实现图像目标驱动导航,提升图像目标驱动导航的成功率。
60.在一实施例中,图像目标驱动导航方法,还包括:
61.获取拓扑地图中各个地图节点对应的注意力分数;
62.根据各个地图节点对应的注意力分数,确定拓扑地图中的冗余地图节点,将冗余地图节点从拓扑地图中删除。
63.具体地,在大场景中导航时存储并利用导航历史信息的机制占用内存和计算资源过多,容易遇到原地转圈的死锁问题,本发明实施例通过地图结点剔除机制可以灵活地保留对当前导航目标有用的历史导航信息,降低内存消耗,弱化噪声干扰。可选地,在对所有地图结点的特征向量进行解码的过程中,给每一个地图节点的特征向量生成一个注意力分数,将分数排名低于特定百分比阈值的结点从拓扑地图中剔除,被剔除的地图结点将不会参与后续导航所需的计算及导航决策,其优点在于能排除智能体短期记忆数据中的噪声,仅保留对当前导航目标有益的地图结点,这样既降低了拓扑地图的内存消耗,也帮助智能体摆脱了重复执行动作导致的原地转圈的死锁现象,提升了图像目标驱动导航成功率,降低了图像目标驱动导航时到达导航目标的用时时长。
64.上述实施例的方法,根据各个地图节点对应的注意力分数,确定拓扑地图中的冗余地图节点,将冗余地图节点从拓扑地图中删除,可以有效地排除智能体短期记忆数据中的噪声,仅保留对当前导航目标有益的地图结点,降低了拓扑地图的内存消耗,也解决了重复执行动作导致的原地转圈的死锁现象,提升了图像目标驱动导航成功率,降低了图像目标驱动导航时到达导航目标的用时时长。
65.在一实施例中,导航模型是基于导航动作及预设的目标动作训练得到的;导航模型的损失函数是根据目标动作的对数似然度、当前位置是否曾经被探索过、当前位置与导航目标之间距离的预测结果确定的。
66.具体地,本发明实施例中,导航模型是基于导航动作及预设的目标动作训练得到的。可选地,为了提升智能体利用观测到的信息进行导航的能力,通过将获取到的导航模型输出的导航动作的对数似然最大化,并通过添加两个辅助任务,一个是让智能体预测当前
位置是否曾经被探索过,另一个是让智能体估计当前位置与导航目标之间距离,进而基于全局损失函数就可以使得训练出的导航模型具有更优的性能,使得训练后的导航模型输出的导航动作与预设的目标动作更加的接近,同时使得训练后的导航模型可以更加准确地确定当前位置是否曾经被探索过,也就可以基于历史经验信息做出更优的导航决策,杜绝做出重复的执行动作,并且使得训练后的导航模型可以更加准确地预测当前位置与导航目之间的距离,从而可以提取并参考相应距离和区域的历史导航信息,做出更加准确的导航决策,提升导航效率和准确性。可选地,全局损失函数如下:
67.l
all
=l
bc
+αl
aux1
+βl
aux2

68.其中,l
all
表示全局损失函数,l
bc
表示根据获取到的导航模型决策结果计算的专家动作的似然度最大化的损失函数,l
aux1
表示当前位置是否曾经被探索过的预测结果对应的损失函数,l
aux2
表示当前位置与导航目标之间距离的预测结果对应的损失函数,其中α和β为超参数,用于两个辅助任务之间的权重比值,通常分别设置为1.0和1.0。
69.上述实施例的方法,基于导航动作及预设的目标动作训练导航模型,通过将获取到的导航模型决策结果计算的专家动作的似然度最大化,并通过当前位置是否曾经被探索过的预测结果和当前位置与导航目标之间距离的预测结果作为损失函数实现对导航模型的训练,从而使得训练出的导航模型具有更优的性能,使得训练后的导航模型与预设的目标动作更加的接近,同时使得训练后的导航模型可以更加准确地确定当前位置是否曾经被探索过,也就可以基于历史经验信息做出更优的导航决策,杜绝做出重复的执行动作,并且使得训练后的导航模型可以更加准确地预测当前位置与导航目之间的距离,从而可以提取并参考相应距离和区域的历史导航信息,做出更加准确的导航决策,提升导航效率和准确性。
70.在一实施例中,导航模型是基于导航动作及导航动作的奖励值训练得到的;导航模型的损失函数是根据导航动作的奖励值、当前位置是否曾经被探索过的预测结果、当前位置与导航目标之间距离的预测结果确定的。
71.具体地,本发明实施例中,导航模型在基于导航动作及预设的目标动作训练过程中,还可以通过导航动作及导航动作的奖励值进行训练;可选地,为了提升智能体利用观测到的信息进行导航的能力,根据导航动作的奖励值对导航模型进行训练,即在执行完导航模型输出的导航动作后,获得奖励,奖励设置为:每过一个时间步,智能体获得-0.001的奖励,在到达目标后获得+10的奖励;并通过添加两个辅助任务,一个是让智能体预测当前位置是否曾经被探索过,另一个是让智能体估计当前位置与导航目标之间距离,基于全局损失函数可以使得训练出的导航模型具有更优的性能,使得训练后的导航模型输出的导航动作可以获得更高的奖励,进而也就使得导航模型输出的导航动作更加的准确和高效,同时使得训练后的导航模型可以更加准确地确定当前位置是否曾经被探索过,也就可以基于历史经验信息做出更优的导航决策,杜绝做出重复的执行动作;并且使得训练后的导航模型可以更加准确地预测当前位置与导航目之间的距离,从而可以提取并参考相应距离和区域的历史导航信息,做出更加准确的导航决策,提升导航效率和准确性。可选地,全局损失函数如下:
72.l
all
=l
rl
+αl
aux1
+βl
aux2

73.其中,l
all
表示全局损失函数,l
rl
表示导航模型输出的导航动作的奖励值对应的损
失函数,l
aux
表示当前位置是否曾经被探索过的预测结果对应的损失函数,l
aux2
表示当前位置与导航目标之间距离的预测结果对应的损失函数,其中α和β为超参数,用于两个辅助任务之间的权重比值,通常分别设置为1.0和1.0。
74.上述实施例的方法,基于导航动作及导航动作的奖励值训练导航模型,通过导航动作的奖励值对导航模型进行训练,并通过当前时刻位置是否曾经被探索过的预测结果和当前位置与导航目标之间距离的预测结果作为损失函数实现对导航模型的训练,从而使得训练出的导航模型具有更优的性能,使得训练后的导航模型输出的导航动作可以获得更高的奖励,也就使得导航模型输出的导航动作更加的准确和高效;同时使得训练后的导航模型可以更加准确地确定当前时刻位置是否曾经被探索过,也就可以基于历史经验信息做出更优的导航决策,杜绝做出重复的执行动作;并且使得训练后的导航模型可以更加准确地预测当前位置与导航目之间的距离,从而可以提取并参考相应距离和区域的历史导航信息,做出更加准确的导航决策,提升导航效率和准确性。
75.示例性地,图像目标驱动导航方法如图2所示,通过获取导航目标的目标图像,并根据目标图像和每个时间步的观测图像(智能体观测到的全景图像)生成拓扑地图中的地图节点和全局节点,实现拓扑地图的更新;进一步地,根据地图节点中的短期记忆数据和全局节点中的长期记忆数据,生成工作记忆数据;可选地,通过模仿人脑工作记忆机制,在拓扑地图的地图节点中存储短期记忆数据,在拓扑地图的全局节点中存储长期记忆数据,进而基于短期记忆数据和长期记忆数据就可以为图像目标驱动导航提供更加丰富、全面、准确的决策信息,进而基于丰富、全面、准确的决策信息也就可以准确地实现图像目标驱动导航,提升图像目标驱动导航的成功率。
76.然后根据拓扑地图中各个地图节点对应的注意力分数,确定拓扑地图中的冗余地图节点,将冗余地图节点从拓扑地图中删除,排除了智能体短期记忆数据中的噪声,仅保留对当前导航目标有益的地图结点,降低了拓扑地图的内存消耗,解决了重复执行动作导致的原地转圈的死锁现象,提升了图像目标驱动导航成功率,降低了图像目标驱动导航时到达导航目标的用时时长。
77.最后对工作记忆数据进行解码,获取与目标图像相关的第三特征向量、与当前时刻的观测图像相关的第四特征向量,也就获得了更加丰富、全面、准确的决策信息,从而基于丰富的决策信息就可以实现准确决策,准确地实现图像目标驱动导航,提升图像目标驱动导航的成功率。
78.本发明实施例通过地图结点剔除机制,可以灵活地保留对当前导航目标有用的历史导航信息,降低内存消耗,弱化噪声干扰。该方法能够提升在大场景中连续导航的成功率,可以摆脱重复执行动作导致的原地转圈的死锁问题。
79.示例性的,图像目标驱动导航训练方法如图3所示,采用多目标导航任务进行导航模型的训练,利用导航模型进行多目标连续导航。可选地,首先按顺序指定多个导航目标的目标图像(如3个),初始化智能体的位置(起始位置),再让智能体按顺序导航到这些目标,也就是在训练和测试阶段为智能体指定多个目标图像,让其按顺序连续导航到这些目标图像指示的区域,该训练和测试方法能检验智能体是否可以根据导航历史记忆沿原路返回到位于所经过区域的目标,从而通过测试和训练提升图像目标驱动导航的成功率。
80.示例性的,图像目标驱动导航方法如图4所示,可选地,采用深度神经网络框架,首
先以智能体当前时刻观测到的全景彩色图像作为输入,利用一个预训练的卷积神经网络将该输入压缩成特征向量,并作为地图结点存储在拓扑地图中,导航过程中智能体会生成多个这样的特征向量,并存储在拓扑地图的地图结点中,用以暂时存储导航历史观测信息。一个全局结点和所有地图结点建立边的联系,并通过图卷积操作融合地图结点的特征信息。一个基于注意力机制的解码器利用目标图像的特征向量对所有地图结点的特征向量进行解码,并给每一个特征向量生成一个注意力分数,将分数排名低于特定百分比阈值的结点从拓扑地图中剔除。最后,仅利用被保留的地图结点以及全局结点的特征向量作为输入以进行导航决策。包括步骤:
81.步骤s0,初始化智能体,将其置于环境中某一初始位置,然后指定场景某处的一幅照片(如256
×
256
×
3像素)作为智能体的导航目标,同时初始化智能体的拓扑地图为无结点和边的拓扑地图结构。
82.步骤s1,在导航过程中,用一个预训练的神经网络将每一时间步智能体观测到的全景图编码成特征向量,并且和目标图像的特征向量拼接在一起,存储在拓扑地图的地图结点中,然后在近邻的地图结点之间建立边,所有地图结点的特征向量作为智能体的短期记忆数据m
st
(尺寸为l
×
d)。
83.步骤s2,一个全局结点m
lt
(尺寸为1
×
d)存储长期记忆数据,和新增的拓扑地图结点建立边的联系,然后整张地图经过图注意力机制的处理,将短期记忆数据的特征向量融合为长期记忆数据。处理后”的短期记忆数据和长期记忆数据分别为m
st
和m
lt
,两者按照序列维度拼接在一起,生成工作记忆m'(尺寸为(1+l)
×
d)。
84.步骤s3,利用一个卷积神经网络将智能体当前观测到的全景图像和目标图像分别编码成特征f
cur
和f
goal
(尺寸为d),然后两个基于注意力机制的解码器dec
cur
和dec
goal
分别利用这两个特征来解码工作记忆m',得到解码后的特征:e
cur
=dec
cur
(f
cur
,m'),e
goal
=dec
goal
(f
goal
,m')。
85.步骤s4,一个剔除机制根据解码器dec
goal
给每一个地图结点计算注意力分数,将排在设定百分比阈值后的地图结点从拓扑地图中剔除,除非智能体返回被剔除地图结点所代表的区域或完成当前导航目标,被剔除的地图结点将不会参与后续导航所需的计算。
86.步骤s5,将解码特征e
cur
、e
goal
和f
cur
拼接在一起作为一个导航模块的输入,进而生成导航动作(离散动作空间:前进、左转、右转和停止)。
87.步骤s6,智能体执行完导航动作后,获得奖励,并把当前时间的状态信息存入经验池中,以待强化学习训练时使用。奖励设置为:每过一个时间步,智能体获得负数奖励,在到达目标后获得正数奖励;可选地,奖励设置为:每过一个时间步,智能体获得-0.001的奖励,在到达目标后获得+10的奖励。
88.步骤s7,智能体在单目标导航数据集上训练,当其进入目标地点附近时,导航成功。训练模型的过程分为两阶段,第一阶段是模仿学习,让智能体的策略模块输出专家动作的对数似然度最大化,第二阶段是强化学习,采用近端策略优化微调模型。为了提升智能体利用观测到的信息进行导航的能力,在两个阶段中额外添加两个辅助任务,一个是让智能体预测是否曾经到过当前位置,另一个是让智能体估计到目标的距离。第一阶段全局损失l
all
=l
bc
+αl
aux1
+βl
aux2
,第二阶段全局损失l
all
=l
rl
+αl
aux
+βl
aux2
,其中α和β为超参数,用于调节策略模块损失和两个辅助任务之间的权重比值,通常分别设置为1.0和1.0。
89.步骤s8,智能体在线收集用于训练的轨迹,并根据这些轨迹计算损失函数,然后采用反向传播算法和随机梯度下降法来减小全局损失l
all
以训练该模型,经过多次迭代训练得到最终的导航模型。可选地,选取72个场景作为训练场景,让智能体在这些场景中轮流收集用于训练的轨迹,每条轨迹包含256个时间步。每采集完一条轨迹,就将智能体在每一个时间步的自身状态、执行的动作、策略模块隐状态、全局节点存储的特征和奖励添加到一个经验池中。然后,智能体从经验池中随机抽取256个样本用于计算损失函数,然后采用反向传播算法和随机梯度下降法来减小全局损失l
all
以训练该模型,训练过程需要采集一千万条轨迹来训练模型,经过多次迭代训练得到最终的导航模型。
90.步骤s9,测试阶段,利用训练好的导航模型进行多目标连续导航。首先按顺序指定多个目标图像,初始化智能体的位置,再让智能体按顺序导航到这些目标。可选地,首先按顺序指定4个随机目标的图像,初始化智能体的位置,再让智能体按顺序导航到这些目标。让智能体做700次这样的测试,统计导航成功率和路径加权的导航成功率,完成对智能体的导航性能评价。
91.上述基于模仿人脑工作记忆机制的图像目标驱动导航方法,引入了长期记忆数据用于聚合智能体短期记忆数据中存储的导航历史信息,利用剔除机制保留短期记忆数据中对当前目标有益的信息,并利用多目标导航任务来测试智能体的导航性能。
92.下面对本发明提供的图像目标驱动导航装置进行描述,下文描述的图像目标驱动导航装置与上文描述的图像目标驱动导航方法可相互对应参照。
93.图5是本发明提供的图像目标驱动导航装置的结构示意图。本实施例提供的图像目标驱动导航装置,包括:
94.获取模块510,用于获取导航目标的目标图像;
95.生成模块520,用于根据目标图像和当前时刻的观测图像,生成拓扑地图中的地图节点和全局节点;地图节点中存储短期记忆数据;全局节点中存储长期记忆数据;短期记忆数据表示目标图像的特征向量和观测图像的特征向量;长期记忆数据表示短期记忆数据的加权求和结果;
96.导航模块530,用于根据地图节点中的短期记忆数据、全局节点中的长期记忆数据、当前时刻的观测图像和训练后的导航模型,得到导航模型输出的导航动作;导航模型用于图像目标驱动导航。
97.可选地,所述生成模块520,具体用于:根据目标图像对应的第一特征向量和当前时刻的观测图像对应的第二特征向量,生成拓扑地图中的地图节点及地图节点中的短期记忆数据;
98.将多个地图节点中的短期记忆数据进行加权求和处理,生成拓扑地图中的全局节点及全局节点中的长期记忆数据。
99.可选地,所述导航模块530,具体用于:根据地图节点中的短期记忆数据和全局节点中的长期记忆数据,生成工作记忆数据;
100.对工作记忆数据进行解码,获取与目标图像相关的第三特征向量、与当前时刻的观测图像相关的第四特征向量;
101.将第三特征向量、第四特征向量和当前时刻的观测图像输入导航模型,得到导航模型输出的导航动作。
102.可选地,所述导航模块530,还用于:获取拓扑地图中各个地图节点对应的注意力分数;
103.根据各个地图节点对应的注意力分数,确定拓扑地图中的冗余地图节点,将冗余地图节点从拓扑地图中删除。
104.可选地,导航模型是基于导航动作及预设的目标动作训练得到的;导航模型的损失函数是根据目标动作的对数似然度、当前位置是否曾经被探索过的预测结果、当前位置与导航目标之间距离的预测结果确定的。
105.可选地,导航模型是基于导航动作及导航动作的奖励值训练得到的;导航模型的损失函数是根据导航动作的奖励值、当前位置是否曾经被探索过的预测结果、当前位置与导航目标之间距离的预测结果确定的。
106.本发明实施例的装置,其用于执行前述任一方法实施例中的方法,其实现原理和技术效果类似,此次不再赘述。
107.图6示例了一种电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行图像目标驱动导航方法,该方法包括:获取导航目标的目标图像;根据目标图像和当前时刻的观测图像,生成拓扑地图中的地图节点和全局节点;地图节点中存储短期记忆数据;全局节点中存储长期记忆数据;短期记忆数据表示目标图像的特征向量和观测图像的特征向量;长期记忆数据表示短期记忆数据的加权求和结果;根据地图节点中的短期记忆数据、全局节点中的长期记忆数据、当前时刻的观测图像和训练后的导航模型,得到导航模型输出的导航动作;导航模型用于图像目标驱动导航。
108.此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
109.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的图像目标驱动导航方法,该方法包括:获取导航目标的目标图像;根据目标图像和当前时刻的观测图像,生成拓扑地图中的地图节点和全局节点;地图节点中存储短期记忆数据;全局节点中存储长期记忆数据;短期记忆数据表示目标图像的特征向量和观测图像的特征向量;长期记忆数据表示短期记忆数据的加权求和结果;根据地图节点中的短期记忆数据、全局节点中的长期记忆数据、当前时刻的观测图像和训练后的导航模型,得到导航模型输出的导航动作;导航模型用于图像目标驱动导航。
110.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的图像目标驱动导航方法,该方法包括:获取导航目标的目标图像;根据目标图像和当前时刻的观测图像,生成拓扑地图中的地图节点和全局节点;地图节点中存储短期记忆数据;全局节点中存储长期记忆数据;短期记忆数据表示目标图像的特征向量和观测图像的特征向量;长期记忆数据表示短期记忆数据的加权求和结果;根据地图节点中的短期记忆数据、全局节点中的长期记忆数据、当前时刻的观测图像和训练后的导航模型,得到导航模型输出的导航动作;导航模型用于图像目标驱动导航。
111.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
112.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
113.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1