本文主要用来记录我在学习过程中接触到的一些或新或旧的点云配准的方法,有些方法我可能还不怎么理解,如果有错误欢迎大家指出。
2018/04/15 添加LORAX
2018/04/08 添加DO法和结合法
2018/04/01 初版
我们都知道点云配准分为粗配准(Coarse Registration)和精配准(Fine Registration)两个阶段,本文同样也分为粗配准和精配准两个部分来说明。
这是一篇采用机器学习的点云配准的论文,简单来说就是通过将点云用一个个球体分成很多个小快,对每一块投影成深度图,然后采用深度神经网络对深度图进行特征压缩,最后压缩成一个5×2的矩阵做为一个特征,也就是我们所说的描述子(descriptor)。通过这些描述子的位置关系可以进行粗配准,最后文章也还是采用了ICP进行精配准。原文链接:3D Point Cloud Registration for Localization Using a Deep Neural Network Auto-Encoder。具体的内容我单独写了一篇博客:阅读笔记
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是由Nicolas Mellado,Dror Aiger,Niloy J. Mitra [2] [ 2 ] 等人与2014年提出的一种对4PCS的加速方案。原文连接见Super4PCS: Fast Global Pointcloud Registration via Smart Indexing。
网上很少能找到关于这篇文章的原理,我个人的理解是首先它通过记录点集 P P 中 ab a b , cd c d 两条直线相交的角度 θ θ ,在点集 Q Q 中寻找匹配对时,额外计算两条直线相交的角度是否在 θ θ 的一定范围 ξ ξ 里,从而排除一些无效的匹配对来加速配准。
那么如何快速的找到角度在一定范围内的匹配对呢,Super4PCS采用的是类似与在球面上画圆的方法,如下图:
球面上在圆 c c 上的点,与点 e e 连接产生的向量 v⃗ v → ,与向量 n⃗ n → 之间的夹角,均为 θ θ 。若圆 c c 具有一定的宽度,则圆上所有点与 e e 组成的向量与向量 n⃗ n → 的夹角分布在 [θ−ξ,θ+ξ] [ θ − ξ , θ + ξ ] 。这样就可以快速找到交叉角度在一定范围内的两条直线。那么如何快速找到圆面上的这些点,Super4PCS则是通过光栅化,智能索引来完成,如下图:
这里原文中是通过二维来展示算法,不停的细分网格(cell),将点云归一化塞入其中创建快速索引。这一部分不是很理解,欢迎大家来交流。
在提取了上表面后,使用一系列高度间隔为 ht h t 的平行面去分割点云,分割示意图如下图所示,其中绿色部分为其中一平行面:
在提取了每个横截面中的特征点后,我们需要对它们进行区分和连接,根据他们自身的位置,以及潜在位置赋予不通的标签。最终建立 target t a r g e t 和 source s o u r c e 中语义点的意义对应关系。连接后的语义点如下图,其中蓝色线条连接特征点,红色点代表线段的顶点,绿色点代表线段的相交点,紫色三角形则是我们所定义的语义点,是连接线段与参考面的交点,存储着整条线段的语义信息(特征点的个数,每个特征点的标签)。
在搜寻到所有的SK-Point后,将这些SK-Points做为输入进行配对对的搜寻,不仅要满足原始的配准要求,同时其语义也要相同才能标记为匹配。
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 } ,我们认为 pq p q , ij i j 空间相交,在 pq p q 上相交于 m m ,在 ij i j 上相交于 n n , mn m n 是 pq p q 到 ij i j 的最短距离。
则此方法不仅需要满足类似4点法的比例关系:
由于在4PCS中,强制选取共面的4点,所以由于点云对称导致的配准错的问题并不明显,但是在3D中,这种对称则会导致较为严重的错。如下图,假如一个基础对 Γ={i,j,p,q} Γ = { i , j , p , q } 以及3D交叉点 {n,m} { n , m } 。
我们可以找到很多满足上式的匹配对,例如: Γ1={i,j,p1,q1} Γ 1 = { i , j , p 1 , q 1 } , Γ2={i,j,p2,q2} Γ 2 = { i , j , p 2 , q 2 } , Γ1={i,j,p3,q3} Γ 1 = { i , j , p 3 , q 3 } ,分别相交于 n,m1 n , m 1 , n,m2 n , m 2 , n,m3 n , m 3 。因此,有必要在寻找匹配对时删去这些模糊的匹配对。在SK-4PCS中,作者对这种问题进行了分类,将其分为垂直类型和平面类型的两种模糊。
对于垂直类型的模糊,例如 Γ Γ 和 Γ1 Γ 1 ,我们可以计算向量 nm−→− n m → 和向量 nm1−→− n m 1 → ,并和参考点云的向量做比较从而区分他们。
对于平面类型的模糊,如下图,我们定义一个通过向量 ij→ i j → 来定义一个参考方向,并计算方位角 α2 α 2 , α3 α 3 从而进行区分。
精配准中,最经典最常用的方法就是迭代最近点法(Iterative Closest Point,ICP),而后的大多数方法都是ICP的变种。下文会简单介绍ICP算法的原理以及我在查阅论文中遇到的一些引用数较多的文章中所提到的算法。如果大家有什么经典或者新颖的算法也可以留言大家共同讨论交流,学习进步。
04/08/2018
与传统的构建损失函数,求解损失函数不同, 这篇文章提出了DO(Discriminative Optimization)的方法,通过学习更新序列来解决一系列计算机视觉上的问题。原文见2017年CVPR:Discriminative Optimization: Theory and Applications to Point Cloud Registration [11] [ 11 ] 。
DO采用如下的更新法则:
给定一个训练集 (X(i)0,X(i)∗,h(i))Ni=1 ( X 0 ( i ) , X ∗ ( i ) , h ( i ) ) i = 1 N ,其中 X(i)0∈Rp X 0 ( i ) ∈ R p 是第 i i 个问题的实例, X(i)∗∈Rp X ∗ ( i ) ∈ R p 为真实值(groundt ruth),而 h(i):Rp→Rf h ( i ) : R p → R f 为第 i i 个实例的特征,DO的目标就是学习更新序列 {Dk}k { D k } k ,使得 Xi0 X 0 i 更新为 Xi∗ X ∗ i ,学习规则采用如下最小二乘回归函数:
设 M∈R3×NM M ∈ R 3 × N M 为模型点云矩阵, S∈R3×NS S ∈ R 3 × N S 为场景模型矩阵。我们的目标是找到 S→M S → M 的最佳变化矩阵。
由于大部分感兴趣的点云都是由物体表面组成的,文中提出了一种基于统计场景中的点在模型点的前方还是后方的特征函数用于矩阵学习,如下图:
我们定义 n⃗ a∈R3 n → a ∈ R 3 为模型点 ma m a 由其领域计算得来的法向量。 Γ(y;x) Γ ( y ; x ) 使用参数 x x 对 y y 做刚性变换。 ma m a 的前方点定义为: S+a={sb:n⃗ ⊤a(Γ(sb;x)−ma)>0} S a + = { s b : n → a ⊤ ( Γ ( s b ; x ) − m a ) > 0 } , S−a S a − 则包含其他的场景点,对于 h:R6×R3→R2NM h : R 6 × R 3 → R 2 N M 定义如下:
结合法是将点云的颜色信息与几何信息相结合经行配准,原文见2017年ICCV:Colored Point Cloud Registration Revisited [10] [ 10 ] 。文中回顾了RGB-D深度图像基于颜色的配准方案和基于几何位置的配准的方案,并将两者的相结合,并推广至无序点云。
一副RGB-D图像由颜色信息 I I 和深度信息 D D 组成,这里我们采用灰度信息来简化问题。给定一对RGB-D图像 (Ii,Di) ( I i , D i ) , (Ij,Dj) ( I j , D j ) 以及一个粗略的初始矩阵 T0 T 0 ,我们的目标是找到一个使两幅图像紧密配准的最佳变换矩阵。
基于颜色信息的目标函数 EI E I 为:
其中, x=(u,v)T x = ( u , v ) T 是RGB-D图像 (Ij,Dj) ( I j , D j ) 中的一个像素,而 x′=(u′,v′)T x ′ = ( u ′ , v ′ ) T 是点 x x 在图像 (Ii,Di) ( I i , D i ) 中的对应点。这种对应关系是通过将深度像素 (x,Dj(x)) ( x , D j ( x ) ) 在 (Ij,Dj) ( I j , D j ) 的空间中转换为3D点,并将其变换 T T 后投影到图像 (Ii,Di) ( I i , D i ) 中建立的,具体如下:
接着,文章将上述方法拓展至普通点云。 P P 为一有色点云, C(p) C ( p ) 为颜色检索函数,我们需要将颜色建设函数转变为一个连续函数 Cp(u) C p ( u ) 以便使用其梯度。
因此,文中为每一个点 p∈P p ∈ P 引入了虚拟正交相机这一概念,其沿着 n⃗ p n → p ,观察点 p p ,虚拟相机的观察面为点 p p 的切平面,设 u⃗ u → 是从点 p p 开始的位于切平面上的一个向量, u⃗ ⋅n⃗ p=0 u → ⋅ n → p = 0 ,则函数 Cp(u) C p ( u ) 可一阶近似为:
04/01/2018
ICP算法是由PJ Besl , ND Mckay [6] [ 6 ] 在1992年提出的一种高层次的基于自由形态曲面的配准方法。原文连接见:A method for registration of 3-D shapes。简单来说就是不停的循环,在两个点云间找到最近的对应点,由这些对应点计算出一个使按照此旋转平移矩阵变换后对应点距离最小的RT矩阵,并进行变换,重复以上步骤,直到某些值达到设定的阈值则停止迭代。对于点集 P,Q P , Q ,算法步骤如下:
好吧,这个名字是我起的。文章并没有给这个方法起一个名字。这篇文章是我在查阅资料时遇到的一篇100+引用的文章,原文是由T Rabbani , S Dijkman , FVD Heuvel , G Vosselman 发表在ISPRS上的 [7] [ 7 ] 。原文连接见:An integrated approach for modelling and global registration of point clouds。这篇文章有趣之处在于提出了一种对点云进行建模与配准同时进行的方法。原文中有大量的公式推导,这里不会进行赘述。文章中针对工业环境存在大量的简单几何体例如平面,圆柱,圆环等实际提出两种方法,一种间接法,一种直接法。其中间接法是将物体拟合和场景匹配分开来做,而直接法则是同时决定物体的形状和位置参数以及配准参数。
数学公式可表示如下:
在等式中, C C 是指存在的对应关系的个数,每一个对应关系都包含有两个物体 a,b a , b 。第 i i 个对应关系的模型由 Mi M i 个拟合参数。 ΨRaitai Ψ R i a t i a 表示对场景使用变换对 Raitai R i a t i a 进行变换。物体 a a 由它的参数 uaij u i j a 建模而成。我们的目标是使得存在对应关系的物体对的参数的均方差 Δ2uij Δ u i j 2 最小。因此,我们可以调整参数 {R} { R } , {t} { t } 。那么如何求解这个最值问题,具体可以参考原文的推导。
数学公式可表示如下:
其中, O O 是物体的总数, Pi P i 是被用于第 i i 个物体配准的点云 中所有未配准的点云中的点的个数。函数 Ωi Ω i 计算一个给定点到第 i i 个物体表面的正交距离(orthogonal distance)。我们的目标是通过调整 {R},{t} { R } , { t } 使 Ω2i Ω i 2 最小 。其中第二步来自Bundle Adjustmengt方法的拓展 [9] [ 9 ] 。
参考文献:
[1] Homepage B T. 4-points Congruent Sets for Robust Surface Registration[J].
[2] Mellado N, Aiger D, Mitra N J. Super 4PCS Fast Global Pointcloud Registration via Smart Indexing[J]. Computer Graphics Forum, 2015, 33(5):205-215.
[3] Ge X. Automatic markerless registration of point clouds with semantic-keypoint-based 4-points congruent sets[J]. Isprs Journal of Photogrammetry & Remote Sensing, 2017, 130:344-357.
[4] Theiler P W, Wegner J D, Schindler K. Keypoint-based 4-Points Congruent Sets – Automated marker-less registration of laser scans[J]. Isprs Journal of Photogrammetry & Remote Sensing, 2014, 96(11):149-163.
[5] Mohamad M, Ahmed M T, Rappaport D, et al. Super Generalized 4PCS for 3D Registration[C]// International Conference on 3d Vision. IEEE Computer Society, 2015:598-606.
[6] Besl P J, Mckay N D. A Method for Registration of 3-D Shapes[M]. IEEE Computer Society, 1992.
[7] Rabbani T, Dijkman S, Heuvel F V D, et al. An integrated approach for modelling and global registration of point clouds[J]. Isprs Journal of Photogrammetry & Remote Sensing, 2007, 61(6):355-370.
[8] Hoover A, Jean-Baptiste G, Jiang X, et al. An experimental comparison of range image segmentation algorithms[J]. IEEE Trnasactions on Pattern Analysis & Machine Intelligence, 1996, 18(7):673-689.
[9] Atkinson K B. Close Range Photogrammetry and Machine Vision[J]. Empire Survey Review, 2001, 34(266):276-276.
[10] Park J, Zhou Q Y, Koltun V. Colored Point Cloud Registration Revisited[C]// IEEE International Conference on Computer Vision. IEEE Computer Society, 2017:143-152.
[11] Vongkulbhisal J, Torre F D L, Costeira J P. Discriminative Optimization: Theory and Applications to Point Cloud Registration[C]// IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2017:3975-3983.