一种轻量级实时语义建图的动态SLAM方法和系统与流程

文档序号:34088683发布日期:2023-05-07 02:00阅读:56来源:国知局
一种轻量级实时语义建图的动态SLAM方法和系统与流程

本发明涉及图像数据处理,特别涉及一种轻量级实时语义建图的动态slam方法和系统。


背景技术:

1、现有的动态场景下的slam算法大多借助目标检测、语义分割或实例分割网络来区分动态与静态特征点,通常需要借助gpu加速才能完成,即使采用并行架构,运行帧率fps也只在10帧左右,不能在没有gpu的情况下实时工作,因此不能满足轻量级的应用程序,基于orb-slam的动态slam算法大多是剔除动态特征点,留下静态特征点构造稀疏路标地图,没有充分利用语义信息建图,现有技术中,经典的视觉slam算法通常假设场景是刚性和静态的,这种假设导致视觉slam系统在动态场景中频繁出现故障,定位精度下降严重。现有技术中,能生成八叉树地图的slam系统一般都是通过增加阈值p来删除移动对象。这些方法可以创建一个没有运动对象的八叉树地图,但不能删除潜在的可移动对象。


技术实现思路

1、针对现有技术中的上述问题,本发明提出了一种轻量级实时语义建图的动态slam方法和系统。具体的,本发明由下述技术方案实现:

2、本发明的第一方面提供了一种轻量级实时语义建图的动态slam方法,包括:

3、步骤s100,对目标检测神经网络进行训练和部署步骤s200,嵌入跟踪和预测机制,去除所有输入帧中属于可移动对象的特征点;

4、步骤s300,通过检测和跟踪结果的概率融合,构建语义八叉树地图,对场景进行对象级描述。

5、进一步的,所述步骤s100包括:在关键帧中采用超轻量级的目标检测神经网络,使用coco数据集对所述目标检测神经网络进行训练。

6、进一步的,所述步骤s200包括:

7、步骤s210,slam系统通过rgb-d相机输入数据,在rgb图像上提取orb特征点,采用图像金字塔和四叉树法来均匀采点,判断该帧是否新增为关键帧,如果为关键帧则启动检测,检测图像中的对象标签并生成边界框,使用目标跟踪算法来跟踪关键帧的多个检测结果;

8、步骤s220,判断图像中标签是否为动态物体标签,如果是,则将边界框标记为动态物体框,把边界信息传入跟踪流程,剔除动态物体框内的特征点,使用剩下的静态特征点进行位姿估计,对相邻两帧进行静态特征点匹配,然后用迭代最近点求解旋转矩阵和平移,即相机的位姿变化,如果当前帧并未选入关键帧,则找到最近的关键帧,使用恒速模型来预测关键帧的多个检测结果在当前帧的位置;

9、步骤s230,利用恒速模型来预测最近关键帧中的运动物体在当前坐标系中的位置,得到当前帧运动物体边界框位置的预测结果。

10、进一步的,步骤s230中,如果当前帧是关键帧,通过目标检测网络得到动态物体边界框的位置矩阵在世界坐标系下的坐标pw(x,y,z),将位置矩阵pw投影到二维坐标平面(xoy,yoz,zox),得到矩阵pxy(x,y),pyz(y,z)和pzx(x,z),使用sort算法同时跟踪和预测pxy,pyz,pzx;如果当前帧未被选入关键帧,则输入为空值empty,使用恒速模型根据上一关键帧预测当前帧的pxy,pyz,pzx并更新;遍历三个矩阵,计算其投影在xoy平面的iou,记录iou的最大值以及对应矩阵索引,根据索引找到满足条件的pxy,pyz,pzx矩阵,从而得到预测当前帧的边界框位置矩阵在世界坐标下的坐标pwp(xp,yp,zp);

11、经过检测和预测后,利用关键帧的检测结果来预测当前帧中活动物体的位置,然后将利用预测结果去除当前帧中可移动物体上的特征点。

12、进一步的,所述步骤s300包括:

13、步骤s310,在关键帧上利用点云分割模块结合关键帧对应的深度图生成点云地图,然后对三维点云进行分割和聚集,得到三维对象的边界;

14、步骤s320,3d目标数据库构建模块利用目标检测网络产生的标签信息,建立三维对象数据库;

