🟠 按轴向聚类
功能描述
该算子按照指定方向(如高度方向)对点云进行分组。提供两种分组方式:
K-Means方式:只考虑点在指定方向上的位置值进行分组,将这个三维问题简化为一维处理。
DBSCAN方式:在考虑指定方向的同时,还会保持点云的三维空间结构信息,确保分组结果在空间上更合理。
使用场景
适合处理沿特定方向分层、堆叠或排列的物体。
-
分层物体分割:完美适用于分割货架上不同层级的物品、托盘中堆叠的工件或任何按层分布的场景。此时,通常将“聚类轴”设置为垂直方向(如Z轴)。
-
阵列物体分离:当多个物体沿一条直线排列时,可以将“聚类轴”设为该直线的方向,从而将每个物体分离出来。
-
剔除特定区域:通过设定轴向和排序,可以方便地保留或剔除最高/最低、最左/最右的物体。
密度聚类特定参数
搜索半径
参数说明 |
设置沿“聚类轴”方向的搜索距离,如果两个点在轴向上的投影距离小于此值,则可能被归为一类。 |
调参说明 |
需要根据层间或物体间的实际轴向距离来设置。如果设置得太大,可能会把不同的层合并;如果太小,一个层内部可能被错误地分割。 |
参数范围 |
[1,5000],默认值:5 |
密度条件
参数说明 |
在“搜索半径”定义的轴向距离内,至少需要有多少个点,才认为该区域是一个稠密的“核心区域”。 |
调参说明 |
用于区分有效点云层和稀疏的噪声,增大此值会使聚类条件更严格,有助于滤除噪声。 |
参数范围 |
[1,5000],默认值:100 |
聚类最少点数
参数说明 |
后处理筛选条件,聚类完成后,点数少于此值的簇都将会被过滤。 |
调参说明 |
适用于过滤掉那些由少量点组成的、无意义的小噪声簇,适当提高此值来确保输出的是有意义的聚类结果。 |
参数范围 |
[1,4000000],默认值:100 |
聚类最多点数
参数说明 |
后处理筛选条件,聚类完成后,点数多于此值的簇都将会被过滤。 |
调参说明 |
适用于需要排除某个非常大的背景或支撑面的场景。例如,如果想忽略掉桌面,只分析桌面上的小物体,可以设置一个上限来过滤掉代表桌面的那个最大的点云簇。 |
参数范围 |
[1,4000000],默认值:4000000 |
排序顺序
参数说明 |
设定输出的点云簇列表的排序规则。 |
调参说明 |
算子会计算每个簇的中心点在“聚类轴”上的位置,然后根据该位置进行排序。 “由小到大”指沿着聚类轴负方向到正方向排序,反之沿着聚类轴正方向到负方向排序。 |
保留全部结果
参数说明 |
控制对于输入的每一块点云,是输出其全部分割结果,还是只保留部分。 |
调参说明 |
开启(True):默认选项,保留所有找到的、且满足点数限制的簇。 关闭(False):将只保留由“保留结果数量”参数指定的前N个最大的簇。 |