3D 粗匹配 V2

功能描述

该步骤可将点云模板与原始点云粗略匹配,输出目标物体的粗略候选位姿。

使用场景

该步骤通常用于在场景点云中寻找目标物体,并获得其粗略候选位姿。此步骤通常与 3D 精匹配 步骤组合使用。

输入与输出

../../../../_images/input_and_output32.png

参数说明

参数调试等级

参数解释:该参数用于选择该步骤的参数调试等级。
值列表: Basic (基础)、 Advanced (高级)。
默认值:Basic

Basic 参数调试等级

模板设置

模型选择
参数解释:该参数用于选择模板库( 工程文件夹/resource/3d_matching )中的点云模板文件。
调节说明:使用 匹配模板与抓取点编辑器 制作点云模板后,在该参数右侧单击下拉按钮,可快速选择或切换点云模板文件。

匹配模式

参数解释:该参数用于选择 3D 粗匹配的匹配模式。
值列表:边缘匹配、面匹配。
默认值:边缘匹配。
调节说明:需根据点云模板选择。若点云模板为工件的边缘模板,请选择 边缘匹配 ;若点云模板为工件的面模板,请选择 面匹配

预处理设置

采样后模型的期望点数
参数解释:该参数用于设置期望的降采样后点云的点数。该值越小,降采样后点云的点数越少,匹配精确度越低。
默认值:200
调节建议:需根据实际需求设置该参数。具体效果见 调节示例
采样后的输入点云点数上限阈值
参数解释:该参数用于设置降采样后场景点云的最大点数。如果降采样后场景点云的点数大于该值,则忽略该场景点云并输出空数据。
默认值:100000
调节建议:需根据实际需求设置该参数。具体效果见 调节示例

位姿验证设置

预期单个输入点云结果个数
参数解释:该参数表示每个输入点云的预期匹配位姿数量。
默认值:3
调节建议:需根据实际需求设置该参数。具体效果见 调节示例

Advanced 参数调试等级

模板设置

模型选择
参数解释:该参数用于选择模板库( 工程文件夹/resource/3d_matching )中的点云模板文件。
调节说明:使用 匹配模板与抓取点编辑器 制作点云模板后,在该参数右侧单击下拉按钮,可快速选择或切换点云模板文件。
模型文件
参数解释:该参数用于选择点云模板文件。
调节说明:单击 icon_file ,选择 ply 格式的点云模板文件。
几何中心文件
参数解释:该参数用于选择几何中心文件。
调节说明:单击 icon_file ,选择 json 格式的几何中心文件。

匹配模式

参数解释:该参数用于选择 3D 粗匹配的匹配模式。
值列表:边缘匹配、面匹配。
默认值:边缘匹配。
调节说明:需根据点云模板选择。若点云模板为工件的边缘模板,请选择 边缘匹配 ;若点云模板为工件的面模板,请选择 面匹配

预处理设置

采样后模型的期望点数
参数解释:该参数用于设置期望的降采样后模板点云的点数。该值越小,降采样后点云的点数越少,匹配精确度越低。
值范围:20~3000
默认值:200
调节建议:需根据实际需求设置该参数。具体效果见 调节示例
采样后的输入点云点数上限阈值
参数解释:该参数用于设置降采样后场景点云的最大点数。如果降采样后场景点云的点数大于该值,则忽略该场景点云并输出空数据。
值范围:100~100000
默认值:100000
调节建议:需根据实际需求设置该参数。具体效果见 调节示例
邻点数量
参数解释:该参数用于设置点方向的相邻点的个数。该参数仅在 边缘匹配 模式下可见。
值范围:1~100
默认值:30

投票设置

