g2o中的核函数

g2o中的核函数

ρ ( x ) = { x 2 , x ≤ b 很多不同的形式 , x > b \rho(x) = \begin{cases} x^{2} ,x\le b \\ 很多不同的形式, x> b \end{cases} ρ(x)={x2,xb很多不同的形式,x>b
作用对象是:
x = e k Ω k e k x = \sqrt{e_k \Omega_ke_k } x=ekΩkek
其中 e k e_k ek是误差, Ω k \Omega_k Ωk是信息矩阵。
最终作用是限制误差较大的edge对最终优化结果的影响.实现方法是设置第 e k e_k ek误差的权重
w k = ρ ( e k Ω k e k ) ∣ ∣ e k Ω k e k ∣ ∣ w_k =\frac{\sqrt{\rho(e_k \Omega_ke_k) }}{||e_k \Omega_ke_k||} wk=∣∣ekΩkek∣∣ρ(ekΩkek)

RobustKernelHuber函数

g2o中的class名称:
class RobustKernelHuber : public RobustKernel
公式:
{ ρ ( x ) = x 2 , x ≤ b ρ ( x ) = 2 b ∣ x ∣ − b 2 , x > b \begin{cases} & \rho(x) = x^{2} ,x\le b \\ & \rho(x)= 2b|x|-b^2, x> b \end{cases} {ρ(x)=x2,xbρ(x)=2bxb2,x>b
使用:

g2o::RobustKernelHuber *rk = new g2o::RobustKernelHuber;//定义核函数
rk->setDelta(thHuberMono);//设置核函数Delta e也就是公式中的b
e->setRobustKernel(rk);//将核函数添加到g2o的edge
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值