Fast Global Registration
1. 配准问题的目标函数:
其中
ρ
\rho
ρ
取为带缩放系数的Geman-McClure函数:
它表示一种对误差的测量,相比于均匀方误差具有更好的抗噪性.当其中参数
μ
\mu
μ
较大时,
ρ
(
x
)
\rho(x)
ρ
(
x
)
受较大范围的自变量变化影响,而随着
μ
\mu
μ
的减小
ρ
(
x
)
\rho(x)
ρ
(
x
)
将更容易受到较小
x
x
x
的影响,从而将距离较大的匹配点对作为异常点(outlier)无效化.
2. 目标函数的高效优化方法:
通过将线过程(Line Pricess)与稳健统计(Robust Statistics)相结合给出了求解目标函数的方法
其中,
Ψ
(
l
p
,
q
)
\Psi(l_{p,q})
Ψ
(
l
p
,
q
)
是一个先验函数,取为:
为了优化
E
(
T
,
L
)
)
E(T,\mathbb{L}))
E
(
T
,
L
)
)
首先将它关于
l
p
,
q
l_{p,q}
l
p
,
q
求偏导
得到:
其中
T
T
T
使用当前迭代步的值而被视为固定项,从
l
p
,
q
l_{p,q}
l
p
,
q
的表达式中可以看出,当前迭代步中最优的
l
p
,
q
l_{p,q}
l
p
,
q
与两片点云对应点的距离反相关,从而作为该对应点的权重项趋向于将错误匹配的点对无效化。
3. 优化:
接下来将权重
l
p
,
q
l_{p,q}
l
p
,
q
视为固定值,目标函数变成了对应点之间距离的
L
2
L^2
L
2
惩罚的加权总和。对
T
T
T
进行优化,可以使用封闭解SVD直接求解,然而由于优化过程中初始迭代步中的源点云和目标点云具有较大噪声且
l
p
,
q
l_{p,q}
l
p
,
q
随着优化不断变化,SVD方法在不同迭代步中会解得剧烈变化的结果,而严重偏离目标的空间变换会产生错误估计的
l
p
,
q
l_{p,q}
l
p
,
q
,从而使算法收敛至错误结果[2]。因此使用使用梯度下降法迭代求解而非利用闭形式求解。
将
T
T
T
线性化表达为:
T
T
T
近似为的线性函数:
由于旋转
T
k
T^k
T
k
是已知量,于是利用Gauss-Newton方法,
ξ
\xi
ξ
可以通过求解如下线性方程组得到:
其中,
r
r
r
是剩余向量,
J
r
J_r
J
r
是它的Jacobian.
4.对应点寻找:
使用FPFH对特征点进行描述,然后根据最近点原则寻找correspondence,然后根据互为对应点原则Reciprocity test.和Tuple test剔除一些outlier.
5.文章的扩展算法:
张琮毅[2]等人以这个算法为框架,在目标函数添加了尺度因子进行结算,提出了一种尺度可变的快速全局点云配准方法:
参考文献:1.《Fast Global Registration》Qian-Yi Zhou Jaesik Park Vladlen Koltun
2. 《尺度可变的快速全局点云配准方法》张琮毅等。代码:https://github.com/Zcynical/UrbanReg
辅助资料:高斯牛顿法详解:https://blog.csdn.net/qq_42138662/article/details/109289129