一种基于脉冲神经网络的回环检测方法

文档序号:36924341发布日期:2024-02-02 21:50阅读:14来源:国知局
一种基于脉冲神经网络的回环检测方法

本发明属于机器人自主定位与导航、增强现实等领域,具体涉及一种基于脉冲神经网络的回环检测方法。


背景技术:

1、脉冲神经网络(spiking neural networks,snn)是一种区别于传统方案的神经网络模型,它能够模拟生物的神经系统。脉冲神经网络中的脉冲神经元是其核心组成部分,它通过模拟生物神经元的行为,以脉冲神经元作为基本单位,实现了对时序相关信息的处理,并具有较好的生物合理性和能耗效率。由于脉冲神经网络的信息传递是以脉冲的形式进行的,相对于传统的连续信号传递方式,脉冲神经网络可以更有效地利用能量。这使得脉冲神经网络在低功耗设备和大规模神经网络的应用中具有潜力。

2、slam(simultaneous localization and mapping)技术是一种用于同时实现自主定位和环境地图构建的技术。它在无人系统、机器人和增强现实等领域具有广泛的应用。slam技术通过融合传感器数据和运动模型,实现在未知环境中的自主定位,并同时构建环境的三维地图。slam技术通常包括以下几个主要模块:数据获取、特征提取、数据关联、状态估计、地图更新和回环检测。其中,回环检测模块在slam中起着重要的作用。回环检测模块的主要目标是识别和处理在运动过程中经过相同区域的情况,即检测到系统经过已经探索过的地点。如果没有回环检测,可能会导致定位误差的累积,进而影响地图的准确性和一致性。回环检测的核心任务是在不同时间的数据中找到相匹配的地点,并将它们连接起来,形成一个闭合的轨迹回路,从而减小累积误差。通过检测和处理回环,系统可以消除定位误差的累积效应,提高定位的准确性。

3、以往的回环检测方案中,通常使用词袋模型dbow来对图像进行特征提取与搜索,这些方法存在一些不足之处。随着时间的累计,相机拍摄到的场景中的图片数量越来越大,词袋模型的单词数量有限,将无法容纳足够大的环境,无法达到较好的效果。且字典占用空间大,在slam系统运行之前需要先加载一个较大的字典到内存中,搜索回环帧的过程较慢,耗费的计算资源也较大,无法实时运行,需要一定的时间和存储空间成本。同时词袋模型对于重复纹理的鲁棒性较差,无法很好的检测回环。

4、简而言之,传统的基于词袋模型的回环检测方案存在效率较低,内存空间、运行时间成本较高,自适应能力不够等问题。为此本发明使用基于snn的神经网络来替代传统的词袋模型,以更高的效率完成了回环检测的功能,有利于辅助改善slam的定位效果。


技术实现思路

1、为解决现有技术中的问题,本发明提出了一种基于脉冲神经网络的回环检测方法。关于算法耗费算力较高的问题,脉冲神经网络具有更好的生物合理性和能耗效率。由于脉冲神经网络的信息传递是以脉冲的形式进行的,相对于传统的连续信号传递方式,脉冲神经网络可以更有效地利用能量。这使得脉冲神经网络在低功耗设备和大规模神经网络的应用中具有潜力。关于词袋模型的单词数量有限,无法容纳足够大环境的问题,神经网络将环境特征提取所需要的信息通过学习的方式,存储到了模型的参数中,从而不受场景规模的限制。snn可以部署到轻量级的设备上,对算力的需求不高,从而可以在slam算法中得到运用。

2、本发明的技术方案如下:

3、本发明首先提供了一种基于脉冲神经网络的回环检测方法,所述方法采用基于snn模型作为回环检测模块,在历史图像帧中找到与当前帧存在回环的帧;在待定位设备移动过程中,回环检测模块找到回环之后,回环校正模块在回环帧与当前帧之间进行特征匹配,进而构造重投影误差,通过非线性优化的方式来减小位姿估计模块中的累计误差;

4、所述方法包括如下步骤:

5、s1:在脉冲神经网络中定义2个有序列表,第一个列表l1存放图像帧的索引id,第二个列表l2存放图像帧的特征向量v;

6、s2:获取当前帧图像和历史帧图像,将图像id存入列表l1中,构造图像id数据库dbid;利用基于snn的神经网络对图像进行特征提取,将图像数据转化为设定维度的特征向量v,并存入列表l2中,构造图像特征向量数据库dbv;

7、s3:在图像特征向量数据库中的设定的范围内搜索,计算其中的特征向量vi与当前帧的特征向量vcurrent的欧式距离di,选取欧式距离di较小的历史帧,在这些历史帧中选择一帧作为检测到的回环帧,并在图像id数据库dbid中找到对应的图像id,返回给回环校正模块;回环校正模块依此进行回环校正,进而纠正位姿估计模块中的累积误差。

