博客專欄

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

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

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

        7. 實驗基準

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

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

        7.1. Experiments and Dataset Features

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

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

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

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

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

        (v) 大軌跡:它從幾個閉環擴展到沒有閉環;

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

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

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

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

        10.png11.png

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

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

        7.2. Experimental Assessment Methodology

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

        12.png13.png

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

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

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

        14.png

        7.3. Detailed Analysis

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

        7.3.1. ORB-SLAM2 Result Analysis

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

        15.png

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

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

        16.png

        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%),這表明高速實際上有利于 Vins-Mono 的穩健性。CDF 誤差圖的形狀(圖 9)還表明仍有一些奇異誤差使整體結果惡化。

        17.png

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

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

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

        7.3.3. DSO Result Analysis

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

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

        18.png

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

        19.png

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

        7.3.4. LSD-SLAM Result Analysis

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

        20.png

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

        7.3.5. ROVIO Result Analysis

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

        21.png

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

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

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: 計算機視覺

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武川县| 大兴区| 北碚区| 水城县| 上犹县| 昆明市| 永和县| 诸城市| 尼木县| 新民市| 东至县| 衡南县| 宣汉县| 元谋县| 吴旗县| 曲麻莱县| 阿鲁科尔沁旗| 女性| 临猗县| 邢台县| 北票市| 本溪市| 玛沁县| 宕昌县| 册亨县| 平武县| 同江市| 南岸区| 阿鲁科尔沁旗| 迭部县| 新余市| 杂多县| 如东县| 张掖市| 穆棱市| 利川市| 舟曲县| 棋牌| 沁水县| 洪湖市| 潮州市|