同步定位和地圖構(gòu)建(SLAM)是移動機器人環(huán)境感知和導(dǎo)航過程中的重要任務(wù),一直是計算機視覺和機器人學(xué)領(lǐng)域中的研究熱點。隨著移動機器人技術(shù)和視覺技術(shù)的發(fā)展和應(yīng)用,近年來涌現(xiàn)出了一大批優(yōu)秀的研究,各式各樣的SLAM系統(tǒng)先后被提出,主要包括單目、多目、多傳感器融合等基于不同傳感器類型的SLAM系統(tǒng)(深度相機、激光、立體視覺和融合慣性導(dǎo)航等方法),還包括基于不同原理的關(guān)鍵點法、(半)直接法、稀疏法稠密法等SLAM系統(tǒng)(可分為基于關(guān)鍵點法、直接法和半直接法)以及基于學(xué)習(xí)的SLAM系統(tǒng)。
SLAM可以為移動機器人導(dǎo)航、室內(nèi)定位和室內(nèi)地圖的構(gòu)建提供強大的技術(shù)支撐,比如機器人、無人機(UAV),自動駕駛汽車以及虛擬和增強現(xiàn)實。
雖然SLAM領(lǐng)域發(fā)展迅速,缺乏統(tǒng)一的結(jié)構(gòu)框架來整合SLAM的各個子系統(tǒng),大多數(shù)研究人員專注于他們自己的SLAM系統(tǒng)的理論和實現(xiàn),使得這一領(lǐng)域的代碼復(fù)用和工程實踐進展較慢,很多研究人員依然受到了重復(fù)造輪子的困擾,這阻礙了SLAM技術(shù)迭代發(fā)展和工業(yè)化的實際應(yīng)用。 此外,對算法的基準(zhǔn)評估和魯棒性分析也是研究過程中的重要內(nèi)容,亟待研究人員們達成共識攜手前行。
為了整合這一領(lǐng)域的最新研究、構(gòu)建SLAM領(lǐng)域的通用化框架系統(tǒng),本文的作者們提出了一個名為GSLAM的新型SLAM平臺,它不僅能提供算法評估功能,而且還能為研究人員提供許多有用的算法快速開發(fā)工具包。其核心貢獻在于提供了一個通用、跨平臺和完全開源(可用于研究和商業(yè)用途)的SLAM交互程序,旨在將數(shù)據(jù)集輸入、SLAM配置、可視化和應(yīng)用的交互在統(tǒng)一框架中實現(xiàn)。同時,這一框架還友好地支持了ROS風(fēng)格使用機制,使得廣泛的機器人研究人員可以很容易的上手進行操作。
GSLAM核心工作是提供了通用的SLAM界面和框架。為了在使用不同數(shù)據(jù)集、SLAM算法和應(yīng)用的時候獲得更好的體驗,界面設(shè)計輕量級,用到的頭文件僅依賴于C ++ 11標(biāo)準(zhǔn)庫。通過這個平臺,用戶可以通過插件的形式直接調(diào)用一些常用函數(shù),也可以創(chuàng)建自己定義的函數(shù)。此外,作者還提供了JavaScript和Python接口,來使用基于Web和基于深度學(xué)習(xí)的SLAM應(yīng)用程序 。軟件和界面主要處理三部分信息的交互:
a. 數(shù)據(jù)輸入,包含一些傳感器數(shù)據(jù)及其使用參數(shù);
b. SLAM算法實現(xiàn),基于事先定義好的通用類,研發(fā)人員可以快速調(diào)用,并修改定義自己的核心算法;
c. 可視化和結(jié)果應(yīng)用,默認使用Qt可視化,用戶也可以配置其它框架,以標(biāo)準(zhǔn)格式輸出算法結(jié)果。
圖1 GSLAM的框架圖
其中,數(shù)據(jù)插件集成主流的VO、SLAM數(shù)據(jù)集,包括KITTI,TUM,EuRoC,NPUDrone,CVMono等數(shù)據(jù)集,同時你也可以構(gòu)建自己的數(shù)據(jù)集插件,將自己的數(shù)據(jù)集集成到這一框架中去。
其中,SLAM算法插件提供了SLAM領(lǐng)域流行的優(yōu)秀算法,包括DSO,ORBSLAM,SVO和TheiaSFM等,這些插件可以直接集成到自己的代碼中,研究人員也可以基于這些插件進行進一步研究或者貢獻自己的插件。此外Rviz也被集成到了這一框架中進行可視化交互,讓用戶可以復(fù)用ros中的技能和知識。
由于平移、旋轉(zhuǎn)和相似性變換算法是SLAM中最為常用的基礎(chǔ)變換,這一框架也對這些變換進行了高效的實現(xiàn),表1中的對比結(jié)果證明了,對于常用的SO(3)、SE(3)和SIM(3)變換方法,基于GSLAM平臺的運行時間要比流行的Sophus, TooN 和Ceres更高效。
表1 GSLAM與三大流行的庫的運行時間對比
作者在GSLAM平臺中實現(xiàn)了三個優(yōu)化模塊作為通用類,以方便研究人員調(diào)用實現(xiàn)自己的SLAM算法,包括估計器Estimator、優(yōu)化器Optimizer和字典Vocabulary。
估計器Estimator,旨在提供一系列的解析求解器,覆蓋通過抽樣一致性算法RANSAC得到的各類情況(如表2所示,包含了2D-2D、2D-3D、3D-3D多種情況),大部分的算法基于開源線性代數(shù)庫Eigen。
優(yōu)化器Optimizer,旨在提供流行的SLAM非線性優(yōu)化問題的統(tǒng)一接口,比如PnP、bundle adjustment和pose graph optimization,一般使用Ceres庫就能解決,當(dāng)然一些高效前沿的算法也提供到了,比如PBA和ICE-BA。
字典Vocabulary,旨在提供用于重定位的高效輕便多線程和SIMD優(yōu)化的詞袋模型,下表展示了GSLAM與其他BoW方法在載入、保存和訓(xùn)練上的效率對比。這一框架中實現(xiàn)的各類特征字典模型性能整體優(yōu)于現(xiàn)有詞袋模型的表現(xiàn)。
為了中和測定這一框架在SLAM領(lǐng)域的性能,研究人員針對四個方面在框架內(nèi)對算法進行了性能評測,下圖中展示了DSO、SVO和ORBSLAM算法運行時每一幀的內(nèi)存使用、分配內(nèi)存數(shù)量、CPU使用和耗時等詳細信息。結(jié)果證明SVO占用了最少的內(nèi)存和CPU資源,耗時最短且很穩(wěn)定,這主要因為它只是一個視覺里程計,只需要維持一個很小的局部地圖,無需進行全局的強計算操作。
DSO、SVO和ORBSLAM計算性能對比圖
此外還測試了三種算法的運行軌跡與Groundtruth的對齊結(jié)果,SVO盡管運行速度快但是漂移較嚴重,ORBSLAM在絕對位姿誤差A(yù)PE指標(biāo)上準(zhǔn)確率最好。其他指標(biāo)的結(jié)果可以在作者論文的supplementary材料中查閱,或在GSLAM中自行嘗試。
圖 DSO、SVO和ORBSLAM運行軌跡對比圖
這個高度集成的SLAM框架已經(jīng)在Github上開源,并且配合了詳細的文檔供大家配合使用。統(tǒng)一的框架有利于研究人員更加專注自己的核心研究,將最先進的算法集成模塊,并便于全世界的開發(fā)者一同貢獻自己的力量,促進SLAM技術(shù)的快速發(fā)展。
正所謂:
眾人拾柴火焰高,前端后端共繁榮。
定位導(dǎo)航大發(fā)展,優(yōu)化回環(huán)樣樣強!
更多代碼請戳:https://github.com/zdzhaoyong/GSLAM
另外兩位主要研究人員的主頁如下,他們在三維視覺重建、機器人等方面有著深入的研究,值得學(xué)習(xí):
https://github.com/bushuhui
https://shibiaoxu.github.io/
-
傳感器
+關(guān)注
關(guān)注
2565文章
53008瀏覽量
767442 -
SLAM
+關(guān)注
關(guān)注
24文章
441瀏覽量
32504 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1224瀏覽量
25447
原文標(biāo)題:GSLAM:一套通用的SLAM框架與基準(zhǔn)
文章出處:【微信號:thejiangmen,微信公眾號:將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于多模態(tài)語義SLAM框架
分享一套通用的開發(fā)環(huán)境搭建教程
HOOFR-SLAM的系統(tǒng)框架及其特征提取
怎樣使用springboot整合netty來開發(fā)一套高性能的通信系統(tǒng)呢
在rockchip平臺怎樣去實現(xiàn)一套兼容多款wifi模塊的自適應(yīng)框架呢
探討一下HDMI顯示的兩套流程框架及其配置
三聯(lián)屏一套多少錢_配一套三聯(lián)屏需要什么設(shè)備(電腦)
美國工業(yè)互聯(lián)網(wǎng)聯(lián)盟制定出一套新的物聯(lián)網(wǎng)安全成熟度模型
Altera發(fā)布一套完整的SoC解決方案
altiumdesigner多少錢一套

評論