VSLAM技術框架詳述


 

最早的SLAM雛形是在軍事(核潛艇的海底定位)上的應用,主要傳感器是軍用雷達。SLAM技術發展到如今已經幾十年,目前以激光雷達作為主傳感器的SLAM技術比較穩定、可靠,仍然是主流的技術方案。但隨着最近幾年計算機視覺技術的快速發展,SLAM技術越來越多的應用於家用機器人、無人機、AR設備,基於視覺的Visual SLAM(簡稱VSLAM)逐漸開始嶄露頭角。今天就來幫大家普及下VSLAM的技術框架。

 

VSLAM技術架構

VSLAM的技術框架主要包括傳感器數據預處理、前端、后端、回環檢測、建圖。

 

1、傳感器數據

傳感器數據預處理。這里的傳感器包括攝像頭、慣性測量單元(Inertial measurement unit,簡稱IMU)等,涉及傳感器選型、標定、多傳感器數據同步等技術。

 

 

2、前端

又稱為視覺里程計(visual odometry,簡稱VO)。主要是研究如何根據相鄰幀圖像定量估算幀間相機的運動。通過把相鄰幀的運動軌跡串起來,就構成了相機載體(如機器人)的運動軌跡,解決了定位的問題。然后根據估算的每個時刻相機的位置,計算出各像素的空間點的位置,就得到了地圖。

 

VSLAM中,前端主要涉及計算機視覺相關的算法。典型做法一般是:首先提取每幀圖像特征點,對相鄰幀進行特征點粗匹配,然后利用RANSAC(隨機抽樣一致)算法去除不合理的匹配對,然后得到位置和姿態信息。整個過程涉及到特征提取、特征匹配、對極幾何、PnP、剛體運動、李代數等多視圖幾何知識。

 

相鄰圖像特征點匹配

 

前面說視覺里程計只計算相鄰幀的運動,進行局部估計,這會不可避免的出現累積漂移,這是因為每次估計兩個圖像間的運動時都有一定的誤差,經過相鄰幀多次傳遞,前面的誤差會逐漸累積,軌跡漂移(drift)的越來越厲害。

 

軌跡漂移現象

 

解決軌跡漂移的方法有兩個:后端優化、回環檢測。

 

3、后端

主要是對前端的結果進行優化,得到最優的位姿估計。主要有兩種方法:

 

一種是基於濾波理論的優化,主要有 EKF, PF, RBPF, UKF等方法,其中EKF(擴展卡爾曼濾波)在早期是主流的方法。它的思路是將狀態估計模型線性化,並用高斯分布近似其噪聲,然后按照卡爾曼濾波進行預測來更新。但是實際上,這種對噪聲的高斯分布大部分情況下是不成立的,此外,線性化過程中丟失了高階項。

另一種就是非線性優化(圖優化)。它的基本思想是將優化的變量作為圖的節點,誤差項作為圖的邊,在給定初值后,就可以迭代優化更新。由於圖優化的稀疏性,可以在保證精度的同時,降低計算量。

 

后端優化涉及到的數學知識比較多,具有較高的難度。總的來說,從狀態估計的角度來講,SLAM是一個非線性非高斯系統。因此傳統的濾波理論已經逐漸被拋棄,而圖優化已經成為主流方法。

 

4、回環檢測

主要目的是讓機器人能夠認識自己曾經去過的地方,從而解決位置隨時間漂移的問題。視覺回環檢測一般通過判斷圖像之間的相似性完成,這和我們人類用眼睛來判斷兩個相同的地點是一樣的道理。因為圖像信息豐富,因此VSLAM在回環檢測中具有很大的優勢。

 

 

回環檢測效果

 

當回環檢測成功后,就會建立現在的圖像和過去曾經見過圖像的對應關系,后端優化算法可以根據這些信息來重新調整軌跡和地圖,從而最大限度地消除累積誤差。

 

5、建立地圖

SLAM根據不同的傳感器類型和應用需求建立不同的地圖。常見的有2D柵格地圖、2D拓撲地圖、3D點雲地圖等。

 

比如前面提到過的掃地機器人,它只需要知道房屋內部的簡單二維地圖就可以了,不需要知道房屋到底有多高;它只需要知道哪里可以通過,哪里是障礙物,而不需要知道這個障礙物到底是什么,長什么樣子;因此目前大部分具有SLAM功能的掃地機器人幾乎都是采用廉價的消費級激光雷達方案,很少采用視覺SLAM方案(VSLAM也不夠穩定)。

 

掃地機器人建立的2D地圖

 

2D拓撲地圖更強調地圖元素之間的連通關系,而對精確的位置要求不高,去掉了大量地圖的細節,是一種非常緊湊的地圖表達方式。如下所示:

 

2D拓撲地圖

 

3D點雲地圖在VSLAM中用的比較多,主要用於真實場景的視覺重建,重建的地圖非常直觀漂亮。但是點雲地圖通常規模很大,比如一張VGA分辨率(640 x 480)的點雲圖像,就會產生30萬個空間點,這會占據非常大的存儲空間,而且存在很多冗余信息。

 

3D點雲地圖

 

總結

前面介紹了VSLAM的典型技術框架。我們可以看到,將SLAM算法拆解后,用到的技術多是傳統的計算機視覺算法,尤其是多視角幾何相關知識。與當前大熱的深度學習“黑箱模型”不同,SLAM的各個環節基本都是白箱,能夠解釋得非常清楚。但SLAM算法並不是上述各種算法的簡單疊加,而是一個需要相互折中、密切配合的復雜系統工程。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM