No.1
前沿
SLAM(Simultaneous Localization and Mapping),其中文翻譯為同步定位與地圖構建,即可以在未知環境中通過傳感器的信息來定位自身的位姿,并同時構建環境的三維地圖,因其在AR/VR、自動駕駛、機器人領域的巨大應用價值,得到了學術界和工業界的廣泛關注。
SLAM示意圖SLAM技術主要提供兩方面的能力:即空間定位(Localization)和環境重建(Mapping)。而這兩方面的能力也是AR/VR的關鍵基礎技術。環境重建(Mapping)能力可以識別真實物理世界的幾何結構,提供了AR/VR虛擬場景與真實物理世界疊加的載體。而空間定位(Localization)能力,或者我們稱之為6DoF運動跟蹤,則能夠保證虛擬場景與真實世界的融合能夠在不同視角下的一致性。
No.2
XRSLAM特性介紹
XRSLAM[4]是OpenXRLab空間計算平臺中基于C++語言實現的SLAM算法庫,算法基于單目視覺和IMU實現了輕量級的VIO,同時支持桌面平臺和移動平臺,算法在EuRoC[3]等公開數據集上達到SOTA級別的精度,支持普通手機終端30fps的實時處理幀率。
1
模塊化的設計
XRSLAM的整個框架如下圖所示,算法支持多種不同傳感器數據作為輸入,經過XRSLAM算法內部的融合優化算法得到實時相機位姿。在當前開源的版本中,XRSLAM的核心是一個輕量級的VIO算法,其中包括對IMU數據的預積分,對圖像數據的特征匹配,基于視覺、IMU的線性對齊初始化以及完整的劃窗優化等。其中特征匹配采用了OpenCV[5]的光流來實現。
OpenXRLab-XRSLAM框架算法內部根據核心模塊、狀態估計、多視圖幾何、視覺定位、地圖結構、AR展示、實用工具等不同類別,模塊化了不同的函數和類,方便開發者上手和拓展更多功能。
XRSLAM設計了靈活易拓展的多傳感器支持,當前發布的版本以單目相機和IMU作為傳感器輸入,在此基礎上,我們會進一步拓展到多目相機、深度相機以及廣角相機等更多配置。
2
跨平臺的開發
算法庫核心部分只依賴Eigen[6]、OpenCV[5]、Ceres Solver[7]等常用基礎庫,而且這些基礎庫都已經包含在我們的XRPrimer基礎庫中。XRSLAM支持Linux、Mac、Android、iOS等多個平臺的編譯運行,當前發布的版本中,我們也提供了Linux/Mac和iOS的完整的編譯流程和可以方便運行的demo。
3
完善的文檔說明
為了讓用戶能快速上手XRSLAM,我們提供了詳盡的文檔和教程供使用者參考,其中包含了:
如何在PC平臺編譯和運行
如何在移動平臺開發AR demo
VIO能夠正常穩定的運行,依賴對多傳感器參數進行提前標定,我們提前對近幾年的iOS設備進行了參數標定,使得開發者隨手可以快速運行起來我們的AR demo。
最后,考慮到配置系統環境容易出現各種問題,XRSLAM還提供了完整的docker鏡像,幫助開發者快速地基于統一的系統環境上手開發SLAM。
在我們的XRSLAM的官方github頁面,我們將及時回答大家在使用XRSLAM的問題并盡力處理各類issue,歡迎大家踴躍參與討論!
No.3
XRSLAM性能指標
XRSLAM在EuRoC上進行了精度評測,并與目前SOTA算法VINS-Mono進行了對比(其中VINS-Mono的結果是基于開源代碼本地復現的結果)。從結果看,XRSLAM的精度具備顯著的領先性。另外,XRSLAM也可以在移動端實時運行,算法處理效率可以支持30Fps以上的數據處理幀率。
效果指標對比結果(注意這里的精度指標都不包含回路閉合的功能)
EuRoC V101算法運行可視化效果
移動端AR效果(視頻2倍速播放)
No.4
總結
SLAM是一個既古老又充滿活力的研究領域,在這個方向仍有很多值得研究的熱點問題。XRSLAM提供一個開放的平臺,以簡潔高效、跨平臺、易拓展的形式,歡迎大家在此平臺上進行二次開發,共同探索SLAM方向的新的研究課題和技術突破。
審核編輯 :李倩
-
算法
+關注
關注
23文章
4616瀏覽量
93027 -
C++
+關注
關注
22文章
2110瀏覽量
73696 -
SLAM
+關注
關注
23文章
425瀏覽量
31860
原文標題:原創輕量VIO算法、簡單易上手:XRSLAM幫你快速搭建移動平臺AR應用
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論