整理了三次方AIRX團隊平時(shí)學(xué)習SLAM的一些開(kāi)源工程、書(shū)籍、論文項目等。
1、Cartographer
Cartographer是一個(gè)系統,可跨多個(gè)平臺和傳感器配置以2D和3D形式提供實(shí)時(shí)同時(shí)定位和制圖(SLAM)。
https://github.com/cartographer-project/cartographer
2、Openvslam
一個(gè)通用的視覺(jué)SLAM框架。OpenVSLAM是單眼,立體聲和RGBD視覺(jué)SLAM系統。值得注意的功能是:
它與各種類(lèi)型的相機型號兼容,并且可以輕松地針對其他相機型號進(jìn)行定制。
可以存儲和加載創(chuàng )建的地圖,然后OpenVSLAM可以基于預構建的地圖本地化新圖像。
該系統是完全模塊化的。它是通過(guò)使用易于理解的API將幾個(gè)功能封裝在單獨的組件中而設計的。
OpenVSLAM基于具有稀疏功能的間接SLAM算法,例如ORB-SLAM,ProSLAM和UcoSLAM。OpenVSLAM值得注意的功能之一是該系統可以處理各種類(lèi)型的攝像機模型,例如透視,魚(yú)眼和等角矩形。如果需要,用戶(hù)可以輕松實(shí)現額外的相機模型(例如雙魚(yú)眼,折反射)。例如,上面顯示了使用等矩形相機模型(例如RICOH THETA系列,insta360系列等)的可視SLAM算法。
https://github.com/xdspacelab/openvslam
3、Mvision
機器人視覺(jué) 移動(dòng)機器人 VS-SLAM ORB-SLAM2 深度學(xué)習目標檢測 yolov3 行為檢測 opencv PCL 機器學(xué)習 無(wú)人駕駛
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)化基于圖形的非線(xiàn)性誤差函數的開(kāi)源C ++框架。g2o被設計為易于擴展到各種各樣的問(wèn)題,通??梢栽趲仔写a中指定一個(gè)新問(wèn)題。當前的實(shí)現為SLAM和BA的多個(gè)變體提供了解決方案。
機器人技術(shù)和計算機視覺(jué)中的許多問(wèn)題都涉及最小化可以表示為圖形的非線(xiàn)性誤差函數。典型實(shí)例是同時(shí)定位和映射(SLAM)或捆綁包調整(BA)。這些問(wèn)題的總體目標是找到能最大程度解釋受高斯噪聲影響的一組測量值的參數或狀態(tài)變量的配置。g2o是用于解決此類(lèi)非線(xiàn)性最小二乘問(wèn)題的開(kāi)源C ++框架。g2o被設計為易于擴展到各種各樣的問(wèn)題,通??梢栽趲仔写a中指定一個(gè)新問(wèn)題。當前的實(shí)現為SLAM和BA的多個(gè)變體提供了解決方案。對于特定的問(wèn)題,g2o的性能可與最新方法的實(shí)現相媲美。
https://github.com/RainerKuemmerle/g2o
6、Awesome Visual Slam
基于視覺(jué)的SLAM /視覺(jué)Odometry的開(kāi)源項目,博客和論文列表
https://github.com/tzutalin/awesome-visual-slam
7、Maplab
一個(gè)開(kāi)放的視覺(jué)-慣性映射框架。這是一個(gè)用C ++編寫(xiě)的開(kāi)放式,面向研究的視覺(jué)慣性映射框架,用于創(chuàng )建,處理和操縱多會(huì )話(huà)地圖。一方面,可以將maplab視為現成的視覺(jué)慣性制圖和定位系統。另一方面,maplab為研究社區提供了多會(huì )話(huà)映射工具的集合,這些工具包括地圖合并,視覺(jué)慣性批處理優(yōu)化和循環(huán)閉合。此外,它還包括一個(gè)在線(xiàn)前端ROVIOLI,它可以創(chuàng )建視覺(jué)慣性圖,還可以跟蹤本地化圖中的無(wú)漂移姿態(tài)。
https://github.com/ethz-asl/maplab
8、Elasticfusion
實(shí)時(shí)密集視覺(jué)SLAM系統。實(shí)時(shí)密集可視SLAM系統,能夠捕獲使用RGB-D攝像機探索的房間尺度環(huán)境的綜合密集全局一致的基于surfelf的地圖。
https://github.com/mp3guy/ElasticFusion
9、Evo
用于評估里程表和SLAM的Python軟件包。該軟件包提供可執行文件和一個(gè)小型庫,用于處理,評估和比較測距法和SLAM算法的軌跡輸出。

