博客專欄

EEPW首頁 > 博客 > 視覺/視覺慣性SLAM最新綜述:領域進展、方法分類與實驗對比(2)

視覺/視覺慣性SLAM最新綜述:領域進展、方法分類與實驗對比(2)

發(fā)布人:計算機視覺工坊 時間:2021-07-26 來源:工程師 發(fā)布文章

4.3. Mapping

建圖塊是指完全初始化新檢測到的特征位置所需的操作,以便它可以位于環(huán)境的 3D 重建中,即地圖。實際上,在位姿跟蹤部分,我們假設地圖上存在 3D 定位地標。然而,單目相機不能僅使用一次觀察來確定特征的深度,而是需要幾幀。與相機軌跡類似,我們可能希望估計地標位置的不確定性,以在初始化后對其進行細化或?qū)⑺鼈儼谌謨?yōu)化中。使用僅“部分初始化”的地標也很有趣,因為它們已經(jīng)包含一些信息,例如在 PTAM [27] 中。直接方法本身不映射特征,但它們將捕獲幀的每個像素(像素深度圖)建圖。

建圖塊可以用 3D 地標參數(shù)化來描述??梢允褂玫芽栕鴺?(XYZ),但這種選擇會導致嚴重的非高斯概率密度函數(shù),并且會降低準確性和一致性。或者,齊次點 (HP)、錨定齊次點 (AHP) 和逆深度參數(shù)化 (IDP) 可抑制非線性并縮短初始化周期 [42]。

如 [42] 中所述,IDP 通過 6 維向量對反距離點 p 進行編碼,該向量包含對應于“錨點” p0=(x0,y0,z0) 的初始化時間的歐幾里得光學中心,即仰角和方位角,它們定義了初始光線 (e,a) 的方向和從 p0 到 3D 點 p 的歐幾里得距離 d 的倒數(shù) p。IDP 點可以通過使用矢量 V=(u,v,w) 和距離 p=||v||/d 的光線方向直接編碼來參數(shù)化,從而避免對角度(e,a)。這對應于 AHP 參數(shù)化(7 個參數(shù))。HP 類似于 AHP,但不需要錨點;相反,使用相機的原點,導致只有 4 個參數(shù) V 和 p。假設相機位置的不確定性很小,使用這種參數(shù)化可以獲得類似的結(jié)果。[42] 中的研究詳細介紹了這些參數(shù)化,并給出了它們對 EKF-SLAM 結(jié)果影響的基準。

三角化的 3D 點是通過將來自至少兩幀的 2D 圖像對應關系的反向投影光線相交來確定的。實際上,它們從未真正相交,這導致地標位置存在不確定性區(qū)域??梢酝ㄟ^兩種方式減少這種不確定性??梢允褂酶嗟挠^測值,或者來自更遠距離的光線可以改善定位。理想情況下,光線應以 90° 角相交以到達一個小的不確定圓,而不是一個拉伸的橢圓??梢蕴^幀,直到 3D 點位置的平均不確定性降低到給定閾值以下以緩解此問題。選定的幀通常對應于關鍵幀。另請注意,遠距離點更難以準確建圖。

建圖過程與 DTAM [34] 等直接方法略有不同。目標是通過為每個像素分配深度值,將捕獲的幀變成“深度圖”。它再次基于多視圖重建。對于關鍵幀中的每個像素,都會跟蹤一條像素射線,它對應于該像素的可能深度范圍。與該關鍵幀重疊的所有幀池用于“觀察”像素射線。能量函數(shù)最小化,例如用于空間正則化的光度誤差和先驗數(shù)據(jù)的 L1 范數(shù)和估計實際像素深度。RGB-D vSLAM 方法的建圖過程更直接,因為深度是直接感應的。在每一幀中輸入深度圖。然后通過融合所有深度圖來詳細闡述環(huán)境的 3D 模型。這可以通過重疊掃描或通過執(zhí)行融合方法來完成。

許多 SLAM 方法使用與環(huán)境中檢測到的特征相對應的稀疏表示來重建場景。稠密貼圖更常見于雙目和 RGB-D 相機或激光掃描。最近的一項工作 [43] 創(chuàng)建了稠密結(jié)構(gòu)的稠密地圖建模。

4.4. Loop Closure

