一种基于频域和语义的动态视觉SLAM方法

文档序号:34992459发布日期:2023-08-03 21:48阅读:50来源:国知局
一种基于频域和语义的动态视觉SLAM方法

(一)本发明属于计算机视觉领域,特别涉及同时定位与建图技术,尤其是一种基于频域和语义的动态视觉slam方法。


背景技术:

0、(二)背景技术

1、同步定位与地图构建技术(simultaneous location and mapping,slam)是指在没有任何先验知识的情况下,根据传感器数据实时构建周围环境地图,同时根据这个地图推测自身的定位。基于视觉传感器的slam技术称为视觉同步定位与地图创建(vslam)技术。在拥有采集速度快、采集信息丰富、价格相对低廉的rgb-d相机之后,vslam已经被广泛应用于多个领域。

2、在过去的30多年中,许多学者对slam进行了研究并取得了突出效果,如orb-slam2、rgbd-slam-v2等。但是,传统的slam工作大都是基于静态环境的假设,但是slam的真实工作环境中不可避免的存在动态对象,这些对象的特征点是不稳定的,因此会对slam产生干扰并造成性能下降。在基于特征点的slam系统中,当跟踪到不稳定的特征点时,会严重影响位姿估计,导致较大的轨迹误差甚至系统崩溃。因此,在动态场景中性能下降与缺乏鲁棒性已经成为其实际应用中的主要障碍。

3、论文《动态场景下基于语义和光流约束的视觉同步定位与地图构建》中使用语义与光流信息对场景中的动态物体特征点进行剔除,以减少动态物体对slam的干扰,从而提升slam的精确性与鲁棒性。但光流法基于光照不变性假设,无法应用于光照变化的场景。论文《基于动态目标检测的室内移动机器人建图技术研究》中使用极线约束对动态特征点进行筛选,再利用动态场景中的语义信息和运动特征点过滤动态部分,从而提高姿态估计的准确性。但极线约束基于静态区域在场景中占据绝对多数的假设,这在大多数动态场景尤其是出现运动模糊的场景中并不成立。本发明虽同样使用了深度学习方法获取语义信息,但主要是改进了运动检测算法,使用傅里叶梅林变换配准图像进行运动检测,使其在光照剧烈变化与运动模糊的环境下仍然具有鲁棒性。

4、针对现有技术存在的在光照剧烈变化与运动模糊的环境下不鲁棒问题,本发明提出了一种基于频域和语义的动态视觉slam方法,能够有效的提高slam在光照剧烈变化与运动模糊的环境下的精度与鲁棒性。


技术实现思路

0、(三)
技术实现要素:

1、本发明利用傅里叶梅林变换在图像配准方面的独特优势结合帧间差分(temporaldifference,td)算法,实现了一个高鲁棒的运动检测算法,结合可视化orb-slam2和stdc语义分割网络,提出了一种在动态场景下基于傅里叶梅林变换的视觉slam算法。首先,为精确获得物体的运动区域,采用傅里叶梅林算法进行配准以补偿相机运动,随后应用帧间差分算法得到运动掩膜。同时,图像经过stdc语义分割网络得到潜在运动物体掩膜。将运动掩膜与物体掩膜相结合,得到最终的物体运动区域,对落在该区域的特征点进行剔除。最后,通过稳定的静态特征点进行跟踪优化提升位姿的精度。

2、为实现上述目的,本发明采用如下技术方案:

3、s1、获取输入图像序列,包括rgb图像与对应的深度图像;

4、s2、对输入帧的rgb图像进行orb特征点的提取,具体包括以下子步骤:

5、s21、将输入的rgb图像转换为灰度图;

6、s22、初始化图像金字塔参数,其中包括提取特征点数目、金字塔缩放系数、金字塔层数、每一层预分配的特征点数与初始的fast特征点的提取参数等;

7、s23、构建图像金字塔,在构建的过程中对每一层金字塔图像进行缩放,并对四周进行填充;

8、s24、遍历所有金字塔层的图像,对每一张图像进行网格化,在网格内调用opencv函数提取fast角点;