https://github.com/MichaelGrupp/evo
10、Mrpt
移動(dòng)機器人編程工具包(MRPT)。移動(dòng)機器人編程工具包(MRPT)提供了面向移動(dòng)機器人和計算機視覺(jué)研究人員的c++庫。庫包括SLAM解決方案、3D(6D)幾何、SE(2)/SE(3)李群、點(diǎn)、地標、姿態(tài)和地圖上的概率密度函數(pdf)、貝葉斯推理(卡爾曼濾波、粒子濾波)、圖像處理、避障等。MRPT還提供了用于立體相機校準、數據集檢查等的GUI應用程序。

https://github.com/MRPT/mrpt
11、Loam_velodyne

激光里程表和制圖(Loam)是一種使用3D激光雷達進(jìn)行狀態(tài)估計和制圖的實(shí)時(shí)方法。
https://github.com/laboshinl/loam_velodyne
12、LeGO-LOAM
經(jīng)過(guò)地面優(yōu)化的激光雷達里程表和可變地形映射。該項目包含用于ROS兼容UGV的輕型且經(jīng)過(guò)地面優(yōu)化的激光雷達測距和制圖(LeGO-LOAM)系統的代碼。系統從Velodyne VLP-16激光雷達(水平放置)和可選的IMU數據中輸入點(diǎn)云作為輸入。它實(shí)時(shí)輸出6D姿態(tài)估計。

https://github.com/RobustFieldAutonomyLab/LeGO-LOAM
13、Hdl_graph_slam
hdl_graph_slam是使用3D LIDAR的實(shí)時(shí)6DOF SLAM的開(kāi)源ROS軟件包。它基于3D Graph SLAM,以及基于NDT掃描匹配的測距法估計和環(huán)路檢測。它還支持多種圖形約束,例如GPS,IMU加速度(重力矢量),IMU方向(磁傳感器)和地板(在點(diǎn)云中檢測到)。我們已經(jīng)在室內和室外環(huán)境中使用Velodyne(HDL32e,VLP16)和RoboSense(16通道)傳感器測試了此封裝。

https://github.com/koide3/hdl_graph_slam
14、Gms Feature Matcher
GMS:基于網(wǎng)格的運動(dòng)統計,用于快速、超健壯的特征對應(CVPR 17和IJCV 19)

https://github.com/JiawangBian/GMS-Feature-Matcher
15、Kintinuous
實(shí)時(shí)大規模密集視覺(jué)SLAM系統。僅使用一種低成本的商品RGB-D傳感器,就可以實(shí)時(shí)在數百米范圍內實(shí)時(shí)生成高質(zhì)量的全局一致點(diǎn)和網(wǎng)格重建。
https://github.com/mp3guy/Kintinuous
16、Kimera Vio

具有SLAM功能和3D網(wǎng)格生成的視覺(jué)慣性里程表。
https://github.com/MIT-SPARK/Kimera-VIO
17、Open_vins
一個(gè)用于視覺(jué)-慣性導航研究的開(kāi)源平臺。OpenVINS項目包含一些核心計算機視覺(jué)代碼以及基于過(guò)濾器的最新視覺(jué)慣性估計器。核心濾波器是擴展卡爾曼濾波器,將慣性信息與稀疏的視覺(jué)特征軌跡融合在一起。這些視覺(jué)特征軌跡是利用多狀態(tài)約束卡爾曼濾波器(MSCKF)滑動(dòng)窗口公式融合而成的,該公式允許3D特征更新?tīng)顟B(tài)估計,而無(wú)需直接估計濾波器中的特征狀態(tài)。受到基于圖的優(yōu)化系統的啟發(fā),所包含的過(guò)濾器具有模塊化功能,可通過(guò)適當的基于類(lèi)型的狀態(tài)系統方便地進(jìn)行協(xié)方差管理。
https://github.com/rpng/open_vins
18、Xivo
XIVO是用于視覺(jué)慣性測距/映射的開(kāi)源庫。XIVO在存儲的數據(此處來(lái)自RealSense D435i傳感器)或實(shí)時(shí)流上以140FPS的速度運行,延遲時(shí)間約為1-7ms,具體取決于硬件。它以來(lái)自經(jīng)過(guò)校準的攝像機的視頻幀和來(lái)自IMU的慣性測量為輸入,并輸出具有攝像機特性屬性和6 DOF姿態(tài)的稀疏點(diǎn)云。它執行攝像機和IMU之間的相對姿態(tài)的自動(dòng)校準以及時(shí)間戳對齊。
https://github.com/ucla-vision/xivo
19、Lio Mapping
緊密耦合3D激光雷達慣性測距法和制圖(LIO映射)的實(shí)現。

