文章名称 | SegMatch: Segment based place recognition in 3D point clouds IEEE Robotics and Automation Society(ICRA) | |||
作者 | Renaud Dubé Daniel Dugas Elena Stumm Juan Nieto Roland Siegwart Cesar Cadena∗ | |||
abstract | 目的:基于三维片段匹配的可靠的位置识别算法——SegMatch。 | |||
introduction | 1、当大光照或者大的视角发生变化时候,基于图片的场景识别变得不可靠。激光雷达不受外部光照的影响,并且它以非常好的分辨率捕捉几何信息,不受视角变化影响。 2、目前使用三维激光数据识别位置主要是基于关键点的检测和匹配;本文归结为三个主要的趋势:基于局部特征的方法;基于全局描述子的方法以及基于平面或物体的方法。 3、基于局部特征的方法会存在歧义性,并且对环境变化不鲁棒,基于全局特征的方法依赖于视角,基于物体的方法通常假设环境中有真实物体存在,并且需要有一个完美的物体分割技术。本文采用了一种折中的方法——基于片段。一个片段可能属于部分物体或者整个物体,也可能属于更大结构的一部分,这样就不用做出完美分割以及环境中存在物体的假设,通过匹配片段就可以实现位置的识别; 工作贡献: 1、采取对点云数据进行聚类,通过聚类大幅降低了需要匹配的数量,再提取聚类点云中的线性、平面性、散射性、各向异性,曲率变化量等特征。训练1个随机森林分类器将这些特征进行匹配来实现重定位与回环检测。 2、四个模块:点云分割、特征提取、片段匹配、几何验证。 | |||
experiment design and methodlogy | 实验数据的处理:(数据集很重要) 1、由于传感器高度已知,因此可以通过设定高度阈值来去除地面点。 2、算法的输入是全局一致框架下的点云,首先使用滤波去除扫描帧点的一半,接着机器人每走至少1米的距离后把这些扫描帧加入点云中。 3、局部点云中的每一个片段,使用K-NN在特征空间检索,并在目标地图中确定200个最近邻的片段,如果这些候选片段为对应的片段,则保存为正确匹配,如果为不同片段,则保存为错误匹配,使用这些片段训练模型。 四个模块: 点云分割: Cluster-All:三维激光雷达点云的分割(On the segmentation of 3D LIDAR point clouds) ① 筛选非地面点:相邻两个体素的点云的协方差信息与垂直方向上的平均值相差不大,则可以将这两个体素划为一类。最后根据这个方法得到的最大的聚类即为地面; ② 欧式聚类: 第一步找到空间中某点P1,用KD-Tree找到离他最近的n个点,判断这n个点到P1的距离。将距离小于阈值δ的点P12、P13、P14……放在类Q里。 第二步在Q(P1)里找P12,继续上述步骤。 第三步在Q(P1,P12)里找一点,重复步骤1,直到Q再也没有新的点加入。 特征提取: f1 :语义三维场景解释:一种结合最佳邻域大小选择和相关特征的框架 f2 :三维物体分类的形状函数集成 片段匹配:确定源点云和目标点云的匹配片段 随机森林分类器:用来决定类和是否表示相同物体 分类器判断两个片段是否代表相同的物体或者物体的一部分。 几何验证: 我认为的候选匹配(候选匹配对象)是一个片段(一个集群)。 | |||
conclusion | 提出了一种基于分段匹配概念的三维激光数据位置识别算法SegMatch。与关键点方法相比,在片段层面上进行操作具有一些优势,无需对完美分割或环境中是否存在“对象”做出任何假设。模块化方法首先从源点云中提取片段,然后对这些片段进行描述,并与之前建图的目标片段进行匹配,最后应用一个几何验证步骤将这些候选匹配转换为位置识别候选。 |
论文中总的流程图:
参考博文:SegMatch: Segment based place recognition in 3D point clouds_lucas1997的博客-CSDN博客
论文解读《SegMatch: Segment Based Place Recognition in 3D Point Clouds》_MS小虫的博客-CSDN博客