博客專欄

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

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

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

7. 實驗基準(zhǔn)

使用第 6 節(jié)中的分類,為實驗基準(zhǔn)選擇了五種主要算法:DSO [33]、LSD-SLAM [35]、ORB-SLAM2 [76],以及兩種 viSLAM 方法:ROVIO [26] 和 Vins-Mono [ 74]。它們都可以被視為其類別中的參考方法。它們體現(xiàn)了現(xiàn)有設(shè)計的多樣性,理論上適合我們的用例。它們在表 2 中以粗體顯示。根據(jù)我們的分類,我們?yōu)閜edestrian context選擇 viSLAM 算法 ROVIO 和 Vins-Mono。它們也被 [3] 認(rèn)為是所有平臺和數(shù)據(jù)集上最準(zhǔn)確和最健壯的算法,而 ROVIO 被認(rèn)為是一個很好的折衷方案。Chen 等人 [15] 也認(rèn)為 Vins-Mono 作為被測 viSLAM 算法中精度最好的算法。

這些算法的選擇不僅基于其在該領(lǐng)域的重要性,而且還基于感興趣的用例的要求:在城市環(huán)境中使用手持設(shè)備進行行人位姿估計。選定的方法應(yīng)針對具有挑戰(zhàn)性的環(huán)境中的準(zhǔn)確位姿估計,并在開源中可用。該基準(zhǔn)測試沒有應(yīng)用與計算困難相關(guān)的限制。當(dāng)我們在手持設(shè)備(例如智能手機)上尋求實現(xiàn)時,預(yù)計對許多擾動具有全局魯棒性。我們只為 viSLAM 部分選擇了適用于單目相機和 IMU 的方法。行人應(yīng)用意味著必須考慮用戶的行為。手持相機的運動可能會抖動,并且會出現(xiàn)快速的不均勻運動。在用戶需求方面,我們更喜歡不需要非常具體的手動初始化的方法。由于大多數(shù)行人應(yīng)用程序都在戶外(例如,在城市環(huán)境中),所選算法必須處理大規(guī)模場景、長時間實驗(幾分鐘到一個小時)和光線變化??紤]到他們在上述分類中的評估,Kimera [60] 和 VIORB [75] 可以被添加到這個基準(zhǔn)中。但即使 Kimera 的目標(biāo)是使用單目攝像頭運行,目前代碼的一部分(閉環(huán)檢測)也需要雙目攝像頭。至于 VIORB,作者沒有公開他們的代碼。

7.1. Experiments and Dataset Features

實驗設(shè)置、數(shù)據(jù)采集和分析采用了以下功能。它們特定于我們的用例。

(i) 硬件(手持設(shè)備):具有卷簾快門和 IMU 記錄的前向單目相機;

(ii) 位姿估計:我們主要關(guān)注當(dāng)前位姿的在線正確性,而不是重建路徑的整體精度;

(iii) 室外場景:光照變化、觀察場景尺度的可變性;

(iv) 行人:整體速度(和低平均速度)變化不大,但相機搖晃。由于步行速度,加速度在每個軸上遵循特定的前后運動;

(v) 大軌跡:它從幾個閉環(huán)擴展到?jīng)]有閉環(huán);

(vi) 城市環(huán)境:移動物體、觀察到紋理不良的元素(天空、墻壁等)的潛在時刻;

(vii) 大眾:期望用戶友好(無需特定的手動初始化,無需針對每個場景調(diào)整參數(shù))。

選擇 EuRoC MAV 數(shù)據(jù)集 [6],包括慣性數(shù)據(jù),用于所有五種方法的整體比較??梢钥紤]使用其他 IMU+視覺數(shù)據(jù)集來擴展我們的實驗評估。在 [83] 中,描述了一個室內(nèi)/室外數(shù)據(jù)集,但與 EuRoc 數(shù)據(jù)集的 1 mm 相比,其真實準(zhǔn)確度僅為 15 cm。[84] 中提供的數(shù)據(jù)集是由蘇黎世城市空間中的 MAV 記錄的。MAV 位移的基本事實使用 Pix4D 攝影測量進行后處理,而不是像在 EuRoc 數(shù)據(jù)集中那樣由外部定位系統(tǒng)(例如,運動捕捉系統(tǒng))進行測量。[85] 中提供的數(shù)據(jù)集,與 EuRoc 相比,它具有良好的準(zhǔn)確性和更高的測試序列可變性。我們選擇 EuRoc 是因為它在其他綜述中的廣泛,采用簡化了我們的結(jié)果與其他研究的比較。我們將在未來的工作中考慮其他數(shù)據(jù)集。有興趣的讀者可以找到 [15, 83–85] 中引用的其他數(shù)據(jù)集。

EURoc 包括無人機在相同環(huán)境和六個自由度地面實況下飛行的各種場景。我們選擇僅關(guān)注 11 個可用場景中的三個場景。它們對應(yīng)于表 4 中詳述的不同特征,這些特征對于評估所選算法的性能都很有趣。讓我們注意到無人機的飛行運動與手持相機的相似,這與 KITTI 數(shù)據(jù)集 [86] 的車載相機相反,其 10 Hz 的采樣頻率不足以跟蹤快速運動。手部運動的幅度經(jīng)常被低估。運動比與步行步態(tài)自然同步的手臂的運動更重要。將手持設(shè)備翻轉(zhuǎn)并抬起以探索環(huán)境。這就是我們可以將其與無人機動力學(xué)進行比較的原因。選定的方法還在一個名為“IRSTV”的新數(shù)據(jù)集上進行了測試,該數(shù)據(jù)集由步行者使用手持設(shè)備沿城市路徑行走收集,以及硬件設(shè)置,如圖 6 所示。它對應(yīng)于室內(nèi)和明亮的室外空間中 466 m 的步行路徑。它包括具有不同尺度場景的圖像:街道、開放空間和房間。它還包含對重建環(huán)境的玻璃覆蓋的建筑物的觀察,這在經(jīng)典的視覺里程計上是失敗的。在采集開始時沒有強加用于動態(tài)初始化的特定運動。

10.png11.png

硬件設(shè)置包括一個 Garmin 相機和一個名為 ULISS [87] 的專用平臺(圖 6)。攝像頭為“VIRB 30 Ultra”,焦距固定,幀率為60 Hz,1920*1080像素分辨率,對應(yīng)智能手機采集的標(biāo)準(zhǔn)分辨率。ULISS 包括一個三軸慣性測量單元和一個以 200 Hz 采樣的三軸磁力計、一個氣壓計、一個高靈敏度 GPS 接收機和一個天線。這些低成本傳感器通常嵌入在移動設(shè)備中。這種硬件設(shè)置可以訪問原始數(shù)據(jù),而無需通常嵌入在移動設(shè)備中的預(yù)過濾。ULISS 和相機數(shù)據(jù)使用來自嵌入在兩個設(shè)備中的 GPS 接收器的時間戳精確同步。用于室內(nèi)/室外行人導(dǎo)航的參考系統(tǒng) PERSY [88] 附在腳上。它以累積步行距離的 0.3% 的水平定位精度為行人的場景提供地面實況。它在圖 6 中以綠色顯示。

基準(zhǔn)測試是在 2.60 GHz Intel Core i7-6700HQ CPU 上進行的。我們的 Linux 環(huán)境位于虛擬機 (Oracle VirtualBox 5.2.12) 中。我們允許所有四個內(nèi)核都具有 100% 的分配資源和 5 GB 的 RAM 使用量。所有算法均在 Ubuntu 16.04 中測試。當(dāng)需要 ROS 時,我們將ROS kinetic和catkin workspace一起使用。下一節(jié)將詳細分析所選數(shù)據(jù)集上的所選算法,并評估最適合我們案例的算法。

7.2. Experimental Assessment Methodology