https://github.com/hyye/lio-mapping
20、Dynslam
動(dòng)態(tài)環(huán)境中同時(shí)定位和制圖的碩士論文。分別從其中重建靜態(tài)環(huán)境和動(dòng)態(tài)對象,例如汽車(chē)。這是一個(gè)用C ++編寫(xiě)的密集SLAM系統。它基于InfiniTAM構建,增加了對立體聲輸入,室外操作以及單獨的動(dòng)態(tài)對象(例如汽車(chē))重建的支持。

https://github.com/AndreiBarsan/DynSLAM
21、Co Fusion
多目標的實(shí)時(shí)分割、跟蹤和融合。這是一種密集的SLAM系統,它以RGB-D圖像的實(shí)時(shí)流作為輸入并將場(chǎng)景分為不同的對象。使用多種模型擬合方法,其中每個(gè)對象可以獨立于背景移動(dòng),并且仍然有效地跟蹤其形狀,并且僅使用與該對象標簽關(guān)聯(lián)的像素信息隨時(shí)間融合其形狀。先前處理動(dòng)態(tài)場(chǎng)景的嘗試通常將移動(dòng)區域視為機器人不感興趣的異常值,因此不對它們的形狀建?;螂S時(shí)間推移跟蹤其運動(dòng)。相比之下,我們使機器人能夠維護每個(gè)分割對象的3D模型,并通過(guò)融合不斷改進(jìn)它們。結果,我們的系統具有使機器人能夠在對象級別維護場(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設置的動(dòng)態(tài)環(huán)境中具有強大功能的SLAM系統。

https://github.com/BertaBescos/DynaSLAM
24、MaskFusion
實(shí)時(shí)識別、跟蹤和重建多個(gè)移動(dòng)對象。MaskFusion是一種實(shí)時(shí)的,可感知對象的,語(yǔ)義和動(dòng)態(tài)RGB-D SLAM系統,它超越了僅輸出僅幾何圖的傳統系統-MaskFusion可以識別,分段并將語(yǔ)義類(lèi)標簽分配給對象中的不同對象場(chǎng)景,同時(shí)跟蹤和重建它們,即使它們獨立于攝像機移動(dòng)也是如此。當RGB-D相機掃描混亂的場(chǎng)景時(shí),基于圖像的實(shí)例級語(yǔ)義分割會(huì )創(chuàng )建語(yǔ)義對象蒙版,從而實(shí)現實(shí)時(shí)對象識別以及為世界地圖創(chuàng )建對象級表示。與以前的基于識別的SLAM系統不同,MaskFusion不需要先驗知識或已知的模型即可識別并可以處理多個(gè)獨立運動(dòng)。MaskFusion充分利用了使用實(shí)例級語(yǔ)義分割來(lái)使語(yǔ)義標簽融合到對象感知映射中的優(yōu)勢。我們展示了增強現實(shí)應用程序,這些應用程序展示了MaskFusion輸出的地圖的獨特功能:實(shí)例感知,語(yǔ)義和動(dòng)態(tài)。
https://github.com/martinruenz/maskfusion
25、Comma2k19
用于融合姿態(tài)估計器和映射算法的開(kāi)發(fā)和驗證的駕駛數據集。comma.ai展示了comma2k19,這是加利福尼亞州280高速公路上通勤時(shí)間超過(guò)33小時(shí)的數據集。這意味著(zhù)在加利福尼亞州圣何塞和舊金山之間20公里的高速公路上行駛的2019年路段各長(cháng)1分鐘。comma2k19是完全可復制且可伸縮的數據集。數據是使用逗號EON收集的,逗號EON的傳感器類(lèi)似于任何現代智能手機,包括路面攝像頭,手機GPS,溫度計和9軸IMU。
https://github.com/commaai/comma2k19
26、G2opy
SLAM圖優(yōu)化框架g2o的Python綁定。
https://github.com/uoip/g2opy
27、Vio Doc
主流VIO論文推導及代碼解析
VINS
MSCKF
ICE-BA
ROVIO
https://github.com/StevenCui/VIO-Doc
28、Stereo_ptam
Python實(shí)現的SLAM算法Stereo-PTAM。
https://github.com/uoip/stereo_ptam

29、Semantic_slam
用手持RGB-D攝像機在ROS中實(shí)現實(shí)時(shí)語(yǔ)義slam。語(yǔ)義SLAM可以?xún)H使用手持RGB-D攝像機(例如Asus xtion)實(shí)時(shí)生成基于3D體素的語(yǔ)義圖。我們使用ORB_SLAM2作為SLAM后端,即CNN(PSPNet)來(lái)產(chǎn)生語(yǔ)義預測并將語(yǔ)義信息融合到octomap中。請注意,我們的系統也可以配置為生成不帶語(yǔ)義信息的rgb octomap。

