整理了三次方AIRX團(tuán)隊(duì)平時(shí)學(xué)習(xí)SLAM的一些開源工程、書籍、論文項(xiàng)目等。 1、Cartographer Cartographer是一個(gè)系統(tǒng),可跨多個(gè)平臺(tái)和傳感器配置以2D和3D形式提供實(shí)時(shí)同時(shí)定位和制圖(SLAM)。 https://github.com/cartographer-project/cartographer 2、Openvslam 一個(gè)通用的視覺SLAM框架。OpenVSLAM是單眼,立體聲和RGBD視覺SLAM系統(tǒng)。值得注意的功能是:
OpenVSLAM基于具有稀疏功能的間接SLAM算法,例如ORB-SLAM,ProSLAM和UcoSLAM。OpenVSLAM值得注意的功能之一是該系統(tǒng)可以處理各種類型的攝像機(jī)模型,例如透視,魚眼和等角矩形。如果需要,用戶可以輕松實(shí)現(xiàn)額外的相機(jī)模型(例如雙魚眼,折反射)。例如,上面顯示了使用等矩形相機(jī)模型(例如RICOH THETA系列,insta360系列等)的可視SLAM算法。 https://github.com/xdspacelab/openvslam 3、Mvision 機(jī)器人視覺 移動(dòng)機(jī)器人 VS-SLAM ORB-SLAM2 深度學(xué)習(xí)目標(biāo)檢測(cè) yolov3 行為檢測(cè) opencv PCL 機(jī)器學(xué)習(xí) 無人駕駛 https://github.com/Ewenwan/MVision 4、Recent_slam_research Track Advancement of SLAM 跟蹤SLAM前沿動(dòng)態(tài)【2020 version】 https://github.com/YiChenCityU/Recent_SLAM_Research 5、G2o g2o是用于優(yōu)化基于圖形的非線性誤差函數(shù)的開源C ++框架。g2o被設(shè)計(jì)為易于擴(kuò)展到各種各樣的問題,通常可以在幾行代碼中指定一個(gè)新問題。當(dāng)前的實(shí)現(xiàn)為SLAM和BA的多個(gè)變體提供了解決方案。 機(jī)器人技術(shù)和計(jì)算機(jī)視覺中的許多問題都涉及最小化可以表示為圖形的非線性誤差函數(shù)。典型實(shí)例是同時(shí)定位和映射(SLAM)或捆綁包調(diào)整(BA)。這些問題的總體目標(biāo)是找到能最大程度解釋受高斯噪聲影響的一組測(cè)量值的參數(shù)或狀態(tài)變量的配置。g2o是用于解決此類非線性最小二乘問題的開源C ++框架。g2o被設(shè)計(jì)為易于擴(kuò)展到各種各樣的問題,通常可以在幾行代碼中指定一個(gè)新問題。當(dāng)前的實(shí)現(xiàn)為SLAM和BA的多個(gè)變體提供了解決方案。對(duì)于特定的問題,g2o的性能可與最新方法的實(shí)現(xiàn)相媲美。 https://github.com/RainerKuemmerle/g2o 6、Awesome Visual Slam 基于視覺的SLAM /視覺Odometry的開源項(xiàng)目,博客和論文列表 https://github.com/tzutalin/awesome-visual-slam 7、Maplab 一個(gè)開放的視覺-慣性映射框架。這是一個(gè)用C ++編寫的開放式,面向研究的視覺慣性映射框架,用于創(chuàng)建,處理和操縱多會(huì)話地圖。一方面,可以將maplab視為現(xiàn)成的視覺慣性制圖和定位系統(tǒng)。另一方面,maplab為研究社區(qū)提供了多會(huì)話映射工具的集合,這些工具包括地圖合并,視覺慣性批處理優(yōu)化和循環(huán)閉合。此外,它還包括一個(gè)在線前端ROVIOLI,它可以創(chuàng)建視覺慣性圖,還可以跟蹤本地化圖中的無漂移姿態(tài)。 https://github.com/ethz-asl/maplab 8、Elasticfusion 實(shí)時(shí)密集視覺SLAM系統(tǒng)。實(shí)時(shí)密集可視SLAM系統(tǒng),能夠捕獲使用RGB-D攝像機(jī)探索的房間尺度環(huán)境的綜合密集全局一致的基于surfelf的地圖。 https://github.com/mp3guy/ElasticFusion 9、Evo 用于評(píng)估里程表和SLAM的Python軟件包。該軟件包提供可執(zhí)行文件和一個(gè)小型庫,用于處理,評(píng)估和比較測(cè)距法和SLAM算法的軌跡輸出。 https://github.com/MichaelGrupp/evo 10、Mrpt 移動(dòng)機(jī)器人編程工具包(MRPT)。移動(dòng)機(jī)器人編程工具包(MRPT)提供了面向移動(dòng)機(jī)器人和計(jì)算機(jī)視覺研究人員的c++庫。庫包括SLAM解決方案、3D(6D)幾何、SE(2)/SE(3)李群、點(diǎn)、地標(biāo)、姿態(tài)和地圖上的概率密度函數(shù)(pdf)、貝葉斯推理(卡爾曼濾波、粒子濾波)、圖像處理、避障等。MRPT還提供了用于立體相機(jī)校準(zhǔn)、數(shù)據(jù)集檢查等的GUI應(yīng)用程序。 https://github.com/MRPT/mrpt 11、Loam_velodyne 激光里程表和制圖(Loam)是一種使用3D激光雷達(dá)進(jìn)行狀態(tài)估計(jì)和制圖的實(shí)時(shí)方法。 https://github.com/laboshinl/loam_velodyne 12、LeGO-LOAM 經(jīng)過地面優(yōu)化的激光雷達(dá)里程表和可變地形映射。該項(xiàng)目包含用于ROS兼容UGV的輕型且經(jīng)過地面優(yōu)化的激光雷達(dá)測(cè)距和制圖(LeGO-LOAM)系統(tǒng)的代碼。系統(tǒng)從Velodyne VLP-16激光雷達(dá)(水平放置)和可選的IMU數(shù)據(jù)中輸入點(diǎn)云作為輸入。它實(shí)時(shí)輸出6D姿態(tài)估計(jì)。 https://github.com/RobustFieldAutonomyLab/LeGO-LOAM 13、Hdl_graph_slam hdl_graph_slam是使用3D LIDAR的實(shí)時(shí)6DOF SLAM的開源ROS軟件包。它基于3D Graph SLAM,以及基于NDT掃描匹配的測(cè)距法估計(jì)和環(huán)路檢測(cè)。它還支持多種圖形約束,例如GPS,IMU加速度(重力矢量),IMU方向(磁傳感器)和地板(在點(diǎn)云中檢測(cè)到)。我們已經(jīng)在室內(nèi)和室外環(huán)境中使用Velodyne(HDL32e,VLP16)和RoboSense(16通道)傳感器測(cè)試了此封裝。 https://github.com/koide3/hdl_graph_slam 14、Gms Feature Matcher GMS:基于網(wǎng)格的運(yùn)動(dòng)統(tǒng)計(jì),用于快速、超健壯的特征對(duì)應(yīng)(CVPR 17和IJCV 19) https://github.com/JiawangBian/GMS-Feature-Matcher 15、Kintinuous 實(shí)時(shí)大規(guī)模密集視覺SLAM系統(tǒng)。僅使用一種低成本的商品RGB-D傳感器,就可以實(shí)時(shí)在數(shù)百米范圍內(nèi)實(shí)時(shí)生成高質(zhì)量的全局一致點(diǎn)和網(wǎng)格重建。 https://github.com/mp3guy/Kintinuous 16、Kimera Vio 具有SLAM功能和3D網(wǎng)格生成的視覺慣性里程表。 https://github.com/MIT-SPARK/Kimera-VIO 17、Open_vins 一個(gè)用于視覺-慣性導(dǎo)航研究的開源平臺(tái)。OpenVINS項(xiàng)目包含一些核心計(jì)算機(jī)視覺代碼以及基于過濾器的最新視覺慣性估計(jì)器。核心濾波器是擴(kuò)展卡爾曼濾波器,將慣性信息與稀疏的視覺特征軌跡融合在一起。這些視覺特征軌跡是利用多狀態(tài)約束卡爾曼濾波器(MSCKF)滑動(dòng)窗口公式融合而成的,該公式允許3D特征更新狀態(tài)估計(jì),而無需直接估計(jì)濾波器中的特征狀態(tài)。受到基于圖的優(yōu)化系統(tǒng)的啟發(fā),所包含的過濾器具有模塊化功能,可通過適當(dāng)?shù)幕陬愋偷臓顟B(tài)系統(tǒng)方便地進(jìn)行協(xié)方差管理。 https://github.com/rpng/open_vins 18、Xivo XIVO是用于視覺慣性測(cè)距/映射的開源庫。XIVO在存儲(chǔ)的數(shù)據(jù)(此處來自RealSense D435i傳感器)或?qū)崟r(shí)流上以140FPS的速度運(yùn)行,延遲時(shí)間約為1-7ms,具體取決于硬件。它以來自經(jīng)過校準(zhǔn)的攝像機(jī)的視頻幀和來自IMU的慣性測(cè)量為輸入,并輸出具有攝像機(jī)特性屬性和6 DOF姿態(tài)的稀疏點(diǎn)云。它執(zhí)行攝像機(jī)和IMU之間的相對(duì)姿態(tài)的自動(dòng)校準(zhǔn)以及時(shí)間戳對(duì)齊。 https://github.com/ucla-vision/xivo 19、Lio Mapping 緊密耦合3D激光雷達(dá)慣性測(cè)距法和制圖(LIO映射)的實(shí)現(xiàn)。 https://github.com/hyye/lio-mapping 20、Dynslam 動(dòng)態(tài)環(huán)境中同時(shí)定位和制圖的碩士論文。分別從其中重建靜態(tài)環(huán)境和動(dòng)態(tài)對(duì)象,例如汽車。這是一個(gè)用C ++編寫的密集SLAM系統(tǒng)。它基于InfiniTAM構(gòu)建,增加了對(duì)立體聲輸入,室外操作以及單獨(dú)的動(dòng)態(tài)對(duì)象(例如汽車)重建的支持。 https://github.com/AndreiBarsan/DynSLAM 21、Co Fusion 多目標(biāo)的實(shí)時(shí)分割、跟蹤和融合。這是一種密集的SLAM系統(tǒng),它以RGB-D圖像的實(shí)時(shí)流作為輸入并將場(chǎng)景分為不同的對(duì)象。使用多種模型擬合方法,其中每個(gè)對(duì)象可以獨(dú)立于背景移動(dòng),并且仍然有效地跟蹤其形狀,并且僅使用與該對(duì)象標(biāo)簽關(guān)聯(lián)的像素信息隨時(shí)間融合其形狀。先前處理動(dòng)態(tài)場(chǎng)景的嘗試通常將移動(dòng)區(qū)域視為機(jī)器人不感興趣的異常值,因此不對(duì)它們的形狀建?;螂S時(shí)間推移跟蹤其運(yùn)動(dòng)。相比之下,我們使機(jī)器人能夠維護(hù)每個(gè)分割對(duì)象的3D模型,并通過融合不斷改進(jìn)它們。結(jié)果,我們的系統(tǒng)具有使機(jī)器人能夠在對(duì)象級(jí)別維護(hù)場(chǎng)景描述的好處,這可能允許與其工作環(huán)境進(jìn)行交互。即使是動(dòng)態(tài)場(chǎng)景。 https://github.com/martinruenz/co-fusion 22、Cube_slam Monocular 3D Object Detection and SLAM https://github.com/shichaoy/cube_slam 23、Dynaslam DynaSLAM是在單目,立體聲和RGB-D設(shè)置的動(dòng)態(tài)環(huán)境中具有強(qiáng)大功能的SLAM系統(tǒng)。 https://github.com/BertaBescos/DynaSLAM 24、MaskFusion 實(shí)時(shí)識(shí)別、跟蹤和重建多個(gè)移動(dòng)對(duì)象。MaskFusion是一種實(shí)時(shí)的,可感知對(duì)象的,語義和動(dòng)態(tài)RGB-D SLAM系統(tǒng),它超越了僅輸出僅幾何圖的傳統(tǒng)系統(tǒng)-MaskFusion可以識(shí)別,分段并將語義類標(biāo)簽分配給對(duì)象中的不同對(duì)象場(chǎng)景,同時(shí)跟蹤和重建它們,即使它們獨(dú)立于攝像機(jī)移動(dòng)也是如此。當(dāng)RGB-D相機(jī)掃描混亂的場(chǎng)景時(shí),基于圖像的實(shí)例級(jí)語義分割會(huì)創(chuàng)建語義對(duì)象蒙版,從而實(shí)現(xiàn)實(shí)時(shí)對(duì)象識(shí)別以及為世界地圖創(chuàng)建對(duì)象級(jí)表示。與以前的基于識(shí)別的SLAM系統(tǒng)不同,MaskFusion不需要先驗(yàn)知識(shí)或已知的模型即可識(shí)別并可以處理多個(gè)獨(dú)立運(yùn)動(dòng)。MaskFusion充分利用了使用實(shí)例級(jí)語義分割來使語義標(biāo)簽融合到對(duì)象感知映射中的優(yōu)勢(shì)。我們展示了增強(qiáng)現(xiàn)實(shí)應(yīng)用程序,這些應(yīng)用程序展示了MaskFusion輸出的地圖的獨(dú)特功能:實(shí)例感知,語義和動(dòng)態(tài)。 https://github.com/martinruenz/maskfusion 25、Comma2k19 用于融合姿態(tài)估計(jì)器和映射算法的開發(fā)和驗(yàn)證的駕駛數(shù)據(jù)集。comma.ai展示了comma2k19,這是加利福尼亞州280高速公路上通勤時(shí)間超過33小時(shí)的數(shù)據(jù)集。這意味著在加利福尼亞州圣何塞和舊金山之間20公里的高速公路上行駛的2019年路段各長1分鐘。comma2k19是完全可復(fù)制且可伸縮的數(shù)據(jù)集。數(shù)據(jù)是使用逗號(hào)EON收集的,逗號(hào)EON的傳感器類似于任何現(xiàn)代智能手機(jī),包括路面攝像頭,手機(jī)GPS,溫度計(jì)和9軸IMU。 https://github.com/commaai/comma2k19 26、G2opy SLAM圖優(yōu)化框架g2o的Python綁定。 https://github.com/uoip/g2opy 27、Vio Doc 主流VIO論文推導(dǎo)及代碼解析
https://github.com/StevenCui/VIO-Doc 28、Stereo_ptam Python實(shí)現(xiàn)的SLAM算法Stereo-PTAM。 https://github.com/uoip/stereo_ptam 29、Semantic_slam 用手持RGB-D攝像機(jī)在ROS中實(shí)現(xiàn)實(shí)時(shí)語義slam。語義SLAM可以僅使用手持RGB-D攝像機(jī)(例如Asus xtion)實(shí)時(shí)生成基于3D體素的語義圖。我們使用ORB_SLAM2作為SLAM后端,即CNN(PSPNet)來產(chǎn)生語義預(yù)測(cè)并將語義信息融合到octomap中。請(qǐng)注意,我們的系統(tǒng)也可以配置為生成不帶語義信息的rgb octomap。 https://github.com/floatlazer/semantic_slam 30、Interactive_slam Interactive_slam是基于開源3D LIDAR的映射框架。與現(xiàn)有的自動(dòng)SLAM軟件包相反,我們旨在開發(fā)一種半自動(dòng)框架,該框架使用戶能夠以最少的人工來交互且直觀地糾正制圖失敗(例如,里程表損壞,回路錯(cuò)誤檢測(cè),地圖變形等)。該框架提供了幾種地圖校正功能:
https://github.com/SMRT-AIST/interactive_slam 31、Awesome Slam 主要總結(jié)了GitHub上與SLAM / VO相關(guān)的很棒的存儲(chǔ)庫,包括PC端,移動(dòng)端的存儲(chǔ)庫以及一些對(duì)學(xué)習(xí)者友好的教程。 https://github.com/YoujieXia/Awesome-SLAM 32、Recent Stars 2020 SLAM,姿勢(shì)/對(duì)象跟蹤,深度/視差/流估計(jì),3D圖形等相關(guān)論文和代碼。 https://github.com/Vincentqyw/Recent-Stars-2020 33、Orb_slam_2_ros 這是用于單目,立體聲和RGB-D攝像機(jī)的ORB-SLAM2實(shí)時(shí)SLAM庫的ROS實(shí)現(xiàn),可計(jì)算攝像機(jī)的軌跡和稀疏的3D重建(在具有真實(shí)比例的立體聲和RGB-D情況下)。它能夠?qū)崟r(shí)檢測(cè)環(huán)路并重新定位攝像機(jī)。 https://github.com/appliedAI-Initiative/orb_slam_2_ros 34、Camlasercalibratool 攝像機(jī)和二維激光的外部標(biāo)定。這是一個(gè)基于 ROS 的單線激光和相機(jī)外參數(shù)自動(dòng)標(biāo)定代碼。標(biāo)定原理如下圖所示,相機(jī)通過二維碼估計(jì)標(biāo)定板平面在相機(jī)坐標(biāo)系下的平面方程,由于激光點(diǎn)云落在平面上,將點(diǎn)云通過激光坐標(biāo)系到相機(jī)坐標(biāo)系的外參數(shù) $ T_{cl} $ 轉(zhuǎn)換到相機(jī)坐標(biāo)系,構(gòu)建點(diǎn)到平面的距離作為誤差,使用非線性最小二乘進(jìn)行求解。 https://github.com/MegviiRobot/CamLaserCalibraTool 35、Easy_slam_tutorial 首個(gè)中文的簡單從零開始實(shí)現(xiàn)視覺SLAM理論與實(shí)踐教程,使用Python實(shí)現(xiàn)。包括:ORB特征點(diǎn)提取,對(duì)極幾何,視覺里程計(jì)后端優(yōu)化,實(shí)時(shí)三維重建地圖。A easy SLAM practical tutorial (Python).圖像處理、otsu二值化。 https://github.com/varyshare/easy_slam_tutorial 36、Orb Slam2 Based Ar On Android 這是一個(gè)基于ORB-SLAM2和OpenGL的Android增強(qiáng)現(xiàn)實(shí)應(yīng)用,它可以很好地工作在戶外和室內(nèi)環(huán)境中。 https://github.com/muziyongshixin/ORB-SLAM2-based-AR-on-Android 37、Visual Gps Slam 這是作者碩士論文關(guān)于視覺SLAM與GPS融合的研究報(bào)告。它包含了研究論文,代碼和其他有趣的數(shù)據(jù)。 https://github.com/GSORF/Visual-GPS-SLAM 38、Orb_slam_2_ros python實(shí)現(xiàn)3D可視化庫Pangolin。 https://github.com/uoip/pangolin 39、Vi_orb_slam2 基于ORB-SLAM2的單目/立體視覺慣性O(shè)RB-SLAM。 https://github.com/YoujieXia/VI_ORB_SLAM2 40、Deep Learning Interview Book 深度學(xué)習(xí)面試寶典(含數(shù)學(xué)、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、計(jì)算機(jī)視覺、自然語言處理和SLAM等方向) |
|