我們從 EuRoc 數(shù)據(jù)集開始對之前提供的兩個數(shù)據(jù)集進行了測試。所有結(jié)果都是五次運行的平均值,以考慮隨機異常值緩解部分。在表 5 和表 6 中,我們提供了每個數(shù)據(jù)集上每種方法的相對定位誤差 (RPE) 和絕對定位誤差 (APE) 的平均值。APE 和 RPE 是用 evo 包 github.com/MichaelGrupp/evo 獲得的。APE 是估計位置(2D 或 3D)與真實位置之間的歐幾里德距離,而 RPE 是連續(xù)位置估計(2D 或 3D)之間的歐幾里德距離。我們計算了均方根誤差 (RMSE)、標(biāo)準(zhǔn)差 (σ) 和最大誤差 (max) 的平均值作為常量指標(biāo)。APE 是在所有方法的 Sim (3) Umeyama 對齊之后計算的 [89]。RPE 計算為漂移:每米的平移或旋轉(zhuǎn)誤差。這種局部精度與關(guān)鍵幀的數(shù)量無關(guān),并允許比較 VO 和 vSLAM。

12.png13.png

RPE 通過檢查位姿-位姿變換的正確性來評估漂移誤差部分。例如,好的 RPE 和壞的 APE 可能表示漂移校正不好。它可能來自低效的回環(huán)框架和/或錯誤的初始化,因為知道初始化是 SLAM [20] 的弱點之一。這也可能意味著主要的“單一”錯誤很可能發(fā)生在本地并且沒有得到糾正。在這種情況下,最大 RPE 應(yīng)該比 RMSE RPE 大得多。

使用提供的時間戳,我們將實際位置與估計位置進行比較以計算 APE。它們在 EuRoc 數(shù)據(jù)集的 3D 中計算,但對于 IRSTV 數(shù)據(jù)集僅在 2D 中計算,因為 PERSY 僅提供水平平面中行人路徑的基本事實。繪制累積 APE 分布函數(shù) (CDF) 以用于測試算法的全局準(zhǔn)確性和穩(wěn)定性評估。誤差是在由形成局部水平面的 和 軸以及指向上方的軸定義的局部導(dǎo)航框架中計算的。為了模擬在不同環(huán)境中的各種任務(wù)之間不需要人工干預(yù)的實際應(yīng)用程序,運行計算所需的參數(shù)對于所有運行都是固定的。

我們還評估了與用例相關(guān)的五個功能的性能(第 7.1 節(jié)),以及穩(wěn)定性(對于給定場景從一次運行到另一次運行,結(jié)果是否可能會發(fā)生變化)、整體質(zhì)量 姿態(tài)估計,以及無需后處理即可估計真實比例的能力。對于最后一點,我們簡單地確定了結(jié)果和真值之間軌跡總長度上的相對誤差。

14.png

7.3. Detailed Analysis

分析從單目 ORB-SLAM2、Vins-Mono 和 DSO 開始,給出了三個 EuRoc 上的最佳 RPE 和 APE。它繼續(xù)使用 LSD-SLAM 和 ROVIO,在 IRSTV 數(shù)據(jù)集上提供不太好的結(jié)果和失敗。

7.3.1. ORB-SLAM2 Result Analysis

總的來說,ORB-SLAM2 提供了最佳的 RPE RMSE。在 APE 方面,它在 RMSE 和最大誤差方面都優(yōu)于 DSO 和 Vins-Mono。這突出了其糾正漂移效應(yīng)的效率。圖 7 顯示了 3 EuRoc 定位誤差的 CDF。我們觀察到一個非常好的穩(wěn)定性,最低的這個基準(zhǔn)和最好的可預(yù)測性在 ROVIO 之后具有最低的 RMSE 標(biāo)準(zhǔn)偏差。ORB-SLAM2 提供了顯著的穩(wěn)定性,最大 APE/RMSE 比率約為 2,這是該基準(zhǔn)測試的最低比率。除了 ROVIO 之外,它還提供了最佳的可預(yù)測性,并且 RMSE 的標(biāo)準(zhǔn)偏差最低。

15.png

