参考论文: Adaptive Robust Kernels for Non-Linear Least Squares Problems
本论文针对slam中的后端非线性优化设计了一个自适应的核函数。
1, 常用核函数
核函数可用来处理outliar, 在优化中给,残差较大的可视为有更大的概率是outliar, 优化过程中会被赋予更小的权重。 常用的核函数有pseudo-Huber/L1-L2, Cauchy, Geman-McClure, Welsh. 常用的核函数:
这几个核函数 可以写成一个通用的形式:
比如,
pseudo-Huber/L1-L2 (
α
\alpha
α = 1); squared/L2 loss (
α
\alpha
α = 2); Cauchy (
α
\alpha
α = 0); GemanMcClure (
α
\alpha
α = −2), and Welsh (
α
\alpha
α = −∞).
有了这个通用的表示方法, 就可以通过自适应调节
α
\alpha
α的值来选择相应的核函数了。
在该通用核函数的基础上提出一个概率分布函数(为何可以得到该概率分布函数):
注意到上式的积分区间,意味着这是一个截断函数, 据此可定义一个截断损失鲁棒核函数:
求解: 利用EM算法进行求解, 首先求得使P(r,
α
\alpha
α c)概论最大的
α
\alpha
α值,然后用高斯牛顿等常用的优化求解方法估计出状态量。
算法的大致思路如上, 本论文从非线性优化中的核函数角度出发, 自适应地选择核函数,具体细节还请详见论文。