博客專欄

        EEPW首頁 > 博客 > 如何學習李群和李代數?

        如何學習李群和李代數?

        發布人:計算機視覺工坊 時間:2023-07-04 來源:工程師 發布文章
        1.Slam問題中待優化的變量是什么

        首選不直接對什么是李群什么是李代數進行闡述,目前的資料太過同化了吧!在我們上初中的時候我們知道要想求取函數的最值需要求取導數,而在優化問題中也需要求取導數(梯度下降、高斯牛頓、L-M法)。現在已經學到應用數學的時候了,讓我們來看下slam是怎么的優化問題?如何求導?我研究的是三維激光slam,就以三維激光slam為例子?二維激光slam,視覺slam都是如此。假如我們有兩個傳感器,一個是三維激光一個是IMU。使用IMU可以預測到機器人的運動,我們稱其為運動方程,而使用三維激光雷達通過一些算法(ICP或者NDT)也可以得到機器人的運動,稱為觀測方程。那到底聽這兩個傳感器誰的?那么可以構建不同優化問題,批量估計的最小二乘問題或者增量估計的濾波方法。不管哪種方法最終都逃不脫式1-1的形式,后續會對圖片的形式進行討論,首先我們來明確下待優化的變量X是什么?圖片我們都知道在slam問題中首先需要建立世界坐標系,即你建立的地圖的坐標原點需要指定,在你不指定的時候,目前是建圖和定位的起始幀的坐標為世界坐標系的原點。其次需要明白的是相機也有自己的坐標系,但是他是運動的。當相機下的一個坐標點需要轉換到世界坐標系下,你該怎么做,是不是需要乘以一個旋轉平移矩陣R。那么當這個點就是相機坐標系的原點時,那么旋轉平移矩陣是不是就代表著機器人的運動,因此待優化變量是個矩陣,而且是正交單位陣。此時你已經知道了slam問題即定位問題是個矩陣了,那為什么我說他是正交單位陣那?首先需要你知道的是我們在學習矩陣的時候都是先學習的坐標系然后再學習的向量,因此我們需要先改變一個概念,坐標系并不只有像墻角那樣垂直的坐標系,其次向量是真實存在的,但是向量的是唯一的,但是向量的坐標是不一定的,因為坐標系是由線性不相關的向量構成的向量組,也可以稱為基底,一般選擇正交的單位陣,符合人類的直覺。選擇不正交且不是單位陣的矩陣作為坐標系嗎?我猜你在定位問題中不會。如公式1-2圖片是一個坐標系的基底。圖片是在該基底下向量的坐標,其含義是在圖片三個向量的加和構成了需要表示的向量。同理在圖片基底下的坐標表示為圖片。因為都是對同一向量的表示因此二者相等。那么圖片可由式1-3得出。圖片圖片觀察圖片是基底向量的內積留下的是余弦函數,將圖片看成是世界坐標系下的原點,此時R代表了旋轉。表示了旋轉的方向,因此R稱為方向余弦矩陣也稱為旋轉矩陣。是機器人姿態的變換,是slam中待優化的變量,也是我們實時要知道的值,這樣才可以知道機器人是如何旋轉的,至此我們就明白了待優化的變量不僅是個矩陣而且是個單位正交陣。而且這個旋轉矩陣相乘,仍然是旋轉矩陣,這個性質挺有意思吧,整數相加仍然是整數和其類似,數學中把像旋轉平移矩陣和乘法,做完運算后還是旋轉平移矩陣的稱為群(這是群的封閉性,即運算完還是自己。我認為集合和運算在滿足封閉性后,很大概率上就是群,當然嚴格定義共需要滿足4個條件,自行查找吧),至此我們可以得出slam中待優化的變量是矩陣,是正交矩陣,還是群。并且這個群的乘法代表著旋轉變換,而且旋轉變換是連續的,平滑的,旋轉多微小的變化都可以,因此又稱為李群。OK,這便是待優化的變量。

        2.優化過程中出現的問題

        那么在優化過程中我們需要求導,根據導數的定義,我們知道我去待優化變量是需要做減法的如式2-1所示,而矩陣做減法沒有意義,這該如何是好?圖片以下公式是前人想到的啊,我也不知道是怎么想到的,兩個字就是牛逼。已知任意旋轉矩陣滿足式2-2.圖片對式2-2求導得圖片整理得圖片有一個結論,任意一個向量都可以用一個反對稱矩陣表示圖片同時任意一個反對稱矩陣都可以用一個向量表示。這是結論,不允許你問為什么。圖片根據結論式2-4可以表示為式2-5圖片等式兩邊右乘R(t),由于R為正交陣得到式2-6圖片通過上式的推導可以看出反對稱矩陣對應的向量是矩陣的導數,由于旋轉矩陣是關于時間變量連續的,故待優化變量也成了時間t的函數。以直代曲的逼近過程是可以將導數看成常數故得2-7.圖片解式2-7的微分方程得式2-8圖片t=0時刻時,矩陣沒有變化因此圖片帶入2-8可得最終的式2-9c=0;圖片通過推導將矩陣變換看成時間的導數,并推導出旋轉變換矩陣與指數函數的相關。那矩陣的乘法也就變成了指數的乘法,指數的乘法的運算規則是加法,所以這是不是可以對旋轉變換矩陣進行求導了,答;必須滴!那這個圖片就成為李代數,每個李群都有與之對應的李代數,李代數描述了李群的局部性質,這里對矩陣以直代曲就是李代數最直觀的體現,在t=0時刻的泰勒展開就是李代數和李群最直觀的聯系如式2-10.后文我還會繼續深究,起始此向量是旋轉向量對應的向量空間。后面細究。先有個直觀感受。圖片,并設此時旋轉矩陣為圖片。按照導數定義,可以把圖片t=0附近進行一階泰勒展開:圖片回到剛才,有了指數的加法是否可以得到式2-11或者式2-12圖片


        答不可以,只有高中學的圖片是標量才可以,當是向量的時候不可以,BCH這三人得出了是標量時的公式2-13圖片


        忽略高次項可得結論式2-14,想知道為什么需要自己推導。圖片


        2-12差不多少了,只是多了一個雅可比矩陣圖片或者圖片(二者取其一)雅克比的具體表達如式2-15圖片


        至此優化問題出現的對矩陣求導無法滿足導數定義的問題通過李代數將旋轉變換矩陣通過指數函數進行表示,而指數函數有加法,可以滿足導數定義。

        3.求導

        相機坐標系的坐標原點在世界坐標系下的坐標點P,通過算法得到R,現在要對R求導。如式3-1圖片通過李代數的替換為式3-2圖片根據導數定義對3-2式進行展開圖片2行為圖片線性近似,3行為泰勒展開舍去高階項后的近似,4行和5是將反對稱符號看作外積(兩個向量的外積可以化作反對稱矩陣和另外一個向量的乘積),交換之后變號。不過問題在于需要求取圖片這可是很麻煩的如式2-14。不過不要被導數定義定死了,導數的定義用一句話來講是函數的微小變化和自變量微小變化的比值。按照如下想法可以得如下推導過程。這沒有了雅可比多簡潔啊,這個求法稱為擾動模型。

        1. 李代數

        這里就不仔細推導了,具體推導過程是將泰勒展開,最終可得這個向量是旋轉向量,什么是旋轉向量,除了上文推導出的旋轉矩陣即方向余弦矩陣,還有旋轉向量,方向余弦矩陣用了9個變量表示roll pitch yaw冗余了,使用旋轉向量即方向表示旋轉的向量的繞軸,大小代表轉過的角度。這樣不冗余了。而旋轉向量和方向余弦矩陣可以通過羅德里格旋轉表示。這里需要自行查找資料,其實推導不難。只需記住結論:李代數是旋轉向量組成的空間。最后提示一下,本文只提起了旋轉矩陣R,但是機器人的運動自由度有六個,我沒有提及平移變換,而平移和旋轉組成的4*4齊次矩陣依然是和旋轉矩陣一個性質,也是一個群,也有對應的李群,方法一樣的,可以替換的。

        失敗是一種選擇。如果事情沒有失敗,那么你就沒有足夠的創新——埃隆.馬斯克


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 淮南市| 如东县| 中西区| 沂源县| 汶上县| 报价| 玉龙| 克什克腾旗| 新民市| 福安市| 理塘县| 嘉黎县| 宜兰县| 磴口县| 舟山市| 鄄城县| 汶上县| 宝清县| 金门县| 潍坊市| 寿宁县| 吉木萨尔县| 淮安市| 花莲县| 阿坝县| 洪湖市| 邢台市| 略阳县| 潼南县| 泰宁县| 游戏| 博白县| 克什克腾旗| 青铜峡市| 五莲县| 麻栗坡县| 秦皇岛市| 威海市| 衡阳市| 田林县| 拉萨市|