閉環(huán)是 SLAM 的支柱。它通過將先前訪問過的位置的位姿與當前位姿重新連接來消除自上次閉環(huán)以來累積的漂移。優(yōu)化和增量方法比基于粒子濾波和卡爾曼濾波等更成功,因為它們在軌跡估計上向后傳播閉環(huán)數(shù)據(jù)。關鍵幀圖經(jīng)典地用于在并行方法中使用集束調(diào)整 (BA) 來校正姿勢。在 [44] 中,作者綜合了 BA 的 vSLAM 方法技術(shù),并在附錄中給出了集束調(diào)整主要發(fā)展的歷史概述。最先進的 SLAM 系統(tǒng)通常用[45] 解決非線性最小二乘問題或 [46] 來優(yōu)化 BA 中基于圖的非線性誤差函數(shù)。但是這些系統(tǒng)使用一些最后的測量值來實時估計位姿。為了使用先前的優(yōu)化并減少計算,增量求解器(例如 [47])以實時方法解決非線性估計問題。每次使用底層因子圖的稀疏結(jié)構(gòu)添加新的測量值時,它們都會更新環(huán)境的估計模型。

閉環(huán)是一個兩步過程。首先,它從閉環(huán)檢測開始,也稱為位置識別。位置識別過程可以用來解決軌道丟失恢復的問題,一般采用閉環(huán)線程。大多數(shù)方法使用詞袋方法將新關鍵幀與先前獲取的視圖數(shù)據(jù)庫進行比較?!霸~袋”是指一組描述符,用于識別圖像中的補丁,如 [48] 提出的 DBoW2 方法,基于 FAST [31] 和稍加修改的 BRIEF 特征 [49]??蚣芎蛿?shù)據(jù)庫之間相似詞的目錄搜索非??焖俸透咝АR坏┌l(fā)現(xiàn)潛在的相似性,多個驗證步驟會驗證它是否對應于一個閉環(huán)。其次,閉環(huán)校正地圖和位姿。計算兩個視圖之間的轉(zhuǎn)換并融合 3D 點。然后使用(局部)BA 沿著整個位姿圖和地圖分布關閉回環(huán)所需的計算。閉環(huán)過程的計算量可能很大。它通常在專用線程中完成。

5. vSLAM 方法的歷史回顧

圖 3 顯示了 vSLAM 發(fā)展的年表,包括三個時期。第一個時期,這里標記為“經(jīng)典時期”,專注于解決 SLAM 問題。提出了幾個數(shù)學公式,首次有效地應用了SLAM。第二個時期,SLAM 研究的重點轉(zhuǎn)向了基于視覺的方法。提出了幾種 vSLAM 設計,并將新硬件(例如 GPU、RGB-D 相機和雙目相機)集成到該過程中。這個“vSLAM 時期”與 [14] 所說的 SLAM 的“算法分析”時期一致。研究了 vSLAM 的基本特性,例如收斂性和一致性。vSLAM 成為開發(fā) SLAM 方法的核心?!暗谌龝r期”致力于提高vSLAM的魯棒性。目標是提高 vSLAM 的可靠性,以支持越來越多的現(xiàn)實生活應用程序(例如,無人機)。特別是,這個“第三時期”引入了 viSLAM 方法。

5.png

圖3 具有里程碑和三個時期的 vSLAM 歷史概述:從 SLAM 問題到 vSLAM,vSLAM 算法發(fā)展,以及 viSLAM 的出現(xiàn)。

5.1. The Classical Age

定位的歷史始于 1960 年卡爾曼濾波的引入 [50],并在 1979 年由 Mayeck 通過擴展卡爾曼濾波(EKF) [51] 擴展到非線性系統(tǒng)。SLAM 問題在 1980 年代提出 [1, 2, 52],并在 1995 年證明收斂 [53]。在此期間,制定了一些 SLAM 方法,主要使用激光遙測儀、從不同來源計算的里程計并使用 EKF 實現(xiàn),例如 Smith 等人早在 1988 年提出的方法(EKF-SLAM [38])。直到 2003 年戴維森等人提出 MonoSLAM [21] 之前,單目相機的使用非常罕見。他們僅使用一個網(wǎng)絡攝像頭、一臺通用計算機就實現(xiàn)了它,并且沒有里程計測量。這是第一個使用單個低成本視覺傳感器的實時 SLAM 方法。定位和建圖在 3D 中執(zhí)行,而 SLAM 基于 EKF。為了解決初始化新點的問題,Davison 等人提出了一種基于粒子濾波器的新方法,以減少新檢測到的視覺地標的景深不確定性。MonoSLAM 為所謂的 vSLAM 鋪平了道路。

