一种面向移动机器人的大范围语义地图构建方法

文档序号:31807203发布日期:2022-10-14 20:30阅读:175来源:国知局
一种面向移动机器人的大范围语义地图构建方法

1.本发明属于视觉slam技术领域,具体涉及一种面向移动机器人的大范围语义地图构建方法。


背景技术:

2.近年来随着机器人技术与人工智能的飞速发展,在工业等领域对机器人的需求量也逐步增加,例如无人机搜救、快递机器人、虚拟现实等方面。针对复杂的行为决策任务,仅构建传统的几何度量地图已不足以完成任务,这对机器人的语义理解能力提出了更高的要求,因此语义地图构建逐步成为视觉slam(即时定位与地图构建)领域的重要研究课题。该课题研究的是:在移动机器人定位的同时,根据单帧的语义预测值增量式地构建包含语义信息的三维地图。
3.目前的语义地图构建方法普遍存在以下问题:方法广泛使用贝叶斯概率融合策略,该策略的主要缺陷在于它的内存消耗与语义类别数量成正比,对于类别数量不同的语义分割网络不具有普适性,此外对于大范围和长期运行的slam系统,当意外情况中断语义建图流程时,可能会丢失之前的地图信息。这些问题不仅限制了语义地图构建方法的普适性,也降低了在大范围、长期语义建图的效率和鲁棒性。


技术实现要素:

