[学习笔记-SLAM篇]视觉SLAM十四讲ch6

有些别的事情中断了学习,现在重新拾起来哈。
果然,很多事情还是一鼓作气的好,不然节奏会乱掉。

注:
1)学习视频:【高翔】视觉SLAM十四讲

第6讲

6.1 理论部分

本讲主要是状态估计的问题,大佬以非线性优化为主,也是现在视觉SLAM主流的方向。
此外,公式编辑的问题,有些量是向量或矩阵,但不太好加粗,所以以书上公式为主。
最后,太难了,高斯牛顿和L-M太难了,听都听不进去。

1)状态估计

  • 前面我们得到了运动方程( S E ( 3 ) SE(3) SE(3)描述【讲3】,李代数优化【讲4】)和观测方程(由针孔模型给定【讲5】),其中涉及到相机位姿 x x x、地标点 y y y(前2者合称位姿)、输入量 u u u、观测量 z z z。而如何由这2个方程获得我们需要的状态量,即如何由输入和观测量获得相机位姿和地标点,就是状态估计【讲6】)的工作;
  • 状态估计有2类方法:增量法(滤波器)和批量法(以非线性优化为主);
  • 非线性优化求状态估计,实际是求状态的条件概率分布,对应公式 P ( x , y ∣ z , u ) = P ( z , u ∣ x , y ) P ( x , y ) P ( z , u ) ∝ P ( z , u ∣ x , y ) P ( x , y ) P({x,y}|{z,u})=\frac{P({z,u}|{x,y})P(x,y)}{P(z,u)}\propto{P({z,u}|{x,y})P(x,y)} P(x,yz,u)=P(z,u)P(z,ux,y)P(x,y)P(z,ux,y)P(x,y),其中公式左边称为后验概率,右边 P ( z , u ∣ x , y ) P({z,u}|{x,y}) P(z,ux,y)称为似然 P ( x , y ) P(x,y) P(x,y)称为先验
  • 直接求后验分布很难,因此一般有2种方法。a)若有先验信息,求最大后验估计MAP ( x , y ) M A P ∗ = a r g m a x P ( x , y ∣ z , u ) = a r g m a x P ( z , u ∣ x , y ) P ( x , y ) (x,y)^*_{MAP}=argmaxP(x,y|z,u)=argmaxP(z,u|x,y)P(x,y) (x,y)MAP=argmaxP(x,yz,u)=argmaxP(z,ux,y)P(x,y),等价于似然和先验的乘积的最大值;b)若无先验信息,求最大似然估计MLE ( x , y ) M L E ∗ = a r g m a x P ( z , u ∣ x , y ) (x,y)^*_{MLE}=argmaxP(z,u|x,y) (x,y)MLE=argmaxP(z,ux,y),即确定什么状态下最可能产生现在的观测
  • 而实际情况中,无后验信息较多,因此大多使用最大似然估计,那么如何求最大似然估计呢,就引出了最小二乘问题。

2)最小二乘

  • 由于高斯噪声情况更简单,因此介绍最大似然估计时,以高斯噪声分布为例
  • 直接求最大似然估计,其含有乘法和指数项,且在多时刻(含有很多独立的运动和观测方程)数据处理时不容易。因此对其作负对数处理,将乘法变为加法,略去与状态无关的项,对某一时刻的最大似然估计,就变为求最小二次型项(二次型称为马氏距离);
  • 由运动方程和观测方程定义2种误差: e u , k = x k − f ( x k − 1 , u k ) e_{u,k}=x_k-f(x_{k-1},u_k) eu,k=xkf(xk1,uk) e z , j , k = z k , j − h ( x k , y j ) e_{z,j,k}=z_{k,j}-h(x_k,y_j) ez,j,k=zk,jh(xk,yj)。在非线性优化时,会处理批量时刻的数据,因此求所有数据的最大似然估计转换为求最小二乘(即误差和的最小值),对应公式 m i n J ( x , y ) = ∑ k e u , k T R k − 1 e u , k + ∑ k ∑ j e z , k , j T Q k , j − 1 e z , k , j minJ(x,y)=\sum_ke^T_{u,k}\pmb{R}^{-1}_ke_{u,k}+\sum_k\sum_je^T_{z,k,j}\pmb{Q}^{-1}_{k,j}e_{z,k,j} minJ(x,y)=keu,kTRRRk1eu,k+kjez,k,jTQQQk,j1ez,k,j
  • 最小二乘有线性非线性2种情况,若为线性则一般容易求解,不方便或非线性,一般用迭代的方法,将求解导函数为零变为寻找下降增量
  • 求下降增量,书中介绍了3种方法:1)梯度下降法;2)高斯牛顿法;3)列文伯格-马夸尔特法;
  • 梯度下降法。简单来说就2条,一阶梯度最速下降,二阶梯度牛顿法。但都有相应的问题,最速下降有zigzag(贪婪)问题,牛顿法的海塞矩阵太难,所以一般高斯牛顿和列文伯格-马夸尔特法更实用一点;
  • 高斯牛顿法。用 J J T JJ^T JJT近似替代海塞矩阵,核心变为求解增量方程
  • 列文伯格-马夸尔特法

6.2 实践部分

待续ing

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值