MH01 和 MH03 結(jié)果相似,說明對運動具有良好的魯棒性。與 MH01 和 MH03 相比,MH05 幾乎不受干擾的 RPE 和 APE 似乎表明對缺乏紋理的魯棒性。然而,這僅僅是因為 ORB-SLAM2 具有重新定位和閉合回路的能力,詳見第 7.4 節(jié),其中 ORB-SLAM2 在沒有閉環(huán)的情況下進行了測試。ORB-SLAM2 的 VO 基礎(chǔ)實際上對缺少紋理的 MH05 部分非常敏感。IRSTV 的結(jié)果表明 ORB-SLAM2 可以完美處理大型困難環(huán)境。盡管沒有閉環(huán),但它輸出了相當(dāng)精確的結(jié)果,在行駛距離上有 1.1% 的 APE RMSE 誤差。沒有觀察到由于環(huán)境或初始化發(fā)出的失敗。

總而言之,發(fā)現(xiàn) ORB-SLAM2 在各種測試場景(包括非常大的規(guī)模)中具有一致性和魯棒性,并且具有非常可靠的優(yōu)化和閉環(huán)框架。盡管僅使用高速視覺慣性數(shù)據(jù)集的視覺信息,但它的性能至少與包括 Vins-Mono 在內(nèi)的其他最先進方法一樣好。它的視覺里程計基礎(chǔ)對缺乏紋理非常敏感,但閉環(huán)和重新定位允許糾正軌跡。然而,讓我們注意到 ORB-SLAM2 有一個非常嚴(yán)格的關(guān)鍵幀剔除策略,這意味著它也輸出更少的位姿。與真正估計的相比,這顯然提高了輸出。這也意味著結(jié)果有時會在幾秒鐘內(nèi)沒有任何姿勢輸出,因為在此期間沒有捕獲新的關(guān)鍵幀(或后來被剔除),如圖 8 所示。這可以通過降低關(guān)鍵幀管理的嚴(yán)重性來避免代碼中的參數(shù)。禁用閉環(huán)的結(jié)果顯示在第 7.4 節(jié)中。

16.png

7.3.2. Vins-Mono Result Analysis

Vins-Mono RPE RMSE 是我們最好的基準(zhǔn)測試之一。Vins-Mono APE 結(jié)果也是第二好(與 DSO 并列在 ORB-SLAM2 之后)。其 APE max/RMSE 比率為 2 比 3,其整體一致性 (, max) 可與 DSO 相媲美。然而,我們在 MH01 中獲得了不太可預(yù)測的結(jié)果(11.5%),這表明高速實際上有利于 Vins-Mono 的穩(wěn)健性。CDF 誤差圖的形狀(圖 9)還表明仍有一些奇異誤差使整體結(jié)果惡化。

17.png

Vins-Mono 最顯著的結(jié)果是真實尺度估計的高精度。MH01 為 2.7%,MH03 為 2.8%,MH05 為 0.9%。在 MH03 中,RPE 和 APE 并未真正受到運動增加的影響。與 MH01 或 MH03 相比,MH05 的結(jié)果也很棒,這表明對缺乏紋理的魯棒性。