单个特征包含最多点对数量
参数解释:该参数表示模板分析中每个特征包含点对的最大数量。该值越小,执行速度越快,但准确度越低。
默认值:50
距离量化
参数解释:该参数用于量化点之间距离。 \(距离间隔 = 距离量化 × 采样间隔\) ,该值越大则距离间隔越大,匹配精度越低。
默认值:1.0000
角度量化
参数解释:该参数用于量化点的特征法向量之间的夹角。 \(角度间隔 = 360° / 角度量化\) ,该值越大则角度间隔越小,匹配精度越高,但需要更高质量的点云。
默认值:60
投票比例下限阈值
参数解释:得分高于 \(投票中的最高分数 × 投票比例下限阈值\) 的位姿,将用于位姿验证,该值越低,用于位姿验证的位姿越多,则找到精确匹配结果的可能性就越大,但是运行时间越长。
默认值:0.80
参考点采样步长
参数解释:该参数用于调整参考点的采样步长。在点云中以该步长为一个间隔来采样。该值越大,采样后的点越少,执行速度越快,但是匹配精度会降低。
默认值:5
被参考点采样步长
参数解释:该参数用于调整被参考点的采样步长。在点云中以该步长为一个间隔来采样。该值越大,采样后的点越少,执行速度越快,但是匹配精度会降低。
默认值:1

注解

参考点和被参考点是相对而言的,二者均为场景点云中的任意一点。参考点与被参考点构成点对。采样间隔越大,则参考点与被参考点越少,形成的点对越少,执行速度越快。

位姿过滤设置

使用基于位姿距离的非极大抑制
参数解释:该参数开启后,将过滤掉与已选定位姿的距离小于物体直径 0.1 倍距离的候选位姿。
默认值:开启。
调节说明:具体效果见 调节示例
根据模板翻转角度过滤位姿
参数解释:边缘匹配模式下,当模板点云匹配至场景点云时,根据模板翻转角度过滤位姿。当模板翻转角度超过“角度差值上限阈值”时,该位姿将被过滤。
默认值:开启。
角度差值上限阈值
参数解释:该参数用于设置角度差值的上限,单位为度(°)。约束轴和参考方向之间的角度差大于 角度差值上限阈值 的位姿将不被视为候选位姿。
默认值:135.000°

位姿验证设置

预期单个输入点云结果个数
参数解释:该参数表示每个输入点云的预期匹配位姿数量。
默认值:3
调节建议:需根据实际需求设置该参数。具体效果见 调节示例
体素长度生成策略
参数解释:该参数用于选择生成体素长度的策略。
值列表:自动生成、手动设置。
默认值:自动生成
调节建议:对于刚开始使用该步骤的用户,建议使用 自动生成 。若选择 手动设置 可设置 体素长度 参数。
体素长度下限
参数解释:该参数用于设置体素长度下限,单位为毫米(mm)。
默认值:1.000mm
体素长度上限
参数解释:该参数用于设置体素长度上限,单位为毫米(mm)。
默认值:15.000mm

注解

将点云所在空间划分为 3D 网格, 体素长度 就是 3D 网格最小单元的尺寸。

结果可视化

可视化选项
参数解释:该参数用于选择想要可视化的内容。
值列表:采样后模板、采样后场景、匹配结果、位姿验证中点使用情况。
默认值:匹配结果。
调节说明:需根据实际需求设置该参数。具体效果见 调节示例

调节示例

Basic 参数调节示例

采样后模型的期望点数

以连杆工件为例,当 采样后模型的期望点数 分别为 300 和 600 时,采样后得到的工件点云点数如下图中左、右图所示。

其中,左图工件点云较稀疏,右图工件点云较稠密。

../../../../_images/3d_coarse_matching_v2_point_number.png

采样后的输入点云点数上限阈值

当输入点云的点数超过该参数的设定值时,该步骤将出现如下提示。

../../../../_images/3d_coarse_matching_v2_limit.png

预期单个输入点云结果个数

预期单个输入点云结果个数 分别为 6 和 12 时,该步骤输出的位姿结果数量如图中左、右图所示。

其中,左图位姿结果数量为 6,右图位姿结果数量为 12。

../../../../_images/3d_coarse_matching_v2_outputnumber.png

Advanced 参数调节示例

使用基于位姿距离的非极大抑制

如下图所示,开启该参数后,该步骤将过滤掉与已选定位姿的距离小于物体直径 0.1 倍距离的候选位姿。

../../../../_images/3d_coarse_matching_v2_non_maximum_suppression_pose_distance.png

结果可视化

可视化选项

图示

采样后模板

icon_1

采样后场景

icon_2

匹配结果

icon_3

位姿验证中点使用情况

icon_4