视觉SLAM基础——李群与李代数

1. 定义

旋转矩阵构成了特殊正交群 S O ( 3 ) SO(3) SO(3),齐次变换矩阵构成了特殊欧氏群 S E ( 3 ) SE(3) SE(3),但是旋转矩阵和变换矩阵对于加法是不封闭的,也就是两个旋转矩阵的和不再是一个旋转矩阵。这导致了很难对旋转矩阵进行直接求导,由此需要引入李代数。旋转矩阵R构成了一种李群 S O ( 3 ) SO(3) SO(3),即
S O ( 3 ) = { R ∈ R 3 × 3 ∣ R R T = I , d e t ( R ) = 1 } SO(3)=\{R\isin\reals^{3{\times}3}| RR^T=I,det(R)=1\} SO(3)={RR3×3RRT=I,det(R)=1}
其对应的李代数为定义在 R 3 \R^3 R3空间中的向量 ϕ \bm\phi ϕ,即
s o ( 3 ) = { ϕ ∈ R 3 , Φ = ϕ ∧ ∈ R 3 × 3 } so(3)= \{\bm \phi\isin\R^3,\varPhi=\bm\phi^{\land}\isin\R^{3\times3}\} so(3)={ϕR3,Φ=ϕR3×3}
其中 Φ \varPhi Φ ϕ \bm\phi ϕ向量对应的反对称矩阵。

2. 指数映射和对数映射

  • 指数映射
    是指把李代数转换为李群,旋转矩阵的李代数本质上就是旋转向量,因此与旋转向量转换为旋转矩阵是一样的,即使用罗德里格斯公式进行转换:
    R = e x p ( ϕ ∧ ) = e x p ( θ a ∧ ) = c o s θ I + ( 1 − c o s θ ) a a T + s i n θ a ∧ \bm R=exp(\bm\phi^{\land})=exp(\theta\bm a^{\land})=cos\theta\bm I+(1-cos\theta)\bm a\bm a^T+sin\theta\bm a^{\land} R=exp(ϕ)=exp(θa)=cosθI+(1cosθ)aaT+sinθa
    其中 θ \theta θ a \bm a a分别为向量 ϕ \bm\phi ϕ的模和方向。
  • 对数映射
    是指把旋转对应的李群转换为李代数,即旋转矩阵转换为旋转向量。
    旋转向量的大小为: θ = a r c c o s t r ( R ) − 1 2 \theta=arccos \frac {tr(\bm R)-1} {2} θ=arccos2tr(R)1
    根据旋转轴上的向量在旋转后不变的性质,可得方向为旋转矩阵特征1对应的特征向量的方向。
    每个旋转矩阵都对应一个旋转向量,但因为旋转具有周期性,可能多个旋转向量对应一个旋转矩阵,在 − π -\pi π + π +\pi +π之间(一个旋转周期内)两者是一一对应的。

