资讯详情

SLAM算法 - 3D激光匹配算法

3D激光匹配算法

  • 1 基本方法
    • 1.1 点云表示
    • 1.2 ICP方法
      • 1.2.1 问题建模
      • 1.2.2 算法流程
      • 1.2.3 旋转计算(SVD)
    • 1.3 NDT方法
      • 1.3.1 预处理
      • 1.3.2 问题建模
      • 1.3.3 优化求解
    • 参考资料

1 基本方法

1.1 点云表示

它包含经纬度坐标、强度、多次回波、颜色等信息。D激光点云数据中包含的信息: (1)x.y.z坐标信息 根据采集的x.y.z三维结构信息是其他地理信息的载体。 (2)回波次数 回波数是给定脉冲的回波总数。从激光雷达系统发射的激光脉冲会从地表和地表反射物体:汽车、行人、桥梁等。 发射的激光脉冲可以以一个或多个回波的形式返回激光雷达传感器。当任何发射的激光脉冲传播到地面时,如果遇到多个反射表面,它将被分成与反射表面相同的回波。 (3) 强度信息 强度是一种反映激光雷达脉冲回波强度的测量指标(为每个点收集)。不同的物体对激光雷达有不同的反射程度,因此可以通过强度信号区分物体。 (4) 类别 每个处理过的激光雷达点可以分类定义反射激光雷达脉冲对象的类型。激光雷达点可分为汽车、路面等多个类别。 (5) RGB 可以将RGB(红、绿、蓝)波段作为激光雷达数据的属性。该属性通常来自激光雷达测量时采集的图像。 (6) 扫描方向 扫描方向是激光脉冲向外发射时激光扫描镜的方向。

(1) 空间中的一个点: 在这里插入图片描述 (2)所有点构成点云: : 点云的重心是计算云中所有点平均值的点坐标, 可以说是质量中心,是物体质量集中在这一点上的假想点。 物体质心公式: 点云中各点质量为1:

1.2 ICP方法

1.2.1 问题建模

问题模型:解决两帧点云(P和Q)转换关系,找到最佳旋转R和平移t, 变换后两帧点云之间的距离误差最小。 假设3D传感器在不同位置采集两帧点云: 在误差函数中误差函数中:

1.2.2 算法流程

计算流程如下:

1.2.3 旋转计算(SVD)

根据上述过程,只需关注R的计算,即可解决平移,然后简化R的优化函数:

关于SVD分解的原理可以看到矩阵理论中的矩阵分解章节,没有具体介绍。

1.3 NDT方法

NDT是正态分布变换算法,基本思想是先根据(reference scan)来构建,如果变换参数能很好地匹配两个激光数据,则参考系中的变换点。因此,可以考虑用优化的方法找出概率密度之和的最大变换参数。此时,两个激光点云数据将匹配得最好。 有原始的两帧点云数据,其中参考数据点云为X:

1.3.1 预处理

划分网格,计算统计特征

1.3.2 问题建模

模型模型的最小误差 从形式上看,NDT形式是多维正态分布的极大似然函数,NDT匹配计算的本质是多维正态分布的极大估计。

1.3.3 优化求解

优化方法在实现中采用牛顿法,但为了增加鲁棒性,只采用牛顿法计算的迭代方向作为步长搜索的初始方向。 优化是非线性优化的基本问题,可参照相关大学或研究生优化课程,不详细介绍。非线性优化方法总结

改进NDT 在点云预处理阶段,采用随机采用、均匀采样、法空间采样等不同的策略,提高效率。 在格栅策略阶段,采用从固定尺寸格栅到基于八叉树的变化尺寸策略。

参考资料

[1] https://www.cnblogs.com/lvchaoshun/p/7823306.html [2] https://zhuanlan.zhihu.com/p/56598915 [3] https://www.cnblogs.com/YongQiVisionIMAX/p/13871721.html

标签: 3d影像传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台