一种应用于动态室内场景的视觉SLAM鲁棒性提升方法

文档序号:33549850发布日期:2023-03-22 10:29阅读:44来源:国知局
一种应用于动态室内场景的视觉SLAM鲁棒性提升方法
一种应用于动态室内场景的视觉slam鲁棒性提升方法
技术领域
1.本发明属于slam技术领域,具体涉及一种应用于动态室内场景的视觉slam鲁棒性提升方法。


背景技术:

2.同时定位与建图(slam)是机器人领域内的重要算法,是机器人感知外部世界明确自身位置以及环境样貌的重要基础技术,目前slam技术在航天、智慧交通、智慧家居、自动驾驶邻域发挥着重要的作用。视觉slam技术是指以相机为主要传感器的同时定位和建图技术,目前的视觉slam在静态环境中能够保持较高的精度,但是在动态环境中,由于场景中存在自主运动的物体例如:人、动物、椅子、桌子等,这些物体的自主运动会干扰视觉slam系统的工作,导致系统的稳定性大幅度降低,因此设计运动区域去除模块是很有意义的。
3.目前针对动态室内场景的视觉slam鲁棒性提升方法主要有三种:(1)仅通过语义分割神经网络提取出场景中的人、动物等会主动运动的物体区域,然后将分布在这些区域的特征点剔除,不参与帧跟踪线程的计算;(2)不借助神经网络提取先验信息,通过图像中原生的几何信息、通过图聚类、前景剔除法等算法得到当前中运动特征点的集合,剔除运动点后剩下的静止特征点集合参与帧跟踪线程的计算;(3)借助神经网络提取场景中运动区域的先验信息,然后结合图像帧间的几何约束,得到更为准确的静态特征点集合并参与帧跟踪线程的计算。
4.技术(1)是一种较为简单的处理方式,其主要缺点在于:语义分割网络提取的语义信息通常不准确,并且不能识别被动运动的物体,例如:被子、椅子、显示器等等。
5.技术(2)是一种轻量级的处理方式,其主要缺点在于:图像中的原生信息很难被数学公式很好的表达和提取,在相机与场景中的物体都同时发生运动时,往往不能仅仅通过图像中的原生信息得到到底是相机在运动还是场景中真的有物体在运动。
6.技术(3)是一种结合先验信息以及帧间几何约束的方法,该方法理论上能够更准确的消除运动物体对系统的干扰,但是目前的技术成果还有很多问题:(1)语义信息提取方式过于简单,没有考虑被动运动物体与主动运动物体之间的位置关系,事实上被动物体的运动往往是由于与主动运动物体发生物理接触导致的;(2)用于计算几何约束数据的帧间初始化位姿的计算方式的算力消耗较大,并且很多技术成果没有在这一步中消除运动物体的影响,使得得到的初始化帧间帧间变换矩阵误差较大,最后导致几何约束数据不准确;(3)由于单一的几何约束数据都存在较大的噪声干扰,但是当前的绝大部分技术成果都只采用了单一的几何约束数据作为最终分离静态特征点和运动特征点的标准。


技术实现要素:

