一种基于STDC语义分割网络的实时同时定位与建图方法

文档序号:31805308发布日期:2022-10-14 20:06阅读:218来源:国知局
一种基于STDC语义分割网络的实时同时定位与建图方法
一种基于stdc语义分割网络的实时同时定位与建图方法
技术领域
1.本发明属于智能机器人自主导航领域,特别是一种基于stdc语义分割网络的实时同时定位与建图方法。


背景技术:

2.近年以来随着大数据、深度学习等技术的快速发展使得移动机器人的相关技术也更加成熟,为人们的生活提供了很大的便利。移动机器人涉及运动学、动力学、控制理论、计算机科学、机械原理、传感器技术等多个学科,是当前科学技术研究中最活跃的领域之一。同时定位与建图算法(simultaneous localization and mapping,slam)是指移动机器人在没有任何先验环境的情况下同时完成自身的定位与周围环境地图的构建。
3.虽然视觉slam技术已经取得了很大的发展,但是还存在一些问题需要解决。比如移动机器人在复杂的动态环境中工作时,高动态目标会使相邻的两帧图像之间产生巨大的不一致,严重影响slam系统的鲁棒性;另外现有的视觉slam算法很多都将外部环境假设为静态场景,忽视了动态物体对slam系统的影响。当环境中出现动态物体时会影响slam系统的鲁棒性,降低slam系统的定位精度,甚至会导致其跟踪失败。
4.深度学习与slam系统结合可以有效降低动态目标对系统定位和建图的影响,但是高精度的语义分割网络在处理图像时,需要消耗大量时间,不满足应用所需的实时性。
5.cn113516664a,一种基于语义分割动态点的视觉slam方法,该专利采用mask r-cnn分割网络和多视角几何约束算法剔除动态特征点,提高系统在动态环境中的定位精度和鲁棒性。但是,上述方法中采用的mask r-cnn网络在进行分割时需要消耗大量时间,降低了系统的处理速度。
6.cn112435262a,一种基于语义分割网络和多视图几何的动态环境信息检测方法,该专利采用轻量级语义分割网络fchardnet和多视角几何约束算法剔除动态特征点,提高系统鲁棒性。但是,上述方法中采用的语义分割网络分割处理速度仍不满足实时性要求,以及多视角几何约束算法耗时多,导致系统不满足实时性要求。


技术实现要素:

