一种生产车间三维动态不确定性语义SLAM方法

文档序号:31168600发布日期:2022-08-17 09:04阅读:104来源:国知局
一种生产车间三维动态不确定性语义SLAM方法
一种生产车间三维动态不确定性语义slam方法
技术领域
1.本发明属于计算机视觉、slam领域,具体涉及一种生产车间三维动态不确定性语义slam方法


背景技术:

2.同步定位与建图技术(slam)作为自主导航的关键技术之一,能够帮助移动机器人实现场景感知和定位,通过传感器信息获取自身的位姿信息以及周围环境的结构信息。随着社会的发展和科技的进步,单目相机、双目相机、rgb-d相机等大量视觉传感器迅猛发展,涌现出了大量优秀视觉slam方法。
3.基于特征点法的视觉slam通过对图像特征的提取和匹配以表征场景的结构和形状,同时解决未知环境下数据关联问题。然而,这些方法都是基于静态环境这一严格的假设,而在车间环境中由于生产任务呈现出形式多样化,特别是在离散制造车间生产方式呈现出离散型、流水线型,作业人员以及车间移动设备需要根据不同的生产任务进行移动作业,使得生产车间成为高动态环境。车间移动机器人对这些动态目标进行跟踪不仅会降低位姿优化精度、加大轨迹飘逸误差,甚至可能出现系统崩溃。得益于深度学习的发展,语义slam通过神经网络对场景进行语义理解,增强了slam对动态环境的适应性和鲁棒性,所建立的地图带有语义信息有助于车间移动机器人完成高级任务。然而,传统语义分割网络对于训练样本的强依赖性,以及其庞大的网络参数量,使得其难以应用在现实环境中。
4.综上所述,针对以上研究的不足,提出了一种三维动态不确定性语义slam方法。


技术实现要素:

5.鉴于上述问题,本发明的目的在于提供一种三维动态不确定性语义slam方法。
6.一种三维动态不确定性语义slam方法,包括以下步骤:
7.步骤一:利用车间数据集对语义分割网络pwnet训练;
8.步骤二:设计不确定性动态特征分类器,将该分类器集成到orb_slam3前端对动态特征点进行剔除;
9.步骤三:针对地图中存在的动态目标,设计两个动态节点滤波器对地图中的动态点进行剔除。
10.与现有技术相比,本发明具有以下有益效果:
11.1.相比于现有slam方法大幅度提高了在移动设备动态环境下的定位精度;
12.2.能够实时建立不包含动态目标的静态地图,同时大幅度减少了地图所占内存。
附图说明
13.图1是建立的车间数据集示意图;
14.图2是语义分割网络分割效果图;
15.图3是pwnet输出的语义信息对当前图像中的动态区域进行标记的效果图;
16.图4是对极几何原理图;
17.图5是不确定性动态特征分类器网路结构图;
18.图5是不确定性动态特征分类器网路结构图;
19.图6是特征分类器集成到obr_slam3的结构图;
20.图7是最终建立的语义八叉树地图;
21.图8是对八叉树地图中的动态目标剔除流程图。
具体实施方式
22.下面结合附图对本发明的技术方案进行详细说明。
23.一种生产车间三维动态不确定性语义slam方法,具体包括以下步骤:
24.步骤一:利用车间数据集对语义分割网络pwnet进行训练
25.步骤11:为了获取生产车间的语义信息,建立车间数据集sop(scene objects for production workshop dataset),该数据集包含人、数控车床、数控铣床、普通机床、机床踏板、机器人六类,共500张,如附图1所示;
26.步骤12:为了获取当前帧图像的语义信息,将语义分割网络pwnet在车间数据集上进行训练,得到车间目标对应的标签图,效果如附图2所示。
27.步骤二:设计不确定性动态特征分类器对动态特征点进行剔除
28.步骤21:利用从语义分割网络获取的语义信息在当前彩色图像标记动态区域,并对动态区域进行像素二值处理,在提取特征点时不对动态区域内部进行特征提取,以对动态特征点进行初次剔除,如附图3所示;
29.步骤22:计算动态区域边缘特征点到动态区域边缘的最小距离,并通过归一化函数将距离转换成概率值,获得在语义约束条件下的当前特征点的动态概率,其详细的计算方法用以下公式表示:
[0030][0031][0032]
式中,d
euclidean
(k
pt(i)
,p
contours
)表示特征点k
pt(i)
到动态区域边缘p
contours
的最小欧式距离,w
g1
为距离信息中的呈高斯分布的噪声项,p(k
pt(i)
|m1)表示特征点k
pt(i)
在语义约束模块中的动态概率;
[0033]
步骤23:利用对极几何原理,如附图4所示,计算特征点到极线的距离并将该距离信息转换成概率,获得在运动约束模块中运动约束条件下的当前特征点的动态概率,其详细计算方法通过以下公式表示:
[0034]
l
right
=[x,y,z]=f
×
p
ht