15、步骤s330,点云分割后传入更新语义八叉树地图模块,对当前点云进行过滤,并将其放到候选被占用的点云中;

16、步骤s340,更新语义八叉树地图模块将查询候选占用点是否位于三维边界框中,如果为真,则根据它的标签分配相应的颜色,同时,该模块将查询候选占据点是否位于可移动物体的三维边界框中,如果是,它将被标记为一个可移动的点;

17、步骤s350,更新八叉树地图的占据概率,八叉树地图内部提供一个点云结构,只携带点的空间位置信息,使用概率形式来表达某节点是否被占据的事实,当有新的观测结果时,其占据概率将被更新。

18、本发明还提供了一种轻量级实时语义建图的动态slam系统,包括:

19、训练模块,对目标检测神经网络进行训练和部署特征点去除模块,嵌入跟踪和预测机制,去除所有输入帧中属于可移动对象的特征点;

20、对象级描述模块,通过检测和跟踪结果的概率融合,构建语义八叉树地图,对场景进行对象级描述。

21、本发明还涉及一种电子设备,所述电子设备包括:

22、至少一个处理器;以及,

23、与所述至少一个处理器通信连接的存储器;其中,

24、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的方法。

25、本发明还涉及一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行所述的方法。

26、本发明的技术方案能实现如下有益的技术效果:

27、该视觉slam系统能在动态场景中稳定运行,保持高精度的定位效果,不用借助gpu仅在cpu设备上完成实时运行,运行帧率达30fps左右;通过增加的语义建图线程,充分利用目标检测网络产生的语义信息,生成一个去除所有可移动物体的静态语义八叉树地图。



技术特征:

1.一种轻量级实时语义建图的动态slam方法,其特征在于,包括:

2.根据权利要求1所述的轻量级实时语义建图的动态slam方法,其特征在于,所述步骤s100包括:在关键帧中采用超轻量级的目标检测神经网络,使用coco数据集对所述目标检测神经网络进行训练。

3.根据权利要求2所述的轻量级实时语义建图的动态slam方法,其特征在于,所述步骤s200包括:

4.根据权利要求3所述的轻量级实时语义建图的动态slam方法,其特征在于,步骤s230中,如果当前帧是关键帧,通过目标检测网络得到动态物体边界框的位置矩阵在世界坐标系下的坐标pw(x,y,z),将位置矩阵pw投影到二维坐标平面(xoy,yoz,zox),得到矩阵pxy(x,y),pyz(y,z)和pzx(x,z),使用sort算法同时跟踪和预测pxy,pyz,pzx;如果当前帧未被选入关键帧,则输入为空值empty,使用恒速模型根据上一关键帧预测当前帧的pxy,pyz,pzx并更新;遍历三个矩阵,计算其投影在xoy平面的iou,记录iou的最大值以及对应矩阵索引,根据索引找到满足条件的pxy,pyz,pzx矩阵,从而得到预测当前帧的边界框位置矩阵在世界坐标下的坐标pwp(xp,yp,zp);

5.根据权利要求3所述的轻量级实时语义建图的动态slam方法,其特征在于,所述步骤s300包括:

6.一种轻量级实时语义建图的动态slam系统,其特征在于,包括:

7.一种电子设备,其特征在于,所述电子设备包括:

8.一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述权利要求1至5中任一项所述的方法。


技术总结
一种轻量级实时语义建图的动态SLAM方法和系统,包括:步骤S100,对目标检测神经网络进行训练和部署;步骤S200,嵌入跟踪和预测机制,去除所有输入帧中属于可移动对象的特征点;步骤S300,通过检测和跟踪结果的概率融合,构建语义八叉树地图,对场景进行对象级描述。该视觉SLAM系统能在动态场景中稳定运行,保持高精度的定位效果,不用借助GPU仅在CPU设备上完成实时运行,运行帧率达30FPS左右;通过增加的语义建图线程,充分利用目标检测网络产生的语义信息,生成一个去除所有可移动物体的静态语义八叉树地图。

技术研发人员:巢建树,刘洋,胡诗佳,明瑞成,赖佳华,郭杰龙,魏宪,俞辉
受保护的技术使用者:闽都创新实验室
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1