点云粗配准

点云精细配准受到初始值的影响,会收敛到局部最小值,因此点云的粗配准就变得相当重要。对于刚体来说,假设目前有原始点云和目标点云,点云粗配准完成的工作主要就是求解两团刚体之间的和,使得原始点云通过变换得到新的点云和目标点云之间最接近,即两者之间最近邻距离小于的点云数目最大化,该准则被称为LCP(Largest Common Points)

假设现在找到了个点云对和,那么点云配准就是在求解最优的使得满足如下的式子

求解上述问题的常用步骤如下

  1. 从目标点云和源点云中找到点对
  2. 根据权重,计算等效中心
  3. 将每个点去中心化
  4. 对协方差矩阵进行SVD分解,其中协方差矩阵为
    \Sigma = \begin{bmatrix} \hat{\boldsymbol p_1^s} & \hat{\boldsymbol p_2^s} & \cdots & \hat{\boldsymbol p_k^s} \end{bmatrix} \begin{bmatrix} w_1 & 0 & \cdots & 0 \\ 0 & w_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & w_k \end{bmatrix} \begin{bmatrix} \hat{\boldsymbol p_1^t}^T \\ \vdots \\ \hat{\boldsymbol p_k^t}^T \end{bmatrix}
  5. 求解得到旋转矩阵\boldsymbol R^* = \boldsymbol V \begin{bmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & |\boldsymbol V \boldsymbol U^T| \end{bmatrix}\boldsymbol U^T
  6. 求解得到平移向量

注意到在每个点集中选取3组点就可以进行上述的计算,然后根据LCP准则得到最优的和,因此使用穷举法的复杂度是,如果点云数量在量级,该复杂度在工程上是不可接受的。为了降低复杂度,后面涌现了一大批算法,其本质思想就是在选择点对的时候根据某些条件去掉明显不可理的点对,这些算法的区别就在于如何设计这些条件。

因此有人提出了RANSAC算法,从源点云中随机提取3个点,然后穷举目标点云中所有3点对计算旋转矩阵,然后根据旋转矩阵计算距离小于,重复此步骤次,根据LCP准则从这次中选取最优的和,该方法的复杂度是,通过调节在精度和速度之间取得平衡。

4PCS算法在源点云中选取四个点,如果是刚体变换的话,目标点云中对应的四个点同样需要满足一定的条件,这四个点需要满足一定的条件,通过该条件来筛选原始点对,减少计算量。

你可能感兴趣的:(点云粗配准)