1 CPD算法简介

CPD算法是2010年由Andriy Myronenko发表的论文《Point Set Registration: Coherent Point Drift》中提出。

其部分摘要介绍如下:
We introduce a probabilistic method, called the Coherent Point Drift (CPD) algorithm, for both rigid and non-rigid point set registration.
We consider the alignment of two point sets as a probability density estimation problem.
We fit the GMM centroids (representing the first point set) to the data (the second point set) by maximizing the likelihood.

2 CPD-matlab工具箱的使用

  1. 下载工具箱,将路径加载到matlab路径下。
  2. 在matlab命令窗口输入cpd_make ,混合编译一下基本文件。
  3. 在examlpe文件夹下有14个案例,包括仿射,2D配准,3D刚性和非刚性配准,随意输入一个 m 文件名字,即可运行该效果。
  4. 根据自己需求调试,测试自己的点云案例。

部分案例:


仿射配准

非刚性配准

刚性配准

3 输入参数解释

主要代码 cpd_register(X, Y, opt)

将Y对齐到X;
opt有如下选项:
- method :[‘rigid’,’affine’,’nonrigid’,’nonrigid_lowrank’]
- corresp : [0 or 1] (default 0) 计算对应向量
- normalize :[0 or 1] (default 1) 标准化配准输入点云
- max_it : (default 150) 最大迭代次数
- tol : (default 1e-5) 最小误差下限
- outliers :[0…1] (default 0.1) 噪声的权重
- fgt :[0,1 or 2] Default 0
- rot : [0 or 1] (default 1) 严格按照旋转
- scale :[0 or 1] (default 1) 估计缩放参数, 0 固定缩放参数

附:CPD-matlab工具箱和论文下载地址:http://download.csdn/download/kaspar1992/10132250

更多推荐

CPD配准算法-matlab工具包的使用