7.为解决上述技术问题,本发明提出一种应用于动态室内场景的视觉slam鲁棒性提升方法,通过神经网络提取的先验信息、轻量级帧跟踪、几何约束提升视觉slam在存在运动物体的室内场景中的稳定性。
8.本发明采用的技术方案为:一种应用于动态室内场景的视觉slam鲁棒性提升方法,具体步骤如下:
9.s1、采用语义分割神经网络提取场景中先验运动物体区域,根据语义分割结果生成相应的蒙版,然后利用图像的形态学操作:腐蚀和膨胀,对蒙版进行精细化处理,消除不正确的分割结果,提取精细化处理后的语义蒙版的外轮廓;
10.s2、基于步骤s1中提取的语义蒙版外轮廓,遍历当前帧中所有的特征点计算每个特征点到语义蒙版外轮廓的欧式距离,根据这个距离结合与当前帧对应的深度图信息将当前帧中的特征点划分为三个集合:先验动态特征点集合、先验未知特征点集合、先验静止特征点集合;
11.s3、将当前帧和上一帧的先验静止特征点集合输入到运动一致性检测过程中的轻量级帧跟踪过程得到帧间变换矩阵,利用得到的帧间变换矩阵及运动一致性检测过程中的几何约束作用在当前帧和上一帧中数据关联好的先验未知特征点集合上,得到对极几何约束以及场景流约束数据;
12.s4、将对极几何约束以及场景流约束的数据信息组合成一个二维的向量,然后利用该向量的二范数来代表最终的误差值,如果误差值大于设定的阈值,那么该特征点就是属于运动特征点集合,否则就是属于静止特征点集合,然后利用得到的静止特征点集合进行精确帧跟踪,最后得到消除场景中运动物体干扰的位姿估计数据。
13.进一步地,所述步骤s1中,具体如下:
14.当视觉slam系统开始运行时,系统通过rgb-d相机获取原始数据,包括rgb图像以及相应的深度图信息。
15.首先将rgb图像输入到语义分割神经网络中,经过神经网络处理后得到语义信息图像,然后将语义信息图像输入到蒙版处理过程进行灰度化和二值化处理,最终提取语义蒙版的外轮廓信息。
16.进一步地,所述步骤s1中,利用图像形态学操作将错误的区域消除,具体如下:
17.将语义蒙版进行三个阶段的处理:
18.(1)第一次腐蚀操作,选用椭圆结构的模板消除错误产生的先验运动区域,第一次腐蚀结果为aθb1;
19.(2)膨胀操作,也选用椭圆结构的模板,在第一次操作的基础上充分扩充先验运动区域,得到一个过分扩充的蒙版,第一次膨胀结果为
20.(3)第二次腐蚀操作,选用膨胀操作的模板,在第二次操作的基础上对蒙版进行适当腐蚀,缩小过分扩充的蒙版,得到一个蒙版大小适中的精细化语义蒙版,第二次腐蚀结果为
21.其中,a表示待滤波处理的蒙版,θ表示腐蚀运算符,表示膨胀运算符,b1表示第一次腐蚀操作的结构模板,b2表示膨胀操作的结构模板,也是椭圆结构。
22.进一步地,所述步骤s3中,运动一致性检测过程包括了基于迭代最近点(icp)算法的轻量级帧跟踪过程以及对极几何约束和场景流约束数据提取过程,具体如下:
23.利用当前帧与上一帧中先验静止特征点集合的数据关联信息,结合迭代最近点(icp)算法,以及刚体运动变换方程,构建上一帧到当前帧的帧间变换矩阵与数据关联信息的关系,建立最小二乘问题,然后利用矩阵的奇异值分解(svd)算法求解该最小二乘问题的
解,从而得到上一帧到当前帧的帧间变换矩阵,然后利用得到的帧间变换矩阵作用在当前帧和上一帧中数据关联好的先验未知特征点集合上,得到对极几何约束以及场景流约束数据。
24.进一步地,所述步骤s3中,对极几何约束数据提取的过程,具体如下:
25.p为场景中的一个正在运动的地图点;i1表示上一帧图像,p1表示p点在上一帧上的像素点,l1表示过p1点的极线,e1表示极点;i2表示当前帧图像,p2表示p点在当前帧上的像素点,l2表示过p2点的极线,e2表示极点;p

表示p点移动后的点,p2′
表示p

