视觉SLAM十四讲-第四讲笔记

不想你离开。 提交于 2019-12-02 05:56:45

视觉SLAM14讲-第四讲笔记

优化问题

为什么使用李代数:实际SLAM中,相机位姿R,T未知,需要进行估计,估计的过程可以看做最小误差的优化问题。由于旋转矩阵和变换矩阵有约束(正交、det=1),难以优化。转换成李代数,可以从有约束优化问题转变为无约束优化问题。

对于相机位姿T,观察到世界坐标系上的点P,在噪声w下,得到观测数据z。

  • z=Tp+w

得到误差:

  • e=z-Tp

对于n个点,要估计位姿T,即找到最优的T,似的误差∑e最小化。

  • minJ(T)=∑e=∑(z-Tp)

J为T的函数,要优化,则要计算J关于T的导数。R、T是群,没有良好的定义加法,作为普通矩阵则有约束。转为李代数,则有良好定义的加法,无约束。

  • 群:只对一种运算封闭。封结幺逆
    • 旋转矩阵和变换矩阵属于SO(3)和SE(3)群,它们对乘法封闭,对加法不封闭。
  • 李群:在群基础上连续。

李代数

  • ^:向量——>反对称矩阵
  • ˇ:反对称矩阵——>向量

李代数的定义

每个李群都有与之对应的李代数,描述了李群的局部性质(导数关系,可以表达李群中矩阵的的导数)。

组成:

  • 集合V
  • 数域F
  • 二元运算

李代数SO(3)_

哥特体打不出,用SO(3)_代表李代数,SO(3)代表李群

SO(3)_:3*1的向量。记为φ。φ对应的反对称矩阵,记为Φ。

** SO(3)中的元素是旋转矩阵R,旋转矩阵不一定是反对称矩阵。对应的李代数是三维向量φ。φ对应反对称矩阵Φ。即:Φ不是SO(3)。**

对应关系(指数映射与对数映射):
R=exp(φ^) 。

李代数SE(3)_

ξ=[ρ,φ]’。

  • ρ:三维向量,平移。
  • φ:三维向量:旋转,SO(3)_的元素。

李群和李代数的转换

  • 李群=指数映射(李代数)
  • 李代数=对数映射(李群)
  • 李群与李代数对应:一对多。

SO(3)上

通过泰勒展开推导。

指数映射

  • φ=θa
    • 使用旋转向量表示SO(3)_中的向量ã‚
  • R=exp(φ)=exp(θa)

推导得:
R=exp(θa)=cosθI+(1-cosθ)aa’+sinθa

即:

  • SO(3)_是旋转向量组成的空间
  • 指数映射是罗德里格斯公式(旋转向量到旋转矩阵的转换公式)。

对数映射

即旋转矩阵到旋转向量的映射。可通过泰勒推导得公式,也可分别计算转角和转轴。

SE(3)上

指数映射

T=exp(ξ^)=[R,Jρ,0’,1] ∈2*2

平移向量ρ经过指数映射,变为Jρ。
J可以通过φ计算得到。

对数映射

从T到ξ的映射,旋转向量φ=θa可以通过R计算得到,平移向量ρ可以通过解线性方程组(t=Jρ,t为T右上部分)得到。

李代数求导

BCH公式

目的:研究李群上两个矩阵相乘,与李代数上两个向量的加法的关系。

BHC公式:ln(exp(A)exp(B))=A+B+[……]

  • A、B:李代数中向量(φ1,φ2)对应的反对称矩阵

两个李代数指数映射的乘积等于其相加再加上余项[……]。

可以近似得到:

  • φ1很小时
    • 左扰动:对R2左乘扰动R1。

ln(exp(φ1)exp(φ2))ˇ=Jl(φ2)^-1φ1+φ2

  • φ2很小时:
    • 右扰动:对R1右乘扰动R2。

ln(exp(φ1)exp(φ2))ˇ=Jr(φ1)^-1φ2+φ1

此处左Jl即为SE(3)_指数映射中J的计算。右扰动Jr(φ)=Jl(-φ)。

求导模型

使用李代数表示相机姿态,根据李代数加法对李代数求导。

对于∂(Rp)/∂R,转为李代数,计算∂(exp(φ^)p)/∂φ。
可得:

  • ∂(Rp)/∂R=(-Rp)^Jl。

扰动模型

对李群左乘或右乘微小扰动φ_,对扰动求导。

  • 左乘:∂(Rp)/∂φ_=-(Rp)^

SE(3)上李代数求导

求导后,齐次坐标的点变为4*6的矩阵。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!