每個 EKF-SLAM,甚至是著名的 MonoSLAM,都存在復雜性,地圖特征的數(shù)量是二次的。為緩解該問題進行了許多嘗試,尤其是通過將地圖劃分為多個部分并在優(yōu)化過程中僅使用活動子地圖。它們都沒有提供令人滿意的一致性與計算成本的折衷。2002 年,在 Montemerlo 等人 [23] 提出的 FastSLAM 中,使用 Rao-Blackwellized 粒子濾波器代替 EKF。這種方法有效地降低了對數(shù)縮放的復雜性,并成功轉(zhuǎn)換為單目 vSLAM,即 Eade 和 Drummond 在 2006 年提出的可擴展單目 SLAM [22]。

5.2. The Golden Age of vSLAM

即使 FastSLAM 方法的最小復雜度也嚴重限制了 SLAM 應用,尤其是捕獲大量特征的 vSLAM。vSLAM 的最大突破是 Klein 等人在 2007 年引入了具有并行跟蹤和建圖 (PTAM) 的基于關鍵幀的解決方案 [27]。在其他改進中,這種新方法實現(xiàn)了任務并行化、更好地利用全局優(yōu)化、減少了跟蹤漂移,更重要的是一種具有自由可擴展性的存儲特征的新方法。如今,幾乎所有 vSLAM 算法都基于 PTAM 的概念。

vSLAM 通過集成高效的閉環(huán)方法、全局優(yōu)化和基于關鍵幀和剔除的內(nèi)存管理,以及多線程并行化實時執(zhí)行過程,變得越來越可靠。因此,可以提出新的設計和硬件選擇,擴大 SLAM 的可能性。由用例需求驅(qū)動的 vSLAM 開發(fā)成為可能。在此期間提出的主要 vSLAM 實現(xiàn)在第 6 節(jié)中有詳細說明。

5.3. The Third Age: Improving the Robustness

在第三個時期,vSLAM 繼續(xù)發(fā)展,尤其是針對特定場景提高魯棒性。相機和 IMU 的耦合(viSLAM)成為一個重要的研究課題。在 2010 年代初期,考慮了現(xiàn)有 vSLAM 方法中 IMU 數(shù)據(jù)的松耦合 [54]。但混合濾波器迅速演變?yōu)椤熬o耦合”視覺慣性方法的設計,現(xiàn)在在配備 IMU 和相機的系統(tǒng)中非常流行。緊耦合 viSLAM 的一個重要改進是 2007 年由 Mourikis 和 Roumeliotis [25] 提出的 MSCKF(多態(tài)約束卡爾曼濾波器),在 2013 年通過 MSCKF 2.0 改進 [24],引入了新版本的卡爾曼濾波器,該濾波器在一個外感受器中結(jié)合了超時觀察更新。還創(chuàng)造了其他非凡的方法。其中包括使用線而不是點特征來避免與運動模糊相關的問題,自 PTAM 以來仍在使用。其他作品使用 RGB-D 相機并在應用 SLAM 算法之前過濾與移動物體相關的數(shù)據(jù)以提高魯棒性 [55, 56]。其他方法使用基于光流的方法來檢測和丟棄動態(tài)特征[57]來緩解動態(tài)問題。一個結(jié)合 SLAM 和深度學習技術(shù)的新研究領域正在這個領域上出現(xiàn)。深度學習技術(shù)檢測移動物體并支持 ORB-SLAM2 算法來構(gòu)建準確的地圖并在動態(tài)環(huán)境中定位移動機器人 [58]。在 [59] 中,作者出于相同目的使用語義分割和 RGB-D 相機。Rosinol 等人和 Yang 等人 [60, 61] 發(fā)表了使用語義分割和 SLAM 算法的最新作品。

當可以多次訪問同一地點時,MapLab [62] 的工作允許大規(guī)模合并不同會話的不同地圖。輸出地圖可用于從一個會話到另一個會話。

也許最近最有趣的趨勢之一是使用事件相機,即仿生相機,以避免運動模糊的影響。由于事件攝像機的使用還很晚,因此不包括在我們的分類中。然而,Rosinol 等人于 2018 年發(fā)表的結(jié)果。關于 Ultimate SLAM [63] 混合使用基于事件的相機和視覺慣性里程計似乎非常有前途,并渴望為 vSLAM 開辟新的可能性。

最近的一項工作 [64] 優(yōu)化局部和全局集束調(diào)整給出了可用于 viSLAM 算法以提高全局一致性的有希望的結(jié)果。

6. 建議的分類方法