4.针对上述现有语义地图构建技术中存在的问题,本发明提供了一种面向移动机器人的大范围语义地图构建方法,在室内未知环境中使用视觉里程计进行状态估计,同时构建大范围、高精度、可复用的语义地图,普适性强并且具有较高的精度和计算效率。
5.一种面向移动机器人的大范围语义地图构建方法,其特征在于,包括以下步骤:
6.步骤1:利用移动机器人获取当前图像;
7.步骤2:基于特征点法构建视觉里程计,输出相邻帧图像的位姿变换;
8.步骤3:构建与更新语义八叉树地图,具体包括:
9.步骤3.1:基于深度学习的语义分割算法,输出与当前图像对应的逐像素的语义颜色、语义标签和置信度,构成语义信息;
10.步骤3.2:计算当前图像中各像素的真实世界坐标,以生成真实点云地图,然后根据之后所采用的语义融合算法将语义信息融入真实点中,形成语义点云地图;
11.步骤3.3:利用位姿变换将语义点云地图中的语义点云转换到全局坐标系,构建基于体素的语义八叉树地图,并采用占据概率更新算法和语义融合算法实时更新语义八叉树地图;
12.步骤4:构建移动机器人的三层内存结构模型,由短期内存(stm)、工作内存(wm)和长期内存(ltm)组成;
13.步骤5:基于wm和ltm之间的节点移动算法,实现语义八叉树地图复用,具体包括:
14.对于从ltm到wm的节点移动,对wm进行回环检测,获得wm中最高回环概率的节点
lh,若最高回环概率的节点lh的相邻节点lh在ltm中,则将相邻节点lr移动至wm中;若在一次回环检测中具有多个最高回环概率的节点lh,则最多取回两个相邻节点lh;
15.对于从wm到ltm的节点移动,当处理wm中一帧图像的时间超过wm的数据处理时间限制t
wm
时,具有最低权重且存储时间最长的节点将从wm转移至ltm中,但不允许转移最高回环概率的节点lh的相邻节点lr;进而将当前语义八叉树地图扩展为全局语义地图。
16.进一步地,步骤3.3中所述语义融合算法为最大值语义融合算法或改进的贝叶斯语义融合算法;所述最大值语义融合算法适用于轻算力的计算平台,改进的贝叶斯语义融合算法适用于高算力的计算平台,具有较高的语义建图精度。
17.进一步地,所述改进的贝叶斯语义融合算法具体为:
18.各体素中存储的n个置信度最高的语义信息构成语义集合s;并将其余语义信息归为一类,构成集合other_classes;other_classes的置信度other_conf与s中的n个置信度的和为1;
19.当前图像更新前形成的体素所对应的语义集合为s1,当前图像更新后形成的体素所对应的语义集合为s2,二者的融合情况为:
20.若s1和s2具有相同的语义颜色,则对s1的n个语义标签和对应other_classes1,以及s2的n个语义标签和对应other_classes2,执行贝叶斯融合算法;否则,向s1中添加s2所独有的语义信息,同时向s2中添加s1所独有的语义信息,使得s1和s2具有相同的语义颜色,之后分别设置s1和s2所添加的语义信息的置信度为β
×
other_conf1和β
×
other_conf2,其中β<1,并将o th e_r c l1a的置信度other_conf1削减为(1-β)other_conf1,other_classes2的置信度other_conf2削减为(1-β)other_conf2;基于s1和s2所添加的语义信息的置信度,对添加后s1对应的多个语义标签和other_classes1,以及添加后s2对应的多个语义标签和other_classes2执行贝叶斯融合算法,融合结果s
fusion
只保留置信度最高的n个语义颜色。
21.进一步地,一般n取值不小于2。
22.进一步地,所述stm作为获取图像和位姿变换,以及添加节点的入口,用于计算连续帧图像在时间上的相似度,以此更新节点的权重,当stm中节点数量达到预设阈值s
stm
时,最早添加至stm中的节点将被移动至wm。
23.与现有技术相比,本发明的有益效果如下:
24.本发明提出了一种面向移动机器人的大范围语义地图构建方法,实现高精度、可复用的语义地图构建,其中利用回环检测算法复用以前的语义地图,融合局部的语义八叉树地图以生成全局语义地图,验证了语义地图复用策略的可行性和稳定性;优选地,可采用最大值语义融合算法或改进的贝叶斯语义融合算法作为语义融合算法,使得更新语义地图时不受语义类别数量的影响,平衡了语义建图精度与计算资源消耗,并且在大多数场景下具有更好的语义重建效果。
附图说明
25.图1为本发明实施例1提出的面向移动机器人的大范围语义地图构建方法的示意图;
26.图2为本发明实施例1中构建与更新语义地图的示意图。
具体实施方式
27.下面结合附图和实施例,详述本发明的技术方案。
28.实施例1
29.本实施例提出了一种面向移动机器人的大范围语义地图构建方法,包括以下步骤:
30.步骤1:利用移动机器人获取当前单帧rgb图像和深度图像,一组单帧rgb图像和深度图像构成rgb-d图像;
31.步骤2:基于特征点法构建视觉里程计,输出相邻帧图像的位姿变换,具体为:
32.步骤2.1:对单帧rgb图像提取gftt(good feature to track)关键点,以深度图像作为gftt检测的掩码,在深度值无效处不提取特征,提取时限制最大的特征数量maxfeatures,本实施例设置为500;
33.步骤2.2:对于短期数据关联无需提取描述子,光流法直接作用于gftt特征上,从而对关键帧实现更快的特征数据关联;对于中期数据关联计算brief(binary robust independent elementary features)描述子,通过异或操作快速计算描述子之间的汉明距离,然后通过最近邻和次近邻特征点的汉明距离比值判断两特征点是否匹配;若匹配,则根据pnp(perspective-n-point)算法计算位姿变换;否则,舍弃该对特征点;
34.步骤2.3:由于在步骤2.2的特征点匹配过程中会存在大量的噪声,因此通过光束平差法对位姿变换进行局部优化,具体采用列文伯格-马夸尔特方法迭代求解,同时对相机位姿和三维路标点进行调整,最后在位姿更新模块输出优化后的位姿变换,同时更新视觉里程计与tf树;
35.步骤3:构建与更新语义八叉树地图,具体包括:
36.步骤3.1:基于sun rgbd室内数据集训练deeplab v3+语义分割网络模型,该模型可识别37个语义标签,向deeplab v3+语义分割网络模型实时输入单帧rgb图像,输出与当前单帧rgb图像对应的逐像素的语义颜色、语义标签和置信度,构成语义信息;其中,由带有语义颜色的像素构成语义图像;
37.步骤3.2:根据当前单帧rgb图像中各像素在图像上的位置坐标、深度图像和相机内参,计算各像素的真实世界坐标,以生成真实点云地图,然后根据所采用的语义融合算法将语义信息融入真实点中,形成语义点云地图;
38.步骤3.3:利用位姿变换将语义点云转换到全局坐标系,构建基于体素的语义八叉树地图,并采用占据概率更新算法和语义融合算法实时更新语义八叉树地图;
39.对于占据概率更新算法,在体素的占据概率更新过程中插入一个远离光心的节点时,更新此节点会非常耗时,一方面,考虑到深度相机的测距范围和计算平台的算力限制,算法只插入距相机光心一定距离内的点,以本实施例使用的深度相机为例,插入点的最大范围m=5米;另一方面,光心与目标点连线所在的体素一定是处于未占据状态,否则不可能观测到目标点,本实施例在有限范围u(u<m)内对图像像素执行光线投射,从光心到物体表面投射射线,同时沿着射线清除体素,一般设置光线投射范围u=2米;
40.所述语义融合算法为最大值语义融合算法或改进的贝叶斯语义融合算法;所述最大值语义融合算法适用于轻算力的计算平台,改进的贝叶斯语义融合算法适用于高算力的计算平台,具有较高的语义建图精度;
41.所述改进的贝叶斯语义融合算法具体为:
42.各体素中存储的n个置信度最高的语义信息构成语义集合s;并将其余语义信息归为一类,构成集合other_classes;other_classes的置信度other_conf与s中的n个置信度的和为1;本实施例中n=2;
43.当前图像更新前形成的体素所对应的语义集合为s1,当前图像更新后形成的体素所对应的语义集合为s2,二者的融合情况为:
44.若s1和s2具有相同的语义颜色,则对s1的n个语义标签和对应other_classes1,以及s2的n个语义标签和对应other_classes2,执行贝叶斯融合算法;否则,向s1中添加s2所独有的语义信息,同时向s2中添加s1所独有的语义信息,使得s1和s2具有相同的语义颜色,之后分别设置s1和s2所添加的语义信息的置信度为β
×
other_conf1和β
×
other_conf2,其中β<1,并将o th e_r c l1a的置信度other_conf1削减为(1-β)other_conf1,other_classes2的置信度other_conf2削减为(1-β)other_conf2;基于s1和s2所添加的语义信息的置信度,对添加后s1对应的多个语义标签和other_classes1,以及添加后s2对应的多个语义标签和other_classes2执行贝叶斯融合算法,融合结果s
fusion
只保留置信度最高的n个语义颜色;
45.步骤4:构建移动机器人的三层内存结构模型,由stm、wm和ltm组成;其中,所述stm为获取图像和位姿变换,以及添加节点的入口,用于计算连续帧图像在时间上的相似度,以此更新节点的权重,当stm中节点数量达到预设阈值s
stm
时,最早添加至stm中的节点将被移动到wm;所述wm中的节点主要用于回环检测,数据处理的时间限制间接地影响着wm的大小,当wm处理新数据的时间达到数据处理时间限制t
wm
时,图优化中内存管理权重较低的节点将从wm转移到ltm,从而保持wm的大小几乎不变;所述ltm存储着长时间未使用的节点,这些节点不用于回环检测和图优化,但在复用语义地图时可能会将ltm的部分节点转移到wm;
46.所述三层内存结构模型中的节点保存移动机器人的位姿变换、可视化信息(rgb图像、深度图像和语义图像)、回环检测的词袋向量和内存管理的权重;三层内存结构模型中的边存储节点之间的刚性几何变换,边可分为相邻边和回环边,相邻边是当前节点与前一节点之间的几何变换,当检测到新节点与图优化的某节点存在回环时就在两节点间添加一条回环边;
47.为保证运行效率,需根据移动机器人的速度和接收位姿变换的频率设置stm的最大节点数s
stm
=10;其次,数据处理的时间限制t
wm
间接地影响着wm的大小,设置工作内存的处理时间限制t
wm
=700毫秒,较高值的t
wm
意味着更多的节点会存储在wm中,wm会存储着更多的回环假设,能够更完整地表示场景;
48.步骤5:基于wm和ltm之间的节点移动算法,实现语义八叉树地图复用,具体包括:
49.对于从ltm到wm的节点移动,对wm进行回环检测,获得wm中最高回环概率的节点lh,若最高回环概率的节点lh的相邻节点lr在ltm中,则将相邻节点lr移动至wm中;若在一次回环检测中具有多个最高回环概率的节点lh,则最多取回两个相邻节点lr;
50.对于从wm到ltm的节点移动,当处理wm中一帧图像的时间超过wm的数据处理时间限制t
wm
=700毫秒时,具有最低权重且存储时间最长的节点将从wm转移至ltm内,但不允许转移回环检测后最高回环假设节点lh的相邻节点lr;
51.进而将当前语义八叉树地图扩展为全局语义地图,若两个局部的语义八叉树地图出现局部语义信息不一致,本方法以最新观测的语义信息为准,避免全局地图出现重影;
52.其中,为高效构建完整的视觉字典,对回环检测限定特征点的数量不超过设定阈值t
fmax
,当提取的特征数量过少,即提取特征的比例小于t
bad
时,以此生成的词袋向量不用于回环检测,本实施例中设置t
fmax
=500,t
bad
=0.25。
53.尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1