点云配准是点云相关的经典应用之一。配准的目的是估计两个点云之间位姿关系从而完成两者对应点之间的对齐/对应,因而在英文中又叫“align”、“correspondence”。笔者曾经是基于OpenCV进行三维重建的,并且从事过基于深度学习的6DoF位置估计等工作。在这些工作中,除了重建点云外,还需要用构建真实数据集(包括点云和位姿等)以用于增强深度学习的泛化能力。当时是基于PCL完成了具有:数据加载、手动选点、ICP优化、结果保存等功能的开发。如果当时晓得OpenCV有ICP可能就不会在借用PCL、Open3D等第三方库了。
1、具有ICP的OpenCV库的编译
相对简单,只要完成OpenCV + contrib编译即可。
2、ICP的调用实例
ICP通常具有最高的精度优势,常常被用于配置结果的精化。但是,ICP对两个点云之间位姿初值非常敏感,若两个点云之间的位姿差异较大,ICP一般不会得到很好的结果。因而,若使ICP能够有效收敛是需要保证这两个点云大致对齐的。以Bunny图为例,
首先,实现两个点云之间的大致对齐。可以采用对初值不敏感的方案来完成此项工作,为了方便演示,笔者借助Cloudcompare来获取点云间的粗对齐位姿参数,具体方法可自行搜索。
然后,根据粗对齐参数将待配置点云转到到与目标点云大致对齐的情况。结果如下: