本发明属于同时定位与地图构建领域,具体涉及一种移动机器人视觉slam方法、系统、计算机设备及存储介质。
背景技术:
1、视觉同时定位与建图(slam)技术是移动机器人、自动驾驶和增强现实领域的核心技术,通过处理视觉传感器采集的图像数据实现机器人定位和环境地图构建。近年来,slam技术在复杂环境下的鲁棒性和多机器人协同方面的研究取得显著进展。主流算法如orb-slam通过orb特征提取和匹配实现高效的定位与建图,广泛应用于单机器人导航和部分多机器人场景,其描述了基于orb特征的单目slam框架,强调特征提取和后端优化的鲁棒性。此外,c. campos等人提出的orb-slam3进一步扩展了视觉、视觉-惯性和多地图slam的适用性,成为当前单机器人视觉slam的重要参考。
2、视觉slam利用相机捕获环境图像,通过特征提取、匹配和位姿优化构建环境地图并确定机器人位置,具有成本低、适应性强的优势,适用于室内外多种场景。然而在进行视觉slam时,面对复杂环境,相机捕获的环境图像中存在不同程度的噪声。图像噪声在低光照或弱纹理环境下显著影响特征提取的准确性,进而影响机器人定位和环境地图构建。现有技术常采用高斯滤波或中值滤波进行预处理,但上述方法对复杂噪声的抑制效果有限,例如orb-slam直接基于原始环境图像提取orb特征,噪声干扰易导致特征点丢失或匹配错误。a. danielyan等人提出的bm3d算法通过块匹配和三维变换实现高效去噪,但该方法不能满足复杂噪声的抑制要求,其在视觉slam中的应用仍需优化以满足实时性要求。
3、因此,传统滤波方法对低光照、弱纹理环境下的复杂噪声抑制能力不足,导致特征点丢失或匹配错误,影响定位和建图稳定性。
技术实现思路
1、为了解决现有技术对复杂环境中图像的噪声影响slam系统的定位和建图精度的问题,本发明提供了一种移动机器人视觉slam方法。
2、为了实现上述目的,本发明提供如下技术方案:
3、一种移动机器人视觉slam方法,包括:
4、采集移动机器人所处位置的原始环境图像序列;
5、将原始环境图像序列划分为多个互不重叠的像素块,记为参考块;在每个参考块周围设定一个搜索窗口,通过参考块及搜索窗口内与参考块像素分布相似的其他图像块组成三维块组;
6、通过三维变换将三维块组映射到频域,在频域中对三维块组进行硬阈值滤波;将硬阈值滤波后的频域三维块组进行逆变换,使频域数据重新转换为空间域的三维块组,生成第一阶段去噪后像素块的估计像素值;
7、通过第一阶段去噪后像素块的估计像素值和原始环境图像序列形成新的块组,对新的块组应用维纳滤波,对经过维纳滤波处理的块组结果进行加权平均,生成去噪图像;
8、剔除去噪图像中的动态特征点,得到最终静态特征点集;根据最终静态特征点集优化三维地图点和机器人的相机位姿,生成局部三维点云地图。
9、优选地,所述在每个参考块周围设定一个搜索窗口,通过参考块及搜索窗口内与参考块像素分布相似的其他图像块组成三维块组,包括以下步骤:
10、在每个参考块周围设定一个搜索窗口,对每个参考块,在搜索窗口内寻找相似块,基于加权欧氏距离计算参考块与相似块的相似度:
11、;
12、式中,表示像素块的边长;
13、将相似度与定阈值进行对比,当且仅当时,将筛选出来的相似块加入三维块组,得到最终的三维块组。
14、优选地,所述通过三维变换将三维块组映射到频域,在频域中对三维块组进行硬阈值滤波;将硬阈值滤波后的频域三维块组进行逆变换,使频域数据重新转换为空间域的三维块组,生成第一阶段去噪后像素块的估计像素值,包括以下步骤:
15、通过三维变换将三维块组映射到频域;在频域中对三维块组进行硬阈值滤波,得到硬阈值滤波后的频域三维块组 y first:
16、;
17、式中,表示硬阈值操作,,表示为噪声的标准差,是经验系数,用于调整滤波强度;
18、将硬阈值滤波后的频域三维块组进行逆变换,将逆变换后的三维块组通过加权平均聚合,得到第一阶段去噪后像素块的估计像素值:
19、;
20、;
21、式中,表示第一阶段去噪后像素块的估计像素值; x表示图像中的像素位置,表示权重系数,表示空间域的三维块组;表示三维块组经变换、阈值滤波后,频域中保留的非零系数数量。
22、优选地,所述剔除去噪图像中的动态特征点,得到最终静态特征点集,包括以下步骤:
23、通过yolo-fastestv2模型生成去噪图像的动态目标分割掩码,通过动态目标分割掩码剔除去噪图像中动态区域内的orb特征点,生成静态特征点集;
24、通过lk光流算法对静态特征点集中的特征点进行追踪,剔除速度超过阈值的特征点,得到更新点集;
25、计算更新点集中相邻帧的帧差,生成二值差分图,根据二值差分图剔除动态区域内的残留特征点,得到最终静态特征点集。
26、优选地,所述帧差的计算公式为:
27、;
28、式中,表示第t帧与第(t-1)帧在坐标(x,y)处的帧差,反映两帧间像素亮度变化;表示第t帧图像在(x,y)位置的像素亮度,表示第t-1帧图像在(x,y)位置的像素亮度。
29、优选地,所述根据最终静态特征点集优化三维地图点和机器人的相机位姿,生成局部三维点云地图,包括以下步骤:
30、从最终静态特征点集中提取当前帧与上一关键帧的orb特征点,计算特征匹配对数量;
31、结合动态物体深度信息和跟踪结果,依据自适应调整的场景视角和机器人移动速度阈值,判断当前帧是否符合关键帧插入条件;若多帧连续满足插入条件,通过比较特征匹配重叠率合并重叠率大于设定值的关键帧;
32、插入关键帧后,利用最终静态特征点集中的特征,通过最小化重投影误差对相机位姿和三维地图点进行局部捆绑调整,生成局部三维点云地图。
33、优选地,还包括对多台机器人在同一场景下的的图像序列进行处理,生成包含orb特征、深度信息和位姿估计的关键帧,对orb特征描述子进行量化压缩,生成压缩关键帧,并优先传输匹配对数量超过预设阈值的关键帧;接收端机器人对共享关键帧执行orb特征匹配,基于匹配结果估计机器人间的相对位姿,并采用增量式图优化算法,通过最小化全局重投影误差更新各机器人的位姿和地图点,生成一致的全局三维点云地图。
34、本发明还提出一种移动机器人视觉slam系统,包括:
35、视觉传感器,其配置在移动机器人上,用于采集移动机器人所处位置的原始环境图像序列;
36、图像去噪模块,用于将原始环境图像序列划分为多个互不重叠的像素块,记为参考块;在每个参考块周围设定一个搜索窗口,通过参考块及搜索窗口内与参考块像素分布相似的其他图像块组成三维块组;
37、通过三维变换将三维块组映射到频域,在频域中对三维块组进行硬阈值滤波;将硬阈值滤波后的频域三维块组进行逆变换,使频域数据重新转换为空间域的三维块组,生成第一阶段去噪后像素块的估计像素值;
38、通过第一阶段去噪后像素块的估计像素值和原始环境图像序列形成新的块组,对新的块组应用维纳滤波,对经过维纳滤波处理的块组结果进行加权平均,生成去噪图像;
39、地图生成模块,用于剔除去噪图像中的动态特征点,得到最终静态特征点集;根据最终静态特征点集优化三维地图点和机器人的相机位姿,生成局部三维点云地图。
40、本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现所述移动机器人视觉slam方法中任一项所述的步骤。
41、本发明还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,该计算机程序被处理器加载时,能够执行所述移动机器人视觉slam方法中任一项所述的步骤。
42、本发明提供的移动机器人视觉slam方法具有以下有益效果:
43、本发明将原始环境图像序列划分为互不重叠的像素块,在每个参考块周围的搜索窗口内寻找相似块,组成三维块组。通过聚集相似块的冗余信息,增强对噪声的区分能力,为后续频域处理提供更丰富的特征依据。将三维块组从空间域映射到频域,利用噪声与有效信息在频域的分布差异,在频域中对噪声进行更有效的抑制,同时保留图像的边缘和纹理细节,从而提升去噪效果,为后续的orb特征提取提供更稳定的输入。在频域中通过硬阈值筛选,初步抑制噪声分量,保留有效信息,完成第一阶段噪声抑制。第二阶段通过结合第一阶段去噪结果与原始图像信息,借助维纳滤波和加权聚合进一步优化去噪效果,能有效抑制低光照、弱纹理环境下的复杂噪声(如高斯白噪声),同时保留图像边缘、纹理等关键细节,为后续orb特征提取提供清晰、稳定的输入,显著减少噪声导致的特征点丢失或匹配错误,全面提升复杂环境下的视觉slam性能,提高了移动机器人视觉 slam 系统的定位精度和建图稳定性。