Fast Global Registration 快速全局配准


在这里插入图片描述

本文出自CSDN点云侠,爬虫自重,把自己当个人。

1、算法过程

  Fast Global Registration算法利用四元约束剔除匹配的关系集中错误的关系对,最后基于关系集优化求解实现两组点云的配准。该算法主要分为三个步骤:基于四元约束的关系集的生成、基于关系集目标函数的构建、目标函数的优化过程。

2、基于四元约束关系集的生成

  基于四元约束的关系集的生成,主要分为四个阶段: 点集的FPFH 特征描述子的计算、初始关系集的生成、关系集的互为最近邻约束、关系集的四元约束。

  1. 点集的FPFH 特征描述子的计算: 使用快速特征直方图( FPFH) 用于描述每个点的特征信息。之所以选择这个特征描述子,是因为它可以在短时间内快速计算,同时可以获取特征点周围领域内更多的特征信息。
  2. 初始关系集的生成: 对于点云 P P P 中的每个点 p ∈ P p∈P pP,在特征集合 F ( Q ) F( Q) F(Q) 中找到 F ( p ) F( p) F(p) 的最近邻,并且对于点云 Q Q Q 中的每个 q ∈ Q q∈Q qQ,考虑在 F ( P ) F( P) F(P) 中找到 F ( q ) F( q) F(q) 的最近邻。将上述步骤生成的初始关系对存储到集合 K 1 K_1 K1中。这个关系集 K 1 K_1 K1可以作为输入在目标函数优化过程中被使用。而实际上, K 1 K_1 K1具有非常多的错误匹配点对( 也即有很高的异常值) 。接下来,通过对关系集进行约束优化来降低关系集 K 1 K_1 K1的错误关系对,减少异常值数量。
  3. 关系集的互为最近邻束: 对于上一步生成的关系集合 K 1 K_1 K1,随机从中挑选一组关系对 ( p , q ) ( p,q) (pq) ,当且仅当在 F ( P ) F( P) F(P) 中, F ( p ) F( p) F(p) F ( q ) F( q) F(q) 的最近邻,同时在 F ( Q ) F( Q) F(Q) 中, F ( q ) F( q) F(q) F ( p ) F( p) F(p) 的最近邻。对于满足互为最近邻约束的关系对 ( p , q ) ( p,q) (pq) ,将其存储到集合 K 2 K_2 K2中。
  4. 关系集的四元约束: 为了减少关系集合 K 2 K_2 K2中错误的匹配点对对实验的影响,考虑对 K 2 K_2 K2增加进一步的约束,随机从 K 2 K_2 K2中选取4 组关系对 ( p 1 , q 1 ) , ( p 2 , q 2 ) , ( p 3 , q 3 ) , ( p 4 , q 4 ) ( p_1,q_1) ,( p_2,q_2) ,( p_3,q_3) ,(p_4,q_4) (p1q1)(p2q2)(p3q3)(p4q4),检查四元组 ( p 1 , p 2 , p 3 , p 4 ) ( p_1,p_2,p_3,p_4) (p1p2p3p4) ( q 1 , q 2 , q 3 , q 4 ) ( q_1,q_2,q_3 ,q_4) (q1q2q3q4) 的兼容性。具体来说,四组关系对是否符合以下条件:
    在这里插入图片描述

其中 τ = 0.95 τ = 0. 95 τ=0.95。直观地,该约束条件验证了四组关系对之间是否兼容。把满足条件的元组关系对存储到集合 K 3 K_3 K3中。图1 为四元约束图解。
在这里插入图片描述
经过上述两个条件约束后得到关系集 K = K 3 K = K_3 K=K3

3、基于关系集目标函数的构建

  点云 P P P Q Q Q 的配准,目标是找到一个最优的刚性变换矩阵 T T T,将点云 Q Q Q P P P 配准。算法优化了基于 P P P Q Q Q 之间对应关系的鲁棒的目标函数。首先,关系集是通过执行的快速特征匹配和关系约束建立而来的。在目标函数的优化期间,关系集不需要重新进行计算,因此对于密集和复杂的点云的配准,算法有很大的优势。
  集合 K = ( p , q ) K = { ( p ,q) } K=(pq)是由 P P P Q Q Q 中的匹配点生成的关系集,以关系集中对应关系对之间误差的平方和为条件建立目标函数。目标函数具体形式如下:
