🟠 点云轴向合并

功能描述

该算子用于将输入的多个点云簇沿着指定轴向进行合并。它会首先计算每个点云簇的中心和尺寸,然后沿着指定的“合并轴”对它们进行排序。然后遍历排序后的点云簇,如果相邻的两个簇在轴向上的距离足够近,并且尺寸足够相似,就会将它们合并成一个更大的簇。这个过程会持续进行,直到没有可以合并的簇为止。

使用场景

将沿某一轴向排列的、属于一组的多个独立部件合并成一个整体。例如,将检测到的货架上同一层的所有物品合并为一个“层”的实体。

输入输出

输入项

场景点云:输入的待合并的点云列表。

输出项

合并后点云:返回根据指定轴向和参数合并后的点云簇列表。

参数说明

该算子有两个版本:

  • 点云轴向合并:处理不带法向信息的点云。

  • 点云轴向合并(带法向):处理带有法向信息的点云。

两者核心功能和参数完全相同,仅处理的点云数据类型不同。

轴向距离阈值

参数说明

定义两个点云簇可以被合并的最大轴向距离。计算两个簇的中心点在“合并轴”上的投影距离,只有当此距离小于或等于该阈值时,它们才可能被合并。

调参说明

  • 增大此值:会放宽合并条件,使得相距较远的簇也可能被合并。

  • 减小此值:要求簇之间必须非常靠近才能合并。

应根据实际物体各部分之间的间隙大小来设定此值。

参数范围

[1,5000],默认值:50,单位:mm

轴向尺寸比例阈值

参数说明

用于判断尺寸相似性的辅助条件,比较两个待合并簇在“合并轴”方向上的包围框尺寸,只有当较小尺寸与较大尺寸的比率大于等于此阈值时,才可能合并。

调参说明

  • 设置为0:将完全禁用此尺寸检查,合并只由“轴向距离阈值”决定。

  • 设置接近1(例如0.8-0.9):要求两个簇的尺寸必须非常接近才能合并。

  • 设置较小值(例如0.1-0.3):允许尺寸差异较大的簇进行合并。

此参数有助于防止一个大物体错误地合并旁边的一个小碎片。

参数范围

[0,1],默认值:0.1

合并轴

参数说明

定义一个三维向量[x,y,z],作为进行距离和尺寸测量的方向基准。

调参说明

设置进行合并操作的目标方向。

聚类最少点数

参数说明

后处理筛选条件,聚类完成后,点数少于此值的簇都将会被过滤。

调参说明

适用于过滤掉那些由少量点组成的、无意义的小噪声簇,适当提高此值来确保输出的是有意义的聚类结果。

参数范围

[1,4000000],默认值:100

聚类最多点数

参数说明

后处理筛选条件,聚类完成后,点数多于此值的簇都将会被过滤。

调参说明

适用于需要排除某个非常大的背景或支撑面的场景。例如,如果想忽略掉桌面,只分析桌面上的小物体,可以设置一个上限来过滤掉代表桌面的那个最大的点云簇。

参数范围

[1,4000000],默认值:4000000

排序顺序

参数说明

设定输出的点云簇列表的排序规则。

调参说明

算子会计算每个簇的中心点在“聚类轴”上的位置,然后根据该位置进行排序。

“由小到大”指沿着聚类轴负方向到正方向排序,反之沿着聚类轴正方向到负方向排序。

保留全部结果

参数说明

控制对于输入的每一块点云,是输出其全部分割结果,还是只保留部分。

调参说明

开启(True):默认选项,保留所有找到的、且满足点数限制的簇。

关闭(False):将只保留由“保留结果数量”参数指定的前N个最大的簇。

保留结果数量

参数说明

设置输出的点云数量。

调参说明

对输入的每块点云,将分割结果按点云数量从大到小进行排序,保留前几个点云,例如设置为1表示只保留最大的结果,设置为2表示保留前2个结果,设置为3表示保留前3个结果,以此类推。

参数范围

[1,1000],默认值:1

使能节点

参数说明

控制该算子是否执行运算。

调参说明

  • 开启(默认):正常运行该算子功能。

  • 关闭:算子不执行任何操作,直接将输入的数据输出。