幾種方法推動了我們的分類工作。6.1 節(jié)根據(jù)輸入對 vSLAM 方法進行分組。第 6.2 節(jié)根據(jù)耦合級別對 viSLAM 方法進行分組。最后,第 6.3 節(jié)根據(jù)硬件要求、算法類型和實現(xiàn)特征比較了主要的 v/viSLAM 方法。它通過根據(jù)應用程序要求對 v/viSLAM 性能進行交叉分析來完成。

6.1. Classification of vSLAM Methods

vSLAM 方法根據(jù)輸入的性質(zhì)分為三類:基于特征的、直接的和基于 RGB-D 的,如第 4 節(jié)所述。由于基于 RGB-D 的方法涉及特定的硬件,因此被視為一個完整的類別。圖 4 顯示了選擇一些主要識別方法的分類結(jié)果。

6.png

圖4 主要 vSLAM 方法的時間順序分類

6.1.1. Feature-Based Methods

單目 EKF-SLAM MonoSLAM [21] 和粒子濾波器可擴展單目 SLAM [22],即單目 FastSLAM,屬于基于特征的方法。突破性的并行跟蹤和建圖 (PTAM) [27] 屬于同一類別。提出了對 PTAM 的幾種改編。例如,[65] 中介紹了邊緣特征的使用。另一個重要的方法是 ORB-SLAM [37]。

6.1.2. Direct Methods

第一個重要的直接方法是 2011 年的稠密跟蹤和建圖 (DTAM) [34]。它是稠密單目 vSLAM 方法的先驅(qū),并于 2015 年通過 MobileFusion [66] 應用于智能手機。從 2016 年開始,一種更新的方法是直接稀疏里程計 (DSO) [33]:一種視覺里程計方法,它提出直接輸入處理但稀疏建圖以進行更輕量的處理。另一個主要的 vSLAM 方法是 2013 年和 2017 年的半直接視覺里程計(SVO)[67],它結(jié)合了 VO 框架中直接和間接輸入搜索的優(yōu)點。2014 年的大規(guī)模直接單目 SLAM(LSD-SLAM)[35] 是最早使用半稠密建圖來解決大型環(huán)境的方法之一。

6.1.3. RGB-D Methods

RGB-D 方法還包括幾種主要算法。2011 年,KinectFusion [68] 旨在使用 Microsoft Kinect 構(gòu)建干凈、準確的環(huán)境 3D 重建。2013 年的稠密 vSLAM [69] 側(cè)重于利用密集地圖進行精確定位。2015 年的 ElasticFusion [70] 是一種“以地圖為中心”的方法,它更側(cè)重于構(gòu)建的 3D 模型的幾何精度,而不是位姿圖的構(gòu)建。

6.2. Classification of viSLAM Methods

直接和間接特征可用于對 viSLAM 方法進行分類。其他綜述也根據(jù)它們是基于濾波器還是基于優(yōu)化的方法對 viSLAM 方法進行了分類 [15]。但大多數(shù)主要的 viSLAM 方法實際上都是基于特征的方法,而 viSLAM 主要處理混合問題。因此,圖 5 所示的分類是基于視覺和慣性數(shù)據(jù)的耦合水平。我們區(qū)分兩個層次:松耦合和緊耦合。

7.png

圖5 主要視覺-慣性 SLAM 方法的時間分類。

6.2.1. Loose Coupling

松耦合方法分別處理 IMU 和圖像測量,并使用這兩種信息來跟蹤位姿。Weiss 等人 [54] 處理圖像以計算連續(xù)位姿之間的 VO,然后將后者與慣性測量融合。還可以過濾 IMU 測量值以估計在基于圖像的估計算法中融合的旋轉(zhuǎn)。松耦合的視覺慣性里程計方法是 2014 年 [71] 提出的全局多傳感器融合(磁力計、壓力高度計、GPS 、激光掃描儀等)的一部分。松耦合的 IMU-相機融合早在 2000 年代初就已經(jīng)開始了。SOFT-SLAM 算法 [72] 是一種松耦合的 viSLAM 方法,它實際上使用 IMU 數(shù)據(jù)來減少可用的計算時間。它實時構(gòu)建稠密地圖并在 MAV 上運行。

6.2.2. Tight Coupling

