視覺(jué)/視覺(jué)慣性SLAM最新綜述:領(lǐng)域進(jìn)展、方法分類(lèi)與實(shí)驗對比(3)
7. 實(shí)驗基準
使用第 6 節中的分類(lèi),為實(shí)驗基準選擇了五種主要算法:DSO [33]、LSD-SLAM [35]、ORB-SLAM2 [76],以及兩種 viSLAM 方法:ROVIO [26] 和 Vins-Mono [ 74]。它們都可以被視為其類(lèi)別中的參考方法。它們體現了現有設計的多樣性,理論上適合我們的用例。它們在表 2 中以粗體顯示。根據我們的分類(lèi),我們?yōu)閜edestrian context選擇 viSLAM 算法 ROVIO 和 Vins-Mono。它們也被 [3] 認為是所有平臺和數據集上最準確和最健壯的算法,而 ROVIO 被認為是一個(gè)很好的折衷方案。Chen 等人 [15] 也認為 Vins-Mono 作為被測 viSLAM 算法中精度最好的算法。
這些算法的選擇不僅基于其在該領(lǐng)域的重要性,而且還基于感興趣的用例的要求:在城市環(huán)境中使用手持設備進(jìn)行行人位姿估計。選定的方法應針對具有挑戰性的環(huán)境中的準確位姿估計,并在開(kāi)源中可用。該基準測試沒(méi)有應用與計算困難相關(guān)的限制。當我們在手持設備(例如智能手機)上尋求實(shí)現時(shí),預計對許多擾動(dòng)具有全局魯棒性。我們只為 viSLAM 部分選擇了適用于單目相機和 IMU 的方法。行人應用意味著(zhù)必須考慮用戶(hù)的行為。手持相機的運動(dòng)可能會(huì )抖動(dòng),并且會(huì )出現快速的不均勻運動(dòng)。在用戶(hù)需求方面,我們更喜歡不需要非常具體的手動(dòng)初始化的方法。由于大多數行人應用程序都在戶(hù)外(例如,在城市環(huán)境中),所選算法必須處理大規模場(chǎng)景、長(cháng)時(shí)間實(shí)驗(幾分鐘到一個(gè)小時(shí))和光線(xiàn)變化??紤]到他們在上述分類(lèi)中的評估,Kimera [60] 和 VIORB [75] 可以被添加到這個(gè)基準中。但即使 Kimera 的目標是使用單目攝像頭運行,目前代碼的一部分(閉環(huán)檢測)也需要雙目攝像頭。至于 VIORB,作者沒(méi)有公開(kāi)他們的代碼。
7.1. Experiments and Dataset Features
實(shí)驗設置、數據采集和分析采用了以下功能。它們特定于我們的用例。
(i) 硬件(手持設備):具有卷簾快門(mén)和 IMU 記錄的前向單目相機;
(ii) 位姿估計:我們主要關(guān)注當前位姿的在線(xiàn)正確性,而不是重建路徑的整體精度;
(iii) 室外場(chǎng)景:光照變化、觀(guān)察場(chǎng)景尺度的可變性;
(iv) 行人:整體速度(和低平均速度)變化不大,但相機搖晃。由于步行速度,加速度在每個(gè)軸上遵循特定的前后運動(dòng);
(v) 大軌跡:它從幾個(gè)閉環(huán)擴展到?jīng)]有閉環(huán);
(vi) 城市環(huán)境:移動(dòng)物體、觀(guān)察到紋理不良的元素(天空、墻壁等)的潛在時(shí)刻;
(vii) 大眾:期望用戶(hù)友好(無(wú)需特定的手動(dòng)初始化,無(wú)需針對每個(gè)場(chǎng)景調整參數)。
選擇 EuRoC MAV 數據集 [6],包括慣性數據,用于所有五種方法的整體比較??梢钥紤]使用其他 IMU+視覺(jué)數據集來(lái)擴展我們的實(shí)驗評估。在 [83] 中,描述了一個(gè)室內/室外數據集,但與 EuRoc 數據集的 1 mm 相比,其真實(shí)準確度僅為 15 cm。[84] 中提供的數據集是由蘇黎世城市空間中的 MAV 記錄的。MAV 位移的基本事實(shí)使用 Pix4D 攝影測量進(jìn)行后處理,而不是像在 EuRoc 數據集中那樣由外部定位系統(例如,運動(dòng)捕捉系統)進(jìn)行測量。[85] 中提供的數據集,與 EuRoc 相比,它具有良好的準確性和更高的測試序列可變性。我們選擇 EuRoc 是因為它在其他綜述中的廣泛,采用簡(jiǎn)化了我們的結果與其他研究的比較。我們將在未來(lái)的工作中考慮其他數據集。有興趣的讀者可以找到 [15, 83–85] 中引用的其他數據集。
EURoc 包括無(wú)人機在相同環(huán)境和六個(gè)自由度地面實(shí)況下飛行的各種場(chǎng)景。我們選擇僅關(guān)注 11 個(gè)可用場(chǎng)景中的三個(gè)場(chǎng)景。它們對應于表 4 中詳述的不同特征,這些特征對于評估所選算法的性能都很有趣。讓我們注意到無(wú)人機的飛行運動(dòng)與手持相機的相似,這與 KITTI 數據集 [86] 的車(chē)載相機相反,其 10 Hz 的采樣頻率不足以跟蹤快速運動(dòng)。手部運動(dòng)的幅度經(jīng)常被低估。運動(dòng)比與步行步態(tài)自然同步的手臂的運動(dòng)更重要。將手持設備翻轉并抬起以探索環(huán)境。這就是我們可以將其與無(wú)人機動(dòng)力學(xué)進(jìn)行比較的原因。選定的方法還在一個(gè)名為“IRSTV”的新數據集上進(jìn)行了測試,該數據集由步行者使用手持設備沿城市路徑行走收集,以及硬件設置,如圖 6 所示。它對應于室內和明亮的室外空間中 466 m 的步行路徑。它包括具有不同尺度場(chǎng)景的圖像:街道、開(kāi)放空間和房間。它還包含對重建環(huán)境的玻璃覆蓋的建筑物的觀(guān)察,這在經(jīng)典的視覺(jué)里程計上是失敗的。在采集開(kāi)始時(shí)沒(méi)有強加用于動(dòng)態(tài)初始化的特定運動(dòng)。
硬件設置包括一個(gè) Garmin 相機和一個(gè)名為 ULISS [87] 的專(zhuān)用平臺(圖 6)。攝像頭為“VIRB 30 Ultra”,焦距固定,幀率為60 Hz,1920*1080像素分辨率,對應智能手機采集的標準分辨率。ULISS 包括一個(gè)三軸慣性測量單元和一個(gè)以 200 Hz 采樣的三軸磁力計、一個(gè)氣壓計、一個(gè)高靈敏度 GPS 接收機和一個(gè)天線(xiàn)。這些低成本傳感器通常嵌入在移動(dòng)設備中。這種硬件設置可以訪(fǎng)問(wèn)原始數據,而無(wú)需通常嵌入在移動(dòng)設備中的預過(guò)濾。ULISS 和相機數據使用來(lái)自嵌入在兩個(gè)設備中的 GPS 接收器的時(shí)間戳精確同步。用于室內/室外行人導航的參考系統 PERSY [88] 附在腳上。它以累積步行距離的 0.3% 的水平定位精度為行人的場(chǎng)景提供地面實(shí)況。它在圖 6 中以綠色顯示。
基準測試是在 2.60 GHz Intel Core i7-6700HQ CPU 上進(jìn)行的。我們的 Linux 環(huán)境位于虛擬機 (Oracle VirtualBox 5.2.12) 中。我們允許所有四個(gè)內核都具有 100% 的分配資源和 5 GB 的 RAM 使用量。所有算法均在 Ubuntu 16.04 中測試。當需要 ROS 時(shí),我們將ROS kinetic和catkin workspace一起使用。下一節將詳細分析所選數據集上的所選算法,并評估最適合我們案例的算法。
7.2. Experimental Assessment Methodology
我們從 EuRoc 數據集開(kāi)始對之前提供的兩個(gè)數據集進(jìn)行了測試。所有結果都是五次運行的平均值,以考慮隨機異常值緩解部分。在表 5 和表 6 中,我們提供了每個(gè)數據集上每種方法的相對定位誤差 (RPE) 和絕對定位誤差 (APE) 的平均值。APE 和 RPE 是用 evo 包 github.com/MichaelGrupp/evo 獲得的。APE 是估計位置(2D 或 3D)與真實(shí)位置之間的歐幾里德距離,而 RPE 是連續位置估計(2D 或 3D)之間的歐幾里德距離。我們計算了均方根誤差 (RMSE)、標準差 (σ) 和最大誤差 (max) 的平均值作為常量指標。APE 是在所有方法的 Sim (3) Umeyama 對齊之后計算的 [89]。RPE 計算為漂移:每米的平移或旋轉誤差。這種局部精度與關(guān)鍵幀的數量無(wú)關(guān),并允許比較 VO 和 vSLAM。
RPE 通過(guò)檢查位姿-位姿變換的正確性來(lái)評估漂移誤差部分。例如,好的 RPE 和壞的 APE 可能表示漂移校正不好。它可能來(lái)自低效的回環(huán)框架和/或錯誤的初始化,因為知道初始化是 SLAM [20] 的弱點(diǎn)之一。這也可能意味著(zhù)主要的“單一”錯誤很可能發(fā)生在本地并且沒(méi)有得到糾正。在這種情況下,最大 RPE 應該比 RMSE RPE 大得多。
使用提供的時(shí)間戳,我們將實(shí)際位置與估計位置進(jìn)行比較以計算 APE。它們在 EuRoc 數據集的 3D 中計算,但對于 IRSTV 數據集僅在 2D 中計算,因為 PERSY 僅提供水平平面中行人路徑的基本事實(shí)。繪制累積 APE 分布函數 (CDF) 以用于測試算法的全局準確性和穩定性評估。誤差是在由形成局部水平面的 和 軸以及指向上方的軸定義的局部導航框架中計算的。為了模擬在不同環(huán)境中的各種任務(wù)之間不需要人工干預的實(shí)際應用程序,運行計算所需的參數對于所有運行都是固定的。
我們還評估了與用例相關(guān)的五個(gè)功能的性能(第 7.1 節),以及穩定性(對于給定場(chǎng)景從一次運行到另一次運行,結果是否可能會(huì )發(fā)生變化)、整體質(zhì)量 姿態(tài)估計,以及無(wú)需后處理即可估計真實(shí)比例的能力。對于最后一點(diǎn),我們簡(jiǎn)單地確定了結果和真值之間軌跡總長(cháng)度上的相對誤差。
7.3. Detailed Analysis
分析從單目 ORB-SLAM2、Vins-Mono 和 DSO 開(kāi)始,給出了三個(gè) EuRoc 上的最佳 RPE 和 APE。它繼續使用 LSD-SLAM 和 ROVIO,在 IRSTV 數據集上提供不太好的結果和失敗。
7.3.1. ORB-SLAM2 Result Analysis
總的來(lái)說(shuō),ORB-SLAM2 提供了最佳的 RPE RMSE。在 APE 方面,它在 RMSE 和最大誤差方面都優(yōu)于 DSO 和 Vins-Mono。這突出了其糾正漂移效應的效率。圖 7 顯示了 3 EuRoc 定位誤差的 CDF。我們觀(guān)察到一個(gè)非常好的穩定性,最低的這個(gè)基準和最好的可預測性在 ROVIO 之后具有最低的 RMSE 標準偏差。ORB-SLAM2 提供了顯著(zhù)的穩定性,最大 APE/RMSE 比率約為 2,這是該基準測試的最低比率。除了 ROVIO 之外,它還提供了最佳的可預測性,并且 RMSE 的標準偏差最低。
MH01 和 MH03 結果相似,說(shuō)明對運動(dòng)具有良好的魯棒性。與 MH01 和 MH03 相比,MH05 幾乎不受干擾的 RPE 和 APE 似乎表明對缺乏紋理的魯棒性。然而,這僅僅是因為 ORB-SLAM2 具有重新定位和閉合回路的能力,詳見(jiàn)第 7.4 節,其中 ORB-SLAM2 在沒(méi)有閉環(huán)的情況下進(jìn)行了測試。ORB-SLAM2 的 VO 基礎實(shí)際上對缺少紋理的 MH05 部分非常敏感。IRSTV 的結果表明 ORB-SLAM2 可以完美處理大型困難環(huán)境。盡管沒(méi)有閉環(huán),但它輸出了相當精確的結果,在行駛距離上有 1.1% 的 APE RMSE 誤差。沒(méi)有觀(guān)察到由于環(huán)境或初始化發(fā)出的失敗。
總而言之,發(fā)現 ORB-SLAM2 在各種測試場(chǎng)景(包括非常大的規模)中具有一致性和魯棒性,并且具有非??煽康膬?yōu)化和閉環(huán)框架。盡管僅使用高速視覺(jué)慣性數據集的視覺(jué)信息,但它的性能至少與包括 Vins-Mono 在內的其他最先進(jìn)方法一樣好。它的視覺(jué)里程計基礎對缺乏紋理非常敏感,但閉環(huán)和重新定位允許糾正軌跡。然而,讓我們注意到 ORB-SLAM2 有一個(gè)非常嚴格的關(guān)鍵幀剔除策略,這意味著(zhù)它也輸出更少的位姿。與真正估計的相比,這顯然提高了輸出。這也意味著(zhù)結果有時(shí)會(huì )在幾秒鐘內沒(méi)有任何姿勢輸出,因為在此期間沒(méi)有捕獲新的關(guān)鍵幀(或后來(lái)被剔除),如圖 8 所示。這可以通過(guò)降低關(guān)鍵幀管理的嚴重性來(lái)避免代碼中的參數。禁用閉環(huán)的結果顯示在第 7.4 節中。
7.3.2. Vins-Mono Result Analysis
Vins-Mono RPE RMSE 是我們最好的基準測試之一。Vins-Mono APE 結果也是第二好(與 DSO 并列在 ORB-SLAM2 之后)。其 APE max/RMSE 比率為 2 比 3,其整體一致性 (, max) 可與 DSO 相媲美。然而,我們在 MH01 中獲得了不太可預測的結果(11.5%),這表明高速實(shí)際上有利于 Vins-Mono 的穩健性。CDF 誤差圖的形狀(圖 9)還表明仍有一些奇異誤差使整體結果惡化。
Vins-Mono 最顯著(zhù)的結果是真實(shí)尺度估計的高精度。MH01 為 2.7%,MH03 為 2.8%,MH05 為 0.9%。在 MH03 中,RPE 和 APE 并未真正受到運動(dòng)增加的影響。與 MH01 或 MH03 相比,MH05 的結果也很棒,這表明對缺乏紋理的魯棒性。
對 IRSTV 數據集的測試輸出了行進(jìn)距離的 3.3% 的 APE RMSE,對于大多數行人定位應用來(lái)說(shuō),這是一個(gè)令人滿(mǎn)意的結果。然而,與 EuRoC 不同,Vins-Mono 在初始化方面遇到了很多困難,可能是因為在沒(méi)有特定的初始化階段。當檢測到具有足夠視差的運動(dòng)時(shí),它通??梢猿跏蓟?。然而,此時(shí)估計的IMU加速度偏差的質(zhì)量是不確定的,這極大地影響了結果的準確性和魯棒性。我們還發(fā)現玻璃門(mén)反射反復是導致故障的原因。此外,對 IRSTV 數據集的實(shí)際規模估計遠不如在 EuRoC 的近距離環(huán)境中精確(大約 43% 的誤差?。?。盡管如此,我們相信這些結果是可以改進(jìn)的。在數據集的開(kāi)頭為動(dòng)態(tài)初始化添加特定的運動(dòng)可能會(huì )改善結果和魯棒性。
總的來(lái)說(shuō),Vins-Mono 被發(fā)現對所呈現場(chǎng)景中的困難具有魯棒性,其出色的 RPE RMSE 有望用于長(cháng)期實(shí)驗。雖然 ORB-SLAM2 的結果總體上還是比較好,但 Vins-Mono 的真正好處是它能夠準確估計真實(shí)的尺度。因此,結果可以很容易地在線(xiàn)解釋為給定地圖上的真實(shí)世界位姿。然而,IRSTV 數據集的結果表明,很難滿(mǎn)足硬件方面的要求以充分利用 Vins-Mono,或者可能需要特定的用戶(hù)移動(dòng)來(lái)正確初始化 IMU 偏差。
7.3.3. DSO Result Analysis
與 Vins-Mono 和 ORB-SLAM2 一起,DSO 方法輸出所有測試方法的最佳 RPE RMSE 結果。作為一種純 VO 方法,其準確性?xún)H取決于里程計的質(zhì)量。DSO 的結果也很明顯,因為它們與 APE σ和max的規律性與 Vins-Mono 的誤差相當。
由于 MH03 的結果與 MH01 的結果相當,并且 MH05 的結果與 MH01 的結果相當,因此發(fā)現 DSO 對運動(dòng)具有魯棒性。盡管 DSO 是純視覺(jué)里程計,但它的總體結果是我們基準測試中的第二好,并且有希望用于大規模環(huán)境(低 RPE RMSE),盡管圖 10 顯示誤差與軌跡長(cháng)度有關(guān),而不是其他任何東西 (參見(jiàn)表 4)。與我們基準測試的其他兩種最佳方法相比,DSO 還具有在實(shí)時(shí)位姿估計上獲得這種精度的優(yōu)勢,而不僅僅是在軌跡重建上。
DSO 正確估計路徑并重建 IRSTV 數據集的環(huán)境。當相機從街道移動(dòng)到一個(gè)大的地方時(shí),尺度估計會(huì )失敗,并且軌跡是用兩種不同的尺度估計的。我們只考慮了 APE 誤差估計軌跡的第二部分,因為它是唯一通過(guò)三種方法重建良好的部分(圖 11)。在行駛距離上的 APE RMSE 為 3.8%,結果不如 ORB-SLAM2 和 Vins-Mono 的結果精確。讓我們注意,與 Vins-Mono cf 不同,DSO 沒(méi)有遇到初始化困難。第 7.3.2 節。較低的精度以及尺度估計問(wèn)題可以通過(guò)使用滾動(dòng)快門(mén)相機來(lái)解釋?zhuān)苯臃椒ㄔ谌挚扉T(mén)下表現更好。
總體而言,DSO 在各種環(huán)境中都是精確、一致且穩健的。重建的半稠密地圖給出了觀(guān)察到的周?chē)h(huán)境的易讀性??吹剿鼘Ω鞣N場(chǎng)景的適應能力有多強,就結果而言,DSO 唯一真正的弱點(diǎn)是它純粹的 VO 性質(zhì)。即使在非常大的規模和困難的環(huán)境下,它也表現出色,但我們遇到了一個(gè)糟糕的尺度估計問(wèn)題。將其與閉環(huán)框架結合以將其轉變?yōu)檎嬲?SLAM 方法可能會(huì )很有趣。還要注意的是,DSO 需要 GPU 加速,這意味著(zhù)它不容易適應廣泛的應用程序。
7.3.4. LSD-SLAM Result Analysis
據我們所知,EuRoC 上沒(méi)有公開(kāi)的 LSD-SLAM 測試可用。它的包是這里測試的所有算法中最古老的,因此我們不否認可能適應 EURoC 的可能性(例如 Stereo 版本 [90] 可能在這里表現更好。(開(kāi)源 github 項目似乎也不是 不再維護,也不會(huì )升級到最新的 Ubuntu 和 ROS 版本。)然而,通過(guò)使用今天可訪(fǎng)問(wèn)的常規包、參數和建議,我們設法在 MH03 和 MH05 上運行 LSD-SLAM。盡管在 MH01 上取得了令人鼓舞的結果( 圖 12),它對運動(dòng)的魯棒性和可能缺乏紋理不足以為 MH03 和 MH05 產(chǎn)生不錯的結果。此外,在我們進(jìn)行的每次 MH03 運行結束前以及 MH05 上五分之三的運行中,跟蹤都失敗了。為了更好地支持 LSD-SLAM 的初始化,我們切斷了無(wú)人機不規則移動(dòng)的數據集的開(kāi)頭,以初始化其 IMU 參數。
觀(guān)察在多次運行中獲得的非常隨機的行為,很明顯 LSD-SLAM 在這里的失敗是由于初始化不當造成的。最有可能的是,LSD-SLAM 結果并沒(méi)有反映這種方法在理想條件下的真實(shí)能力。這個(gè)結果突出了一個(gè)事實(shí),即在初始化期間需要特別注意的方法不太適合許多無(wú)法帶來(lái)這種注意的應用程序。在選擇 SLAM 方法時(shí),對特定用戶(hù)干預和控制的需求是需要考慮的關(guān)鍵因素。根據當前的設置和初始化過(guò)程,發(fā)現 LSD-SLAM 對于類(lèi)似于 EUROC Machine Hall 中呈現的場(chǎng)景不夠健壯。
7.3.5. ROVIO Result Analysis
查看數據集 MH01 和 MH03,在所有方法中,ROVIO 輸出最差的 RPE RMSE。累積誤差分布圖(如圖 13)所示,顯示 MH01 和 MH03 80% 的定位誤差在沿軸 25 cm、沿軸 20 cm 和沿軸 15 cm 以下??偟膩?lái)說(shuō),該方法仍然準確,例如,MH01 和 MH03 沿軸的最大誤差分別為 40 cm 和 80 cm??偟膩?lái)說(shuō),它給出了最糟糕的 APE 之一(除了 LSD-SLAM 故障),APE RMSE 比其他方法差 3 到 20 倍,APE 最大差 3 到 12 倍。所有 ROVIO 運行在數據集上給出相同的結果;沒(méi)有隨機參數。
一般的尺度估計對于真實(shí)尺度的軌跡估計來(lái)說(shuō)已經(jīng)足夠好了。MH01 的值等于 4.9%、MH03 的 4.7% 和 MH05 的 12.8%。與 MH01 相比,MH03 的性能并沒(méi)有特別改變(參見(jiàn) APE 和 RPE),因此運動(dòng)似乎很穩健。然而,MH05 上非常糟糕的結果表明,它出人意料地(因為它是 VIO)受到無(wú)紋理環(huán)境中的通道的嚴重影響。對于大規模,精度的缺乏與純 VIO 性質(zhì)相結合可能會(huì )導致非常不精確的結果。然而,像 ROVIO 一樣,純 VO 在長(cháng)期實(shí)驗的內存管理方面顯示出優(yōu)勢,因為它僅適用于關(guān)鍵幀窗口。
總結一下 ROVIO,發(fā)現它不如其他方法精確。它只是一個(gè)沒(méi)有閉環(huán)和全局優(yōu)化的純 VIO。例如,它仍然是一種有趣的 VIO 方法,用于在線(xiàn)控制無(wú)人機,或者任何更關(guān)注局部位姿估計而不是重建軌跡相對于參考真值的正確性的應用程序。它的可預測性對于重復性任務(wù)和已知場(chǎng)景很有趣。然而,無(wú)紋理環(huán)境似乎會(huì )帶來(lái)嚴重的問(wèn)題,并且結果缺乏一致性對于需要持續評估精度的應用程序來(lái)說(shuō)是個(gè)問(wèn)題。ROVIO 在 IRSTV 數據集上失敗。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。