在当前帧的投影点,de表示p2′
到极线l2的距离,表示上一帧到当前帧的变换矩阵,o1o2表示基线。对极几何约束表达式如下所示:
26.e=t^r
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
27.f=k-t
ek-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0028][0029]
其中,t表示矩阵的转置,k表示相机的内参矩阵,r表示上一帧到当前帧的旋转矩阵,t表示上一帧到当前帧的平移向量,e表示本质矩阵,f表示基础矩阵。根据点到直线的距离的方程可以得到de的计算公式如下:
[0030][0031]
进一步地,所述步骤s3中,场景流约束信息提取的过程,具体如下:
[0032]
根据相机的针孔成像模型,刚体运动变换方程和世界坐标系和相机坐标系之间的变换方程结合当前帧的深度图信息,得到一个特征点对应于世界坐标系下的地图点的坐标。
[0033]
假设当前帧和上一帧的先验静态特征点集和已经完成数据关联,利用该关联信息以及像素点到地图点的映射方程,可以得到地图点在世界坐标系下的位移向量,该位移向量就是场景流。
[0034]
进一步地,所述步骤s3中,基于icp算法的轻量级帧跟踪过程,降低了帧间变换矩阵初始化的时间,具体如下:
[0035]
假设在当前帧中的相机坐标系中有一个3d点集在上一帧中的相机坐标系中有一个3d点集其中与代表相机坐标系中的一个3d点。假设上一帧到当前帧的旋转矩阵为r
cl
,平移向量为t
cl
。假设以上提到的3d点集都是已经进行了数据关联,预先设定令则旋转矩阵以及平移向量将由下式给出:
[0036][0037]
t
cl
=p
c-r
cl
p
l
ꢀꢀꢀ
(6)
[0038]
其中,表示3d点集pc的第i个点,表示3d点集p
l
的第i个点,n表示3d点集中点的个数。
[0039]
采用矩阵的奇异值分解算法求解式(5),定义一个3
×
3的矩阵w,其计算公式如下:
[0040][0041]
其中,q、m、∑表示对角矩阵,矩阵w满秩。
[0042]
则式(5)的解如下:
[0043]rcl
=qm
t
ꢀꢀ
(8)
[0044]
将式(8)代入式(6)得到平移向量的计算公式:
[0045][0046]
本发明的有益效果:本发明的方法采用语义分割神经网络提取场景中先验运动物体区域,生成相应的蒙版并进行精细化处理,提取精细化处理后的语义蒙版外轮廓,遍历当前帧中所有特征点,计算其到外轮廓的欧氏距离和相应的深度数据,将当前帧特征点集合分为三类,然后将当前帧和上一帧的先验静止特征点集合输入到运动一致性检测过程中的轻量级帧跟踪过程得到帧间变换矩阵,再利用该变换矩阵和几何约束作用在当前帧与上一帧的先验未知特征点集合上,得到当前帧中的静止特征点集合,将其输入到跟踪线程中进行计算得到更精确的位姿估计。本发明的方法通过语义神经网络提取场景中的先验运动区域信息保证系统能够得到足够的先验信息;通过图像的形态学操作:腐蚀和膨胀操作,有效的过滤了语义信息中错误的部分,保证了先验信息的准确性;通过提取精细化处理后的语义蒙版的外轮廓信息,根据当前帧中每一个特征点到该轮廓的欧式距离以及深度图中相应位置的深度信息更加精确的提取了先验信息;采用对极几何约束实时衡量特征点来自运动物体的可能性,大大提升了几何约束的鲁棒性;提升了视觉slam系统在室内环境存在运动物体的情况下工作的稳定性与精度。
附图说明
[0047]
图1为本发明的一种应用于动态室内场景的视觉slam鲁棒性提升方法的流程图。
[0048]
图2为本发明方法实施例中中的对极几何约束示意图。
[0049]
图3为本发明实施例中先验信息提取结果图。
[0050]
图4为本发明实施例中应用本发明与未应用本发明的视觉slam系统在动态室内环境中的测试结果对比图。
具体实施方式
[0051]
下面结合附图与实施例对本发明内容作进一步说明。
[0052]
如图1所示,本发明的一种应用于动态室内场景的视觉slam鲁棒性提升方法流程图,具体步骤如下:
[0053]
s1、采用语义分割神经网络提取场景中先验运动物体区域,根据语义分割结果生成相应的蒙版,然后利用图像的形态学操作:腐蚀和膨胀,对蒙版进行精细化处理,消除不正确的分割结果,提取精细化处理后的语义蒙版的外轮廓;
[0054]
s2、基于步骤s1中提取的语义蒙版外轮廓,遍历当前帧中所有的特征点计算每个特征点到语义蒙版外轮廓的欧式距离,根据这个距离结合与当前帧对应的深度图信息将当前帧中的特征点划分为三个集合:先验动态特征点、先验未知特征点、先验静止特征点;
[0055]
s3、将当前帧和上一帧的先验静止特征点集合输入到运动一致性检测过程中的轻量级帧跟踪过程得到帧间变换矩阵,利用得到的帧间变换矩阵及运动一致性检测过程中的几何约束作用在当前帧和上一帧中数据关联好的先验未知特征点集合上,得到对极几何约束以及场景流约束数据;
[0056]
s4、将对极几何约束以及场景流约束的数据信息组合成一个二维的向量,然后利用该向量的二范数来代表最终的误差值,如果误差值大于设定的阈值,那么该特征点就是属于运动特征点集合,否则就是属于静止特征点集合,然后利用得到的静止特征点集合进行精确帧跟踪,最后得到消除场景中运动物体干扰的位姿估计数据。
[0057]
在本实施例中,所述步骤s1中,具体如下:
[0058]
如图1所示,当视觉slam系统开始运行时,系统通过rgb-d相机获取原始数据,包括rgb图像以及相应的深度图信息。
[0059]
首先将rgb图像输入到语义分割神经网络中,经过神经网络处理后得到语义信息图像,然后将语义信息图像输入到蒙版处理过程进行灰度化和二值化处理,最终提取语义蒙版的外轮廓信息。
[0060]
在本实施例中,所述步骤s1中,由于语义分割神经网络提取出的语义信息图像存在错误分割的小区域,利用图像形态学操作将错误的区域消除,具体如下:
[0061]
将语义蒙版进行三个阶段的处理:
[0062]
(1)第一次腐蚀操作,为了更好的对复杂曲线区域进行腐蚀,选用了椭圆结构的模板,消除错误产生的先验运动区域,第一次腐蚀结果为aθb1;
[0063]
(2)膨胀操作,也选用椭圆结构的模板,在第一次操作的基础上充分扩充先验运动区域,得到一个过分扩充的蒙版,第一次膨胀结果为
[0064]
(3)第二次腐蚀操作,选用膨胀操作的模板,在第二次操作的基础上对蒙版进行适当腐蚀,缩小过分扩充的蒙版,得到一个蒙版大小适中的精细化语义蒙版,第二次腐蚀结果为目的是为了尽可能的保持原蒙版的区域大小。
[0065]
其中,a表示待滤波处理的蒙版,θ表示腐蚀运算符,表示膨胀运算符,b1表示第一次腐蚀操作的结构模板,b2表示膨胀操作的结构模板,也是椭圆结构。
[0066]
在本实施例中,所述步骤s3中,运动一致性检测过程包括了基于迭代最近点(icp)算法的轻量级帧跟踪过程以及对极几何约束和场景流约束数据提取过程,具体如下:
[0067]
利用当前帧与上一帧中先验静止特征点集合的数据关联信息,结合迭代最近点(icp)算法,以及刚体运动变换方程,构建上一帧到当前帧的帧间变换矩阵与数据关联信息的关系,建立最小二乘问题,然后利用矩阵的奇异值分解(svd)算法求解该最小二乘问题的解,从而得到上一帧到当前帧的帧间变换矩阵,然后利用得到的帧间变换矩阵作用在当前帧和上一帧中数据关联好的先验未知特征点集合上,得到对极几何约束以及场景流约束数据。
[0068]
在本实施例中,所述步骤s3中,对极几何约束数据进行提取,采用对极几何约束实时衡量特征点来自运动物体的可能性,提升了几何约束的鲁棒性,具体如下:
[0069]
如图2所示,p为场景中的一个正在运动的地图点;i1表示上一帧图像,p1表示p点在上一帧上的像素点,l1表示过p1点的极线,e1表示极点;i2表示当前帧图像,p2表示p点在当前帧上的像素点,l2表示过p2点的极线,e2表示极点;p