[0035]
[0036][0037]
其中,ph是特征点k
pt(i)
的像素坐标所对应的其次坐标,d
epoline
(k
pt(i)
,l
right
)表示特征点到极限l
right
的距离,w
g2
为当前距离的噪声项,p(k
pt(i)
|m2)是特征点在对极约束下的动态概率,w1是人为设定的偏移阈值;
[0038]
步骤24:分别计算匹配上的特征点对的描述子距离,并将其距离信息转换成概率信息,获得在位置约束条件下的当前特征点动态概率,其详细的计算方式可通过以下公式表示:
[0039]ddescriptors
(k
pt(i)
,k

pt(i)
)=|desc(k
pt(i)
)-desc(k

pt(i)
)|+w
g3

[0040][0041]
其中,d
descriptors
(k
pt(i)
,k

pt(i)
)是匹配上的特征点对k
pt(i)
、k

pt(i)
的描述子距离,desc(k
pt(i)
)、desc(k

pt(i)
)分别是特征点k
pt(i)
、k

pt(i)
对应的描述子;w
g3
为呈现正太分布的距离噪声,p(k
pt(i)
|m3)是特征点在位置约束m3下的动态概率,k3是距离缩放因子;
[0042]
步骤25:利用朴素贝叶斯方法结合上述三种约束条件组成不确定性动态特征分类器,对特征点的动态概率进行最终判断,其详细的计算方法可通过以下公式表示:
[0043]
pi=(p(k
pt(i)
|m1),p(k
pt(i)
|m2),p(k
pt(i)
|m3)),
[0044][0045][0046][0047]
式中,pi表示特征点的动态概率特征向量,outb(
·
)是上一帧图像中的特征分类器,n表示在上一帧图像中提取的特征点总数,p(yb=1)表示当前为动态特征点的先验概率,p(yb=1|x=k
pt(i)
)表示特征点为动态的概率,p(yb=0|x=k
pt(i)
)表示特征点为静态的概率;详细的动态不确定性特征分类器结构如附图5所示;
[0048]
步骤26:将上述不确定性动态特征分类器集成到orb_slam3前端,如附图6所示,在提取特征点后,利用该分类器对动态特征点进行剔除。
[0049]
步骤三:针对生成地图中存在的动态目标,设计两个滤波器对地图中的动态点进行剔除
[0050]
步骤31:将输入的彩色图以及对应的深度图生成稠密点云,并结合视觉里程计前端获得的位姿信息将点云通过以下方式采用八叉树格式进行存储:
[0051]
l(n|z
1:t+1
)=l(n|z
1:t-1
)+l(n|z
t
)
[0052]
式中,l(n|z
1:t+1
)表示从开始到t+1时刻某节点的概率对数值,l(n|z
1:t-1
)表示从开始到t-1时刻该节点的概率对数值,而l(n|z
t
)表示在t时刻该节点的概率对数值;
[0053]
步骤32:利用pwnet输出的语义信息对地图中的动态八叉树节点进行初步剔除;
[0054]
步骤33:利用直通滤波器将地图中的离散节点进行再次剔除,两种地图种的动态节点剔除方法可通过以下公式表示:
[0055]
cloud
static
=f
radius
(r,k,cloud),
[0056]
oct
map
=f
map
(oct
dynamic
,semantic),
[0057]
式中,f
radius
(
·
)代表直通滤波器,r是滤波器的直通半径,k表示邻近点数,cloud代表步骤生成的稠密点云地图;f
m p
(
·
)是八叉树节点滤波器,oct
dynamic
是含有动态目标的八叉树地图,semantic表示语义分割网络的输出的语义信息;最终获得静态的八叉树格式的地图,效果如附图7所示。
[0058]
整个网络结构完整描述如下:
[0059]
步骤1:利用语义分割网络pwnet对当前图像进行分割,输出当前帧图像语义信息;
[0060]
步骤2:结合语义信息对输入的彩色图像中的动态区域进行标记;
[0061]
步骤3:从标记了动态区域的图像中提取特征点;
[0062]
步骤4:设计不确定性动态特征分类器,并将其集成到orb_slam3前端;
[0063]
步骤5:在提取特征点后,利用不确定性动态特征分类器对动态的特征点进行剔除,只保留静态特征点,并对静态特征点进行跟踪;
[0064]
步骤6:利用彩色图生成稠密点云并结合跟踪到的点云位姿信息生成八叉树地图;
[0065]
步骤7:对生成的八叉树地图中的动态目标进行剔除,获得静态的语义八叉树地图,其流程如附图8所示。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1