『OPEN3D』1.8.2 全局ICP配准

         前文提到的多种icp方式均需要初始的变换函数作为配准过程的初始值,并在该初始值上进行迭代优化得到结果;那么global icp为前面这些精配准的icp提供了初始变换函数。因此global ICP配准后可视化的点云结果可能没有完全配准,需要再进行一次精配准操作。

        global icp需要对点云提取几何关键点与描述子特征信息,并通过其匹配方式找到两份点云数据中对应的点。类似于图像的关键点匹配。这里使用FPFH特征作为示例,FPFH特征使用33维度的描述子向量来描述一个关键点局部的几何信息;然后使用匹配的方式对两组点云中的关键点与描述子进行距离匹配与RANSAC来得到对应的点对。

        如果你有自己的特征点与匹配方式,也可以自行实现后传递原始点云与目标点云的给registration_ransac_based_on_correspondence或registration_fgr_based_on_correspondence,其中corres 的类型(open3d.utility.Vector2iVector);示例使用内置的特征匹配进行演示,但给出了基于correspondence的代码。

        在每一次RANSAC迭代中,通过设定ransac_n与open3d.pipelines.registration.CorrespondenceChecker来过滤外点;只有真正通过所有检测的点会被认为是最终的inlier并计算变换矩阵后再整个点云上进行验证;其中RANSACConvergenceCriteria设定了RANSAC的迭代次数与置信度,调整该参数可以获得更好的结果但也会增加运算时间。

# NNNNNathan

本专栏地址:

猜你喜欢

转载自blog.csdn.net/qq_41366026/article/details/134753432