表示p点移动后的点,p2′
表示p

在当前
帧的投影点,de表示p2′
到极线l2的距离,表示上一帧到当前帧的变换矩阵,o1o2表示基线。对极几何约束表达式如下所示:
[0070]
e=t^r
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0071]
f=k-tek-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0072][0073]
其中,t表示矩阵的转置,k表示相机的内参矩阵,r表示上一帧到当前帧的旋转矩阵,t表示上一帧到当前帧的平移向量,e表示本质矩阵,f表示基础矩阵。根据点到直线的距离的方程可以得到de的计算公式如下:
[0074][0075]
在本实施例中,所述步骤s3中,场景流约束信息提取的过程,具体如下:
[0076]
根据相机的针孔成像模型,刚体运动变换方程和世界坐标系和相机坐标系之间的变换方程结合当前帧的深度图信息,得到一个特征点对应于世界坐标系下的地图点的坐标。
[0077]
假设当前帧和上一帧的先验静止特征点集和已经完成数据关联,利用该关联信息以及像素点到地图点的映射方程,可以得到地图点在世界坐标系下的位移向量,该位移向量就是场景流。
[0078]
在本实施例中,所述步骤s3中,基于icp算法的轻量级帧跟踪过程,降低了帧间变换矩阵初始化的时间,具体如下:
[0079]
假设在当前帧中的相机坐标系中有一个3d点集在上一帧中的相机坐标系中有一个3d点集其中与代表相机坐标系中的一个3d点。假设上一帧到当前帧的旋转矩阵为r
cl
,平移向量为t
cl
。假设以上提到的3d点集都是已经进行了数据关联,预先设定令则旋转矩阵以及平移向量将由下式给出:
[0080][0081]
t
cl
=p
c-r
cl
p
l
ꢀꢀꢀ
(15)
[0082]
其中,表示3d点集pc的第i个点,表示3d点集p
l
的第i个点,n表示3d点集中点的个数。
[0083]
采用矩阵的奇异值分解算法求解式(5),定义一个3
×
3的矩阵w,其计算公式如下:
[0084][0085]
其中,q、m、∑表示对角矩阵,矩阵w满秩。
[0086]
则式(5)的解如下:
[0087]rcl
=qm
t
ꢀꢀ
(17)
[0088]
将式(8)代入式(6)得到平移向量的计算公式:
[0089][0090]
如图3所示,为先验信息提取结果,其中,特征点原始分布的结果为未对当前帧特征点集合进行划分的结果。在得到先验信息的图像中可以看到剩下的特征点集合为人身上的特征点集合与人附近一定范围内的特征点集合的并集,来自人身上的特征点集合为先验动态特征点集合,在人附近的特征点集合为先验未知特征点集合。
[0091]
如图4所示,本发明的方法在动态室内场景下的测试结果,虚线轨迹为动作捕捉设备采集到的相机真实运动轨迹,实线轨迹为视觉slam系统估计的轨迹,通过比较使用和未使用本发明提出的方案在动态场景下的测试结果,实验表明本发明的方法能够显著的提升视觉slam在动态室内场景下的稳定性。
[0092]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1