3D粗匹配
功能: 3D点云粗匹配, 使用ppf特征点对匹配输入场景点云中的模型点云.
输入参数:
名称 | 类型 | 合法范围 | 缺省值 | 含义 |
---|---|---|---|---|
场景点云 |
NormalPoints |
无 |
无 |
场景点云 |
输出参数:
名称 | 类型 | 合法范围 | 缺省值 | 含义 |
---|---|---|---|---|
匹配结果 |
PosesList |
无 |
[] |
匹配到的结果 |
初始化: 需要
初始化参数:
名称 | 类型 | 合法范围 | 缺省值 | 含义 |
---|---|---|---|---|
模型点云文件 |
File |
['.ply'] |
无 |
模型带法向的点云, 输入m*n*6的点云数据路径 |
距离离散数量 |
Integer |
[1, 500] |
20 |
距离离散的数量, 将Model的diameter离散化的数量, 可根据此参数计算得到distanceDiscreteStep = diameter / distanceDiscreteNum |
角度离散数量 |
Integer |
[1, 500] |
30 |
角度离散的数量, 可根据此参数计算得到angleDiscreteStep = 2 * PI / distanceDiscreteNum |
参考点步长 |
Integer |
[1, 50] |
5 |
选取参考点的步长, 即每referencePointStep个点选取一个参考点, 推荐数值: 5 |
去重系数 |
Float |
[0.0, 1.0] |
0.5 |
大于0为有效值,小于0时则不会去重, 等于1.0时会去除所有重叠结果,大于1时,会减少成功匹配的结果数量 |
聚类角度阈值,单位为度 |
Float |
[0.0, 20.0] |
15 |
变换矩阵进行聚类时, 判断两个矩阵是否属于同一类的角度阈值, 值越大, 聚类的个数越少, 结果可能越不精确 推荐取值: 5, 10, 15 |
聚类距离阈值,单位为毫米 |
Float |
[0.0, 20.0] |
15 |
变换矩阵进行聚类时, 判断两个矩阵是否属于同一类的距离阈值, 值越大, 聚类的个数越少, 结果可能越不精确 推荐取值: 5, 15, 25 |
投票过滤阈值 |
Float |
[0.0, 1.0] |
0.1 |
聚类时相对于最大投票数的投票滤除阈值, 小于(最大投票数*阈值)的姿态会被滤除, 值越大,匹配出来的结果可能会越少,推荐参数 0.05, 当cluster时间过长时, 可适当调大这个参数 |
最小得票数 |
Integer |
[0, 100000] |
15 |
最小得票分数, 对于投出来的位姿, 得票数低于该个数的将直接被过滤掉, 通常取2到15 |
输出位姿数量上限 |
Integer |
[0, 100000] |
10000 |
输出位姿数量上限,当输入为多个点云时,此上限是指每个点云的匹配结果上限。 |