對 IRSTV 數(shù)據(jù)集的測試輸出了行進距離的 3.3% 的 APE RMSE,對于大多數(shù)行人定位應(yīng)用來說,這是一個令人滿意的結(jié)果。然而,與 EuRoC 不同,Vins-Mono 在初始化方面遇到了很多困難,可能是因為在沒有特定的初始化階段。當(dāng)檢測到具有足夠視差的運動時,它通??梢猿跏蓟?。然而,此時估計的IMU加速度偏差的質(zhì)量是不確定的,這極大地影響了結(jié)果的準(zhǔn)確性和魯棒性。我們還發(fā)現(xiàn)玻璃門反射反復(fù)是導(dǎo)致故障的原因。此外,對 IRSTV 數(shù)據(jù)集的實際規(guī)模估計遠不如在 EuRoC 的近距離環(huán)境中精確(大約 43% 的誤差?。1M管如此,我們相信這些結(jié)果是可以改進的。在數(shù)據(jù)集的開頭為動態(tài)初始化添加特定的運動可能會改善結(jié)果和魯棒性。

總的來說,Vins-Mono 被發(fā)現(xiàn)對所呈現(xiàn)場景中的困難具有魯棒性,其出色的 RPE RMSE 有望用于長期實驗。雖然 ORB-SLAM2 的結(jié)果總體上還是比較好,但 Vins-Mono 的真正好處是它能夠準(zhǔn)確估計真實的尺度。因此,結(jié)果可以很容易地在線解釋為給定地圖上的真實世界位姿。然而,IRSTV 數(shù)據(jù)集的結(jié)果表明,很難滿足硬件方面的要求以充分利用 Vins-Mono,或者可能需要特定的用戶移動來正確初始化 IMU 偏差。

7.3.3. DSO Result Analysis

與 Vins-Mono 和 ORB-SLAM2 一起,DSO 方法輸出所有測試方法的最佳 RPE RMSE 結(jié)果。作為一種純 VO 方法,其準(zhǔn)確性僅取決于里程計的質(zhì)量。DSO 的結(jié)果也很明顯,因為它們與 APE σ和max的規(guī)律性與 Vins-Mono 的誤差相當(dāng)。

由于 MH03 的結(jié)果與 MH01 的結(jié)果相當(dāng),并且 MH05 的結(jié)果與 MH01 的結(jié)果相當(dāng),因此發(fā)現(xiàn) DSO 對運動具有魯棒性。盡管 DSO 是純視覺里程計,但它的總體結(jié)果是我們基準(zhǔn)測試中的第二好,并且有希望用于大規(guī)模環(huán)境(低 RPE RMSE),盡管圖 10 顯示誤差與軌跡長度有關(guān),而不是其他任何東西 (參見表 4)。與我們基準(zhǔn)測試的其他兩種最佳方法相比,DSO 還具有在實時位姿估計上獲得這種精度的優(yōu)勢,而不僅僅是在軌跡重建上。

18.png

DSO 正確估計路徑并重建 IRSTV 數(shù)據(jù)集的環(huán)境。當(dāng)相機從街道移動到一個大的地方時,尺度估計會失敗,并且軌跡是用兩種不同的尺度估計的。我們只考慮了 APE 誤差估計軌跡的第二部分,因為它是唯一通過三種方法重建良好的部分(圖 11)。在行駛距離上的 APE RMSE 為 3.8%,結(jié)果不如 ORB-SLAM2 和 Vins-Mono 的結(jié)果精確。讓我們注意,與 Vins-Mono cf 不同,DSO 沒有遇到初始化困難。第 7.3.2 節(jié)。較低的精度以及尺度估計問題可以通過使用滾動快門相機來解釋,而直接方法在全局快門下表現(xiàn)更好。

19.png

總體而言,DSO 在各種環(huán)境中都是精確、一致且穩(wěn)健的。重建的半稠密地圖給出了觀察到的周圍環(huán)境的易讀性??吹剿鼘Ω鞣N場景的適應(yīng)能力有多強,就結(jié)果而言,DSO 唯一真正的弱點是它純粹的 VO 性質(zhì)。即使在非常大的規(guī)模和困難的環(huán)境下,它也表現(xiàn)出色,但我們遇到了一個糟糕的尺度估計問題。將其與閉環(huán)框架結(jié)合以將其轉(zhuǎn)變?yōu)檎嬲?SLAM 方法可能會很有趣。還要注意的是,DSO 需要 GPU 加速,這意味著它不容易適應(yīng)廣泛的應(yīng)用程序。

7.3.4. LSD-SLAM Result Analysis

