计算点云包围框

功能描述

该算子为输入的每个点云计算三维包围框,输出包围框的几何信息。

可选两种类型的包围框:

  • 坐标对齐包围框(AABB): 包围框的各个面平行于坐标系的 X、Y、Z 轴。计算简单快速,适用于物体朝向与坐标轴大致对齐的情况。

  • 带方向最小包围盒(OBB): 包围框的方向由点云自身的主方向决定,能够更紧密地包围任意朝向的物体。

使用场景

  • 物体尺寸与位置估计 : 获取点云所代表物体的三维尺寸和中心位置。

  • 粗略位姿估计 : OBB可以提供物体的朝向信息。

  • 空间占用分析 : 确定物体在空间中占据的大致范围。

  • ROI生成 : 快速生成包围点云的区域,用于后续更精细的处理。

  • 碰撞检测 : 使用简单的AABB或更紧密的OBB进行初步的碰撞判断。

输入输出

输入项

点云:输入的点云或点云列表。

输出项

包围框法向:计算得到的包围框的一个法向量列表。

包围框中心点:计算得到的每个包围框的中心点列表,计算方法由参数中心点类型决定。

包围框:每个包围框的详细信息列表。

包围框大小:每个包围框沿其主轴的X, Y, Z尺寸列表。

3维ROI:根据计算出的包围框生成的、可能经过缩放调整的三维ROI列表。

参数说明

该算子有两个版本:

  • 计算点云包围框 : 处理不带法线信息的点云。

  • 计算点云包围框(带法向) : 处理带有法线信息的点云。

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

  • 输入 : 可以处理单个点云或点云列表。如果是列表,会对列表中的每个点云独立计算包围框。

  • NAN值处理 : 算子内部会先尝试移除点云中的 NaN 值再进行计算。

计算方法

参数说明

选择计算包围框的类型。

调参说明

  • OBB带方向最小包围盒 (OBB, 默认) :计算能够紧密包围点云的、带有方向的最小体积包围盒。适用于任意朝向的物体,能提供更精确的尺寸和方向信息,但计算稍复杂。

  • AABB坐标对齐包围盒 (AABB): 计算各面平行于坐标轴的、包围点云的最小包围盒。计算简单快速,但对于倾斜的物体,其尺寸会比实际物体大。

    根据应用需求选择。如果需要物体的精确尺寸和方向,选OBB;如果只需要大致范围且物体朝向规整,或需要更快的速度,可选AABB。

中心点类型

参数说明

选择输出的“包围框中心点”是以何种方式计算得到的。

调参说明

  • 包围框中心 (默认) : 直接使用计算得到的 AABB 或 OBB 的几何中心。

  • 点云均值 : 使用构成该包围框的原始点云的XYZ坐标均值。

  • 点云中位数 : 使用构成该包围框的原始点云的XYZ坐标中位数,对离群点更鲁棒。

法向 Z 方向

参数说明

指定输出的“包围框法向”的Z分量应该是正值还是负值,算子会根据此设置调整计算出的法向量方向。

调参说明

用于统一输出法向量的朝向。如果希望法向量总是指向Z轴正方向(“朝上”),选择“正Z”;如果希望指向Z轴负方向(“朝下”),选择“负Z”。

缩放方法

参数说明

选择如何调整(缩放/外扩)最终输出的3D ROI区域。

调参说明

  • 不允许缩放 (默认) :不进行任何缩放或外扩,ROI与计算得到的包围框一致。

  • 指定值: 在包围框的每个轴的最小/最大坐标基础上,加上或减去下面“X/Y/Z方向缩放范围”参数指定的绝对值(mm)。

  • 指定比例 :将包围框的尺寸按照下面“X/Y/Z方向缩放比例”参数进行缩放。

X/Y/Z方向缩放范围

参数说明

当“缩放方法”选择“指定值”时生效。指定在包围框的X、Y、Z三个方向上(注意:对于OBB,这是指包围框自身的坐标轴)各自向外扩展(正值)或向内收缩(负值)的距离。

调参说明

用于精确控制ROI的大小。例如,X=10表示 ROI 在包围框自身 X 轴方向上比原始包围框宽 20mm(两边各加 10mm)。

参数范围

"[-5000, 10000],默认值:0,单位:mm"

X/Y/Z方向缩放比例

参数说明

当“缩放方法”选择“指定比例”时生效。指定ROI(及可能的包围框)在X、Y、Z三个方向上(包围框自身坐标轴)各自的缩放比例因子。

调参说明

比例因子为1表示保持原尺寸,大于1表示放大,小于1表示缩小。例如,x=1.1表示ROI在包围框自身X轴方向上的尺寸变为原来的1.1倍。

参数范围

"[0, 5],默认值:1"