论文阅读 —— 语义激光SLAM

文章介绍了点云语义分割的三种主要方法:基于点、基于网格和基于投影,详细讨论了SLOAM(语义SLAM)中的语义部分和SLAM部分,包括树的残差、地面的残差和匹配过程。另外,还探讨了SSC(SemanticScanContext)在大规模地方识别中的应用,特别是全局语义ICP的两步计算方法。
摘要由CSDN通过智能技术生成


点云语义分割算法

因此,除了物体检测以外,自动驾驶的环境感知还包括另外一个重要的组成部分,那就是语义分割。准确的说,这部分有三个不同的任务:语义分割(semantic segmentation),实例分割(instance segmentation)和全景分割(panoramic segmentation)。语义分割的任务是给场景中的每个位置(图像中的每个像素,或者点云中的每个点)指定一个类别标签,比如车辆,行人,道路,建筑物等。实例分割的任务类似于物体检测,但输出的不是物体框,而是每个点的类别标签和实例标签。全景分割任务则是语义分割和实例分割的结合。算法需要区分物体上的点(前景点)和非物体上的点(背景点),对于前景点还需要区分不同的实例。

本文暂时只考虑语义分割(semantic segmentation

按照输入数据的不同组织形式,语义分割的方法也可以分为
1 基于点的方法
2 基于网格的方法
3 基于投影的方法

1 基于点的方法

对于直接处理点的方法来说,PointNet和PointNet++是最具有代表性的。

2 基于网格的方法

在3D物体检测领域的经典方法VoxelNet中,点云被量化为均匀的3D网格(voxel)。配合上3D卷积,图像语义分割中的全卷积网络结构就可以用来处理3D的voxel数据。

3 基于投影的方法

点云是存在于3D空间的,具有完整的空间信息,因此可以将其投影到不同的二维视图上。比如,我们可以假设3D空间中存在多个虚拟的摄像头,每个摄像头所看到的点云形成一幅2D图像,图像的特征可以包括深度和颜色(如果通过RGB-D设备采集)等信息。对这些2D图像进行语义分割,然后再将分割结果投影回3D空间,我们就得到了点云的分割结果。这个基于多视图的方法缺点在于非常依赖于虚拟视角的选择,无法充分的利用空间和结构信息,而且物体间会相互遮挡。
参考博客,巫婆塔里的工程师

一、SLOAM

参考博客
基于物体”的森林语义SLAM
摘要:
This paper describes an end-to-end pipeline for tree diameter estimation based on semantic segmentation and lidar odometry and mapping.
提出了一个端到端的树木直径预测pipeline,其基于语义分割(SS)和SLAM。

1.1 语义部分

1、为了标注数据集方便,作者团队开发了一套vr数据标注工具。
在这里插入图片描述
树的语义点云:
论文将2D的深度图作为网络的输入,这个2D的深度图是通过点云投影而成的,网络部分使用简易版的ERFNET进行语义分割,得到的结果原文说是一个2D的mask,其实也可以看作一个2D的语义图,利用这个mask反向投影回3D的点云空间,就可以得到点云的语义信息标签。
然后将同一棵树的点凑到一起,论文使用了一个trellis graph的方法,如图:
在这里插入图片描述

地面点:
启发式的方法。
具体来说首先将已经通过神经网络打上树木标签的点去掉,剩下的点就是地面点和灌木等障碍的点,考虑到一般地面点都在其它点的下面,所以将剩余点划分为环形的网格,每个网格中选择高度最低的点,这些点就被作为地面点,网格的大小是超参数,需要人为设置。通过这种方法,点变少了但是也变准确了。

1.2 SLAM部分

树木提供的则是xy方向的限制地面特征提供了z轴上的限制

1.2.1 树的残差

对于一个树木个体,其需要一个五参数的向量来表示树木所代表的圆柱体:
在这里插入图片描述
这种距离计算方法在曲率下降的时候会出现问题,所以论文还给出了一种当曲率变小的时候的距离计算方法:
在这里插入图片描述
那么现在对于新来的一帧,经过了前面提到的提取,一棵树的点已经可以凑到一起,那么就可以用最小二乘法,得到一个圆柱体的最优表示:
在这里插入图片描述
需要一组最好的参数使得特征点到圆柱体的距离最小。

1.2.2 地面的残差

点到平面的距离论文写为:
在这里插入图片描述
残差的整合
在这里插入图片描述
点到圆柱的距离+点到地面的距离

1.2.3匹配过程

如果找到当前帧的树点云和上一帧对应的树点云?最近邻搜索,按照点的标签来找。

二、SSC: Semantic Scan Context for Large-Scale Place Recognition

参考博客
结合语义的描述子编码方法,主要是对A-LOAM增加回环检测。快速的语义结合的相似度检测方法
贡献在于:
1、提出了两步全局语义ICP
2、语义的Scan Context描述子
注意:论文没有提用的什么网络来获取语义信息,默认点云的语义信息已经知悉。

全局语义ICP为两部分:快速偏航角计算以及快速的语义ICP匹配
对于单帧点云:用三维坐标加上语义标签(车、地面、栏杆)四个量来表示其中的每个点
对于是否回环的检测:首先利用两帧点云计算全局旋转角,将两帧点云角度对齐,再利用ICP的方法计算平面偏移,得到的平面偏移将点云做叠加。最后再用描述子做匹配,得到的相似度分数就用来判断是不是真的出现了回环。

2.1 两步全局语义ICP

ICP本身是一个迭代优化的过程,一旦陷入局部最优值就很难迭代出来,并且合适的初值也很重要。
针对于初值和局部最优值的问题,这篇论文提出了全局语义ICP的解决方法,这个方法分为两步:快速偏航角计算以及快速语义ICP计算。

2.1.1 快速偏航角计算

传统的Scan Context描述子因为它环形的编码方法,不具有旋转不变性,这导致编码出来的二维矩阵在匹配时,必须要不断调整列来找出最优的角度,可以说是开销大而且有些暴力。在这篇论文中,论文没有提用的什么网络来获取语义信息,默认点云的语义信息已经知道了。对于两帧点云P1P2,我们从中筛选出具有语义代表性的点,比如建筑物、交通标志等内容,其余的点则忽略不计。
对于其中的每个点,将它们向二维平面上投影以激光雷达为中心,计算其极坐标和平面坐标
在这里插入图片描述
注:pi=[极坐标,平面坐标,语义标签]

之后依然是按照角度划分扇形区域,在传统的Scan Context编码中,在每个扇区内还要沿径向在继续划分格子,这里就不需要这一步了。每个扇区内,只保留径向上离圆心最近的点,如果一共划分N个扇区,那么经过这一步的处理,就可以用一个N维向量来表示。
在这里插入图片描述
之后我们就利用这个N维向量来快速计算角度,这一步很像是图像匹配里面的全局旋转角计算,只不过这里使用的是最近点的径向距离。
在这里插入图片描述

这篇论文通过这种类似于角度直方图的方法,将点云角度上进行了一个对齐操作,相当于给原始的Scan Context补上了一个旋转不变性。
但是降维的方法有些太直接了?直接是取了每个径向上的最小值,也可能是个人理解错了,对于普通的道路来说,取最小值的方法难道不是直接扫描到地面上吗,那这样子到哪里都是扫到地面,角度对齐的意义不就没了。

2.1.2 快速语义ICP

上一步得到了两帧点云之间的角度偏差,我们可以利用这个角度偏差,将点云旋转到同一个方向上:
在这里插入图片描述
移动的是二维坐标xy
转换之后,点云的角度实际上是对齐了的,那么区别就只在于点云的位置了,由于使用的是投影之后的结果,所以差距就是Δx和Δy,可以利用下面的式子进行优化:
在这里插入图片描述
第二行就是一个ICP的变式,将ICP计算位姿换为了求Δx和Δy。
关键在于第一行最后的这个函数是用来衡量两个标签是否相同的二值函数,如果相同返回值是1,如果不同,返回值是0。即考虑最近点语义相同的情况下,用ICP找一个最近距离从而优化出Δx和Δy。
但如果找到了一个Δx和Δy让所有点的语义标签都不一样,这个式子的结果是0,必然是目标函数的最小值,也就是说式子将一个完全错误的Δx和Δy认为是最优值,虽然可能性不是很大,但不排除有这种可能,博主感觉式子写法上应该加一个标签相同的点的数量的比例,用这个来衡量语义一致性的程度。

2.2 语义结合的Scan Context

上面的部分提供了一种快速的语义结合的相似度检测方法,除此之外,论文还对Scan Context进行了改进,将语义信息引入了进去,依然是使用原始的划分网格的方法,这次我们直接统计落入网格内标签的情况:

在这里插入图片描述
Bij为第(i,j)个网格内标签的集合。
之后对于每个网格,根据语义标签的统计信息来进行编码,即选取网格内最有意义的语义标签作为编码
在这里插入图片描述

这里的E是一个函数,论文里面没有给出具体的写法,只提到这是一个用于衡量代表性的函数,标签出现的次数越少就认为其代表性越高,就选择这个标签作为这个网格的编码,由此可以得到一个基于语义的二维矩阵编码。
那么我们就可以在上面对齐之后的点云的基础上做进一步的编码,用这个方法得到一个语义、位置结合在一起的编码,并且由于点云已经对齐,所以不需要在匹配时额外考虑列寻找的事情,直接对对应位置做匹配就可以:
在这里插入图片描述

最后的相似度计算公式相当于是一个相同标签的网格占全体网格的比例,用这个值来衡量两帧点云的相似程度。

参考博客:
https://blog.csdn.net/weixin_43849505/article/details/125506147
https://blog.csdn.net/weixin_43849505/article/details/126764425
https://blog.csdn.net/weixin_43849505/article/details/126668935

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 秦通语义地图SLAM是一种结合语义理解和地图构建的技术,主要应用于机器人导航和环境感知领域。在传统的SLAM技术基础上,秦通语义地图SLAM能够利用机器学习和深度学习的方法,实现对周围环境的语义理解和分析。 通过秦通语义地图SLAM,机器人可以不仅仅对环境的几何结构进行建模和感知,还能够理解环境中的语义信息,识别出不同的物体、场景和语义标签。这样的语义信息对于机器人在实际应用中的智能导航和决策具有重要作用。 秦通语义地图SLAM的实现主要包含两个模块:语义感知和地图构建。首先,语义感知模块负责对传感器数据进行语义分析,通过深度神经网络和视觉识别算法,将环境中各种物体进行分类、标注和定位,生成语义地图。然后,地图构建模块将语义地图与几何地图融合,生成一个综合的环境表示。 对于机器人导航来说,秦通语义地图SLAM可以提供更为准确和全面的环境感知能力。它使得机器人能够感知到更多的环境特征,包括障碍物、门窗、家具等,并能够对这些语义信息进行分析和利用。同时,由于语义地图SLAM能够持续进行地图更新和修正,机器人在导航过程中具备更好的适应性和鲁棒性。 总之,秦通语义地图SLAM技术的引入使得机器人在环境感知和导航方面取得了重要的进展。它为机器人的智能决策和人机交互提供了强大的基础,为未来智能机器人的应用场景拓展了更多的可能性。 ### 回答2: 秦通语义地图SLAM是一种技术,结合了语义地图与同步定位与地图构建(SLAM)的方法。SLAM是指机器通过传感器数据感知周围环境,并同时实时地建立地图和自我定位的能力。而语义地图则是在传统地图的基础上,使用语义信息来描述地图中的各个元素。 秦通语义地图SLAM主要通过激光雷达、相机等传感器获取环境数据,然后利用图像处理和计算机视觉等技术进行数据处理和分析。在实时定位方面,利用传感器数据进行自我定位,获得车辆或者机器人在地图中的准确位置;同时,在地图构建方面,通过将感知到的地图元素(如建筑、道路、障碍物等)与语义信息相结合,建立具备语义理解能力的地图。 通过秦通语义地图SLAM,机器可以更准确地定位自身位置,并在地图建立过程中考虑语义信息,从而提高地图的精度和可用性。此外,秦通语义地图SLAM还可以应用于智能驾驶、无人机领域等,为各种自动驾驶系统提供重要的技术支持。 总之,秦通语义地图SLAM是一项将语义信息与传统SLAM技术相结合的创新技术,通过其在定位和地图构建方面的优势,为智能驾驶和自动化领域的发展带来了巨大的潜力和机遇。 ### 回答3: 秦通语义地图SLAM是一种结合了语义信息的同时定位与地图构建的技术。传统的SLAM技术主要依赖传感器数据进行路径跟踪和地图构建,但往往缺乏对环境语义信息的理解。而秦通语义地图SLAM通过添加语义信息可以更准确地定位和构建环境地图。 秦通语义地图SLAM的实现过程一般包括三个步骤:感知、建模和优化。在感知阶段,系统通过使用多种传感器(如相机、激光雷达等)对周围环境进行感知,获取视觉和几何信息。然后,在建模阶段,系统将感知到的信息与预先定义好的语义类别进行关联,将地图中的元素进行语义分割和分类,并生成语义标签地图。最后,在优化阶段,系统通过将语义标签地图与传感器数据进行联合优化和回环检测,生成实时的语义地图。 秦通语义地图SLAM的应用十分广泛。首先,在自动驾驶领域,语义地图SLAM可以帮助车辆更准确地进行定位和导航,同时提供更好的环境感知能力。其次,在智能机器人领域,语义地图SLAM可以帮助机器人更好地理解环境,提高路径规划和任务执行的准确性和效率。另外,在增强现实(AR)和虚拟现实(VR)等领域,语义地图SLAM可以更好地将虚拟物体与实际场景进行融合,提供更逼真的AR/VR体验。 总之,秦通语义地图SLAM的引入使得定位与地图构建技术更加准确和智能化,为自动驾驶、智能机器人和虚拟现实等领域的应用提供了更广阔的发展空间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋雨qy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值