目錄
在做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