5.2 鲁棒性

尤其是通过提高计算得分的显著性,可以特别实现更高的鲁棒性。有三个主要参数可用来提高匹配的鲁棒性。

关键点小数:  
增加关键点的数量就会增加近似匹配姿态的数量,因此在接下来的两个细化步骤中就会有更多的姿态可供分析。需要注意的是,这也会增加处理时间。
采样距离:  
如果模型包含更精细的结构或高密度的几何信息,则缩小采样距离可以获得更可靠的结果。需要注意的是,采样距离的确定应确保模型的特征显示足够精细(以细长对象为例,见 图 5.1 )。

a) RelSamplingDistance= 0.03 b) RelSamplingDistance= 0.015

图 5.1:在确定了场景采样点之间的距离后,仍需表示对象特征。

点阈值:  
如果存在非线性轨迹的三维边缘,即盒子的边缘比较圆,则可以通过增加 "pose_ref_dist_threshold_edges_rel""pose_ref_dist_threshold_edges_abs" 的值来改善匹配结果和分数。

鲁棒性和分数还会受到下列参数的影响。

重复点:  
重复点也会导致结果不够可靠。因此,强烈建议在进行任何进一步处理之前移除重复点(参见 "重复点" 一节 )。
法线方向:  
如果模型法线和场景法线没有大致指向同一方向,匹配结果就会不稳定或根本无法匹配(参见 "法线" 一节 )。
形状:  
三维信息较少的形状会降低鲁棒性。因此,在这种情况下,强烈建议以适当的方式对数据进行预处理,并使用基于边缘支持的表面匹配。
基于视图的分数:  
基于视图的分数只考虑从确定的视图可能看到的模型点。因此,由于该分数更具表现力,匹配结果的鲁棒性也会提高。
最大重叠:  
出于提高效率的考虑,通用参数 "max_overlap_dist_rel" / "max_overlap_dist_abs" 是基于场景中相邻对象轴向边界框中心的距离。因此,对于细长的对象,通用参数应设置为更低的值(大约为对象的最小延伸部分,见 图 5.2 )。不过,这也会导致匹配结果重叠,需要在后处理步骤中过滤掉。

图 5.2:对象模型的长度为 45 毫米,最大直径为 4.5 毫米。因此,"max_overlap_dist_abs" 设置为 4.5 毫米,采样距离设置为 0.6 毫米。

自相似性:  
对于 find_surface_model 来说,几乎对称的对象的姿态有时很难区分。为了避免这种情况,请在创建表面模型时启用通用参数 "train_self_similar_poses"