├── README.md └── pages ├── learn.md └── miscellaneous.md /README.md: -------------------------------------------------------------------------------- 1 | # The list of vision-based SLAM / Visual Odometry open source projects, libraries, dataset, tools, and studies 2 | 3 | [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/tzutalin/awesome-visual-slam) 4 | 5 | ## Index 6 | * [Libraries](#libraries) 7 | * [Dataset](#dataset) 8 | * [Tools](#tools) 9 | * [Projects](#projects) 10 | * [Learn](pages/learn.md) 11 | * [Miscellaneous](pages/miscellaneous.md) 12 | 13 | ## Libraries 14 | ###### Basic vision and trasformation libraries 15 | - [OpenCV](http://opencv.org/) 16 | - [Eigen](http://eigen.tuxfamily.org/index.php?title=Main_Page) 17 | - [Sophus](https://github.com/strasdat/Sophus) 18 | - [ROS](http://www.ros.org/) 19 | - [PointCloud](http://pointclouds.org/) 20 | 21 | ###### Thread-safe queue libraries 22 | - [concurrentqueue](https://github.com/cameron314/concurrentqueue) 23 | - [Intel® TBB](https://www.threadingbuildingblocks.org/) 24 | - [Facebook folly PC](https://github.com/facebook/folly/blob/master/folly/ProducerConsumerQueue.h) 25 | 26 | ###### Loop detection 27 | - [dorian3d](https://github.com/dorian3d) 28 | 29 | ###### Graph Optimization 30 | - [ceres-solver](https://github.com/ceres-solver/ceres-solver) 31 | - [g2o](https://github.com/RainerKuemmerle/g2o) 32 | - [gtsam](https://collab.cc.gatech.edu/borg/gtsam?destination=node%2F299) 33 | - [Vertigo](http://openslam.org/vertigo.html) 34 | 35 | ###### Map library 36 | - [ETHZ ASL/Grid Map](https://github.com/ethz-asl/grid_map) 37 | - [OmniMapper](https://github.com/CognitiveRobotics/omnimapper/wiki) 38 | - [OctoMap](https://github.com/OctoMap/octomap) 39 | 40 | ## Dataset 41 | 42 | Dataset for benchmark/test/experiment/evalutation 43 | 44 | - [TUM University](http://vision.in.tum.de/data/datasets/rgbd-dataset/download) 45 | - [KITTI Vision benchmark](http://www.cvlibs.net/datasets/kitti/eval_odometry.php) 46 | - [UNI-Freiburg](http://kaspar.informatik.uni-freiburg.de/~slamEvaluation/datasets.php) 47 | - [ADVIO](https://github.com/AaltoVision/ADVIO) 48 | - [Oxford RobotCar Dataset](https://robotcar-dataset.robots.ox.ac.uk/) 49 | - [HRI (Honda Research Institute) Driving Datasets](https://usa.honda-ri.com/honda-driving-datasets) 50 | - [Argoverse](https://www.argoverse.org/data.html) 51 | - [nuScenes](https://www.nuscenes.org) 52 | - [Waymo Open Dataset](https://waymo.com/open/) 53 | - [Lyft Level 5 AV Dataset 2019](https://level5.lyft.com/dataset/) 54 | - [KAIST Urban Dataset](https://irap.kaist.ac.kr/dataset/) 55 | 56 | ## Tools 57 | - [rgbd-dataset tool from TUM](https://vision.in.tum.de/data/datasets/rgbd-dataset/tools) 58 | - [evo - evaluation tool for different trajectory formats](https://github.com/MichaelGrupp/evo) 59 | - [VDO_SLAM - A Visual Object-aware Dynamic SLAM library](https://github.com/halajun/vdo_slam) 60 | 61 | ## Projects 62 | 63 | ###### RGB (Monocular): 64 | 65 | - [Kimera](https://github.com/MIT-SPARK/Kimera). Available on ROS 66 | > A. Rosinol, M. Abate, Y. Chang, L. Carlone. Kimera: an Open-Source Library for Real-Time Metric-Semantic Localization and Mapping. arXiv preprint arXiv:1910.02490. 67 | 68 | - [PTAM](https://github.com/Oxford-PTAM/PTAM-GPL) 69 | > [1] Georg Klein and David Murray, "Parallel Tracking and Mapping for Small AR Workspaces", Proc. ISMAR 2007 70 | > [2] Georg Klein and David Murray, "Improving the Agility of Keyframe-based SLAM", Proc. ECCV 2008 71 | 72 | 73 | - [DSO](https://github.com/JakobEngel/dso_ros). Available on ROS 74 | >Direct Sparse Odometry, J. Engel, V. Koltun, D. Cremers, In arXiv:1607.02565, 2016 75 | >A Photometrically Calibrated Benchmark For Monocular Visual Odometry, J. Engel, V. Usenko, D. Cremers, In arXiv:1607.02555, 2016 76 | 77 | - [LSD-SLAM](https://github.com/tum-vision/lsd_slam). Available on ROS 78 | >LSD-SLAM: Large-Scale Direct Monocular SLAM, J. Engel, T. Schöps, D. Cremers, ECCV '14 79 | >Semi-Dense Visual Odometry for a Monocular Camera, J. Engel, J. Sturm, D. Cremers, ICCV '13 80 | 81 | - [ORB-SLAM](https://github.com/raulmur/ORB_SLAM). Available on ROS 82 | > [1] Raúl Mur-Artal, J. M. M. Montiel and Juan D. Tardós. ORB-SLAM: A Versatile and Accurate Monocular SLAM System. IEEE > Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, 2015. (2015 IEEE Transactions on Robotics Best Paper Award). PDF. 83 | > [2] Dorian Gálvez-López and Juan D. Tardós. Bags of Binary Words for Fast Place Recognition in Image Sequences. IEEE > Transactions on Robotics, vol. 28, no. 5, pp. 1188-1197, 2012. PDF. 84 | 85 | - [Nister's Five Point Algorithm for Essential Matrix estimation, and FAST features, with a KLT tracker](https://github.com/avisingh599/mono-vo) 86 | >D. Nister, “An efficient solution to the five-point relative pose problem,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 26, no. 6, pp. 756–770, 2004. 87 | 88 | - [SVO-SLAM](https://github.com/uzh-rpg/rpg_svo). Available on ROS 89 | > Christian Forster, Matia Pizzoli, Davide Scaramuzza, "SVO: Fast Semi-direct Monocular Visual Odometry," IEEE International Conference on Robotics and Automation, 2014. 90 | 91 | ###### RGB and Depth (Called RGBD): 92 | - [OpenCV RGBD-Odometry (Visual Odometry based RGB-D images)](https://github.com/tzutalin/OpenCV-RgbdOdometry) 93 | > Real-Time Visual Odometry from Dense RGB-D Images, F. Steinbucker, J. Strum, D. Cremers, ICCV, 2011 94 | 95 | - [Dense Visual SLAM for RGB-D Cameras](https://github.com/tum-vision/dvo_slam). Available on ROS 96 | >[1]Dense Visual SLAM for RGB-D Cameras (C. Kerl, J. Sturm, D. Cremers), In Proc. of the Int. Conf. on Intelligent Robot Systems (IROS), 2013. 97 | [2]Robust Odometry Estimation for RGB-D Cameras (C. Kerl, J. Sturm, D. Cremers), In Proc. of the IEEE Int. Conf. on Robotics and Automation (ICRA), 2013 98 | [3]Real-Time Visual Odometry from Dense RGB-D Images (F. Steinbruecker, J. Sturm, D. Cremers), In Workshop on Live Dense Reconstruction with Moving Cameras at the Intl. Conf. on Computer Vision (ICCV), 2011. 99 | 100 | 101 | - [RTAB MAP - Real-Time Appearance-Based Mapping](https://github.com/introlab/rtabmap). Available on ROS 102 | > Online Global Loop Closure Detection for Large-Scale Multi-Session Graph-Based SLAM, 2014 103 | > Appearance-Based Loop Closure Detection for Online Large-Scale and Long-Term Operation, 2013 104 | 105 | - [ORB2-SLAM](https://github.com/raulmur/ORB_SLAM2). Available on ROS 106 | > [1] Raúl Mur-Artal, J. M. M. Montiel and Juan D. Tardós. ORB-SLAM: A Versatile and Accurate Monocular SLAM System. IEEE > Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, 2015. (2015 IEEE Transactions on Robotics Best Paper Award). 107 | > [2] Dorian Gálvez-López and Juan D. Tardós. Bags of Binary Words for Fast Place Recognition in Image Sequences. IEEE Transactions on Robotics, vol. 28, no. 5, pp. 1188-1197, 2012. 108 | 109 | - [InfiniTAM∞ v2](http://www.robots.ox.ac.uk/~victor/infinitam/index.html) 110 | > Kahler, O. and Prisacariu, V.~A. and Ren, C.~Y. and Sun, X. and Torr, P.~H.~S and Murray, D.~W. Very High Frame Rate Volumetric Integration of Depth Images on Mobile Device. IEEE Transactions on Visualization and Computer Graphics (Proceedings International Symposium on Mixed and Augmented Reality 2015 111 | 112 | - [Kintinuous](https://github.com/mp3guy/Kintinuous) 113 | > Real-time Large Scale Dense RGB-D SLAM with Volumetric Fusion, T. Whelan, M. Kaess, H. Johannsson, M.F. Fallon, J. J. Leonard and J.B. McDonald, IJRR '14 114 | 115 | - [ElasticFusion](https://github.com/mp3guy/ElasticFusion) 116 | > [1] ElasticFusion: Real-Time Dense SLAM and Light Source Estimation, T. Whelan, R. F. Salas-Moreno, B. Glocker, A. J. Davison and S. Leutenegger, IJRR '16 117 | > [2] ElasticFusion: Dense SLAM Without A Pose Graph, T. Whelan, S. Leutenegger, R. F. Salas-Moreno, B. Glocker and A. J. Davison, RSS '15 118 | 119 | - [Co-Fusion](http://visual.cs.ucl.ac.uk/pubs/cofusion/index.html) 120 | > Martin Rünz and Lourdes Agapito. Co-Fusion: Real-time Segmentation, Tracking and Fusion of Multiple Objects. 2017 IEEE International Conference on Robotics and Automation (ICRA) 121 | 122 | ###### RGBD and LIDAR: 123 | - [Google's cartographer](https://github.com/googlecartographer/cartographer). Available on ROS 124 | 125 | 126 | ## Other open source projects 127 | [DynaSLAM](https://github.com/BertaBescos/DynaSLAM) A SLAM system robust in dynamic environments for monocular, stereo and RGB-D setups 128 | 129 | [openvslam](https://github.com/xdspacelab/openvslam) A Versatile Visual SLAM Framework 130 | 131 | 132 | ## License 133 | 134 | [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) 135 | -------------------------------------------------------------------------------- /pages/learn.md: -------------------------------------------------------------------------------- 1 | Learn 2 | ====================== 3 | 4 | #### Article & blogs 5 | * [Introduction to Epipolar Geometry and the Fundamental Matrix](http://www.umiacs.umd.edu/~ramani/cmsc828d/lecture27.pdf) 6 | * [Short introduction to descriptors](https://gilscvblog.com/2013/08/18/a-short-introduction-to-descriptors/) 7 | * [Tutorial on binary descriptors](https://gilscvblog.com/2013/08/26/tutorial-on-binary-descriptors-part-1/) 8 | * [Latch descriptor](https://gilscvblog.com/2015/11/07/performance-evaluation-of-binary-descriptor-introducing-the-latch-descriptor) 9 | * [Robot Mapping - UniFreiburg](http://ais.informatik.uni-freiburg.de/teaching/ws15/mapping/) 10 | * [Short introduction to signed distance function 1](http://rsdavis.mycpanel.princeton.edu/wp/?p=24) 11 | * [Short introduction to signed distance function 2](http://www.personal.psu.edu/users/j/p/jpm5375/assignment6.html/) 12 | 13 | 14 | ### Online tutorial videos 15 | * [Slambook in Chinese](https://space.bilibili.com/38737757#!/) 16 | 17 | #### Online free courses 18 | * [Introduction to Mobile Robotics - UniFreiburg](http://ais.informatik.uni-freiburg.de/teaching/ss16/robotics/) 19 | * [Multiple View Geometry (Prof. D. Cremers) - TUM](https://www.youtube.com/playlist?list=PLTBdjV_4f-EJn6udZ34tht9EVIW7lbeo4) 20 | * [Robot Percetion](https://www.coursera.org/learn/robotics-perception) 21 | 22 | 23 | #### Books 24 | * [A tutorial on SE(3) transformation parameterizations and on-manifold optimization](https://pixhawk.org/_media/dev/know-how/jlblanco2010geometry3d_techrep.pdf) By JL Blanco, 2014 25 | * [State Estimation for Robotic -- A Matrix Lie Group Approach](http://asrl.utias.utoronto.ca/~tdb/bib/barfoot_ser15.pdf) by Timothy D. Barfoot, 2016 26 | * [Simultaneous Localization and Mapping for Mobile Robots: Introduction and Methods](http://www.igi-global.com/book/simultaneous-localization-mapping-mobile-robots/66380) by Juan-Antonio Fernández-Madrigal and José Luis Blanco Claraco, 2012 27 | * [Probabilistic Robotics](http://www.probabilistic-robotics.org/) by Dieter Fox, Sebastian Thrun, and Wolfram Burgard, 2005 28 | * [An Invitation to 3-D Vision -- from Images to Geometric Models](http://vision.ucla.edu/MASKS/) by Yi Ma, Stefano Soatto, Jana Kosecka and Shankar S. Sastry, 2005 29 | * [Multiple View Geometry in Computer Vision](http://www.robots.ox.ac.uk/~vgg/hzbook/) by Richard Hartley and Andrew Zisserman, 2004 30 | * [Numerical Optimization](http://home.agh.edu.pl/~pba/pdfdoc/Numerical_Optimization.pdf) by Jorge Nocedal and Stephen J. Wright, 1999 31 | * [Real Time Monocular 3D Reconstruction](https://fradelg.gitbooks.io/real-time-3d-reconstruction-from-monocular-video/content/index.html) by Fco. Javier Delgado del Hoyo, 2015 32 | * [Basic Knowlege on Visual Slam: From Theory to Practice](https://github.com/gaoxiang12/slambook-en) by Xiang Gao, Tao Zhang, Qinrui Yan and Yi Liu, 2021 33 | 34 | 35 | #### Papers 36 | - [CNN-SLAM: Real-time dense monocular SLAM with learned depth prediction](https://www.google.com.tw/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0ahUKEwjZ-NWF_-zWAhXIEpQKHX_BCUAQFgg0MAI&url=http%3A%2F%2Fcampar.in.tum.de%2Fpub%2Ftateno2017cvpr%2Ftateno2017cvpr.pdf&usg=AOvVaw0O2qiB3IPWDg7rJYEs3OQU) (2017) 37 | - [Online Photometric Calibration for Auto Exposure Video for Realtime Visual Odometry and SLAM](http://arxiv.org/pdf/1710.02081v1) (2017) 38 | - [Visual-Inertial Direct SLAM](https://github.com/kanster/awesome-slam/blob/master/webdiis.unizar.es/~jcivera/papers/concha_etal_icra16.pdf) (2016) 39 | - [Past, Present, and Future of Simultaneous Localization And Mapping: Towards the Robust-Perception Age](https://arxiv.org/abs/1606.05830) (2016) 40 | - [Direct Sparse Odometry](https://arxiv.org/abs/1607.02565) (2016) 41 | - [Modelling Uncertainty in Deep Learning for Camera Relocalization](https://arxiv.org/abs/1509.05909) (2016) 42 | * [Convolutional Neural Network-Based Image Representation for Visual Loop Closure Detection](https://arxiv.org/pdf/1504.05241.pdf) (2015) 43 | * [Lagrangian duality in 3D SLAM: Verification techniques and optimal solutions](http://arxiv.org/abs/1506.00746) (2015) 44 | * [Lucas-Kanade 20 Years On: A Unifying Framework](http://www.ncorr.com/download/publications/bakerunify.pdf) (2004) 45 | -------------------------------------------------------------------------------- /pages/miscellaneous.md: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | 3 | 4 | Title | Description 5 | --- | --- 6 | [OpenSLAM](https://openslam.org/) | Provides a platform for SLAM researchers which gives them the possibility to publish their algorithms. 7 | [awesome-computer-vision](https://github.com/jbhuang0604/awesome-computer-vision) | A curated list of awesome computer vision resources. 8 | [StackExchange-Robotics](https://robotics.stackexchange.com) | StackExchange about Robotics 9 | [cvprtum-Youtube](https://www.youtube.com/channel/UCRf1mhfcDeJS2HLP6YR07kA) | CVPRTUM Youtube channel 10 | [Center For research in Computer Vision-Youtube](https://www.youtube.com/user/UCFCRCV) | CENTER FOR RESEARCH IN COMPUTER VISION Youtube channel 11 | --------------------------------------------------------------------------------