本发明属于仿生学和计算机视觉,尤其是涉及一种基于a-kaze特征识别和ratslam的同步定位与地图构建方法和设备。
背景技术:
1、ratslam是一种基于仿生学原理的同时定位与地图构建(simultaneouslocalization and mapping,slam)技术,灵感来源于啮齿动物(如老鼠)的海马体导航机制,通过分析传感器数据,如视觉和运动信息,实现机器人在未知环境中的自主定位和地图构建。以在线增量方式进行环境表示是ratslam的关键特点之一,ratslam构建了可以被attractor dynamics、path integration、local view calibration三种方式更新的位姿细胞网络,允许机器人在运动和观察过程中动态更新地图。然而,传统的ratslam在实际应用时存在以下不足:其一,在图像信息提取时对复杂环境(如光照变化、存在遮挡或动态物体等情况)的适应性较差,这是由于复杂环境下机器人对自身位置和环境的估计存在误差,这些误差随着时间的推移而累积,形成累计误差;其二,计算复杂度较高,在处理大规模环境或高分辨率图像时,需要大量的计算资源来进行特征提取、匹配。
2、中国发明专利cn113223099b公开了一种基于生物视觉模型的ratslam环境适应性提升方法,将rgb色彩空间中的图像转换到hsi色彩空间,通过i通道和s通道进行双通道处理后转换到rgb空间生成视觉模板,使用sad算法对视觉模板进行匹配,使用闭环检测改善ratslam所建立的拓扑经验地图,提高建立的拓扑图的精度。但上述方法仍存在一定的局限性,例如,在极端光照条件下,i通道的处理无法完全消除光照变化对图像匹配准确性的影响;在纹理复杂或边缘模糊的场景中,s通道的处理对边缘特性增强有限;sad算法对光照变化较为敏感,在光照条件变化较大时,可能发生误匹配或漏匹配的情况。因此,需要重新设计一种基于ratslam的同步定位与地图构建方法,进一步提高所建立的拓扑图的完整性和精确性。
技术实现思路
1、本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于a-kaze特征识别和ratslam的同步定位与地图构建方法和设备,进一步提高所建立的拓扑图的完整性和精确性。
2、本发明的目的可以通过以下技术方案来实现:
3、本发明提供一种基于a-kaze特征识别和ratslam的同步定位与地图构建方法,包括以下步骤:
4、获取里程计信息和当前场景的rgb图像,使用改进的ratslam算法建立拓扑经验地图;
5、其中,所述改进的ratslam算法为在局部视图模块中引入a-kaze特征识别算法的ratslam算法,所述改进的ratslam算法中,局部视图模块通过a-kaze特征识别算法提取由rgb图像转化获得的灰度图的特征信息,然后将其与历史视觉模板进行匹配;若匹配成功,则进行回环检测以进一步修正建立的拓扑经验地图;否则,将灰度图存储为新的视觉模板;
6、所述特征信息包括特征点及其主方向,通过a-kaze特征识别算法提取特征信息的具体过程如下:通过perona-ma1ik扩散方程,利用不同的传导函数对灰度图进行非线性扩散滤波,获得一系列不同尺度的图像,构建非线性尺度空间,各传导函数用于控制扩散速率并根据图像的局部梯度变化调节扩散强度;在所述非线性尺度空间中寻找局部极大值点作为特征点,并通过向量叠加操作生成各特征点的主方向。
7、进一步地,所述非线性扩散滤波的表达式具体如下:
8、
9、其中,l为图像亮度,为图像梯度,c(x,y,t)为传导函数,(x,y)表示图像上的像素点,t表示时间。
10、进一步地,通过三种传导函数进行非线性扩散滤波,包括第一传导函数g1、第二传导函数g2和第三传导函数g3,表达式分别如下:
11、
12、
13、
14、其中,表示高斯滤波后得到的图像lσ的梯度,σ为尺度参数,表示高斯核的标准差,k为对比度因子,用于控制扩散级别。
15、进一步地,对图像进行高斯滤波的时间的表达式如下:
16、
17、其中,σi表示非线性尺度空间中第i个图像的尺度参数,ti表示非线性尺度空间中第i个图像的高斯滤波时间。
18、进一步地,非线性尺度空间中第i个图像的尺度参数σi的计算公式如下:
19、σi(o,s)=σ02o+s/s,o∈[0…o-1],s∈[0…s-1],i∈[0…n]
20、其中,o和s分别为所述非线性尺度空间离散化获得的octave和sub-level的离散指数,σ0表示尺度参数的初始基准值,o和s分别为octave和sub-level的个数,n=0*s,表示非线性尺度空间中图像的总数。
21、进一步地,利用hessian矩阵寻找局部极大值点作为特征点,所述hessian矩阵的表达式如下:
22、
23、其中,lhessian为hessian矩阵,σ为尺度参数,lxx、lyy和lxy分别表示图像像素灰度l在x方向、y方向以及x和y方向上的二阶导数。
24、进一步地,利用hessian矩阵寻找局部极大值点的具体过程如下:将一个像素点的hessian矩阵特征值与其所有图像域和尺度域相邻点的hessian矩阵特征值进行比较,当该像素点的hessian矩阵特征值大于其所有相邻点时,该像素点为局部极大值点。
25、进一步地,生成特征点主方向的具体过程如下:
26、以当前特征点为圆心,以其对应尺度参数的整数倍为半径,划分搜索圈;
27、以当前特征点为圆心,设置一个扇形滑动窗口并在扇形滑动窗口内进行向量叠加操作获得一个向量,将该扇形滑动窗口遍历整个搜索圈,以获得的最长向量的角度为该特征点的主方向。
28、进一步地,所述向量叠加操作为:对扇形滑动窗口内所有特征点的一阶微分值,包括y方向上的一阶导数和x方向上的一阶导数高斯加权。
29、本发明还提供一种电子设备,包括存储器、处理器,以及存储于所述存储器中的程序,所述处理器执行所述程序时实现上述方法。
30、与现有技术相比,本发明具有以下有益效果:
31、1、本发明在ratslam算法的局部视图模块中引入a-kaze特征识别算法提取由rgb图像转化获得的灰度图的特征信息,然后将其与历史视觉模板进行匹配,若匹配成功,则进行回环检测以进一步修正建立的拓扑经验地图,否则,将灰度图存储为新的视觉模板;特征信息包括特征点及其主方向,通过a-kaze特征识别算法提取特征信息的具体过程如下:通过perona-malik扩散方程,利用不同的传导函数对灰度图进行非线性扩散滤波,获得一系列不同尺度的图像,构建非线性尺度空间,各传导函数可用于控制扩散速率并根据图像的局部梯度变化调节扩散强度,从而实现图像平滑和边缘保持的效果,可以使得扩散适应于图像的局部结构;在非线性尺度空间中寻找局部极大值点作为特征点,并通过向量叠加操作生成各特征点的主方向;相比传统的特征提取算法,a-kaze具有更好的鲁棒性和稳定性,尤其在处理尺度和视角变化较大的图像时表现更加出色,提取的特征点不但具有良好的尺度不变性和旋转不变性,还能够捕捉到环境中的重要结构和纹理信息,将通过a-kaze提取的特征信息引入ratslam的地图构建流程,能够提高回环检测的覆盖率和准确性,进而增强地图的完整性和精确性。
32、2、本发明构建了三种传导函数进行非线性扩散滤波,包括第一传导函数g1、第二传导函数g2和第三传导函数g3,其中,g1随着的模增大快速减小,可以优先保留高对比度的边缘;g2也随着梯度模的增大而减小,但减小的速度比指数形式慢,这种形式能够在较大的梯度值下依然保留一定的扩散作用,可以保留较为细微的边缘或弱边缘信息;g3是一种阈值函数,当梯度模等于0时,函数值为1,这意味着当图像局部没有变化时传导函数最大,允许较大的扩散来平滑图像,一旦梯度大于0,传导函数迅速减小,从而抑制扩散,这种设计可以有效平滑区域内部而保留边界信息。