跳到主要内容
版本:1.12.7

点云匹配

功能介绍

点云匹配是对齐两个3D点云数据集的过程。

模块位置:定位-点云匹配

使用说明

参数说明

  • 源数据:输入源点云
  • 目标数据:输入目标点云
  • 采样点数量:粗匹配算法的采样点数量。样本点数量决定了点云特征的采样密度,更多的采样点通常会提高精度,但计算量会增加。
    • 初始值:2000。
  • 计算时间:粗匹配算法的最大计算时间。
    • 初始值:300。单位秒。
  • 最大距离:精匹配算法中源点云和目标点云之间允许的最大对应距离。超出这个距离的点对将被视为异常点并忽略。该值的设置对对齐结果的精度和计算速度都有影响。
    • 初始值:1.5,如果点云初始对齐较差,可能需要适当增大这个值。
  • 最大迭代次数:控制精匹配算法收敛时的最大循环次数。
    • 初始值:2000。如果设置得太高可能导致算法运行时间过长;如果设置得太低,可能在算法尚未收敛时提前停止。

高级设置

精匹配参数含义:

  • 变换收敛阈值: 该参数决定了精匹配算法的停止条件,这是转换矩阵的容差,指的是精匹配在每次迭代中计算出的旋转和平移变换矩阵的变化量。
    • 初始值: 1e-6。连续两次迭代中,变换矩阵的变化量是否小于该阈值。如果变化量小于这个值,则认为收敛,可以提前终止迭代。
  • 欧式拟合误差阈值 : 欧式拟合容差,用于设定收敛判定的另一个标准,即点云对齐后所有点的均方误差(fitness score)是否小于该值。如果误差小于该值,可以提前终止迭代。
    • 初始值: 1.0。1.0的值在对齐过程中是相对宽松的,如果希望更精确的对齐,可以减小这个值。

粗匹配参数含义:

  • 最大迭代次数:粗匹配算法的最大迭代次数,控制运行的总循环次数。
    • 初始值:0。0意味着不限制最大迭代次数。
  • 距离阈值 :设定在寻找对应点时,源点云和目标点云之间的点对之间允许的最大距离。如果两点之间的距离大于该值,则认为无法匹配。
    • 初始值:1000000。对于初次对齐或完全未知的点云位置,这个设置是合理的,但可以调节为适应实际的距离阈值(如5.0或10.0),以提高对齐效率。
  • 变换收敛阈值:与精匹配中的一样,用于控制收敛条件的变换矩阵的变化量。
    • 初始值: 1e-6。连续两次迭代中,变换矩阵的变化量是否小于该阈值。如果变化量小于这个值,则认为收敛,可以提前终止迭代。
  • 旋转收敛阈值:类似于变换收敛阈值,专门控制旋转矩阵部分收敛的条件。
    • 初始值: 1e-6。连续两次迭代中,变换矩阵的变化量是否小于该阈值。如果变化量小于这个值,则认为收敛,可以提前终止迭代。
  • 欧式拟合误差阈值 : 欧式拟合容差,用于设定收敛判定的另一个标准,即点云对齐后所有点的均方误差(fitness score)是否小于该值。如果误差小于该值,可以提前终止迭代。
    • 初始值:1.0。1.0的值在对齐过程中是相对宽松的,如果希望更精确的对齐,可以减小这个值。
  • 采样间隔:粗匹配中一个重要参数,设定用于建立点对的搜索范围的空间尺度。
    • 初始值:1.0。较小的Delta值会导致更精确的对齐,但计算时间可能会变长;较大的Delta值计算速度较快,但精度可能降低。
  • 归一化 :控制是否对输入点云进行归一化处理,归一化后点云的大小和坐标被标准化。
    • 初始值:False。
  • 近似重叠率:估计源点云和目标点云的重叠比例,影响算法对对齐对象的期望值。
    • 初始值:0.5。如果两点云之间有很大重叠,应该设置为较大的值;如果重叠较小,则应设置为较小的值。
  • 分数阈值:设定粗匹配算法的分数阈值,该分数用于衡量点对对齐的质量,只有超过该阈值的点对才会被认为是成功对齐。
    • 初始值:0.5。该值表示点云对齐的质量分数,越高的分数意味着对齐越好。
  • 法向量最大差异值:设定点云之间法向量的最大差异值,超过该值的点对将被认为是不匹配的。
    • 初始值:90.0。该值表示两个点之间的法向量最大差异。90度意味着它会接受几乎任何方向的法向量,适用于大多数一般场景。
  • 线程数:设定使用的线程数量,使用多线程能够加速计算。
    • 初始值:4。

案例流程

  1. 获取源数据,可以选择相机或者加载本地数据 registrationSetting1
  2. 执行点云匹配
  3. 查看模块输出结果 registrationSetting2
信息

上面的流程仅作为参考,实际根据不同应用场景的需求进行修改