一种基于终身学习的机器人场景识别方法

文档序号:38038097发布日期:2024-05-17 13:25阅读:23来源:国知局
一种基于终身学习的机器人场景识别方法

本发明属于机器人,尤其涉及基于终身学习的机器人场景识别方法。


背景技术:

1、广义上来讲,回环检测任务就相当于场景识别任务,目标都是找出当前所处的场景。回环检测是现代同步定位和绘图(slam)系统的重要组成部分,主要用于检测回环后消除累积的偏移误差,提高绘图的准确性并实现机器人的场景识别功能。回环检测的目标是在被给予某个环境的图像时,如果曾经经过此环境,就能将其识别出来,从而使机器人拥有识别场景的能力。

2、在过去,传统的回环检测方法会利用手工计算的特征的方法,比如hog、sift等来生成视觉词并建立词包(bow)模型。之后,随着人工智能的发展,人们开始采用深度学习的方法来实现回环检测,主要模型由两部分组成:负责提取图像内若干特征的特征提取器和将多个特征进行整合的聚合器,最后将聚合器输出的结果之间进行比较,将回环检测问题转化成图像检索问题。

3、这样的方法虽然可以在理论上实现机器人的场景识别,但在实际应用中会遇到很多其他问题。实际部署在项目中的机器人并不会只活动在单一的场景当中,所以机器人的场景识别能力需要能应对各种各样的、动态增加的环境中,而机器人的存储能力是有限的,如果我们不对其进行特别设计,那么只会造成两种结果:1.机器人在学习到新场景后遗忘了对旧场景的识别能力,这就是灾难性遗忘。2.机器人保留所有场景的数据,但是随着机器人的使用,存储开销会变得巨大,难以实现在线部署。因此,为了解决上述的问题,本发明提出一种基于终身学习的机器人场景识别方法。

4、终身学习,是一种模仿人类的学习过程。人类在学习的过程并不是孤立的,而是不断地积累过去学习的知识,并利用过去的知识学习更多的知识,虽然会有一定程度的遗忘,但是随着时间的增长,人类将会学到越来越多的知识。终身学习有三个特点:1.持续学习。2.知识被累积到知识库中。3.利用过去的知识可以帮助学习未来的知识。将终身学习应用到机器人的场景识别中,可以帮助机器人学习到更多的场景而不造成灾难性遗忘。

5、在最近几年,也有一些基于终身学习的方法实现了机器人的场景识别,但是在如下方面都有所缺陷:首先,在聚合器方面使用简单的池化方法,不能很好地适应连续拍摄的场景图像;然后,在对比学习中通常使用三元组的损失函数,这会导致训练过程不稳定,学习效率差;其次,知识蒸馏的设计过于简单,没有考虑到模型在整体上的蒸馏效果;最后,在记忆重放中记忆模块的设计不够细化,导致性能不佳。

6、本发明设计了一个基于终身学习的用于机器人场景识别的回环检测方法,采用了终身学习的方法,不仅可以减少手工设计的复杂度,也便于在线部署和适应多场景。针对此前的回环检测方法中所存在的缺陷,本发明采用了性能更为优越的聚合器,改进了基于三元组的度量学习方法。为了预防模型的灾难性遗忘,本发明提出一种基于生物学的长短期三重记忆模块,在实现终身学习的同时,也利于对比学习提高模型的学习效率,由此来实现针对机器人的跨区域的场景识别功能。


技术实现思路

1、本发明的目的在于克服上述现有技术的不足,提供一种基于终身学习的机器人场景识别方法。

2、第一方面,本发明提供一种基于终身学习的机器人场景识别方法,所述方法包括:

3、步骤s1:获取机器人摄像机拍摄的场景图像;

4、步骤s2:对场景图像进行预处理;

5、步骤s3:将预处理后的场景图像输入至长短期三重记忆模块;从长短期三重记忆模块中共同随机采样出一个锚数据ia作为训练场景,随后随机采样出多个与训练场景ia属于相同场景的正例数据作为学习的范本,以及多个与训练场景ia所属不同场景的负例数据

6、由训练场景ia、多个正例数据多个负例数据构成小样本集;

