经典文献阅读之--SuMa++
0. 简介
作为一名技术博主,最主要的还是需要不断地学习新的知识,而最好的学习就是不断地阅读新的文章,并不断地学习和总结前人的思路和方法。所以博主打算开一个新的系列来介绍。这里主要来介绍一下《SuMa++: Efficient LiDAR-based Semantic SLAM》这篇论文。论文原文链接为:https://www.ipb.uni-bonn.de/wp-content/papercite-data/pdf/chen2019iros.pdf。下面的主要框架为任乾博士博客的内容,加入了作者个人的学习和理解。
[video(video-Vr7vYG2e-1654672381352)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=807845347)(image-https://img-blog.csdnimg.cn/img_convert/45339ff4f55e76d0ec58116d9032f1cd.png)(title-SUMA++)]
1. 文章贡献
可靠的高精度定位和建图是自动驾驶系统的关键环节。除了高精度的几何信息以外,地图中还应该包含语义信息,以为载体的智能行为提供依据。但在实际环境中,移动物体的存在会使建图过程变得更加复杂,因为它会污染地图并影响定位效果。在这篇文章里,我们在传统基于曲面建图(surfelbased mapping)方法的基础上,增加语义信息的融合以解决上面提到的问题。语义信息的提取是通过神经网络完成的,该网络对点云中所有的点都给予类别标签,从而让我们在使用曲面建图时,得到的是带有标签的曲面。通过这种方法,不仅可以滤除动态物体,而且可以使用语义信息对里程估计进行约束,以提到地图精度。
文中作者提到主要的两个贡献点在于
-
对点云进行语义分割,根据语义信息识别动态物体,并在地图中去除。
-
把带有语义标签的物体进行数据关联,和几何信息一起建立约束关系,从而提高建图精度。
2. 整体思路
下图为SuMa++整体的网络结构,可以看到主要的流程分为以下四个部分
-
通过网络对点云进行语义分割
-
使用漫水填充(flood-fill)方法消除错误的类别标签
-
使用滤波器进行动态物体检测,并移除动态物体
-
建立带语义信息约束的ICP模型,优化里程精度
此外SuMa++离不开Surfel地图,Surfel地图中存在一些预定义的概念:
- 深度地图( ):t时刻点云P的球形投影,得到深度图像(极坐标距离限制的点云原始数据).
- 法向量地图 ( ): 根据上面的 得到的球面投影的法向量投影,类似于图片的雷达极坐标系投影。
- 地图视角 ( && ):将上面两步投影到地图上。(特征ICP更新位姿增量,累计位姿增量得到当前位姿)
- 面元被:地图使用面元被表示,由一个位置,一个法向量和一个半径,两个时间戳(创建时间和最后一次更新时间)
- 稳定对数几率 :被维护使用一个二值贝叶斯滤波器来确定是否一个面元被考虑为稳定或者不稳定。
- 语义地图( ):RangeNet++语义分割每针的球形投影生成的范围图片,传感器视角下逐点编号。(语义分割)
2.1 点云语义分割
语义分割使用的是RangeNet++方法,它的主要内容在另一篇论文里,该论文并没有对这个方法进行太多的改进。RangeNet++以Darknet53 Backbone作为基础改进为RangeNet53,从而实现深度图像的分割,并重映射到点云上。详细内容可以参考这篇文章。
2.2 漫水填充
漫水填充作为图像处理中常用的方法,在这里用于对错误分类进行修正,避免里面的分类错误对后续环节产生不好的影响,下图中左侧是右侧图中虚线框方法的部分,先对(a)中的错误识别结果进行剔除,得到(b),然后利用周围的标签点云对他进行填充,得到©。最后(d)中显示的是©对应的深度图。
下面是漫水填充的伪代码,在预处理内部,通过原始的语义掩码
,和对应的定点地图
,(在
中每个像素的值是一个语义编号,在定点地图中对应的像素包含最近3D点在雷达坐标系中的3d坐标。)首先移除在范围d内的邻居中存在至少一个不同语义编号的像素,组合该掩码和定点深度信息,设置空白边界像素为邻居带有标号的像素,如果对应点的距离是一致的,即小于某个阈值,即填充。
2.3 滤波滤除移动物体
动态物体的识别是根据物体在同一位置出现的概率实现的。具体来讲,就是说如果在这一帧中,某个位置出现了物体 ,此时会同时将当前帧点云的位置 映射到地图中的位置 中,如果在下一帧中,物体物体 还在地图的 处,且连续很多帧它都出现在同一个位置 ,那么它就是静止的,反之,在每一帧中检测到的位置都发生变化,那么它就是移动的。
在这里涉及到一个稳重比较重要的概念,也就是Surfel地图,Surfel地图创新的使用地图中的点形成的面元为对象,以地图一致性作为指标进行优化。文中提出使用语义分割提供的label来处理运动物体,即通过比较新观测位置
和地图中已经存在的
的语义一致性,在我们更新地图时,如果label是不一致的,我们假设那些面元属于移动物体。这时我们增加一个惩罚项
到稳定性对数几率
中。在一些观测后,我们可以移除不稳定的面元。下面是惩罚函数,其中
,而
和
是稳定面元的分别给出了相容的测量值和先验概率。
当中是补偿噪声量,
是面元法向量
和测量法向量的的夹角,
是测量法向量相对于面元的距离。测量法向量取自于
法向量地图。
…详情请参照古月居
- 点赞
- 收藏
- 关注作者
评论(0)