三维点云对象识别pcl官方代码调参注意事项
调参花了太多时间了,把一些官网描述不清楚的参数做一下整理,但是不知道为什么识别出来的部位还是有很大偏差,pcl库自带的recognize函数直接出旋转矩阵的方法还尚不清楚,识别不准有很大与之关联。
clusterer.recognize(rototranslations, clustered_corrs); //结果包含变换矩阵和对应点聚类结果
结果包含变换矩阵和对应点聚类结果。
有理解的大神可以留言或私信交流呀d(^_^o)
下面开始理解的部分:
float model_ss_(0.01f);
float scene_ss_(0.03f);
float rf_rad_(0.015f);
float descr_rad_(0.02f);
float cg_size_(0.01f);
float cg_thresh_(5.0f);
这六个参数是重头戏了
model_ss和scene_ss一样都是降采样的倍数
在这句话里进行降采样处理
uniform_sampling.setRadiusSearch(model_ss_);
且值越大,所能提取的关键点越少。
rf_rad_估计局部参考系时,当前点邻域搜索半径。范围在0.015到10
descr_rad_搜索半径,半径越大,球内的点越多,计算描述符的复杂度就越大,计算时间越长,可以找到的匹配点对数就越多。范围在0.02到19
cg_size_设置几何一致性的大小。范围在0.01到10
cg_thresh_阈值,配对点大于这个值,则认为匹配成功,是一个实例目标。
最后祝大家调参成功