7、步骤s4:将小样本集内的数据输入至场景识别网络,输出对应特征向量的小样本集fa根据特征向量之间的余弦相似度,找出最不相似相同场景的特征向量fp和最相似不同场景特征向量fn,与训练场景对应的特征向量fa构成一个深度挖掘后的三元组。后根据深度挖掘后的三元组fa,fp,fn计算损失函数;

8、所述场景识别网络包括vgg16特征提取器、netvlad聚合器;

9、所述netvlad聚合器具体是通过聚类和残差求和实现特征的聚合。

10、所述场景识别网络的损失函数其中t代表第t个环境的损失函数,λ1,λ2为超参数,lhard-triplet为深度挖掘的三元组损失函数,lrmas为关系型记忆感知突触损失函数,lkd为基于分布的知识蒸馏损失函数。

11、所述深度挖掘的三元组损失函数lhard-triplet具体如下:

12、

13、其中为场景识别网络输出的i号负例图像特征和锚图像特征的余弦相似度,为场景识别网络输出的j号正例图像特征和锚图像特征的相似度,δ为人为设定的超参数。

14、所述关系型记忆感知突触(rmas)损失函数lrmas具体如下:

15、

16、

17、其中表示场景识别网络学习到第t个任务时的第i个参数,nt为训练批次中的样本数,表示训练到任务t时,三元组样本组成的格拉姆矩阵,f为弗罗贝尼乌斯范数。

18、所述基于分布的知识蒸馏损失函数lkd具体如下:

19、

20、其中表示在第t个环境中场景识别网络提取的第i个特征向量,d为的维度。

21、步骤s5:对长短期三重记忆模块进行记忆更新;

22、短期记忆模块中最旧的场景被存入全景记忆模块,全景记忆模块的空间若已满,则根据空间容量与已读入数据量的比例作为更新的概率,随机替换全景记忆模块内部的数据,保证全景记忆模块能代表当前完整环境。在进入到新环境后,上一个环境的全景记忆模块按照比例存入长期记忆模块,保证长期记忆模块能代表目前为止的多个环境。

23、步骤s6:重复s1到s5,完成对场景识别网络的训练。

24、步骤s7:将场景图象输入至场景识别网络,输出特征向量f’。

25、步骤s8:将f’与数据库内已有的场景特征向量进行对比,找出相似度最高的场景作为识别结果,实现场景识别功能。

26、第二方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行所述的方法。

27、第三方面,本发明提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述的方法。

28、本发明的有益效果是:

29、本发明属于领域,提供了一种基于终身学习的机器人场景识别方法,解决机器人在不断变化的环境中识别场景的能力,同时避免在学习新场景时遗忘旧场景的问题,即解决了灾难性遗忘问题。这一方法通过集成先进的特征提取技术和聚合技术,结合了长期和短期记忆机制,以及智能的知识蒸馏和记忆感知突触策略,提高了机器人对场景的识别准确性和终身学习能力。

30、在网络架构方面,本发明采用vgg16作为特征提取器,利用netvlad技术作为聚合器,后者相较于传统的池化技术,在处理连续拍摄的场景图像时能提供更好的聚合效果。netvlad通过聚类分析并将所有局部特征对聚类中心点的残差相加,形成了更加丰富的全局描述,以适应多角度和多尺度的视频图像数据。

31、在特征学习方面,本发明使用深度挖掘的三元组损失函数,通过学习困难样本,优化了模型对不同场景的学习能力。

32、在终身学习方面,为了防止在学习新场景时发生灾难性遗忘,本发明设计了长短期三重记忆模块。该模块包含短期记忆队列,全景记忆库和长期记忆库,在经过不同环境的情况下,动态调整记忆内容,保证了机器人的记忆能力。此方法确保了模型既能快速适应新环境,又能保持对旧环境的记忆。同时使用了基于分布的知识蒸馏方法和记忆感知突触,进一步增强模型的稳定性和减轻灾难性遗忘问题。

33、本发明的终身学习机器人场景识别方法在性能上有显著提升,尤其是在复杂多变的环境中,相比现有技术,本方法能够提供更高的识别准确率和更好的长期学习能力。通过在多季节的nordland和多光照条件的oxford数据集上的应用和测试,本发明展现了其对不同场景的强大识别能力,以及在终身学习场景中对旧知识保持和新知识学习之间平衡的能力。这些特点使得本发明在实际应用中,如自动驾驶、服务机器人等领域,具有广阔的应用前景。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1