3D粗匹配(旧版)

功能描述

该算子用于基于 3D 点云的特征匹配,使用点对特征 (PPF) 算法,将输入的场景点云与预先加载的模型点云进行对比。通过计算和匹配几何特征,在场景中识别并定位模型物体,输出匹配到的物体位姿列表。

使用场景

  • 物体识别与定位 : 在杂乱的场景中找到已知 3D 模型的物体,并计算其位置和姿态。

  • 机器人抓取 : 为机器人提供物体的初始位姿估计,以便进行抓取规划。

  • 位姿初始化 : 作为精匹配的前置步骤,提供粗略的初始位置。

输入输出

输入项

场景点云:输入带法向信息的场景点云数据,算子将在这些点云中搜索模型。

输出项

匹配结果:输出匹配到的物体位姿列表,每个结果包含位置、姿态四元数、得分以及模型绑定名称等。

参数说明

模型点云文件

参数说明

指定用于匹配的目标物体模型文件(.ply格式)。

调参说明

必须选择一个包含法向信息(Nx, Ny, Nz)的点云文件。

距离离散数量

参数说明

定义将模型的直径离散化为多少段,决定特征哈希表的距离步长。

调参说明

值越大,距离划分越细,匹配精度可能越高,但内存占用和计算量会增加。

参数范围

[1, 500],默认值:20

角度离散数量

参数说明

定义将360度的角度范围离散化为多少段。

调参说明

值越大,角度分辨率越高。

参数范围

[1, 500],默认值:30

参考点步长

参数说明

定义在场景点云中选取参考点的采样间隔,每隔N个点选一个参考点进行匹配。

调参说明

值越小,参考点越多,覆盖越密,不易漏检,但速度变慢;值越大,速度越快,但可能漏掉小物体或细节。

参数范围

[1, 50],默认值:5

聚类角度阈值

参数说明

在对投票结果进行聚类时,判断两个位姿是否属于同一类的角度差异容忍度。

调参说明

值越大,聚类越粗糙,生成的位姿越少;值越小,聚类越精细。

参数范围

[0, 20],默认值:15,单位:度。

聚类距离阈值

参数说明

在对位姿进行聚类分组时,判断两个位姿在空间位置上是否属于“同一个物体”的距离标准。

调参说明

调大该值,聚类更“宽松”,会将距离相对较远的一些预测结果强行合并成一个;调小该值,聚类更“严格”,只有位置非常接近的预测结果才会被合并。

参数范围

[1, 20],默认值:15

投票过滤阈值

参数说明

相对阈值,相对于最高投票数,滤除那些得票过低的聚类。

调参说明

值越大,过滤越严格。例如设为0.1,则得票数少于最高票数10%的位姿将被丢弃。

参数范围

[0, 1],默认值:0.1

最小得票数

参数说明

绝对阈值,任何得票数低于此值的位姿都会被直接丢弃。

调参说明

用于去除噪声产生的偶然匹配,通常取2到15。

参数范围

[0, 100000],默认值:15

去重系数

参数说明

用于控制输出结果的重叠度过滤。

调参说明

等于1.0时去除所有重叠结果;大于1时会更激进地减少结果;小于0时不进行去重。

参数范围

[0, 1],默认值:0.5

输出位姿数量上限

参数说明

限制每个输入点云最终输出的匹配位姿的最大数量。

参数范围

[0, 100000],默认值:10000