目录
在做vSLAM,使用到对旋转矩阵的求导,需要用到李群李代数知识,讲矩阵映射到李代数形式,方便求导,主要包含特殊正交群SO(3),特殊欧几里得群SE(3),表示位姿。旋转矩阵是特殊正交群,而变换矩阵是特殊欧氏群。旋转矩阵自身是带有约束的(正交且行列式为1),她们作为优化变量时,会引入额外的约束,使得优化较为困难。因而我们引入了李代数的概念(具体不再介绍,反正在优化的过程中需要把李群转换为李代数,进而进行求导和优化)。
1.李群和李代数基础
群(Group)是一个集合加上一种运算所构成的代数结构。该运算将两个元素a和b组成另外一个元素,记为a·b或者ab。记 集 合为G,运算为· ,则当满足一下四个性质的时候,称(G, •)为一个群。
(1)封闭性(closure):任意a,b属于G,有a·b仍然属于G;
(2)结合性(associativity):任意a,b,c属于G,有(a·b)·c = a·(b·c);
(3)单位元(幺元)(identity):存在a0属于G,对任意b属于G,均有a0·b = b·a0= b;
(4)逆元(invertibility):任意a属于G,存在a1属于G,使得a·a1= a0 。
注意事项:
- 旋转矩阵是特殊正交群,而变换矩阵是特殊欧氏群,他们对加法不封闭;换句话说,按照矩阵加法的定义,矩阵的和并不再是一个旋转矩阵。
- 群是一个集合加上一种运算。特殊正交群以及特殊欧氏群的运算是乘法,不支持加法运算,无法求导。
- 李群是指具有连续(光滑)性质的群。特殊正交群和特殊欧氏群在实数空间上是连续的,刚体能够连续地在空间中运动,所以它们都是李群。
特殊正交群和特殊欧几里得群
李代数:
对于任意一个李群,都存在一个李代数与之对应。李代数是一种位于向量空间的代数结构。李代数包含一个集合V,一个数域F和一个二元运算[ , ]。如果它们满足一下四条性质(封闭性、双线性、自反性、雅克比等价),就称(V, F, [ , ]) 为一个李代数。
(1)封闭性(closure):任意X,Y属于V,[X, Y]属于V,
(2)双线性(bilinearity):任意X,Y,Z属于V ,a,b属于F,[aX+bY,Z] = a[X,Z]+b[Y,Z], [Z, aX+bY]= a[Z,X]+b[Z,Y],
(3)自反性(alternating):任意X属于V,[X, X] =0,
(4)雅克比等价(Jacobi identity):任意X,Y,Z属于V,[X, [Y,Z]] + [Z, [X,Y]] +[Y, [Z,X]] =0
李代数
2.指数对数映射关系
3.李代数求导与扰动模型
使用李代数的一大动机是为了进行优化,而在优化过程中导数是非常必要的信息
利用李代数求解求导的思路分为两种:
1. 使用李代数表示姿态,然后根据李代数的加法求导;
2. 对李群建立左扰动和右扰动模型,然后对该扰动求导。
由于第一种会涉及到雅可比矩阵的计算,太过于复杂,因而通常方法2的扰动模型应用较多
李代数求导模型:
扰动模型(左):
参考:
1.https://blog.csdn.net/youngpan1101/article/details/71087470
2.https://blog.csdn.net/youngpan1101/article/details/71087919
3.视觉SLAM14讲
4.https://blog.csdn.net/weixin_33849215/article/details/93536555