緊耦合方法不是融合基于視覺和慣性的算法的輸出,而是直接融合視覺和慣性原始數(shù)據(jù),以提高準確性和魯棒性。MSCKF [25] 和 MSCKF 2.0 [24] 既健壯又非常輕便,與 ROVIO [26] 一起屬于這一類,后者是一種基于 EKF 的直接 VIO 方法。Open Keyframe-Based Visual Inertial System (OKVIS) [73] 和 S-MSCKF [17] 是著名的雙目 VIO 方法,而 Vins-Mono [74] 是真正的 viSLAM 而不僅僅是 VIO 方法。Kimera [60] 也基于 VIO 方法,但它還包括一個位姿圖優(yōu)化器,在不同的線程中,用于全局軌跡估計、一個 3D 網(wǎng)格重建模塊和一個 3D 度量語義重建模塊。VIORB [75] 基于 ORB-SLAM [76]。它的前端使用 ORB 提取特征,而其后端運行圖形優(yōu)化。但它的主要興趣在于一種新的 IMU 初始化方法,首先估計陀螺儀的偏差,近似尺度和重力(不考慮加速度計偏差),然后估計加速度計偏差(經(jīng)過尺度和重力方向細化),最后是速度矢量,它包括并行方法中的全局優(yōu)化和閉環(huán)。大多數(shù)最近的 viSLAM 方法都是緊耦合的 [15],如 [77] 提出的方法,它使用前向和后向光流來處理圖像特征。

6.3. Comparison of vSLAM and viSLAM from the Usage Point of View

根據(jù)硬件要求、算法類型和實現(xiàn)特點,主要v/viSLAM方法在表2中進行了比較。表 3 展示了每種方法在描述常見用例性質(zhì)的五個關鍵特征方面的最新性能。表 3 是通過閱讀引用的出版物并使用以下標準對其性能評估結(jié)果進行分類而編制的。

(i) 長期實驗特征評估該方法如何處理長時間實驗。即使在小環(huán)境中,vSLAM 也會不斷收集新的關鍵幀,這意味著長期實驗可能會導致關鍵幀和地圖特征的數(shù)量不斷增加。定義一個好的關鍵幀選擇策略和內(nèi)存管理方法很重要;

(ii) 大尺度環(huán)境特征判斷該方法對大環(huán)境的擴展能力(即積累的特征越多,地標越遠)。為了評估這方面,重要的標準是減少漂移、有效的全局優(yōu)化(例如,關鍵幀的選擇和關鍵幀圖的類型)以及有效的位置識別和閉環(huán)框架;

(iii) 低紋理環(huán)境對應于紋理很少的表面,例如可能成為問題的大墻,特別是對于特征提取。面向低紋理空間的最佳性能方法可能會使用邊緣和附加硬件等特殊功能進行定位(IMU),甚至更好地用于建圖(RGB-D 方法的深度傳感器);

(iv) 室外環(huán)境:這類環(huán)境增加了光線變化等困難。使用深度傳感器、良好的特征描述符或簡單的強大位置識別方法(通過閉合循環(huán)來糾正錯誤)與室外空間相關。該分析還基于每種算法的戶外測試結(jié)果;

(v) 運動:在處理相機時對高速運動引起的運動模糊的魯棒性對于為正確的應用選擇正確的方法很重要。使用稠密地圖或邊緣特征的方法通常更穩(wěn)健。然而,如前文第 4 節(jié)所述,我們發(fā)現(xiàn)視覺慣性系統(tǒng)更健壯。

8.png9.png

添加其他方法來完成之前執(zhí)行的 v/viSLAM 分類。兩個有趣的 PTAM 派生算法是 PTAM [78] 的雙目版本和雙窗口優(yōu)化 (DWO) [79] 框架。CD-SLAM [80] 是首次嘗試以更穩(wěn)健的方法將 PTAM 的原理擴展到大規(guī)模間接 vSLAM。CD-SLAM 的一些特性啟發(fā)了流行的 ORB-SLAM。后者結(jié)合了最高效的 vSLAM 功能(雙模型初始化、高效的關鍵幀和地圖點剔除、ORB 功能和詞袋回環(huán)閉合)以及關鍵幀的“基本圖”。ORB-SLAM2 [76] 使 ORB-SLAM 適應雙目和 RGB-D 相機。Edge-SLAM [81] 是最近嘗試以邊緣為特征構(gòu)建強大的 vSLAM。還包括直接方法“半稠密視覺里程計”[5] 和 Kintinuous [82]。第一個側(cè)重于使用智能手機將半稠密 vSLAM 應用于增強現(xiàn)實。最后一個是 KinectFusion 算法針對更大規(guī)模環(huán)境的擴展。

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。

LCD顯示屏相關文章:lcd顯示屏原理


lcd相關文章:lcd原理


關鍵詞: 計算機視覺

相關推薦

技術(shù)專區(qū)

關閉