SAM推导(2)

Micheal Kaess,Ananth Ranganathan,Frank Dellaert, iSAM:Incremental Smoothing and Mapping,IEEE

QR分解和Cholesky分解

  之前的推导将SLAM问题的最大后验估计通过取负对数,转化成最小二乘问题,后来又通过线性化转换成线性最小二乘问题,整理变形后得到下面的形式 θ ∗ = a r g max ⁡ θ ∥ A θ − b ∥ 2 2 \theta^*=arg\max_\theta \Vert A\theta-b\Vert^2_2 θ=argθmaxAθb22如果采用Cholesky分解,就是对上式求导,令导数为0,得到 A T A θ = A T b A^TA\theta=A^Tb ATAθ=ATb,对 A T A A^TA ATA进行Cholesky分解。这样求解,会对矩阵条件数 A T A A^TA ATA进行开方。
  为了避免开方,采用对量测雅可比矩阵 A A A进行QR分解,即 A = Q [ R 0 ] A=Q\begin{bmatrix}R\\0\end{bmatrix} A=Q[R0]其中, R ∈ R n × n R\in \mathbb{R}^{n\times n} RRn×n是上三角平方根信息矩阵(存在 R T R = A T A R^TR=A^TA RTR=ATA), Q ∈ R m × m Q\in \mathbb{R}^{m\times m} QRm×m是正交矩阵。将这个QR分解代入上面的最小二乘问题,得到 ∥ A θ − b ∥ 2 2 = ∥ Q [ R 0 ] θ − b ∥ 2 2 = ∥ Q T Q [ R 0 ] θ − Q T b ∥ 2 2 = ∥ [ R 0 ] θ − [ d e ] ∥ 2 2 = ∥ R θ − d ∥ 2 + ∥ e ∥ 2 \begin{aligned} \Vert A\theta -b\Vert _2^2 =& \Vert Q\begin{bmatrix}R\\0\end{bmatrix} \theta-b\Vert _2^2\\ =& \Vert Q^TQ\begin{bmatrix}R\\0\end{bmatrix} \theta-Q^Tb\Vert _2^2\\=&\Vert \begin{bmatrix}R\\0\end{bmatrix} \theta-\begin{bmatrix}d\\e\end{bmatrix}\Vert _2^2\\=&\Vert R\theta -d\Vert ^2 +\Vert e\Vert ^2 \end{aligned} Aθb22====Q[R0]θb22QTQ[R0]θQTb22[R0]θ[de]22Rθd2+e2其中, [ d , e ] T = Q T b [d,e]^T=Q^Tb [d,e]T=QTb d ∈ R n d\in \mathbb{R}^n dRn e ∈ R m − n e\in \mathbb{R}^{m-n} eRmn。对上式取最小值,当且仅当 R θ = d R\theta=d Rθ=d时上式取得最小值 ∥ e ∥ 2 \Vert e\Vert^2 e2
  通过QR分解将最小二乘问题转化成具有唯一解的线性问题 R θ ∗ = d R\theta^*=d Rθ=d

Incremental Smoothing and Mapping

  矩阵 A A A的QR分解可以使用Givens Rotations将对角线下的元素转化成0,从而得到上三角矩阵 R R R,不断左乘的正交矩阵或者说Givens Rotations的累乘得到矩阵 Q Q Q Q Q Q一般是稠密的。
  当新的量测到来时,比起更新、再分解矩阵 A A A,通过QR-updating直接修正之前的分解是更有效的。假设增加一行新的量测 [ Q T 1 ] [ A w T ] = [ R w T ] , n e w R H S : [ d γ ] \begin{bmatrix}Q^T&\\ &1\end{bmatrix}\begin{bmatrix}A\\w^T\end{bmatrix}=\begin{bmatrix}R\\w^T\end{bmatrix},new RHS:\begin{bmatrix}d\\\gamma\end{bmatrix} [QT1][AwT]=[RwT],newRHS:[dγ]其中, A = Q R → Q T A = Q T Q R = R A=QR\to Q^TA=Q^TQR=R A=QRQTA=QTQR=R w T w^T wT是新增的量测, γ \gamma γ是新增的RHS。对于上式加入一行新的量测后,仍然可以等式两端左乘Givens Rotations,将矩阵 R R R转化为上三角矩阵,这样就是实现了新的矩阵 A ′ A' A的QR分解。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值