动态 ROI 生成

功能描述

该算子可通过定义一个相对于模型或场景点云的标准ROI,然后将其应用到所有匹配到的模型实例上。

使用场景

  • 多目标区域定义 : 当通过匹配或其他方式得到多个物体的位姿后,需要为每个物体定义一个相同大小和相对方向的ROI。

  • 基于位姿的区域过滤 : 根据识别到的物体位姿,精确地过滤出每个物体周围的场景点云。

输入输出

输入项

roi参考点位姿:输入的位姿列表,定义了每个动态ROI的初始中心和朝向。

场景点云 (可选):输入的待过滤场景点云或点云列表。

输出项

3维ROI:根据输入位姿和模板ROI动态生成的ROI列表。

ROI后点云:如果输入了场景点云,则输出使用动态ROI过滤后的点云列表;否则此输出为空。

参数说明

该算子有两个版本:

  • 动态ROI生成 : 处理不带法线信息的场景点云。

  • 动态ROI生成(带法向) : 处理带有法线信息的场景点云。

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

至少提供一个有效的模型文件或一个有效的场景点云,如果两者都缺失则会报错无法运行。

模型点云文件

参数说明

指定一个模型点云文件(.ply格式)。如果提供了该文件,算子在初始化时会加载它,这主要用于辅助用户在界面中配置“3维ROI”参数,使其与模型尺寸相匹配。

注意:非必选参数,算子运行时并不强制要求此模型必须存在,但输入的场景点云和此模型文件至少需要提供一个。

调参说明

如果希望基于一个具体的模型来定义模板ROI,则选择对应的.ply文件。如果不需要模型参考可以不设置,但必须确保运行时有场景点云输入。

3维ROI

参数说明

定义模板ROI,算子运行时会将模板ROI根据输入的每个参考点位姿进行变换,生成最终的动态ROI。

调参说明

除了可以直接输入 ROI 参数之外,更加推荐点击参数设置面板右上角的“小眼睛”按钮,打开视图窗口进行可视化配置 ROI,更加便捷和直观。

保持有序

参数说明

控制输出点云是否保持输入的原始结构。

调参说明

  • 关闭(默认):不保持有序。输出只包含ROI内部(如果开启反向则是外部)的点,丢弃无效点,点云变成无序的点列表。适用于绝大多数点云处理场景,特别是当后续步骤只处理有效点坐标,不需要原始结构时,输出的数据量通常远小于保持原始结构(包含大量无效点)的情况,后续处理更快。

  • 开启:保持有序。输出的点云形状与输入相同,落在ROI范围外的点会被标记为无效点,但它们仍然占据着原来的位置,保留点与点之间的原始邻接关系,适用于后续需要利用点云空间邻接关系做图像处理操作的场景。

保持原大小

参数说明

仅当“保持有序”为开启,且输入点云是有序结构时生效,控制在保持有序结构的前提下,是否裁剪掉全为无效点的行和列。

调参说明

  • 开启(默认):保持原始尺寸,即使某些区域因为ROI过滤完全变成无效点。

  • 关闭:在保持二维结构的基础上,移除那些因为ROI过滤而完全变成无效点的行和列,得到一个尺寸可能更小的、但仍然有序的点云。

开启反向

参数说明

反转过滤逻辑。

调参说明

  • 关闭(默认):保留ROI内部的点云,移除ROI外部的点云。

  • 开启:保留ROI外部的点云,移除ROI内部的点云。适用于去除特定区域的干扰。

多 ROI 结果切分

参数说明

仅当“开启反向”为关闭状态时生效,控制当有多个ROI输入时,如何处理同一个输入点云被这些ROI过滤的结果。

调参说明

  • 关闭(默认):合并结果。如果一个输入点云与多个ROI相交,所有落在这些ROI内部的点会合并成一个输出点云。

  • 开启:切分结果。如果一个输入点云与多个ROI相交,每个ROI会产生一个单独的输出点云,即一个输入点云可能会根据与其相交的ROI数量,输出多个点云。

使能节点

参数说明

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

调参说明

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

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