據(jù)我們所知,EuRoC 上沒有公開的 LSD-SLAM 測試可用。它的包是這里測試的所有算法中最古老的,因此我們不否認(rèn)可能適應(yīng) EURoC 的可能性(例如 Stereo 版本 [90] 可能在這里表現(xiàn)更好。(開源 github 項目似乎也不是 不再維護,也不會升級到最新的 Ubuntu 和 ROS 版本。)然而,通過使用今天可訪問的常規(guī)包、參數(shù)和建議,我們設(shè)法在 MH03 和 MH05 上運行 LSD-SLAM。盡管在 MH01 上取得了令人鼓舞的結(jié)果( 圖 12),它對運動的魯棒性和可能缺乏紋理不足以為 MH03 和 MH05 產(chǎn)生不錯的結(jié)果。此外,在我們進行的每次 MH03 運行結(jié)束前以及 MH05 上五分之三的運行中,跟蹤都失敗了。為了更好地支持 LSD-SLAM 的初始化,我們切斷了無人機不規(guī)則移動的數(shù)據(jù)集的開頭,以初始化其 IMU 參數(shù)。

20.png

觀察在多次運行中獲得的非常隨機的行為,很明顯 LSD-SLAM 在這里的失敗是由于初始化不當(dāng)造成的。最有可能的是,LSD-SLAM 結(jié)果并沒有反映這種方法在理想條件下的真實能力。這個結(jié)果突出了一個事實,即在初始化期間需要特別注意的方法不太適合許多無法帶來這種注意的應(yīng)用程序。在選擇 SLAM 方法時,對特定用戶干預(yù)和控制的需求是需要考慮的關(guān)鍵因素。根據(jù)當(dāng)前的設(shè)置和初始化過程,發(fā)現(xiàn) LSD-SLAM 對于類似于 EUROC Machine Hall 中呈現(xiàn)的場景不夠健壯。

7.3.5. ROVIO Result Analysis

查看數(shù)據(jù)集 MH01 和 MH03,在所有方法中,ROVIO 輸出最差的 RPE RMSE。累積誤差分布圖(如圖 13)所示,顯示 MH01 和 MH03 80% 的定位誤差在沿軸 25 cm、沿軸 20 cm 和沿軸 15 cm 以下。總的來說,該方法仍然準(zhǔn)確,例如,MH01 和 MH03 沿軸的最大誤差分別為 40 cm 和 80 cm??偟膩碚f,它給出了最糟糕的 APE 之一(除了 LSD-SLAM 故障),APE RMSE 比其他方法差 3 到 20 倍,APE 最大差 3 到 12 倍。所有 ROVIO 運行在數(shù)據(jù)集上給出相同的結(jié)果;沒有隨機參數(shù)。

21.png

一般的尺度估計對于真實尺度的軌跡估計來說已經(jīng)足夠好了。MH01 的值等于 4.9%、MH03 的 4.7% 和 MH05 的 12.8%。與 MH01 相比,MH03 的性能并沒有特別改變(參見 APE 和 RPE),因此運動似乎很穩(wěn)健。然而,MH05 上非常糟糕的結(jié)果表明,它出人意料地(因為它是 VIO)受到無紋理環(huán)境中的通道的嚴(yán)重影響。對于大規(guī)模,精度的缺乏與純 VIO 性質(zhì)相結(jié)合可能會導(dǎo)致非常不精確的結(jié)果。然而,像 ROVIO 一樣,純 VO 在長期實驗的內(nèi)存管理方面顯示出優(yōu)勢,因為它僅適用于關(guān)鍵幀窗口。

總結(jié)一下 ROVIO,發(fā)現(xiàn)它不如其他方法精確。它只是一個沒有閉環(huán)和全局優(yōu)化的純 VIO。例如,它仍然是一種有趣的 VIO 方法,用于在線控制無人機,或者任何更關(guān)注局部位姿估計而不是重建軌跡相對于參考真值的正確性的應(yīng)用程序。它的可預(yù)測性對于重復(fù)性任務(wù)和已知場景很有趣。然而,無紋理環(huán)境似乎會帶來嚴(yán)重的問題,并且結(jié)果缺乏一致性對于需要持續(xù)評估精度的應(yīng)用程序來說是個問題。ROVIO 在 IRSTV 數(shù)據(jù)集上失敗。

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



關(guān)鍵詞: 計算機視覺

相關(guān)推薦

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

關(guān)閉