专栏名称: 点云PCL
公众号将会推送基于PCL库的点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维世界相关内容的干货分享。不仅组织技术交流群,而且组建github组群,有兴趣的小伙伴们可以自由的分享。欢迎关注参与交流或分享。
目录
相关文章推荐
深圳商务  ·  春节假期,深圳外贸“欣欣向荣” ·  2 天前  
深圳商务  ·  春节假期,深圳外贸“欣欣向荣” ·  2 天前  
51好读  ›  专栏  ›  点云PCL

代码开源!在大型户外环境中基于路标的视觉语义SLAM

点云PCL  · 公众号  ·  · 2021-03-16 08:00

正文

标题: Visual Semantic SLAM with Landmarks for Large-Scale Outdoor Environment

作者:Zirui Zhaoa, Yijun Maoa, Yan Dingb, Pengju Renb, and Nanning Zheng

编译:点云PCL

代码:https://github.com/1989Ryan/Semantic_SLAM.git

来源:arXiv 2020

本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入 免费知识星球 ,获取PDF论文,欢迎转发朋友圈。内容如有错误欢迎评论留言, 未经允许请勿转载!

公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起每交流一起进步,有兴趣的可联系微信:920177957。 本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

语义SLAM是自主驾驶和智能系统的一个重要研究领域,它能使机器人完成高层次的导航任务,获得简单的认知或推理能力,实现基于语言的人机交互。

本文将ORB-SLAM[1]、[2]中的三维点云与PSPNet-101[3]卷积神经网络模型中的语义分割信息相结合,构建了一个面向大规模环境的语义三维地图生成系统。此外,还建立了一个新的KITTI[4]序列数据集,该数据集包含相关街道上Google地图上的GPS信息和地标标签。在此基础上,提出了一种将真实地标与点云地图相关联的方法,并建立了基于语义地图的拓扑地图。

文章内容

A 系统概述

我们的语义SLAM系统采用单目摄像机作为主要传感器,聚焦大规模的城市区域。如流程图所示,该系统不仅可以利用ORB特征重建三维环境,而且可以实现GPS数据融合、地图重用、实时重定位和基于地标的定位。整个系统的流程图如图所示。

流程图

首先,采用基于CNN的分割算法对图像进行分割。然后将像素级语义映射结果和当前帧发送给SLAM系统进行环境重建。利用ORB-SLAM重建几何环境,利用当前帧中的角点特征生成点云。在SLAM系统中,利用贝叶斯更新规则将像素级语义信息与地图点进行关联,更新一帧中每个观测点的概率分布。然后将这些地标投影到SLAM地图中,并与SLAM系统中保存的最近关键帧相关联。该地图可以在没有GPS信息的情况下进行地标级再定位。还提供了为每个地标建立拓扑可达关系的方法,这将更方便机器人实现地标级的自动导航。


B 语义分割

1) 语义分割:语义分割的目的是正确地对每个像素进行分类,得到它们的语义标签。在这项工作中,选择PSPNet-101模型[3]进行图像分割,并选择TensorRT进行实时推理加速。

2) ORB SLAM2:三维重建是由ORB SLAM[1]实现的,这是一个基于开源视觉特征的最先进的SLAM系统。ORB SLAM有很好的实时性能与回环检测。使用ORB-SLAM进行三维重建和轨迹估计。ORB-SLAM系统中有跟踪、局部地图和回环检测三个线程并行运行。

3) 实时数据融合:数据融合的步骤是将语义与SLAM系统中的每个地图点相关联。在这一步中,我们尝试使用贝叶斯更新规则来更新每个地图点的语义标签的概率分布

C GPS融合

GPS融合将建筑物地标与点云在像素级进行关联生成语义点云,需要将Google地图中使用的建筑物地标WGS84坐标转换为与点云相同的坐标系。但是,从google地图API获得的WGS84中的经纬度不适合直接转换。因此,我们首先将坐标转换为笛卡尔坐标,单位为米。在将关键帧的GPS信息转换为笛卡尔坐标后,采用Besl和McKay[33]提出的方法将坐标系与点云统一起来。每30帧取当前帧作为采样点,在两个全局采样器中加入相应的姿态和经纬度。


D  后处理

在实时处理之后,我们将对结果进行后置处理,以优化结果,得到更结构化的语义信息。在此过程中,将聚类方法应用到不同的语义标签中,得到对象级的语义地图。地标还将融合在特征点中,并可用于地标级定位和导航。

1) 地标级数据融合:我们假设地标和特征点之间是模糊的隶属关系。在一个地区,由于人类导航的目标主要由地标来确定,地标对人类导航具有重要意义。利用地标GPS信息和语义标签,可以将地标级数据与三维重建结果进行融合,更方便面向任务的导航问题。我们将用我们的开源代码发布这些数据集。采用模糊数学方法进行地标数据融合。在这种方法中,我们不关注地标定位的准确性,而是关注地标定位的隶属度分布。因为根据人类的认知习惯,地标位置的概念实际上是一个模糊的概念。这样机器人就可以确定路标在人类道路上的位置。尝试基于高斯概率分布来评估位置隶属程度。


3D语义视觉SLAM的可视化结果

实验

我们设计的实验主要基于KITTI数据集,该数据集面向公众,主要记录在市区。根据KITTI原始数据中记录的GPS信息,通过Google地图记录地标GPS信息。数据集包含经度、纬度和地标的真实名称。我们记录序列00到10以进行评估和测试。它将很快向公众发布。此外,我们还对系统的实时性能进行了定量评估。实验采用ROS和Keras设计,计算平台采用Intel-corei7cpu和NVIDIA-GeForce-gtx1080tigpu平台。

GPS-SLAM转换结果。上图显示GPS位置的真值,下图显示转换后的位置

拓扑地图可视化的结果

总结

本文提出了一种基于单目摄像机的带路标的语义SLAM系统,用于大规模户外定位和导航。现有的研究大多关注机器人的准确度和实时性,难以真正提高机器人的整体感知水平。利用KITTI-GPS数据集进行基于地标的语义融合和拓扑语义融合。本系统利用上述数据集建立了具有地标信息的三维语义点云。它包含了地标的真实名称和位置、多个语义标签,使得基于离线语言的人机交互、面向任务的导航或地标级定位成为可能。通过坐标系变换和贝叶斯更新,将三维地图与相关语义信息进行融合。利用基于高斯分布的模糊归属关系实现地标数据融合,建立地标数据的拓扑语义图。

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看: 点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM







请到「今天看啥」查看全文