Visual SLAM的BA问题:增加robust kernel

LS目标函数:
g ( t ) = 1 2 ∑ < i , j > ∈ G ρ ( f i j ⊤ Ω i j f i j ) g(\mathbf{t}) = \frac{1}{2} \displaystyle \sum_{<i,j> \in G} \rho \left(\mathbf{f}_{ij}^\top \mathbf{\Omega}_{ij} \mathbf{f}_{ij} \right) g(t)=21<i,j>∈Gρ(fijΩijfij)

ρ ( x ) \rho(x) ρ(x) 是一robust kernel 函数,用于限制测量误差的取值,避免由于outlier导致的测量误差非常大时对优化结果的消极影响。

常用的 ρ ( x ) \rho(x) ρ(x)

  • huber kernel:
    ρ ( x ) = { x 0 ≤ x < δ 2 δ ( x − δ 2 ) x ≥ δ \rho(x) = \begin{cases} x & 0 \le x \lt \delta \\ 2 \delta (\sqrt{x} - \frac{\delta}{2}) & x \ge \delta \end{cases} ρ(x)={x2δ(x 2δ)0x<δxδ

ρ ′ ( x ) = { 1 0 ≤ x < δ δ x x ≥ δ \rho^\prime(x) = \begin{cases} 1 & 0 \le x \lt \delta \\ \frac{\delta}{\sqrt{x}} & x \ge \delta \end{cases} ρ(x)={1x δ0x<δxδ

ρ ′ ′ ( x ) = { 0 0 ≤ x < δ − 1 2 δ ( x ) 3 x ≥ δ \rho^{\prime\prime}(x) = \begin{cases} 0 & 0 \le x \lt \delta \\ - \frac{1}{2}\frac{\delta}{(\sqrt{x})^3} & x \ge \delta \end{cases} ρ′′(x)={021(x )3δ0x<δxδ

w i j = ρ ′ ( f i j ⊤ Ω i j f i j ) w_{ij} = \rho^\prime\left(\mathbf{f}_{ij}^\top \mathbf{\Omega}_{ij} \mathbf{f}_{ij} \right) wij=ρ(fijΩijfij),
H = ∑ < i , j > ∈ G J i j ⊤ ( w i j Ω i j ) J i j \mathbf{H} = \displaystyle \sum_{<i,j> \in G} \mathbf{J}_{ij}^\top \left(w_{ij} \mathbf{\Omega}_{ij}\right) \mathbf{J}_{ij} H=<i,j>∈GJij(wijΩij)Jij

b = ∑ < i , j > ∈ G J i j ⊤ ( w i j Ω i j ) f i j \mathbf{b} = \displaystyle \sum_{<i,j> \in G} \mathbf{J}_{ij}^\top \left(w_{ij} \mathbf{\Omega}_{ij}\right) \mathbf{f}_{ij} b=<i,j>∈GJij(wijΩij)fij

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值