基于多尺度脉冲Transformer的视觉地点识别方法及系统

摘要: 本技术涉及计算机视觉,尤其涉及一种基于多尺度脉冲transformer的视觉地点识别方法及系统。背景技术:1、视觉地点识别(visualplacerecogni...
基于多尺度脉冲Transformer的视觉地点识别方法及系统

本技术涉及计算机视觉,尤其涉及一种基于多尺度脉冲transformer的视觉地点识别方法及系统。

背景技术:

1、视觉地点识别(visualplacerecognition,vpr)用于判断当前观测图像是否对应于历史访问地点,是移动机器人、自主车辆、无人机以及同步定位与建图(slam)系统中回环检测和全局重定位的重要组成部分。实际应用场景中,同一地点在不同季节、光照、视角和动态物体干扰下可能具有显著外观差异,因此vpr系统既需要较强的判别性和鲁棒性,又需要在边缘设备或机器人平台上满足实时性、存储开销和能耗约束。

2、现有基于人工神经网络(artificialneuralnetwork,ann)的地点识别方法通常依赖卷积神经网络、视觉transformer或大型视觉基础模型提取图像特征,并通过全局描述子或重排序策略完成检索。该类方法能够获得较高识别准确率,但往往伴随较高的乘加运算量、模型规模和能耗,难以直接部署于算力、电池容量和散热条件受限的长期自主机器人系统。

3、脉冲神经网络(spikingneuralnetwork,snn)采用离散脉冲进行事件驱动计算,在神经形态硬件或稀疏计算硬件上具有低功耗、低延迟和乘法消除的潜在优势。然而,现有snn地点识别方案多采用浅层网络或简单时间编码,深层语义特征提取能力不足;同时,适合snn特性的特征聚合和全局描述子生成机制较少,导致其在复杂vpr场景下与ann方案存在明显准确率差距。

技术实现思路

1、本技术实施例的主要目的在于提出一种基于多尺度脉冲transformer的视觉地点识别方法及系统,能够在复杂外观变化场景下实现准确、低功耗的地点检索。

2、为实现上述目的,本技术实施例的一方面提出了一种基于多尺度脉冲transformer的视觉地点识别方法,包括以下步骤:

3、训练得到视觉地点识别模型,所述视觉地点识别模型包括脉冲骨干网络、特征投影模块、至少一层脉冲注意力解码模块以及描述子生成模块;

4、获取待识别场景图像,对所述待识别场景图像进行预处理,得到网络输入数据;

5、将所述网络输入数据输入包括多尺度脉冲适配模块的所述脉冲骨干网络进行特征提取,得到增强图像特征;

6、将所述增强图像特征输入所述特征投影模块进行特征投影,得到投影特征;

7、将所述投影特征输入所述脉冲注意力解码模块进行图像特征聚合,得到解码输出;

8、将所述解码输出输入所述描述子生成模块进行后处理,得到全局图像描述子;

9、根据所述全局图像描述子和预设的参考图像库进行相似度计算,得到地点识别结果。

10、在一些实施例中,所述训练得到视觉地点识别模型,具体包括:

11、获取训练数据集,所述训练数据集包括若干输入图像;

12、对所述输入图像进行尺寸调整,进而将尺寸调整后的所述输入图像输入所述脉冲骨干网络,输出图像脉冲特征样本;

13、将所述图像脉冲特征样本输入所述特征投影模块,输出投影特征样本;

14、将所述投影特征样本输入所述脉冲注意力解码模块,输出解码输出样本;

15、将所述解码输出样本输入所述描述子生成模块,输出全局描述子样本;

16、基于脉冲发放近似方法,根据所述全局描述子样本对所述脉冲骨干网络、所述多尺度脉冲适配模块以及所述脉冲注意力解码模块进行参数更新,得到所述视觉地点识别模型。

17、在一些实施例中,所述脉冲骨干网络还包括snn块,所述将所述网络输入数据输入包括多尺度脉冲适配模块的所述脉冲骨干网络进行特征提取,得到增强图像特征,具体包括:

18、将所述网络输入数据输入所述多尺度脉冲适配模块,输出多尺度图像脉冲特征,并将所述网络输入数据输入所述snn块,输出图像脉冲特征;

19、将所述多尺度图像脉冲特征与所述图像脉冲特征进行并联融合,得到所述增强图像特征

20、在一些实施例中,所述多尺度脉冲适配模块包括第一线性投影层、通道划分单元、至少两个脉冲深度卷积分支、拼接单元、残差融合单元、第二线性投影层以及归一化层,所述将所述网络输入数据输入所述多尺度脉冲适配模块,输出多尺度图像脉冲特征,具体包括:

21、将所述网络输入数据输入所述第一线性投影层进行特征降维,得到降维特征;

22、将所述降维特征输入所述通道划分单元进行特征划分,得到多个子特征;

23、将各所述子特征分别输入所述脉冲深度卷积分支进行深度卷积,得到多个深度特征;

24、将各所述深度特征均输入所述拼接单元进行拼接,得到拼接特征;

25、通过所述残差融合单元将所述拼接特征与所述降维特征进行融合,得到融合特征;

26、将所述融合特征依次输入所述第二线性投影层和所述归一化层进行特征投影与归一化处理,得到所述多尺度图像脉冲特征。

27、在一些实施例中,所述脉冲注意力解码模块包括snn编码器、可学习查询单元、脉冲驱动自注意力单元、脉冲驱动交叉注意力单元以及输出投影单元,所述将所述投影特征输入所述脉冲注意力解码模块进行图像特征聚合,得到解码输出,具体包括:

28、将所述投影特征输入所述snn编码器进行编码,得到编码特征;

29、通过所述脉冲驱动自注意力单元,对所述可学习查询单元中的可学习查询向量执行脉冲驱动自注意力,得到查询更新向量;

30、通过所述脉冲驱动交叉注意力单元,以所述查询更新向量为查询,以所述编码特征为键和值执行脉冲驱动交叉注意力,得到解码特征;

31、将所述解码特征输入所述输出投影单元进行特征投影,得到所述解码输出。

32、在一些实施例中,所述将所述解码输出输入所述描述子生成模块进行后处理,得到全局图像描述子,具体包括:

33、当所述脉冲注意力解码模块为多层,通过所述描述子生成模块对各所述解码输出依次进行拼接、线性投影、展平以及归一化处理,得到所述全局图像描述子;

34、当所述脉冲注意力解码模块为单层,通过所述描述子生成模块对各所述解码输出依次进行线性投影、展平以及归一化处理,得到所述全局图像描述子。

35、在一些实施例中,所述根据所述全局图像描述子和预设的参考图像库进行相似度计算,得到地点识别结果,具体包括:

36、对所述参考图像库中的参考图像进行特征提取,得到参考全局描述子集合;

37、将所述全局图像描述子与所述参考全局描述子集合进行相似度计算,得到相似度计算结果;

38、根据所述相似度计算结果对所述参考全局描述子集合中的参考全局描述子进行排序,得到相似度排序结果;

39、根据所述相似度排序结果确定所述地点识别结果。

40、在一些实施例中,所述脉冲骨干网络、所述多尺度脉冲适配模块、所述特征投影模块、所述脉冲注意力解码模块以及所述描述子生成模块的输入均为二值脉冲。

41、为实现上述目的,本技术实施例的另一方面提出了一种基于多尺度脉冲transformer的视觉地点识别系统,包括:

42、模型训练模块,用于训练得到视觉地点识别模型,所述视觉地点识别模型包括脉冲骨干网络、特征投影模块、至少一层脉冲注意力解码模块以及描述子生成模块;

43、图像获取模块,用于获取待识别场景图像,对所述待识别场景图像进行预处理,得到网络输入数据;

44、第一图像处理模块,用于将所述网络输入数据输入包括多尺度脉冲适配模块的所述脉冲骨干网络进行特征提取,得到增强图像特征;

45、第二图像处理模块,用于将所述增强图像特征输入所述特征投影模块进行特征投影,得到投影特征;

46、第三图像处理模块,用于将所述投影特征输入所述脉冲注意力解码模块进行图像特征聚合,得到解码输出;

47、第四图像处理模块,用于将所述解码输出输入所述描述子生成模块进行后处理,得到全局图像描述子;

48、地点识别模块,用于根据所述全局图像描述子和预设的参考图像库进行相似度计算,得到地点识别结果。

49、为实现上述目的,本技术实施例的另一方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如前面所述的方法。

50、为实现上述目的,本技术实施例的另一方面提出了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现前面所述的方法。

51、本技术实施例至少包括以下有益效果:本技术的基于多尺度脉冲transformer的视觉地点识别方法及系统,首先训练得到视觉地点识别模型,接着获取待识别场景图像,对待识别场景图像进行预处理,得到网络输入数据,进而将网络输入数据输入包括多尺度脉冲适配模块的脉冲骨干网络进行特征提取,得到增强图像特征,然后将增强图像特征输入特征投影模块进行特征投影,得到投影特征,而后将投影特征输入脉冲注意力解码模块进行图像特征聚合,得到解码输出,再将解码输出输入描述子生成模块进行后处理,得到全局图像描述子,最后根据全局图像描述子和预设的参考图像库进行相似度计算,得到地点识别结果。本技术利用脉冲骨干网络、多尺度脉冲适配模块以及脉冲注意力解码模块,对输入的待识别场景图像进行特征提取、全局描述子生成和相似地点检索,能够在资源受限机器人平台上生成紧凑且具有判别性的全局图像描述子,并在复杂外观变化场景下实现准确、低功耗的地点检索。