3. 李代数求导与扰动模型

  • BCH近似
    两个旋转矩阵(李群)相乘是否与对应的两个旋转向量(李代数)相加等同,答案是并不等同,两个旋转矩阵相乘后的对数映射(李代数)等于对应的两个旋转向量相加后再加上一些由李括号组成的余项,如果忽略二次及以上的余项,可以得到线性的近似公式BCH:
    ln ⁡ ( exp ⁡ ( ϕ 1 ∧ ) exp ⁡ ( ϕ 2 ∧ ) ) ∨ ≈ { J l ( ϕ 2 ) − 1 ϕ 1 + ϕ 2  当  ϕ 1  为小量,  J r ( ϕ 1 ) − 1 ϕ 2 + ϕ 1  当  ϕ 2  为小量.  \begin{array}{c} \ln \left(\exp \left(\phi_{1}^{\wedge}\right) \exp \left(\phi_{2}^{\wedge}\right)\right)^{\vee} \approx\left\{\begin{array}{ll} \bm J_{l}\left(\phi_{2}\right)^{-1} \phi_{1}+\phi_{2} & \text { 当 } \phi_{1} \text { 为小量, } \\ \boldsymbol{J}_{r}\left(\phi_{1}\right)^{-1} \phi_{2}+\phi_{1} & \text { 当 } \phi_{2} \text { 为小量. } \end{array}\right. \end{array} ln(exp(ϕ1)exp(ϕ2)){Jl(ϕ2)1ϕ1+ϕ2Jr(ϕ1)1ϕ2+ϕ1  ϕ1 为小量  ϕ2 为小量 J l = J = sin ⁡ θ θ I + ( 1 − sin ⁡ θ θ ) a T + 1 − cos ⁡ θ θ a ∧ \boldsymbol{J}_{l}=\boldsymbol{J}=\frac{\sin \theta}{\theta} \boldsymbol{I}+\left(1-\frac{\sin \theta}{\theta}\right) \boldsymbol{a}^{\mathrm{T}}+\frac{1-\cos \theta}{\theta} \boldsymbol{a}^{\wedge} Jl=J=θsinθI+(1θsinθ)aT+θ1cosθa J l − 1 = θ 2 cot ⁡ θ 2 I + ( 1 − θ 2 cot ⁡ θ 2 ) a a T − θ 2 a ∧ \boldsymbol{J}_{l}^{-1}=\frac{\theta}{2} \cot \frac{\theta}{2} \boldsymbol{I}+\left(1-\frac{\theta}{2} \cot \frac{\theta}{2}\right) \boldsymbol{a} \boldsymbol{a}^{\mathrm{T}}-\frac{\theta}{2} \boldsymbol{a}^{\wedge} Jl1=2θcot2θI+(12θcot2θ)aaT2θa J r ( ϕ ) = J l ( − ϕ ) \bm J_r(\phi)=\bm J_l(-\phi) Jr(ϕ)=Jl(ϕ)
  • 旋转求导
    对于某个旋转矩阵 R R R(对应的李代数为 ϕ \bm\phi ϕ)进行微小的扰动,扰动量为 Δ R \Delta R ΔR(对应的李代数为 Δ ϕ \Delta\bm\phi Δϕ),如果在李群上进行左扰动,这对应了左乘的扰动模型,根据BCH近似公式,可得: e x p ( Δ ϕ ∧ ) e x p ( ϕ ∧ ) ≈ e x p ( ( ϕ + J l − 1 ( ϕ ) Δ ϕ ) ∧ ) exp(\Delta\bm\phi^{\land})exp(\bm\phi^{\land})\approx exp((\bm\phi+\bm J^{-1}_l(\bm\phi)\Delta\bm\phi)^{\land}) exp(Δϕ)exp(ϕ)exp((ϕ+Jl1(ϕ)Δϕ))如果在李群上进行右扰动,这对应了右乘的扰动模型,根据BCH近似公式,可得: e x p ( ϕ ∧ ) e x p ( Δ ϕ ∧ ) ≈ e x p ( ( ϕ + J r − 1 ( ϕ ) Δ ϕ ) ∧ ) exp(\bm\phi^{\land})exp(\Delta\bm\phi^{\land})\approx exp((\bm\phi+\bm J^{-1}_r(\bm\phi)\Delta\bm\phi)^{\land}) exp(ϕ)exp(Δϕ)exp((ϕ+Jr1(ϕ)Δϕ))如果直接在李代数上进行加法,这对应了李代数的求导,根据BCH近似公式,可得:
    e x p ( ( ϕ + Δ ϕ ) ∧ ) ≈ e x p ( ( J l Δ ϕ ) ∧ ) e x p ( ϕ ∧ ) ≈ e x p ( ϕ ∧ ) e x p ( ( J r Δ ϕ ) ∧ ) exp((\bm\phi+\Delta\bm\phi)^{\land})\approx exp((\bm J_l\Delta\bm\phi)^{\land})exp(\bm\phi^{\land})\approx exp(\bm\phi^{\land}) exp((\bm J_r\Delta\bm\phi)^{\land}) exp((ϕ+Δϕ))exp((JlΔϕ))exp(ϕ)exp(ϕ)exp((JrΔϕ))总结,对于旋转的求导,有李代数求导和左右扰动模型三种方式,常使用扰动模型进行求导,在求导时候可能还需要用到李群和李代数的一些性质,具体有:
    伴随性质 R T e x p ( ϕ ∧ ) R = e x p ( ( R T ϕ ) ∧ ) R^Texp(\bm\phi^{\land})R=exp((R^T\bm\phi)^{\land}) RTexp(ϕ)R=exp((RTϕ)) R e x p ( ϕ ∧ ) R T = e x p ( ( R ϕ ) ∧ ) Rexp(\bm\phi^{\land})R^T=exp((R\bm\phi)^{\land}) Rexp(ϕ)RT=exp((Rϕ)) R T ϕ ∧ R = ( R T ϕ ) ∧ R^T\bm\phi^{\land}R=(R^T\bm\phi)^{\land} RTϕR=(RTϕ) R ϕ ∧ R T = ( R ϕ ) ∧ R\bm\phi^{\land}R^T=(R\bm\phi)^{\land} RϕRT=(Rϕ)
    李群的逆等于对应李代数取负,即: ( e x p ( ϕ ∧ ) ) − 1 = e x p ( − ϕ ∧ ) (exp(\bm\phi^\land))^{-1}=exp(-\bm\phi^\land) (exp(ϕ))1=exp(ϕ)
    在求导时李群可以进行一阶泰勒展开,即: e x p ( ϕ ∧ ) ≈ I + ϕ ∧ exp(\bm\phi^\land)\approx I+\bm\phi^\land exp(ϕ)I+ϕ
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

考拉AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值