視覺(jué)/視覺(jué)慣性SLAM最新綜述:領(lǐng)域進(jìn)展、方法分類(lèi)與實(shí)驗對比(2)
4.3. Mapping
建圖塊是指完全初始化新檢測到的特征位置所需的操作,以便它可以位于環(huán)境的 3D 重建中,即地圖。實(shí)際上,在位姿跟蹤部分,我們假設地圖上存在 3D 定位地標。然而,單目相機不能僅使用一次觀(guān)察來(lái)確定特征的深度,而是需要幾幀。與相機軌跡類(lèi)似,我們可能希望估計地標位置的不確定性,以在初始化后對其進(jìn)行細化或將它們包含在全局優(yōu)化中。使用僅“部分初始化”的地標也很有趣,因為它們已經(jīng)包含一些信息,例如在 PTAM [27] 中。直接方法本身不映射特征,但它們將捕獲幀的每個(gè)像素(像素深度圖)建圖。
建圖塊可以用 3D 地標參數化來(lái)描述??梢允褂玫芽栕鴺?(XYZ),但這種選擇會(huì )導致嚴重的非高斯概率密度函數,并且會(huì )降低準確性和一致性?;蛘?,齊次點(diǎn) (HP)、錨定齊次點(diǎn) (AHP) 和逆深度參數化 (IDP) 可抑制非線(xiàn)性并縮短初始化周期 [42]。
如 [42] 中所述,IDP 通過(guò) 6 維向量對反距離點(diǎn) p 進(jìn)行編碼,該向量包含對應于“錨點(diǎn)” p0=(x0,y0,z0) 的初始化時(shí)間的歐幾里得光學(xué)中心,即仰角和方位角,它們定義了初始光線(xiàn) (e,a) 的方向和從 p0 到 3D 點(diǎn) p 的歐幾里得距離 d 的倒數 p。IDP 點(diǎn)可以通過(guò)使用矢量 V=(u,v,w) 和距離 p=||v||/d 的光線(xiàn)方向直接編碼來(lái)參數化,從而避免對角度(e,a)。這對應于 AHP 參數化(7 個(gè)參數)。HP 類(lèi)似于 AHP,但不需要錨點(diǎn);相反,使用相機的原點(diǎn),導致只有 4 個(gè)參數 V 和 p。假設相機位置的不確定性很小,使用這種參數化可以獲得類(lèi)似的結果。[42] 中的研究詳細介紹了這些參數化,并給出了它們對 EKF-SLAM 結果影響的基準。
三角化的 3D 點(diǎn)是通過(guò)將來(lái)自至少兩幀的 2D 圖像對應關(guān)系的反向投影光線(xiàn)相交來(lái)確定的。實(shí)際上,它們從未真正相交,這導致地標位置存在不確定性區域??梢酝ㄟ^(guò)兩種方式減少這種不確定性??梢允褂酶嗟挠^(guān)測值,或者來(lái)自更遠距離的光線(xiàn)可以改善定位。理想情況下,光線(xiàn)應以 90° 角相交以到達一個(gè)小的不確定圓,而不是一個(gè)拉伸的橢圓??梢蕴^(guò)幀,直到 3D 點(diǎn)位置的平均不確定性降低到給定閾值以下以緩解此問(wèn)題。選定的幀通常對應于關(guān)鍵幀。另請注意,遠距離點(diǎn)更難以準確建圖。
建圖過(guò)程與 DTAM [34] 等直接方法略有不同。目標是通過(guò)為每個(gè)像素分配深度值,將捕獲的幀變成“深度圖”。它再次基于多視圖重建。對于關(guān)鍵幀中的每個(gè)像素,都會(huì )跟蹤一條像素射線(xiàn),它對應于該像素的可能深度范圍。與該關(guān)鍵幀重疊的所有幀池用于“觀(guān)察”像素射線(xiàn)。能量函數最小化,例如用于空間正則化的光度誤差和先驗數據的 L1 范數和估計實(shí)際像素深度。RGB-D vSLAM 方法的建圖過(guò)程更直接,因為深度是直接感應的。在每一幀中輸入深度圖。然后通過(guò)融合所有深度圖來(lái)詳細闡述環(huán)境的 3D 模型。這可以通過(guò)重疊掃描或通過(guò)執行融合方法來(lái)完成。
許多 SLAM 方法使用與環(huán)境中檢測到的特征相對應的稀疏表示來(lái)重建場(chǎng)景。稠密貼圖更常見(jiàn)于雙目和 RGB-D 相機或激光掃描。最近的一項工作 [43] 創(chuàng )建了稠密結構的稠密地圖建模。
4.4. Loop Closure
閉環(huán)是 SLAM 的支柱。它通過(guò)將先前訪(fǎng)問(wèn)過(guò)的位置的位姿與當前位姿重新連接來(lái)消除自上次閉環(huán)以來(lái)累積的漂移。優(yōu)化和增量方法比基于粒子濾波和卡爾曼濾波等更成功,因為它們在軌跡估計上向后傳播閉環(huán)數據。關(guān)鍵幀圖經(jīng)典地用于在并行方法中使用集束調整 (BA) 來(lái)校正姿勢。在 [44] 中,作者綜合了 BA 的 vSLAM 方法技術(shù),并在附錄中給出了集束調整主要發(fā)展的歷史概述。最先進(jìn)的 SLAM 系統通常用[45] 解決非線(xiàn)性最小二乘問(wèn)題或 [46] 來(lái)優(yōu)化 BA 中基于圖的非線(xiàn)性誤差函數。但是這些系統使用一些最后的測量值來(lái)實(shí)時(shí)估計位姿。為了使用先前的優(yōu)化并減少計算,增量求解器(例如 [47])以實(shí)時(shí)方法解決非線(xiàn)性估計問(wèn)題。每次使用底層因子圖的稀疏結構添加新的測量值時(shí),它們都會(huì )更新環(huán)境的估計模型。
閉環(huán)是一個(gè)兩步過(guò)程。首先,它從閉環(huán)檢測開(kāi)始,也稱(chēng)為位置識別。位置識別過(guò)程可以用來(lái)解決軌道丟失恢復的問(wèn)題,一般采用閉環(huán)線(xiàn)程。大多數方法使用詞袋方法將新關(guān)鍵幀與先前獲取的視圖數據庫進(jìn)行比較?!霸~袋”是指一組描述符,用于識別圖像中的補丁,如 [48] 提出的 DBoW2 方法,基于 FAST [31] 和稍加修改的 BRIEF 特征 [49]??蚣芎蛿祿熘g相似詞的目錄搜索非??焖俸透咝?。一旦發(fā)現潛在的相似性,多個(gè)驗證步驟會(huì )驗證它是否對應于一個(gè)閉環(huán)。其次,閉環(huán)校正地圖和位姿。計算兩個(gè)視圖之間的轉換并融合 3D 點(diǎn)。然后使用(局部)BA 沿著(zhù)整個(gè)位姿圖和地圖分布關(guān)閉回環(huán)所需的計算。閉環(huán)過(guò)程的計算量可能很大。它通常在專(zhuān)用線(xiàn)程中完成。
5. vSLAM 方法的歷史回顧
圖 3 顯示了 vSLAM 發(fā)展的年表,包括三個(gè)時(shí)期。第一個(gè)時(shí)期,這里標記為“經(jīng)典時(shí)期”,專(zhuān)注于解決 SLAM 問(wèn)題。提出了幾個(gè)數學(xué)公式,首次有效地應用了SLAM。第二個(gè)時(shí)期,SLAM 研究的重點(diǎn)轉向了基于視覺(jué)的方法。提出了幾種 vSLAM 設計,并將新硬件(例如 GPU、RGB-D 相機和雙目相機)集成到該過(guò)程中。這個(gè)“vSLAM 時(shí)期”與 [14] 所說(shuō)的 SLAM 的“算法分析”時(shí)期一致。研究了 vSLAM 的基本特性,例如收斂性和一致性。vSLAM 成為開(kāi)發(fā) SLAM 方法的核心?!暗谌龝r(shí)期”致力于提高vSLAM的魯棒性。目標是提高 vSLAM 的可靠性,以支持越來(lái)越多的現實(shí)生活應用程序(例如,無(wú)人機)。特別是,這個(gè)“第三時(shí)期”引入了 viSLAM 方法。
圖3 具有里程碑和三個(gè)時(shí)期的 vSLAM 歷史概述:從 SLAM 問(wèn)題到 vSLAM,vSLAM 算法發(fā)展,以及 viSLAM 的出現。
5.1. The Classical Age
定位的歷史始于 1960 年卡爾曼濾波的引入 [50],并在 1979 年由 Mayeck 通過(guò)擴展卡爾曼濾波(EKF) [51] 擴展到非線(xiàn)性系統。SLAM 問(wèn)題在 1980 年代提出 [1, 2, 52],并在 1995 年證明收斂 [53]。在此期間,制定了一些 SLAM 方法,主要使用激光遙測儀、從不同來(lái)源計算的里程計并使用 EKF 實(shí)現,例如 Smith 等人早在 1988 年提出的方法(EKF-SLAM [38])。直到 2003 年戴維森等人提出 MonoSLAM [21] 之前,單目相機的使用非常罕見(jiàn)。他們僅使用一個(gè)網(wǎng)絡(luò )攝像頭、一臺通用計算機就實(shí)現了它,并且沒(méi)有里程計測量。這是第一個(gè)使用單個(gè)低成本視覺(jué)傳感器的實(shí)時(shí) SLAM 方法。定位和建圖在 3D 中執行,而 SLAM 基于 EKF。為了解決初始化新點(diǎn)的問(wèn)題,Davison 等人提出了一種基于粒子濾波器的新方法,以減少新檢測到的視覺(jué)地標的景深不確定性。MonoSLAM 為所謂的 vSLAM 鋪平了道路。
每個(gè) EKF-SLAM,甚至是著(zhù)名的 MonoSLAM,都存在復雜性,地圖特征的數量是二次的。為緩解該問(wèn)題進(jìn)行了許多嘗試,尤其是通過(guò)將地圖劃分為多個(gè)部分并在優(yōu)化過(guò)程中僅使用活動(dòng)子地圖。它們都沒(méi)有提供令人滿(mǎn)意的一致性與計算成本的折衷。2002 年,在 Montemerlo 等人 [23] 提出的 FastSLAM 中,使用 Rao-Blackwellized 粒子濾波器代替 EKF。這種方法有效地降低了對數縮放的復雜性,并成功轉換為單目 vSLAM,即 Eade 和 Drummond 在 2006 年提出的可擴展單目 SLAM [22]。
5.2. The Golden Age of vSLAM
即使 FastSLAM 方法的最小復雜度也嚴重限制了 SLAM 應用,尤其是捕獲大量特征的 vSLAM。vSLAM 的最大突破是 Klein 等人在 2007 年引入了具有并行跟蹤和建圖 (PTAM) 的基于關(guān)鍵幀的解決方案 [27]。在其他改進(jìn)中,這種新方法實(shí)現了任務(wù)并行化、更好地利用全局優(yōu)化、減少了跟蹤漂移,更重要的是一種具有自由可擴展性的存儲特征的新方法。如今,幾乎所有 vSLAM 算法都基于 PTAM 的概念。
vSLAM 通過(guò)集成高效的閉環(huán)方法、全局優(yōu)化和基于關(guān)鍵幀和剔除的內存管理,以及多線(xiàn)程并行化實(shí)時(shí)執行過(guò)程,變得越來(lái)越可靠。因此,可以提出新的設計和硬件選擇,擴大 SLAM 的可能性。由用例需求驅動(dòng)的 vSLAM 開(kāi)發(fā)成為可能。在此期間提出的主要 vSLAM 實(shí)現在第 6 節中有詳細說(shuō)明。
5.3. The Third Age: Improving the Robustness
在第三個(gè)時(shí)期,vSLAM 繼續發(fā)展,尤其是針對特定場(chǎng)景提高魯棒性。相機和 IMU 的耦合(viSLAM)成為一個(gè)重要的研究課題。在 2010 年代初期,考慮了現有 vSLAM 方法中 IMU 數據的松耦合 [54]。但混合濾波器迅速演變?yōu)椤熬o耦合”視覺(jué)慣性方法的設計,現在在配備 IMU 和相機的系統中非常流行。緊耦合 viSLAM 的一個(gè)重要改進(jìn)是 2007 年由 Mourikis 和 Roumeliotis [25] 提出的 MSCKF(多態(tài)約束卡爾曼濾波器),在 2013 年通過(guò) MSCKF 2.0 改進(jìn) [24],引入了新版本的卡爾曼濾波器,該濾波器在一個(gè)外感受器中結合了超時(shí)觀(guān)察更新。還創(chuàng )造了其他非凡的方法。其中包括使用線(xiàn)而不是點(diǎn)特征來(lái)避免與運動(dòng)模糊相關(guān)的問(wèn)題,自 PTAM 以來(lái)仍在使用。其他作品使用 RGB-D 相機并在應用 SLAM 算法之前過(guò)濾與移動(dòng)物體相關(guān)的數據以提高魯棒性 [55, 56]。其他方法使用基于光流的方法來(lái)檢測和丟棄動(dòng)態(tài)特征[57]來(lái)緩解動(dòng)態(tài)問(wèn)題。一個(gè)結合 SLAM 和深度學(xué)習技術(shù)的新研究領(lǐng)域正在這個(gè)領(lǐng)域上出現。深度學(xué)習技術(shù)檢測移動(dòng)物體并支持 ORB-SLAM2 算法來(lái)構建準確的地圖并在動(dòng)態(tài)環(huán)境中定位移動(dòng)機器人 [58]。在 [59] 中,作者出于相同目的使用語(yǔ)義分割和 RGB-D 相機。Rosinol 等人和 Yang 等人 [60, 61] 發(fā)表了使用語(yǔ)義分割和 SLAM 算法的最新作品。
當可以多次訪(fǎng)問(wèn)同一地點(diǎn)時(shí),MapLab [62] 的工作允許大規模合并不同會(huì )話(huà)的不同地圖。輸出地圖可用于從一個(gè)會(huì )話(huà)到另一個(gè)會(huì )話(huà)。
也許最近最有趣的趨勢之一是使用事件相機,即仿生相機,以避免運動(dòng)模糊的影響。由于事件攝像機的使用還很晚,因此不包括在我們的分類(lèi)中。然而,Rosinol 等人于 2018 年發(fā)表的結果。關(guān)于 Ultimate SLAM [63] 混合使用基于事件的相機和視覺(jué)慣性里程計似乎非常有前途,并渴望為 vSLAM 開(kāi)辟新的可能性。
最近的一項工作 [64] 優(yōu)化局部和全局集束調整給出了可用于 viSLAM 算法以提高全局一致性的有希望的結果。
6. 建議的分類(lèi)方法
幾種方法推動(dòng)了我們的分類(lèi)工作。6.1 節根據輸入對 vSLAM 方法進(jìn)行分組。第 6.2 節根據耦合級別對 viSLAM 方法進(jìn)行分組。最后,第 6.3 節根據硬件要求、算法類(lèi)型和實(shí)現特征比較了主要的 v/viSLAM 方法。它通過(guò)根據應用程序要求對 v/viSLAM 性能進(jìn)行交叉分析來(lái)完成。
6.1. Classification of vSLAM Methods
vSLAM 方法根據輸入的性質(zhì)分為三類(lèi):基于特征的、直接的和基于 RGB-D 的,如第 4 節所述。由于基于 RGB-D 的方法涉及特定的硬件,因此被視為一個(gè)完整的類(lèi)別。圖 4 顯示了選擇一些主要識別方法的分類(lèi)結果。
圖4 主要 vSLAM 方法的時(shí)間順序分類(lèi)
6.1.1. Feature-Based Methods
單目 EKF-SLAM MonoSLAM [21] 和粒子濾波器可擴展單目 SLAM [22],即單目 FastSLAM,屬于基于特征的方法。突破性的并行跟蹤和建圖 (PTAM) [27] 屬于同一類(lèi)別。提出了對 PTAM 的幾種改編。例如,[65] 中介紹了邊緣特征的使用。另一個(gè)重要的方法是 ORB-SLAM [37]。
6.1.2. Direct Methods
第一個(gè)重要的直接方法是 2011 年的稠密跟蹤和建圖 (DTAM) [34]。它是稠密單目 vSLAM 方法的先驅?zhuān)⒂?2015 年通過(guò) MobileFusion [66] 應用于智能手機。從 2016 年開(kāi)始,一種更新的方法是直接稀疏里程計 (DSO) [33]:一種視覺(jué)里程計方法,它提出直接輸入處理但稀疏建圖以進(jìn)行更輕量的處理。另一個(gè)主要的 vSLAM 方法是 2013 年和 2017 年的半直接視覺(jué)里程計(SVO)[67],它結合了 VO 框架中直接和間接輸入搜索的優(yōu)點(diǎn)。2014 年的大規模直接單目 SLAM(LSD-SLAM)[35] 是最早使用半稠密建圖來(lái)解決大型環(huán)境的方法之一。
6.1.3. RGB-D Methods
RGB-D 方法還包括幾種主要算法。2011 年,KinectFusion [68] 旨在使用 Microsoft Kinect 構建干凈、準確的環(huán)境 3D 重建。2013 年的稠密 vSLAM [69] 側重于利用密集地圖進(jìn)行精確定位。2015 年的 ElasticFusion [70] 是一種“以地圖為中心”的方法,它更側重于構建的 3D 模型的幾何精度,而不是位姿圖的構建。
6.2. Classification of viSLAM Methods
直接和間接特征可用于對 viSLAM 方法進(jìn)行分類(lèi)。其他綜述也根據它們是基于濾波器還是基于優(yōu)化的方法對 viSLAM 方法進(jìn)行了分類(lèi) [15]。但大多數主要的 viSLAM 方法實(shí)際上都是基于特征的方法,而 viSLAM 主要處理混合問(wèn)題。因此,圖 5 所示的分類(lèi)是基于視覺(jué)和慣性數據的耦合水平。我們區分兩個(gè)層次:松耦合和緊耦合。
圖5 主要視覺(jué)-慣性 SLAM 方法的時(shí)間分類(lèi)。
6.2.1. Loose Coupling
松耦合方法分別處理 IMU 和圖像測量,并使用這兩種信息來(lái)跟蹤位姿。Weiss 等人 [54] 處理圖像以計算連續位姿之間的 VO,然后將后者與慣性測量融合。還可以過(guò)濾 IMU 測量值以估計在基于圖像的估計算法中融合的旋轉。松耦合的視覺(jué)慣性里程計方法是 2014 年 [71] 提出的全局多傳感器融合(磁力計、壓力高度計、GPS 、激光掃描儀等)的一部分。松耦合的 IMU-相機融合早在 2000 年代初就已經(jīng)開(kāi)始了。SOFT-SLAM 算法 [72] 是一種松耦合的 viSLAM 方法,它實(shí)際上使用 IMU 數據來(lái)減少可用的計算時(shí)間。它實(shí)時(shí)構建稠密地圖并在 MAV 上運行。
6.2.2. Tight Coupling
緊耦合方法不是融合基于視覺(jué)和慣性的算法的輸出,而是直接融合視覺(jué)和慣性原始數據,以提高準確性和魯棒性。MSCKF [25] 和 MSCKF 2.0 [24] 既健壯又非常輕便,與 ROVIO [26] 一起屬于這一類(lèi),后者是一種基于 EKF 的直接 VIO 方法。Open Keyframe-Based Visual Inertial System (OKVIS) [73] 和 S-MSCKF [17] 是著(zhù)名的雙目 VIO 方法,而 Vins-Mono [74] 是真正的 viSLAM 而不僅僅是 VIO 方法。Kimera [60] 也基于 VIO 方法,但它還包括一個(gè)位姿圖優(yōu)化器,在不同的線(xiàn)程中,用于全局軌跡估計、一個(gè) 3D 網(wǎng)格重建模塊和一個(gè) 3D 度量語(yǔ)義重建模塊。VIORB [75] 基于 ORB-SLAM [76]。它的前端使用 ORB 提取特征,而其后端運行圖形優(yōu)化。但它的主要興趣在于一種新的 IMU 初始化方法,首先估計陀螺儀的偏差,近似尺度和重力(不考慮加速度計偏差),然后估計加速度計偏差(經(jīng)過(guò)尺度和重力方向細化),最后是速度矢量,它包括并行方法中的全局優(yōu)化和閉環(huán)。大多數最近的 viSLAM 方法都是緊耦合的 [15],如 [77] 提出的方法,它使用前向和后向光流來(lái)處理圖像特征。
6.3. Comparison of vSLAM and viSLAM from the Usage Point of View
根據硬件要求、算法類(lèi)型和實(shí)現特點(diǎn),主要v/viSLAM方法在表2中進(jìn)行了比較。表 3 展示了每種方法在描述常見(jiàn)用例性質(zhì)的五個(gè)關(guān)鍵特征方面的最新性能。表 3 是通過(guò)閱讀引用的出版物并使用以下標準對其性能評估結果進(jìn)行分類(lèi)而編制的。
(i) 長(cháng)期實(shí)驗特征評估該方法如何處理長(cháng)時(shí)間實(shí)驗。即使在小環(huán)境中,vSLAM 也會(huì )不斷收集新的關(guān)鍵幀,這意味著(zhù)長(cháng)期實(shí)驗可能會(huì )導致關(guān)鍵幀和地圖特征的數量不斷增加。定義一個(gè)好的關(guān)鍵幀選擇策略和內存管理方法很重要;
(ii) 大尺度環(huán)境特征判斷該方法對大環(huán)境的擴展能力(即積累的特征越多,地標越遠)。為了評估這方面,重要的標準是減少漂移、有效的全局優(yōu)化(例如,關(guān)鍵幀的選擇和關(guān)鍵幀圖的類(lèi)型)以及有效的位置識別和閉環(huán)框架;
(iii) 低紋理環(huán)境對應于紋理很少的表面,例如可能成為問(wèn)題的大墻,特別是對于特征提取。面向低紋理空間的最佳性能方法可能會(huì )使用邊緣和附加硬件等特殊功能進(jìn)行定位(IMU),甚至更好地用于建圖(RGB-D 方法的深度傳感器);
(iv) 室外環(huán)境:這類(lèi)環(huán)境增加了光線(xiàn)變化等困難。使用深度傳感器、良好的特征描述符或簡(jiǎn)單的強大位置識別方法(通過(guò)閉合循環(huán)來(lái)糾正錯誤)與室外空間相關(guān)。該分析還基于每種算法的戶(hù)外測試結果;
(v) 運動(dòng):在處理相機時(shí)對高速運動(dòng)引起的運動(dòng)模糊的魯棒性對于為正確的應用選擇正確的方法很重要。使用稠密地圖或邊緣特征的方法通常更穩健。然而,如前文第 4 節所述,我們發(fā)現視覺(jué)慣性系統更健壯。
添加其他方法來(lái)完成之前執行的 v/viSLAM 分類(lèi)。兩個(gè)有趣的 PTAM 派生算法是 PTAM [78] 的雙目版本和雙窗口優(yōu)化 (DWO) [79] 框架。CD-SLAM [80] 是首次嘗試以更穩健的方法將 PTAM 的原理擴展到大規模間接 vSLAM。CD-SLAM 的一些特性啟發(fā)了流行的 ORB-SLAM。后者結合了最高效的 vSLAM 功能(雙模型初始化、高效的關(guān)鍵幀和地圖點(diǎn)剔除、ORB 功能和詞袋回環(huán)閉合)以及關(guān)鍵幀的“基本圖”。ORB-SLAM2 [76] 使 ORB-SLAM 適應雙目和 RGB-D 相機。Edge-SLAM [81] 是最近嘗試以邊緣為特征構建強大的 vSLAM。還包括直接方法“半稠密視覺(jué)里程計”[5] 和 Kintinuous [82]。第一個(gè)側重于使用智能手機將半稠密 vSLAM 應用于增強現實(shí)。最后一個(gè)是 KinectFusion 算法針對更大規模環(huán)境的擴展。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。
LCD顯示屏相關(guān)文章:lcd顯示屏原理
lcd相關(guān)文章:lcd原理