2.1 创建表面模型

为了在三维场景中找到目标,您需要一个目标的三维模型,以便匹配其空间特征。获取三维对象模型的方法有很多,例如,可以从 CAD 文件中加载,也可以从三维点云中手动提取。不过,为了将其用于基于表面的匹配,需要使用创建表面模型(create_surface_model)为其创建一个表面模型。如果已有表面模型,则可以使用 read_surface_model 读取模型。

请注意,除了三维点数据外,三维对象模型还需要包含更多信息,如点法线、三角形或多边形网格或二维映射(详见 create_surface_model 的算子参考)。

图 2.1: 三维cfq模型包含一些点(左上)和一个多边形网格(右上)。对于表面模型,三维模型在以下步骤中进行采样,一次用于近似匹配(左下),另一次用于两个姿态细化步骤(右下)。

在创建表面模型时,根据参数 RelSamplingDistance 确定的采样距离对三维模型进行采样。在细化姿态时,模型将再次采样,采样距离由通用参数 "pose_ref_rel_sampling_distance" 控制(见 图 2.1 )。请注意,通常没有必要更改这两个参数,因为默认值适用于各种模型。

在表面模型创建过程中,您还可以根据匹配方法训练或计算模型的其他特征。例如,您可以对模型进行三维边缘支持训练,或使用通用参数反转模型法线。详情参见 create_surface_model 的算子参考。