视觉slam十四讲 pdf_视觉SLAM十四讲|第4讲 李群与李代数

75a317e9ac29c533a727ab773def16e9.png

一天开两篇,我真是个勤劳的小公举,给自己撒花花

这一章也是在做知识储备,群是把第三章的矩阵升华了一下,引入李代数是因为群不能求导。第一遍看视频看的半懂不懂,重新过一遍书之后就清晰了。

1. 李群

群(Group)是一种集合加上一种运算的代数结构。

翻译:

“代数结构”:这个词表达了群的抽象,就是摸不着看不见,还有各种形式,就像抽象函数f(x),可以是二次函数、指数函数,只要符合规定就行。

“一种集合加上一种运算”:这里面给出了两个限制条件,集合和运算,就是群这个东西必须建立在集合上,元素之间必须可以运算。至于哪个集合哪种运算,don't care,只要符合规定就行。

把集合记作A,运算记作

,那么群可以记作G(A,
)。这里面的点表示任意满足条件的运算。要满足的条件如下:

b2b6d3267eac1325404ae77c825cd32e.png
图-群条件

根据这个条件,可以发现旋转矩阵,变换矩阵都可以称为群。

  • 旋转矩阵——特殊正交群(SO(3)),
  • 变换矩阵——特殊欧式群(SE(3)),如公式(4.2)所示。

6f5781f580a4156013762af4ea15504d.png
公式(4.2)
李群是指具有连续(光滑)性质的群。

SO(3)和SE(3)都是李群,并且在这两个群里面,只定义了乘法,没定义加法,所以不能求导。

2. 李代数

每个李群都有与之对应的李代数。李代数由一个集合V,一个数域F和一个二元运算[,]组成。

翻译:

“每个李群都有与之对应的李代数”:李群和李代数之间有座桥,可以相互转化,但并没说是一对一的关系。

“二元运算[,]”:也称为李括号,李代数的运算在形式上已经被规定好了,但是具体的李括号怎么算需要按照条件定义。

李代数要满足的条件:

89a9d02de9a4fb855f7861e6fce141e7.png
图-李代数条件

三维向量中的叉积是一种李括号,所以

是一种李括号。

证明:

封闭性:两个3维向量的叉积还是一个3维向量

双线性:

自反性:

雅可比等价:下面三个式子相加可以得到0

2.1 李群SO(3)的李代数so(3)

SO(3)对应的李代数是定义在

的向量,记做
,并且
。这里定义一个新符号
,表示把反对称矩阵转化为向量,也就是
.

给出李括号

.

然后就可以说

是SO(3)对应的李代数。

2.2 李群SE(3)的李代数se(3)

变换矩阵要表示平移和旋转,在李代数中每个元素用

表示,其中
表示平移,
表示旋转。这里定义
表示把四维矩阵升为六维,
表示把六维降为四维,就有
。定义李括号
,然后就可以说se(3)是SE(3)对应的李代数。

c31e099324203fbe1dd318b5561a702a.png
图-se(3)

3. 李群和李代数的关系

3.1 指数关系

李群R和对应的李代数

存在指数关系:

不严肃的推导:

对于旋转矩阵R,有

。相机随时间的旋转,可以看成旋转矩阵关于时间的函数
,仍然有
,两边对时间求导,可得
。移项整理,可得
,如果令
,则可以明显看出
,矩阵
是反对称矩阵。所以一定存在
.

对于

,两边右乘
,可得
。假设
,对
在0处一阶泰勒展开,有

假设在

附近,有
,可得
,解这个常微分方程可得
.

这里只是简单说明了李群和李代数之间存在指数关系,但没有指出具体的计算方法。

3.2 SO(3)上的指数映射

任意矩阵的指数映射可以写成一个泰勒展开,但是只有在收敛的情况下才会有结果,其结果仍是一个矩阵。

SO(3)和so(3)的指数映射为

,泰勒展开如下:

56b74f06ed99d57d604876bf27cddaf0.png
图-泰勒展开

其中,用模长

和单位方向向量a表示
,有
,且

最终的展开式与旋转向量和旋转矩阵之间的罗德里格斯公式相同,也就是说通过展开后的公式可以把so(3)中的向量对应到SO(3)中的矩阵上。

通过展开后的公式可以看出,角度

得到的矩阵相同,所以不同的so(3)可能对应同一个SO(3)。

类似地,可以得到SE(3)和se(3)之间的映射关系。

846dcd3f1a80ae49460be8e57f504aee.png
图4-1

4. 李群和李代数的求导

引入李代数是为了求导,那么如何借用李代数进行求导?直观上有两种想法:1)利用李代数上的加法定义李群上的导数,2)借助指数和对数映射完成。两种想法给出了两种模型,一种是求导模型,一种是扰动模型。

首先要讨论李群乘法和李代数加法之间的关系,BCH公式证明,二者不能直接转换,两个矩阵的指数之积会产生一系列由李括号组成的余向。当矩阵为一个小量,并且不考虑二次以上的余项时,可以近似的认为

fb4b2f64879826dc8d2ea3dc363e2783.png
公式(4.29)

其中,

4200678c19192d7fd1813683a2fd9348.png
图-雅可比J

在求导的时候,对于旋转矩阵的李代数

通常将小量(变化量)定义为
,对应的旋转矩阵李群
的小量为
,有

对于SE(3)有,

5251883a9cc716fed07375093d9a2d4b.png

4.1 求导模型

求导模型做的事情是:将旋转矩阵对应的李代数加一个小量,求相对于小量的变化率。

对于SO(3),要计算的是旋转之后的坐标相对于旋转的导数,记做

,李群无法求导,转而对李代数so(3)求导,计算

56fd20e3daf637cbf8d2c2dbecbb30c0.png
图-so(3)导数计算

4.2 扰动模型

扰动模型做的事情是:左乘或者右乘一个小量,求相对于小量的李代数的变化率。

左乘扰动的推导如下:

af544ecf78fd4f93fc0f24ae9db9ab31.png
图-so(3)左乘扰动

对于SE(3),根据扰动模型求导的推导如下:

250215c4b945f59cd7c8d508640e85e3.png
图-se(3)扰动模型

以上,现在就可以对旋转矩阵进行求导了。

参考文献

《视觉SLAM十四讲从理论到实践》 高翔,张涛

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值