我们都知道点云配准分为粗配准(Coarse Registration)和精配准(Fine Registration)两个阶段,本文同样也分为粗配准和精配准两个部分来说明。

粗配准方案

LORAX

  这是一篇采用机器学习的点云配准的论文,简单来说就是通过将点云用一个个球体分成很多个小快,对每一块投影成深度图,然后采用深度神经网络对深度图进行特征压缩,最后压缩成一个5×2的矩阵做为一个特征,也就是我们所说的描述子(descriptor)。通过这些描述子的位置关系可以进行粗配准,最后文章也还是采用了ICP进行精配准。原文链接:3D Point Cloud Registration for Localization Using a Deep Neural Network Auto-Encoder。具体的内容我单独写了一篇博客:阅读笔记

4点法(4-Points Congruent Sets,4PCS)

  4点法由D Aiger,NJ Mitra,D Cohen-Or[1][1]于2008年提出的一种快速地,鲁棒地的3D点云粗配准方法,原文链接见 4-points Congruent Sets for Robust Surface Registration
占个位,这部分内容可见我的阅读笔记 4-Points Congruent Sets for Robust Pairwise Surface Registration——4PCS阅读笔记

Super 4PCS(Super 4-Points Congruent Sets)

  Super 4PCS是由Nicolas Mellado,Dror Aiger,Niloy J. Mitra[2][2]里,从而排除一些无效的匹配对来加速配准。
  那么如何快速的找到角度在一定范围内的匹配对呢,Super4PCS采用的是类似与在球面上画圆的方法,如下图:
  

这里写图片描述
 

球面上在圆cc。这样就可以快速找到交叉角度在一定范围内的两条直线。那么如何快速找到圆面上的这些点,Super4PCS则是通过光栅化,智能索引来完成,如下图:

这里写图片描述

这里原文中是通过二维来展示算法,不停的细分网格(cell),将点云归一化塞入其中创建快速索引。这一部分不是很理解,欢迎大家来交流。

SK-4PCS(Semantic Keypoint 4-Points Congruent Sets)

这里写图片描述

在提取了上表面后,使用一系列高度间隔为htht的平行面去分割点云,分割示意图如下图所示,其中绿色部分为其中一平行面:

这里写图片描述
对与分割面内的点,首先对其高度统一化,然后把他们看作2D图像,进行2D的特征提取和分割,如下图。其中红色点为线段顶点,绿色点为两条线的交点。

这里写图片描述

  在提取了每个横截面中的特征点后,我们需要对它们进行区分和连接,根据他们自身的位置,以及潜在位置赋予不通的标签。最终建立targettarget中语义点的意义对应关系。连接后的语义点如下图,其中蓝色线条连接特征点,红色点代表线段的顶点,绿色点代表线段的相交点,紫色三角形则是我们所定义的语义点,是连接线段与参考面的交点,存储着整条线段的语义信息(特征点的个数,每个特征点的标签)。

这里写图片描述

在搜寻到所有的SK-Point后,将这些SK-Points做为输入进行配对对的搜寻,不仅要满足原始的配准要求,同时其语义也要相同才能标记为匹配。

G-4PCS(Generalized 4-points congruent sets)

  G-4PCS是由M Mohamad , D Rappaport , M Greenspan 提出的对4PCS的一种拓展,使4点法不在局限于共面的4点对。原文连接见:Super Generalized 4PCS for 3D Registration
此方法不在限制4点须在一个平面内,下图显示了非共面的4点对,S={p,q,i,j}S={p,q,i,j}的最短距离。

这里写图片描述

则此方法不仅需要满足类似4点法的比例关系:

r1=||qm||||qp||r1=||q−m||||q−p||

满足以上三个条件才可认为是匹配对。

由于在4PCS中,强制选取共面的4点,所以由于点云对称导致的配准错的问题并不明显,但是在3D中,这种对称则会导致较为严重的错。如下图,假如一个基础对Γ={i,j,p,q}Γ={i,j,p,q}

这里写图片描述

  我们可以找到很多满足上式的匹配对,例如:Γ1={i,j,p1,q1}Γ1={i,j,p1,q1}从而进行区分。

这里写图片描述

精配准方案

  精配准中,最经典最常用的方法就是迭代最近点法(Iterative Closest Point,ICP),而后的大多数方法都是ICP的变种。下文会简单介绍ICP算法的原理以及我在查阅论文中遇到的一些引用数较多的文章中所提到的算法。如果大家有什么经典或者新颖的算法也可以留言大家共同讨论交流,学习进步。


04/08/2018

DO(Discriminative Optimization)

  与传统的构建损失函数,求解损失函数不同, 这篇文章提出了DO(Discriminative Optimization)的方法,通过学习更新序列来解决一系列计算机视觉上的问题。原文见2017年CVPR:Discriminative Optimization: Theory and Applications to Point Cloud Registration[11][11]
  

1. 更新法则 

  DO采用如下的更新法则:
  

Xk+1=XkDk+1h(Xk)(2)(2)Xk+1=Xk−Dk+1h(Xk)
由训练数据得来。

2. 训练方法

  给定一个训练集(X(i)0,X(i),h(i))Ni=1(X0(i),X∗(i),h(i))i=1N

3. 配准应用

  设MR3×NMM∈R3×NMy

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