9、s25、根据每一层预分配的特征点数使用八叉树法对特征点进行剔除,再使用灰度质心法计算每个特征点的方向;

10、s26、等待运动检测完成以获取运动物体区域;

11、s3、将输入的当前帧作为待配准图像,上一帧图像为配准图像,对配准图像与待配准图像利用傅里叶梅林变换在频域进行配准,具体包括以下子步骤:

12、s31、将输入配准图像与待配准图像的rgb图像转换为灰度图;

13、s32、对进行配准的灰度图进行离散傅里叶变换,再对经过离散傅里叶变换的频域图进行高通滤波;

14、s33、对高通滤波后的频域图进行对数极坐标变换并将对数极坐标变换后的图像输入相位相关步骤得到响应坐标(x,y);

15、s34、对相位相关步骤得到的响应坐标(x,y)进行坐标变换得到旋转角度θ与尺度因子s,根据该旋转角度θ与尺度因子s对待配准图像进行旋转与缩放;

16、s35、将经过旋转与缩放后的待配准图像与配准图像再次输入相位相关步骤,得到响应坐标(x,y),根据响应坐标(x,y)对待配准图像进行平移,得到最终的配准图像;

17、s4、对配准图像通过帧间差分法与前一帧图像进行运动检测,并通过阈值化、边缘检测与轮廓聚类等操作剔除噪音,具体包括以下子步骤:

18、s41、将配准图像与前一帧图像共同输入帧间差分模块得到差分图,帧间差分公式如下所示:

19、di(x,y)=|fi(x,y)-fi+1(x,y)|

20、其中,di(x,y)为第i帧差分图像,fi(x,y)为第i帧灰度图像,fi+1(x,y)为配准后的第i+1帧灰度图像;

21、s42、对差分图进行阈值化处理,阈值化公式如下所示:

22、

23、其中,ri(x,y)为第i帧阈值图,t=40为二值化阈值。即将差分图中像素值大于40的点的像素值设为255,像素值小于40的点的像素值设为0,得到阈值图;

24、s43、对阈值图应用canny边缘检测算子进行边缘检测得到边缘掩膜;

25、s44、对边缘掩膜应用定向矩形框拟合得到轮廓,对每个矩形框计算纵横比,若纵横比小于0.1,将其归类为残像,对残像区域的像素点置0以实现剔除,得到最终的运动掩膜;

26、s5、将输入帧的rgb图像输入短时密集连接(stdc)网络进行语义分割,得到含有物体语义信息的物体掩膜;

27、s6、根据stdc网络获得的物体掩膜,结合运动掩膜对物体进行运动判定,具体包括以下子步骤:

28、s61、对物体掩膜与运动掩膜,通过如下公式计算物体的运动概率ρi:

29、

30、其中,mi为物体掩膜中第i个对象的总像素个数,mi为运动掩膜对应区域的总像素个数;

31、s62、设置一个阈值ε=0.1,若运动概率ρi大于阈值ε则将该物体视为运动物体,否则,视为静态物体,对静态物体区域的像素点置0得到先验的动态物体掩膜;

32、s63、将先验的动态物体掩膜与运动掩膜进行融合,得到最终动态物体掩膜;

33、s64、将动态物体掩膜输入到步骤s26,依据该动态物体掩膜对落在动态物体区域的特征点进行剔除。

34、本发明具有如下的有益效果:

35、(1)本发明通过改进的傅里叶梅林变换对图像进行配准以实现运动补偿,使用帧间差分获得运动掩膜,降低了运动模糊与光照变化对运动检测的影响;

36、(2)本发明结合运动检测与语义分割,提出了一种动态特征点过滤方法,可以有效地剔除动态对象对位姿估计与建图的干扰;

37、(3)本发明相较于传统动态slam在高动态的环境下可以取得更好的效果。在高动态序列中,本发明的绝对轨迹误差相比于orb-slam2平均减少了95%以上,相比于ds-slam平均减少了30%以上,表明了本发明在动态环境下具有较高的准确性与鲁棒性。

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