在这里插入图片描述
  这里 ρ ( ⋅ ) ρ(·) ρ() 是一个鲁棒的惩罚函数。鲁棒的惩罚函数的适当使用是非常重要的,因为目标函数( 2)中的许多误差项是由错误匹配关系产生的,这样可以减小错误关系对目标函数的影响,从而实现更好的配准精度。同时,为了保证计算速度,在优化过程中不希望进行下采样和验证等额外的计算。本文精心选择一个名为Geman - McClure 估计算子 ρ ρ ρ,它将自动执行验证,同时也不会增加额外的计算成本。具体的表达式为:
在这里插入图片描述
在这里插入图片描述

  图2 显示了不同 μ μ μ 值的Geman - McClure 估计算子图像。从图2 可以看出,残差以最小二乘的方式进行惩罚,同时估计算子的快速平坦化中和了关系集的异常值。参数 μ μ μ 控制着残差对目标函数所产生的重要影响。
  因为方程( 2) 不易直接进行优化求解,所以引入线处理。具体来说,令 L = l p , q , 0 < l p , q < 1 L = { lp ,q} ,0 <lp ,q < 1 L=lpq0lpq1 ,线处理表示关系对 p p p q q q 之间的一种不连续性,当 l p , q → 0 lp,q →0 lpq0 不连续性存在,或者当 l p , q → 1 lp,q →1 lpq1 不连续性不存在。优化关于 T T T L L L 的联合目标函数,具体形式如下:
在这里插入图片描述

  这里的 Ψ ( l p , q ) Ψ( lp,q) Ψ(lpq) 是先验项,它一个惩罚函数,表示对 p p p q q q 之间不连续性的惩罚,其形式为:
在这里插入图片描述
为了使得 E ( T , L ) E( T,L) E(TL) 最小化,对方程( 5) 关于 l p , q lp,q lpq求偏导,令其导函数为零,得到如下式子:
在这里插入图片描述

求解 l p , q lp,q lpq,计算结果如下:
在这里插入图片描述

最后,将 l p , q lp,q lpq带入 E ( T , L ) E( T,L) E(TL) 中,方程( 4) 变换成方程( 2) 。因此,优化目标函数( 4) 产生的变换矩阵 T T T,对于最初的目标函数( 2) 也是最优解。

扫描二维码关注公众号,回复: 15745898 查看本文章

  方程( 4) 是非凸的,并且其形状由惩罚函数( 方程( 3) ) 的参数 μ μ μ 来控制。为了设置 μ μ μ 并减少局部最小的影响,采用渐变非凸度方法求解。从方程( 4) 可以看出 μ μ μ 平衡先验项和对齐项。较大的 μ μ μ 使得目标函数更平滑,并且允许一些错误的关系对参与优化,即使它们不能经过转换 T T T 紧密地对齐。本文算法的目标函数( 4) 优化开始于非常大的 μ = D 2 μ = D^2 μ=D2值,其中 D D D 是最大曲面的直径。参 μ μ μ在优化期间不断减小直到 μ < δ 2 μ < δ^2 μδ2停止优化,其中 δ δ δ是真实关系的距离阈值。

4、目标函数的优化

  将变换矩阵T 局部地线性化为一个6 维向量 ξ = ( w , t ) = ( α , β , γ , a , b , c ) ξ=(w,t)=(\alpha,\beta,\gamma,a,b,c) ξ=(w,t)=(α,β,γ,a,b,c)该向量包含了旋转分量 w w w和平移分量 t t t T T T ξ ξ ξ的线性函数近似求得:
在这里插入图片描述

  这里 T k T^k Tk是在上一次迭代中所求的变换矩阵。方程( 4) 变成关于 ξ ξ ξ 的最小二乘的目标函数。考虑使用高斯- 牛顿法求解,通过求解线性系统来计算 ξ ξ ξ 的值,得到:
在这里插入图片描述
  其中 r r r 是残差向量, J r Jr Jr是其雅可比矩阵。利用方程( 9) 求得的 ξ ξ ξ T k T^k Tk 的值,通过方程( 8) 来更新 T T T。两个步骤优化了相同的目标函数( 方程( 4) ) ,因此优化过程可以保证算法收敛本文算法的流程图如表1 所示。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_36686437/article/details/131768327