7.本发明旨在解决以上现有技术的问题。提出了一种基于stdc语义分割网络的实时同时定位与建图方法。本发明的技术方案如下:
8.一种基于stdc语义分割网络的实时同时定位与建图方法,其包括以下步骤:
9.s1,利用rgb-d深度相机直接拍摄获得rgb图像信息和图像深度信息;
10.s2,利用orb角点检测与特征描述算法对rgb图像信息和图像深度信息进行特征点提取;
11.s3,利用stdc短期密集连接网络获取图像语义信息,并利用语义信息剔除动态特征点;
12.s4,将剩余特征点利用orb-slam3算法进行定位和导航,orb-slam3是一个基于特
征点的实时slam算法,该算法包括跟踪线程、局部建图线程和回环检测线程。
13.进一步的,所述步骤s2利用orb算法提取特征点;具体包括:
14.首先利用fast算法获得fast关键点,步骤为:1、遍历待提取的图像中的每一个像素,并计算该像素的灰度值i
p
;2、设定一个阈值t(t一般取i
p
的30%);3、选取该像素为圆心,3为半径的圆上的16个像素点;4、如果这16个像素点中有连续12个像素点的灰度值都大于i
p
+t或者小于i
p
-t,判定该像素为一个fast关键点。
15.然后利用图像块的灰度质心为特征点添加旋转描述,定义图像块a的矩为:
[0016][0017][0018]
式中:i(x,y)为图像像素点(x,y)处的灰度值,m
x
、my分别表示水平方向的矩和竖直方向的矩;
[0019]
将特征点的方向定义为:
[0020][0021]
最后,使用brief描述子对特征点进行描述;在特征点p周围随机选取n个点对,比较灰度值:
[0022][0023]
式中:p(x)、p(y)分别为点x、y处的灰度值大小;
[0024]
故brief描述子表示为:
[0025][0026]
式中:n表示该特征点第n位描述子;
[0027]
进一步的,所述步骤s3的stdc语义分割网络具体为,选取stdc2-seg75网络,stdc2-seg75网络采用stdc模块进行编码,并利用训练损耗引导低层学习空间细节的特征。
[0028]
进一步的,所述的stdc模块具体为,利用4个卷积层和激励层获取不同感受野的特征图,然后将不同感受野的特征图采用级联融合,4个卷积层分别采用步长为1,卷积核大小为{1,3,3,3}的2维卷积算法,激励层采用relu函数,其公式为:
[0029]
r(x)=max(0,x)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0030]
式中:x是输入,r(x)是经过relu单元之后的输出。
[0031]
进一步的,stdc语义分割网络的训练损耗具体为,采用交叉熵和二分类分割损耗联合:
[0032]
ld=l
dice
(pd,gd)+l
bce
(pd,gd)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0033]
式中:ld表示训练细节损耗,l
dice
表示二分类分割损耗,l
bce
表示交叉熵损耗,pd表示预测细节,gd表示对应的细节地真值,利用损失函数训练模型,分割输入图像,获得语义
分割图。
[0034]
进一步的,所述语义信息剔除动态特征点具体为:首先将语义分割图中的高动态目标标记;然后标记后的语义分割图作为掩模;最后利用掩模和特征点图剔除动态特征点。
[0035]
进一步的,所述步骤s4将剩余特征点利用orb-slam3算法进行定位和导航,具体包括:
[0036]
跟踪线程:寻找局部地图特征点并进行匹配,利用光束平差优化(bundle adjustment,ba)算法来最小化重投影误差,定位每帧相机位姿。
[0037]
局部建图线程:运用局部ba算法优化相机位姿和特征点云。
[0038]
回环检测线程:检测回环并通过位姿图优化消除累计漂移误差。在位姿图优化后会启动全局ba算法线程,计算整个系统最优结构和运动结果。
[0039]
本发明的优点及有益效果如下:
[0040]
本发明针对融合了语义分割网络的slam系统在动态环境下定位精度低,且分割网络处理耗时高的问题,提出一种基于stdc语义分割网络的实时同时定位与建图方法。本发明一方面采用stdc短期密集连接网络作为系统的语义分割网络,如步骤3、4,利用训练损耗引导低层学习空间细节的特征,并且在预测阶段移除引导步骤,提高了网络的精确度和处理速度;另一方面,由于多视角几何约束的高耗时,本发明采用直接人为标注法,如步骤6,将人、动物、汽车等高动态物体人为标记,该方法可以极高地提高处理速度,且精确度高。
[0041]
通过在公开数据集tum上测试,实验表明,融入了stdc语义分割网络的实时同时定位与建图方法具有较好的定位精度和鲁棒性,且在语义分割线程中耗时较低,满足实时性要求。为了更明确地进行基于不同语义分割网络对slam系统定位精度和耗时的对比,将本文提出的系统与其他基于语义分割网络的slam系统进行对比,本文提出的系统对定位的误差更小,耗时更低,取得了优越的性能。
附图说明
[0042]
图1是本发明提供优选实施例基于stdc语义分割网络的实时同时定位与建图方法框架;
[0043]
图2为stdc语义分割网络框架。
具体实施方式
[0044]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
[0045]
本发明解决上述技术问题的技术方案是:
[0046]
如图1所示,一种基于stdc语义分割网络的实时同时定位与建图方法,该方法利用stdc语义分割网络实时分割环境中的动态目标,消除动态物体在真实环境下对slam系统稳定性的影响,提高slam的定位精度和鲁棒性,具体包括以下步骤:
[0047]
s1,利用rgb-d深度相机直接拍摄获得rgb图像信息和图像深度信息。
[0048]
s2,对输入图像信息进行预处理,将rgb图像信息和图像深度信息通过orb算法提取orb特征点。首先利用fast算法获得fast关键点,步骤为:1、遍历待提取的图像中的每一个像素,并计算该像素的灰度值i
p
;2、设定一个阈值t(t一般取i
p
的30%);3、选取该像素为
圆心,3为半径的圆上的16个像素点;4、如果这16个像素点中有连续12个像素点的灰度值都大于i
p
+t或者小于i
p
-t,判定该像素为一个fast关键点。
[0049]
然后利用图像块的灰度质心为特征点添加旋转描述,定义图像块a的矩为:
[0050][0051][0052]
式中:i(x,y)为图像像素点(x,y)处的灰度值,m
x
、my分别表示水平方向的矩和竖直方向的矩;
[0053]
将特征点的方向定义为:
[0054][0055]
最后,使用brief描述子对特征点进行描述;在特征点p周围随机选取n个点对,比较灰度值:
[0056][0057]
式中:p(x)、p(y)分别为点x、y处的灰度值大小;
[0058]
故brief描述子表示为:
[0059][0060]
式中:n表示该特征点第n位描述子;
[0061]
s3,利用stdc语义分割网络获取图像语义信息,选取stdc2-seg75网络,该网络采用stdc模块进行编码,利用4个卷积层和激励层获取不同感受野的特征图,然后将不同感受野的特征图采用级联融合。4个卷积层分别采用步长为1,卷积核大小为{1,3,3,3}的2维卷积算法,激励层采用relu函数,其公式为:
[0062]
r(x)=max(0,x)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(20)
[0063]
式中:x是输入,r(x)是经过relu单元之后的输出。
[0064]
采用交叉熵和二分类分割损耗联合:
[0065]
ld=l
dice
(pd,gd)+l
bce
(pd,gd)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(21)
[0066]
式中:ld表示训练细节损耗,l
dice
表示二分类分割损耗,l
bce
表示交叉熵损耗,pd表示预测细节,gd表示对应的细节地真值。利用损失函数训练模型,分割输入图像,获得语义分割图。然后,将语义分割图中的高动态目标标记,如人、动物、汽车等。并将标记后的语义分割图作为掩模。最后利用掩模和特征点图剔除动态特征点。
[0067]
s4,将剩余特征点利用orb-slam3算法进行定位和导航,获得slam系统轨迹跟踪图,以及环境点云地图。
[0068]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包
括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0069]
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1