https://github.com/floatlazer/semantic_slam
30、Interactive_slam
Interactive_slam是基于開(kāi)源3D LIDAR的映射框架。與現有的自動(dòng)SLAM軟件包相反,我們旨在開(kāi)發(fā)一種半自動(dòng)框架,該框架使用戶(hù)能夠以最少的人工來(lái)交互且直觀(guān)地糾正制圖失?。ɡ?,里程表?yè)p壞,回路錯誤檢測,地圖變形等)。該框架提供了幾種地圖校正功能:
[手動(dòng)和自動(dòng)]循環(huán)關(guān)閉
[手冊]基于平面的地圖校正
[手冊]多個(gè)地圖合并
[自動(dòng)]姿勢邊緣細化

https://github.com/SMRT-AIST/interactive_slam
31、Awesome Slam
主要總結了GitHub上與SLAM / VO相關(guān)的很棒的存儲庫,包括PC端,移動(dòng)端的存儲庫以及一些對學(xué)習者友好的教程。
https://github.com/YoujieXia/Awesome-SLAM
32、Recent Stars 2020
SLAM,姿勢/對象跟蹤,深度/視差/流估計,3D圖形等相關(guān)論文和代碼。
https://github.com/Vincentqyw/Recent-Stars-2020
33、Orb_slam_2_ros
這是用于單目,立體聲和RGB-D攝像機的ORB-SLAM2實(shí)時(shí)SLAM庫的ROS實(shí)現,可計算攝像機的軌跡和稀疏的3D重建(在具有真實(shí)比例的立體聲和RGB-D情況下)。它能夠實(shí)時(shí)檢測環(huán)路并重新定位攝像機。
https://github.com/appliedAI-Initiative/orb_slam_2_ros
34、Camlasercalibratool
攝像機和二維激光的外部標定。這是一個(gè)基于 ROS 的單線(xiàn)激光和相機外參數自動(dòng)標定代碼。標定原理如下圖所示,相機通過(guò)二維碼估計標定板平面在相機坐標系下的平面方程,由于激光點(diǎn)云落在平面上,將點(diǎn)云通過(guò)激光坐標系到相機坐標系的外參數 $ T_{cl} $ 轉換到相機坐標系,構建點(diǎn)到平面的距離作為誤差,使用非線(xiàn)性最小二乘進(jìn)行求解。

https://github.com/MegviiRobot/CamLaserCalibraTool
35、Easy_slam_tutorial
首個(gè)中文的簡(jiǎn)單從零開(kāi)始實(shí)現視覺(jué)SLAM理論與實(shí)踐教程,使用Python實(shí)現。包括:ORB特征點(diǎn)提取,對極幾何,視覺(jué)里程計后端優(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增強現實(shí)應用,它可以很好地工作在戶(hù)外和室內環(huán)境中。
https://github.com/muziyongshixin/ORB-SLAM2-based-AR-on-Android
37、Visual Gps Slam
這是作者碩士論文關(guān)于視覺(jué)SLAM與GPS融合的研究報告。它包含了研究論文,代碼和其他有趣的數據。
https://github.com/GSORF/Visual-GPS-SLAM
38、Orb_slam_2_ros
python實(shí)現3D可視化庫Pangolin。
https://github.com/uoip/pangolin
39、Vi_orb_slam2
基于ORB-SLAM2的單目/立體視覺(jué)慣性ORB-SLAM。
https://github.com/YoujieXia/VI_ORB_SLAM2
40、Deep Learning Interview Book
深度學(xué)習面試寶典(含數學(xué)、機器學(xué)習、深度學(xué)習、計算機視覺(jué)、自然語(yǔ)言處理和SLAM等方向)

聯(lián)系客服