8、作为本发明的优选方案,s2中所述利用基于snn的神经网络对图像进行特征提取,具体为:使用vgg16自编码器对图像进行编码;vgg16模型的输入是单帧rgb图像,输出是设定维度的隐向量;得到隐向量h后,将其输入基于snn实现的netvlad对隐向量h进行解码;基于snn实现的netvlad的输入是图像编码得到的隐向量,输出设定维度的特征向量v。

9、作为本发明的优选方案,s3中所述在图像特征向量数据库中的设定的范围内搜索,具体为:

10、考虑到时间间隔与当前帧距离较近的图像帧,其图像内容与当前帧较近,因此,设定帧数阈值,在图像特征向量数据库中,取出距离当前帧相隔设定帧数阈值以前的数据作为搜索的范围。

11、作为本发明的优选方案,s3中所述的选取欧式距离di较小的历史帧,具体为:设定欧氏距离阈值thresh,当欧氏距离di小于阈值thresh时,认为它们的图像上有相似内容,构成了回环;欧氏距离过大则说明图像的差异较大,构成回环的可能性较低。

12、作为本发明的优选方案,s3中所述的在这些历史帧中选择一帧作为检测到的回环帧,具体为:选取时间戳最小的那一帧图像作为回环帧。

13、作为本发明的优选方案,所述位姿估计模块接收待定位设备的相机获取的图像数据,求解相机位姿;所述回环校正模块接收位姿估计模块发送来的图像帧,创造并维护每一帧图像数据的id,给回环检测模块发送请求进行回环检测;回环校正模块收到回环检测模块的结果后,将当前帧与回环帧进行特征匹配,构造重投影误差,并进行非线性优化,减小位姿估计模块的累计误差。

14、与传统的基于词袋模型的回环检测方法相比,本发明的优势在于:

15、1)snn更好的查找了回环检测,提升了回环检测之后轨迹的定位精度。

16、2)不受场景大小限制,在大范围场景中仍能检测到回环,减小累计误差。



技术特征:

1.一种基于脉冲神经网络的回环检测方法,其特征在于,所述方法采用基于snn模型作为回环检测模块,在历史图像帧中找到与当前帧存在回环的帧;在待定位设备移动过程中,回环检测模块找到回环之后,回环校正模块在回环帧与当前帧之间进行特征匹配,进而构造重投影误差,通过非线性优化的方式来减小位姿估计模块中的累计误差;

2.根据权利要求1所述的基于脉冲神经网络的回环检测方法,其特征在于,s2中所述利用基于snn的神经网络对图像进行特征提取,具体为:

3.根据权利要求1所述的基于脉冲神经网络的回环检测方法,其特征在于,s3中所述在图像特征向量数据库中的设定的范围内搜索,具体为:

4.根据权利要求1所述的基于snn的回环检测方法,其特征在于,s3中所述的选取欧式距离di较小的历史帧,具体为:设定欧氏距离阈值thresh,当欧氏距离di小于阈值thresh时,认为它们的图像上有相似内容,构成了回环;欧氏距离过大则说明图像的差异较大,构成回环的可能性较低。

5.根据权利要求1所述的基于snn的回环检测方法,其特征在于,s3中所述的在这些历史帧中选择一帧作为检测到的回环帧,具体为:选取时间戳最小的那一帧图像作为回环帧。

6.根据权利要求1所述的基于snn的回环检测方法,其特征在于,所述位姿估计模块接收待定位设备的相机获取的图像数据,求解相机位姿;所述回环校正模块接收位姿估计模块发送来的图像帧,创造并维护每一帧图像数据的id,给回环检测模块发送请求进行回环检测;回环校正模块收到回环检测模块的结果后,将当前帧与回环帧进行特征匹配,构造重投影误差,并进行非线性优化,减小位姿估计模块的累计误差。


技术总结
本发明提出了一种基于脉冲神经网络的回环检测方法,能够应用到机器人自主定位与导航、增强现实等领域。针对SLAM视觉定位检测回环帧的问题,本发明训练并使用了SNN模型作为回环检测器以实现减小累积误差。本发明使用SNN模型对图像进行特征提取,得到特征向量后,检索历史帧对应的特征向量,计算与当前帧的欧式距离,查找到可能构成回环的图像帧,构造非线性优化的误差项,进而消除累计误差。本发明利用快速轻量级的神经网络融入到SLAM系统中,兼顾了效率与精度。与传统方法对比分析之后,本发明在一些场景下具有更好的定位效果。

技术研发人员:章国锋,占若豪,田超然
受保护的技术使用者:浙江大学
技术研发日:
技术公布日:2024/2/1
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1