綜述 | 基于特征的視覺同步定位和建圖(2)
在本節(jié)中,將概述最先進的基于特征的視覺SLAM系統(tǒng)。如前所述,特征可以具有不同的層次:低級特征、中級特征或高級特征。視覺 SLAM 系統(tǒng)可以基于使用一種或兩種或多種特征類型的混合,這將在以下部分中討論?;谔卣鞯姆椒ㄗ盍钊藫鷳n的問題是它們在沒有特征的情況下會失敗。無論它們在特征豐富的環(huán)境中可實現的高性能和準確性如何,如果所研究的環(huán)境缺乏視覺 SLAM 所依賴的特征,無論是點、平面還是物體,定位都會失敗,并且機器人周圍環(huán)境的估計也不會反映真實的結構。在下文中,視覺 SLAM 系統(tǒng)根據系統(tǒng)中使用的特征類型進行分類和討論。3.1 基于低級特征的方法低級特征是在紋理場景中大量可觀察的幾何基元。絕大多數現有的視覺 SLAM 系統(tǒng),例如 [22, 62, 70, 91, 127] 在整個定位和建圖過程中都利用了這些特征,并在準確性和效率方面達到了非常高的成熟度和效率。但是,如果機器人運行的環(huán)境是無紋理的或缺乏系統(tǒng)可以跟蹤的特征,則此類方法會由于缺乏特征而失敗,因此最近的 SLAM 方法開始同時考慮使用不同級別的特征。3.1.1 多種特征類型以提高魯棒性基于特征的視覺 SLAM 系統(tǒng)依賴于單一類型的特征,當這些特征在所運行的環(huán)境中不存在時,很容易出現故障。為了規(guī)避這個問題,[99] 中提出的工作建議使用點和線一起在紋理不佳的環(huán)境中執(zhí)行單目 SLAM。線由它們的端點參數化,以促進與基于點的方法的集成。在沒有點特征的情況下,這項工作提出了一種僅使用線來初始化系統(tǒng)的新技術。在 [47] 中也采用了相同的地標集來執(zhí)行立體 SLAM。立體視覺里程計用于跟蹤點和線,然后使用高斯牛頓優(yōu)化通過最小化相應特征的重投影誤差來估計相機的運動。在[59]中,點特征的觀察與激光掃描相結合,并用于因子圖中來估計機器人的姿態(tài)。提出了一種結合了占用網格地圖和點特征的新地圖表示。通過將觀察到的特征與地圖中的地標相匹配,可以有效地實現閉環(huán)和定位。因此,在估計機器人在環(huán)境中的軌跡時采用何種類型的特征的靈活性極大地有利于視覺 SLAM 的魯棒性。3.1.2 促進實時性能低級特征生成的地圖是稀疏的,卻需要大量的計算和內存資源。這是因為檢測、提取和匹配特征的過程是 SLAM 流程中計算成本最高的模塊之一。為了實現實時性能,一些系統(tǒng) [27, 94, 97, 134] 大量利用并行性來執(zhí)行最初在 PTAM [65] 中提出的跟蹤和映射。兩個線程同時運行以定位機器人并映射其周圍環(huán)境 [65, 97]。與跟蹤不同,在大多數繁重計算發(fā)生的映射線程中延遲是可以容忍的。為了進一步減少計算量,[94] 限制了要提取的特征數量,并使用了一個局部地圖,通過該地圖進行特征匹配。為了最大化并行性,使用了一個單獨的線程來執(zhí)行循環(huán)關閉,并提出了一個同步過程,其中只有當點當前沒有被另一個線程處理時,才授予線程訪問地圖點。在[27]中,采用了三個并行模塊;用于特征檢測、提取和匹配的場景流,用于攝像機運動估計的視覺里程計,以及用于閉環(huán)和全局一致性的全局 SLAM。定位和建圖也可以由多個機器人車輛以分布式方式完成,同時利用 [134] 中提出的并行性,其中跟蹤和圖像采集是輕量級過程,在所有 MAV 上并行運行,由于其計算需求,建圖時由功能強大的計算機在機外完成。最近在 [102] 中提出了一個單目 SLAM 系統(tǒng),其中 EKF 和 BA 一起被利用來實現實時的魯棒性能。ORB 特征和慣性測量用于基于 EKF 的視覺慣性里程計 (VIO) 框架,該框架能夠以最小的延遲估計相機運動。為了進一步幫助實時性能,并非所有 ORB 特征都是從 VIO 框架中的視覺幀中提取的,該框架對所有傳入幀進行操作。此外,為了規(guī)避 EKF 導致的估計誤差,使用 BA 估計的全局一致地圖會根據選定的關鍵幀頻繁更新,并反饋到 EKF 以糾正任何估計錯誤。選定的關鍵幀會經過另一輪特征提取和匹配,因為為 VIO 提取的特征不足以構建魯棒的地圖。閉環(huán)在并行線程中運行,以通過執(zhí)行位置識別和 ORB 特征匹配來糾正累積的錯誤。一旦檢測到循環(huán),就會執(zhí)行位姿圖優(yōu)化以及 GBA。由于視覺和慣性測量的融合,該方法對突然運動具有魯棒性,并且能夠解決尺度模糊問題。它還結合了 EKF 和 BA 的優(yōu)點,分別實現了實時性能和魯棒性。圖 8 總結了可用于加速定位和建圖過程并實時完成估計的技術。3.1.3 解決尺度不確定性當使用單目相機時,SLAM 系統(tǒng)需要處理固有的尺度不確定性挑戰(zhàn),這是由于難以從單幀中辨別深度而導致的。[127] 中提出了一種基于 EKF 的方法,其中通過融合單目視覺、超聲波和大氣壓力測量來補償尺度不確定性和間歇性特征缺失。在 [78] 中還看到了多個傳感器的融合,其中使用視覺、慣性和距離測量來實現 SLAM 的目標。[82] 中的尺度不確定性被雙視圖初始化規(guī)避。根據它們的相對旋轉,歐氏距離,以及它們之間的時間差選擇一對圖像。然后,根據這些幀之間的匹配特征,使用對極幾何來估計尺度。在另一種單目 SLAM 方法 [142] 中,ORB 特征的深度是根據它們與場景中識別的消失點的距離來計算的。此外,在[26]中使用逆深度參數化來恢復場景的規(guī)模。圖 8 促進實時性能的技術雖然 RGB-D 和立體 SLAM 不需要,但采用一種技術來解析地圖的比例對于單目 SLAM 是必不可少的。圖 9 說明了可用于解決尺度不確定性的技術。3.1.4 對特征檢測/關聯失敗的恢復能力在環(huán)境中觀察或匹配低級特征失敗相當于在基于特征的視覺 SLAM 系統(tǒng)的無紋理環(huán)境中操作失敗。在這兩種情況下,系統(tǒng)都缺乏測量約束,導致性能嚴重下降。在傳感器突然運動或場景中存在動態(tài)的情況下,視覺系統(tǒng)無法檢測或匹配幀之間的特征。[122] 中描述的原始 EKF-SLAM 的限制之一是它無法處理突然運動。為了克服這個問題,[73] 中提出的方法在過濾器的兩個階段都采用了視覺輸入。預測和更新。光流和對極幾何用于估計相機的狀態(tài)轉換。在預測階段使用圖像使系統(tǒng)對突然運動和不頻繁的數據采集具有魯棒性。這也消除了對動態(tài)模型的需求,并帶來了更快、更高效的性能。盡管這種 EKF 變體在特定情況下提高了 SLAM 的魯棒性和效率,但如果場景中沒有特征,它仍然會失敗。在 [100] 中提出了 EKF-SLAM 的另一種變體,IMU 測量用于預測階段,RGB-D 圖像用于更新階段。為了實現全局一致性,執(zhí)行了位姿圖優(yōu)化。IMU 測量的融合使系統(tǒng)能夠在無紋理和動態(tài)環(huán)境中成功運行。ORB-SLAM2 [91] 是最先進的視覺 SLAM 系統(tǒng),它在標準 CPU 上運行時僅基于 ORB 特征實時執(zhí)行跟蹤、映射和閉環(huán)。由于對視覺特征的依賴,ORB-SLAM2 在場景中沒有 ORB 特征的情況下失敗。為此,在 [15] 中提出了里程計和 ORB-SLAM2 的緊密耦合融合,其中運動模型被里程計取代,這支持在場景中無法檢測到任何特征時的估計。類似地,[62] 中提出的方法利用慣性和視覺測量的緊密耦合融合來執(zhí)行視覺慣性里程計。然后通過閉環(huán)檢測和全局位姿圖優(yōu)化來實現全局一致性。ORB-SLAM2 的另一種變體可以在 [121] 中找到,其中 ORB 特征被學習的點特征取代,稱為 GCNv2。結果表明,所提出的方法在大多數情況下具有與 ORB-SLAM2 相當的性能,但在快速旋轉的情況下表現略好。
圖 9 解決尺度模糊的技術場景中的動態(tài)也可能導致無法在后續(xù)幀中關聯特征。[128] 中提出的工作證明了在動態(tài)環(huán)境中成功執(zhí)行 RGB-D SLAM 的能力,同時僅觀察低級特征。使用基本矩陣,提取屬于場景移動部分的特征點。然后,使用高效的 PnP 估計相機在環(huán)境中的位姿。然后通過BA進一步優(yōu)化重投影誤差。所提出的方法在實際實驗中成功使用,但僅在連續(xù)幀之間存在小視差和超過 24 點匹配的假設下。因此,該方法在存在突然運動且環(huán)境中沒有低級特征的情況下工作會失敗。為了提高視覺 SLAM 在動態(tài)環(huán)境中的性能,[21] 中提出的方法采用了稀疏運動去除方案。貝葉斯濾波器用于計算連續(xù)幀之間的相似性和差異性以確定動態(tài)特征。消除這些特征后,場景被輸入經典的視覺 SLAM 方法來執(zhí)行姿態(tài)估計。這種方法僅適用于場景中存在特征的情況,否則會失敗。在 [13] 中發(fā)現了另一種對動態(tài)場景中發(fā)生的錯誤數據關聯具有魯棒性的方法。該方法基于一種新穎的過濾器,其中姿勢被編碼為雙四元數。ORB 特征觀察和地圖地標的關聯是通過基于光流的方法完成的,這使其對場景中的動態(tài)具有魯棒性??傊?,觀察場景中缺乏特征、突然的相機運動和動態(tài)是無法執(zhí)行數據關聯的主要原因。文獻中用于解決這些問題的一些技術包括使用多個傳感器來觀察場景中的不同信息,并消除涉及動態(tài)的觀察。表 2 提供了回顧過的基于特征的低級方法的實現細節(jié)。3.2 基于特征的中級方法中級特征是在環(huán)境中觀察到的平面或斑點。在難以觀察低級特征的無紋理環(huán)境中,使用諸如地標之類的特征可以提高 SLAM 性能;以走廊為例。為了觀察這些特征,采用了模型擬合方法。因此,在估計精度和需要從環(huán)境中計算準確的模型的時間之間存在權衡。表 2 低級基于特征的方法采用的實現選擇
FG 因子圖、PG 位姿圖、BA 束調整、EKF 擴展卡爾曼濾波器、MAP 最大后驗、VT 詞匯樹、PF 粒子濾波器、FM 特征匹配、BBW 二進制詞袋、GN Gauss Newton、LM Levenberg Marquardt、FF 第一幀、PM 先驗圖、SI 立體初始化、EG 極線幾何、IDP 逆深度參數化、Odom Odometry、SBI 小模糊圖像重定位、LSO 最小二乘優(yōu)化、IMI 圖像矩不變量 - 表示有關相應元素的實現細節(jié)/block 沒有提供單獨使用這些特征并不常見,因為將它們與低級和高級特征融合會產生更好的準確性,如 Sect. 3.4.在 [113] 中,提出了一種僅基于 RGB-D 數據的 SLAM 方法。使用代表墻壁和地板的平面構建環(huán)境的 3D 地圖,同時從場景中移除所有其他對象。RANSAC 用于估計平面表面,然后通過估計它們的法線并提取相應的凸面來對其進行細化。然后,使用 l0 范數最小化算法來維護極有可能表示墻壁或地板的平面,同時最小化包含較小的平面。使用這種方法,可以重建墻壁和地板的地圖,如圖 10 所示。但是,地圖中沒有其他特征,這使得它無法用于大多數 SLAM 應用程序。這激發(fā)了考慮高級特征的需要,如下一節(jié)所述。3.3 基于高級特征的方法當期望機器人執(zhí)行需要場景理解的任務時,例如在災難后搜索受害者、構建有意義的地圖以及抓取或操作特定對象時,感知高級特征是至關重要的。這對于使用低級特征重建的地圖來說是非常具有挑戰(zhàn)性的,因為它們缺乏表達性的表示,這使得人類更難理解 [39, 46]。高級特征添加了有關場景結構的關鍵信息,并傳達了重建地圖每個部分的語義。它們是特定于環(huán)境的,并且可能在大小、形狀和動態(tài)方面有所不同。在城市規(guī)模的應用程序中,可能的地標包括樹木、建筑物、街道或人行道。另一方面,家具、辦公用品和家用電器可以作為室內應用的地標。在本節(jié)中,將深入討論基于高級特征的 SLAM 方法中數據關聯的不同方法。然后,將介紹在場景中實現實時性能和處理動態(tài)的技術。3.3.1 將高級特征觀察與地標相關聯盡管檢測到高級特征并進行語義注釋,但在環(huán)境中存在同一對象類別的多個實例的情況下,數據關聯在高級特征中提出了基本挑戰(zhàn)?;谒教卣鞯囊曈X SLAM 系統(tǒng) [88]。
圖 10 基于平面特征的重建地圖示意圖在 [95] 中,對象在類別級別而不是實例級別被檢測和表征。這是基于這樣一個事實,即一個類中的所有對象都有共同的 3D 點,而不管它們的類別如何。這些點稱為關鍵點,用于區(qū)分同一類的不同類別。輸入的單目幀被傳遞到目標檢測器 YOLO9000 [103],生成的邊界框中的 3D 關鍵點通過另一個卷積神經網絡進行定位。使用 Ceres 求解器優(yōu)化形狀和姿勢。不是在每一幀上執(zhí)行對象和關鍵點檢測,而是在連續(xù)幀中跟蹤對象,從而提高效率和速度。[45] 中提出了另一種新穎的數據關聯方法,用于在先驗地圖中定位機器人。首先,為每個圖像計算查詢圖,其中頂點表示對象的類和質心,頂點之間的無向邊表示滿足接近要求。然后通過使用它們之間的歐幾里德距離連接來自連續(xù)圖像的頂點來創(chuàng)建所有圖像的合并圖。彼此太近的頂點被合并以避免重復。第二步是為每個頂點生成隨機游走描述符。也就是說,一個 n×m 矩陣包含 n 次隨機游走中 m 個訪問過的頂點的標簽。第三,查詢圖將基于相似度得分與全局數據庫圖相匹配。兩個頂點的相似度分數表示它們描述符中相同行的數量。然后使用最高的 k 個匹配來本地化數據庫圖中的查詢圖。在[69]中,語義標記的對象及其相互關系被用于建立輸入單目幀之間的對應關系的過程。首先將 RGB 幀傳遞給 Faster R-CNN 以檢測對象。然后,通過首先生成沿線的多個長方體來計算連續(xù)圖像之間的變換,這些長方體由相機中心和邊界框的中心形成,并將它們投影到檢測到的邊界框上。長方體的生成是在離散的距離和角度上完成的。之后,執(zhí)行坐標下降以最小化檢測到的邊界框的角與每個長方體在圖像平面中的投影之間的差異。然后刪除多余的長方體。然后將剩余的每個長方體用作種子以生成場景,該場景是一組長方體,每個長方體對應于檢測到的邊界框,基于上下文約束。為了找到生成的場景集之間的對應關系,使用了基于采樣的方法?;谡Z義標簽搜索每對場景的對應關系。從每對中挑選三個對應關系,并為每個場景構建參考框架。相應地計算場景之間的變換,并根據剩余對應關系使用計算出的變換擬合的好壞進行評分。然后使用具有最高等級的樣本來估計相機姿勢之間的轉換。在 [24] 中,如果在多個幀中觀察到相同的對象片段,則生成對象假設,并使用有助于閉環(huán)的 3D 特征描述符表示。計算當前對象與地圖中對象之間的內部對應關系,然后,將對象與實現最高對應數量的假設相關聯。如果對應的數量低于閾值,則添加新的對象表示。假設環(huán)境中只有一個或幾個對象類別的靜態(tài)實例。使用 OmniMapper [124] 計算基于里程計和 ICP 的機器人姿態(tài)的先驗估計?;诖?,當前幀的片段被投影到與所有先前分割的對象的公共參考框架中。每個段的質心與地圖中最近的段質心匹配。為了驗證匹配,比較當前段的邊界框和與之匹配的段的邊界框。如果邊界框之間沒有足夠的重疊,則初始化一個新對象。最終的對象模型是通過在根據相對相機位姿進行轉換后聚合所有相應的片段來創(chuàng)建的。然后將對象模型和機器人位姿之間的空間約束添加到 SLAM 系統(tǒng)中。在 [88] 中,SLAM 和數據關聯被視為緊密耦合的問題,并提出了一種新方法來同時估計機器人的位置并將其觀察結果與地標相關聯。后端方法用于聯合解決目標檢測和 SLAM 問題。物體被檢測到后,由其從RGB-D數據中獲得的點云的質心來表示。數據關聯和環(huán)境中地標的總數都不是先驗已知的。因此引入了基于狄利克雷過程的概率模型來建立適當的數據關聯。總體而言,建立了一個混合整數非線性問題來估計機器人的姿態(tài)、地標位置和給定機器人的相對姿態(tài)和觀察值的數據關聯。在存在同一對象類別的多個實例的情況下,最常見的數據關聯方法是 [23] 中提出的距離閾值。所提出的分布式 SLAM 框架中的每個機器人都通過基于視覺和里程計測量的 OmniMapper [124] 執(zhí)行 SLAM。每個輸入的 RGB 圖像都被傳遞到 YOLO 對象檢測器。檢測到的被分割的對象,在點云中的PFHRGB 特征和相應的模型被提取和匹配。如果檢測到至少 12 個對應關系,則執(zhí)行廣義迭代最近點 (GICP) [110] 以計算對象的精細姿勢。然后通過在距離閾值內搜索相同檢測到的對象類別的實例來執(zhí)行數據關聯。圖 11 總結了文獻中發(fā)現的執(zhí)行高級特征數據關聯的主要方法。3.3.2 促進實時性能執(zhí)行實時定位和映射對于一些機器人任務非常關鍵,尤其是那些在惡劣環(huán)境中執(zhí)行的搜索和救援任務。然而,SLAM流程中某些模塊的處理時間,例如對象檢測和分割,超出了這個范圍。在本節(jié)中,重點將專注于用于促進高級基于特征的 SLAM 方法的實時性能的技術。[95] 中提出的工作建議不對所有輸入幀執(zhí)行目標檢測。相反,在關鍵幀中檢測到對象后,會在連續(xù)幀中對其進行跟蹤,這大大減少了處理數據所需的時間。出于同樣的目的,[24] 中提出的系統(tǒng)通過將場景劃分為平面和非平面(對象)段來對場景進行預處理。移除平面線段后,對象線段會被細化并與地圖中已有的地標相關聯。使用二次曲線表示對象是一種替代技術,可以在視覺 SLAM 系統(tǒng)中使用語義標記的地標來減少計算量。[93] 中提出的工作使用對象檢測器作為傳感器,其中檢測到的邊界框用于識別表示相應對象的二次曲線的參數。二次曲線提供關于對象大小、位置和方向的信息,編碼為十個獨立參數。提出了一種幾何誤差公式來解釋物體檢測的空間不確定性,例如由遮擋引起的。使用二次曲線而不是詳細的對象模型可以提高系統(tǒng)的速度,但會以重建在廣泛應用中有用的信息豐富的地圖為代價。圖 12 提供了有助于提高基于特征的高級視覺SLAM 系統(tǒng)效率的討論技術的插圖。
圖 11 高級特征數據關聯技術的圖解3.3.3 處理場景中的動態(tài)大多數 SLAM 系統(tǒng)是在不切實際的假設環(huán)境是靜態(tài)的情況下開發(fā)的。文獻中只提出了少數考慮場景動態(tài)的系統(tǒng)。這些系統(tǒng)中的大多數檢測觀察場景的非靜止部分,將其消除,然后根據剩余的靜態(tài)環(huán)境執(zhí)行 SLAM。這種方法的一個例子可以在[5]中找到,其中移動物體被跟蹤,靜止物體被用來生成被調查環(huán)境的靜態(tài)地圖。使用激光掃描儀進行觀察,并使用多級 RANSAC 方法進行數據關聯。不同的是,[137] 中提出的工作使用長方體作為對象的表示,其中提出了對象 SLAM 系統(tǒng)。該系統(tǒng)依賴于來自單目相機的觀察,并利用場景中的動態(tài)對象通過將運動模型約束添加到用于解決優(yōu)化問題的多視圖 BA 公式來改進定位。在連續(xù)幀中跟蹤屬于它們的對象和特征點,估計并使用運動模型來提高軌跡和地圖估計的準確性。利用動態(tài)對象的運動模型而不是忽略它們會對系統(tǒng)施加額外的約束,從而提高估計的準確性。表 3 提供了前幾節(jié)中所有回顧過的基于特征的高級方法的總結。3.4 混合基于特征的方法在前幾節(jié)中,討論和分析了采用單一類型特征的 SLAM系統(tǒng)。每個級別的特征都通過一種獨特的方式增強了圖12中SLAM的結果。表 3 高級基于特征的 SLAM 方法采用的實現選擇
- 表明關于未提供相應的元素/塊例如,基于觀察低級特征的定位方法在準確性和效率方面已經達到了很高的成熟度。然而,他們產生的地圖是高度稀疏的,沒有任何語義指示。利用場景中的中級特征(例如平面)可以在無紋理環(huán)境
圖12通過基于高級特征的視覺 SLAM 方法實現實時性能的技術中獲得更高的重建密度和更強的魯棒性。為了創(chuàng)建人類可以輕松感知的有意義的地圖,最近的 SLAM 方法有效地利用了新興的對象檢測技術,并在整個定位和映射過程中采用了語義標記的觀察。為了充分利用場景中可以視覺觀察到的內容并增強其整體結果,SLAM 系統(tǒng)最近開始在兩個或更多級別上使用特征,如本節(jié)所述。在本節(jié)中,將回顧采用多層次特征的基于特征的視覺 SLAM 方法。審查的系統(tǒng)根據用于執(zhí)行 SLAM 的功能分為三類;低級和中級基于特征的方法,低級和高級基于特征的方法,以及低級、中級和高級基于特征的方法。表 4 總結了審查過的方法所采用的實施選擇。
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。