最近在学习点云配准方法,先看了NDT配准方法,该方法由于在配准的时候不需要寻找对应点,而是用概率密度得分进行配准,所以配准速度较快,其他博客中也有很多介绍该配准方法的,我也从中学到了许多,下面我说一下我对NDT配准的通俗理解,有不对的地方还望各位大佬留言指正。
NDT配准流程如下图示:
从上述流程可以看到,NDT配准算法首先将参考点云用数个体素网格进行划分,并在每个体素网格中计算该网格的概率密度分布,没错,这种配准方法用网格的概率密度函数来表示该网格的点云分布情况,如下图(又盗用别人图了,哈哈):
从图中可以看到,点密度大的地方,该位置的概率密度函数也大,这是二维的,三维的可以类似想象。
接着说,然后对于待配准点云,将该点云由旋转平移矩阵变换至参考点云坐标系下,可以想象,假如这个旋转平移矩阵的参数很好,那么变换后的待配准点云的点将几乎全部落在参考点云所划分的网格中,但若参数很差,则将有很大一部分点落在网格之外。而NDT配准算法是计算变换后的待配准点云的每个点概率密度的累加和,这个累加和就是配准得分,因此对于那些变换之后还在体素网格之外的点,对于最终贡献得分则为0.而对于变换到网格内的点,先不管这个点是不是在正确的网格内,但起码他还是贡献得分的吧。
我理解的整个NDT配准算法就是这样,欢迎各位大佬与我交流。