[
  {
    "path": "README.md",
    "content": "# SLAM_Resources\nPersonal page of SLAM Resources to follow up current SLAM trends and papers.\n\nInspired by [Event-based vision resources](https://github.com/uzh-rpg/event-based_vision_resources)\n\nAlso reference pages are listed on [Pages collect resources for SLAM](#slamlist)\n\n**What I cannot create, I do not understand.** - richard feynman\n\n**Do the simplest thing that could possibly work** \n\n## Table of Contents:\n- [Algorithms](#algorithms)\n- [Sensor Model](#models)\n- [Datasets and Simulators](#datasets)\n- [Calibration](#calibration)\n- [Evaluation](#evaluation)\n- [Workshops&Tutorials](#workshops)\n- [Survey](#survey)\n- [Papers](#papers)\n- [Deep Learning Related SLAM](#deepslam)\n- [Semantic SLAM - Object level SLAM](#semanticslam)\n- [Books](#books)\n- [Pages : collect resources for SLAM](#slamlist)\n- [Toolkit](#toolkit)\n- [Videos, Lectures](#lecture)\n- [Visualization](#visualization)\n___\n<br>\n\n<a name=\"algorithms\"></a>\n## Algorithms\n### Initialization\n- #### Homography\n- #### Fundemental\n- #### SFM\n- #### Visual-Inertial Alignment \n### Tracking\n- #### Data Association : How to Define Data Selection, Match, Define Error \n  - ##### Direct Dense\n  - ##### Direct Sparse\n  - ##### Feature (Sparse)\n    - ###### Corner Selection\n    - ###### Descriptors\n  - ##### Feature Match\n- #### Motion Prior\n  - ##### Constant Velocity Model\n  - ##### Decaying Velocity Model\n  - ##### [IMU Propagation](#imu)\n  - ##### Using Prev Pose\n- #### Pose Estimation : How to minimize Error\n  - ##### PnP : Perspective N Points\n  - ##### Motion Only BA : **Coarse**-Fine \n  - ##### Local BA : Coarse-**Fine**\n    - ###### Sliding Window : Continous N Frame window\n    - ###### Topological : Releated Keyframes \n\n### Mapping\n- #### Map Type\n- #### Map Generation\n\n### Global Consistency \n- #### Relocalization\n- #### Pose Graph Optimization : Loop Closure \n- #### Place Recognition \n\n### Probabilistic Graphical Models \n- #### Factor Graph \n\n<a name=\"models\"></a>\n## Sensor Models \n### Camera Models & Undistorttion Models\n- [Image_Undistorter](https://github.com/ethz-asl/image_undistort)\n- [Camera Models](https://github.com/gaowenliang/-camera_model) - modified version of CamOdoCal \n- ROS Image Proc => Wiki Documentation of ROS [image pipeline](http://wiki.ros.org/image_pipeline/CameraInfo) \n<a name=\"imu\"></a>\n### IMU Models\n- #### Noise Model\n- #### IMU Propagation\n- #### IMU Preintegration\n\n<a name=\"calibration\"></a>\n## Calibration\n### Geometric Calibration : Reprojection Error\n- [GML: C++ Calibration Toolbox](https://graphics.cs.msu.ru/en/node/909)\n- [ROS camera calibration](http://wiki.ros.org/camera_calibration)\n- [Camera Calibration Toolbox for Matlab](http://www.vision.caltech.edu/bouguetj/calib_doc/)\n- [CamOdoCal](https://github.com/hengli/camodocal)\n- [OCamCalib: Omni-Camera Calibration](https://sites.google.com/site/scarabotix/ocamcalib-toolbox)\n### Photometric Calibration\n- [TUM, Online Photometric calibration](https://github.com/tum-vision/online_photometric_calibration)\n### Visual-Inertial Calibration : Reprojection Error + Extrinsic of Camera-IMU\n- [Kalibr](https://github.com/ethz-asl/kalibr)\n- [Vicalib](https://github.com/arpg/vicalib)\n- [Inervis Toolbox-Matlab](http://home.deec.uc.pt/~jlobo/InerVis_WebIndex/InerVis_Toolbox.html)\n### Visual-Lidar Calibration : \n### Lidar-IMU Calibration \n### IMU Calibration - Not sure... \n- [IMUSensorModels-Data_Analysis_Tools](https://github.com/hanley6/IMUSensorModels)\n- [Kalibr_allan](https://github.com/rpng/kalibr_allan)\n- [NaveGO: an open-source MATLAB/GNU Octave toolbox for processing INS and performing IMU analysis](https://github.com/rodralez/NaveGo)\n- [imu_utils : ROS package tool to analyze the IMU performance](https://github.com/gaowenliang/imu_utils)\n\n<a name=\"survey\"></a>\n## Survey or Tutorial papers for slam users\n- [Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age](https://arxiv.org/pdf/1606.05830.pdf) \n- [Keyframe-based monocular SLAM: design, survey, and future directions](https://arxiv.org/pdf/1607.00470.pdf)\n- [Local Invariant Feature Detectors: A Survey](http://homes.esat.kuleuven.be/~tuytelaa/FT_survey_interestpoints08.pdf)\n- [Visual Odometry Part I: The First 30 Years and Fundamentals](https://www.ifi.uzh.ch/dam/jcr:5759a719-55db-4930-8051-4cc534f812b1/VO_Part_I_Scaramuzza.pdf)\n- [Visual odometry: Part II: Matching, robustness, optimization, and applications](http://www.zora.uzh.ch/71030/1/Fraundorfer_Scaramuzza_Visual_odometry.pdf)\n- [Visual simultaneous localization and mapping : a survey](https://www.researchgate.net/publication/234081012_Visual_Simultaneous_Localization_and_Mapping_A_Survey)\n- [Simultaneous Localization and mapping : a survey of current trends in Autonomous Driving](https://hal.archives-ouvertes.fr/hal-01615897/file/2017-simultaneous_localization_and_mapping_a_survey_of_current_trends_in_autonomous_driving.pdf)\n- [Visual SLAM Algorithms : a survey from 2010 to 2016](https://ipsjcva.springeropen.com/articles/10.1186/s41074-017-0027-2) \n\n<a name=\"papers\"></a>\n## Papers : ordered by year but not strictly ordered, not fully collected.\n- [Visual Odometry, Nister, CVPR 04](https://www.computer.org/csdl/proceedings/cvpr/2004/2158/01/01315094.pdf) \n- [Scalable monocular SLAM, E. Eade,T. Drummond, CVPR 06](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.141.7753&rep=rep1&type=pdf)\n- [Parallel Tracking and Mapping(PTAM) for Small AR Workspaces, Georg Klein, David Murray, ISMAR 07](https://www.robots.ox.ac.uk/~vgg/rg/papers/klein_murray__2007__ptam.pdf)\n- [MonoSLAM, AJ Davison, Reid, Molton, Stasse, PAMI 07](https://www.doc.ic.ac.uk/~ajd/Publications/davison_etal_pami2007.pdf) \n- [Accurate Quadrifocal Tracking for Robust 3D Visual Odometry, IEEE RA-L 07, A.I. Comport, E. Malis and P. Rives](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.331.9823&rep=rep1&type=pdf)\n- [DTAM: Dense Tracking and Mapping in Real-Time, RA Newcombe, Steven J. Lovegrove, AJ Davison, ICCV 11](https://www.robots.ox.ac.uk/~vgg/rg/papers/newcombe_davison__2011__dtam.pdf)\n- Dense Visual SLAM for RGB-D Camera\n- [Semi-Dense Visual Odometry, J. Engel, J. Sturm, AJ Davision, ICCV 13](https://vision.in.tum.de/_media/spezial/bib/engel2013iccv.pdf)\n- [SVO: Fast Semi-Direct Monocular Visual Odometry, C Forster, M. Pizzoli, D. Scarammuzza, ICRA 14](https://www.ifi.uzh.ch/dam/jcr:e9b12a61-5dc8-48d2-a5f6-bd8ab49d1986/ICRA14_Forster.pdf) \n- [LSD-SLAM: Large-Scale Direct Monocular SLAM, J. Engel, T.Schoeps, AJ Davision, ECCV 14](https://vision.in.tum.de/_media/spezial/bib/engel14eccv.pdf)\n- [REMODE, M. Pizzoli, C. Forster, D. Scrammuza, ICRA 14](http://rpg.ifi.uzh.ch/docs/ICRA14_Pizzoli.pdf) \n- Dense Visual-Inertial Odometry for Tracking of Aggressive Motions\n- [ORB_SLAM, R. Mur-Artal, J. Montiel,  JD Tardós, IEEE TRO 15](https://arxiv.org/pdf/1502.00956)\n- [OKVIS, S. Leutenegger, S. Lynen, M. Bosse, R. Siegwart, P.Furgale, IJRR 15](http://www.roboticsproceedings.org/rss09/p37.pdf)\n- [DPPTAM, Concha, Alejo and Civera, Javier, IROS 15](http://webdiis.unizar.es/~jcivera/papers/concha_civera_iros15.pdf)\n- [SOFT2 : Stereo odometry based on careful feature selection and tracking, I Cvišić, I Petrović, ECCV 15](http://www.cvlibs.net/projects/autonomous_vision_survey/literature/Cvisic2015ECMR.pdf)\n- [EVO: A Geometric Approach to Event-Based 6-DOF Parallal Tracking and Mapping in Real-time, H. Rebecq, T. Horstschaefer, G. Gallego, D. Scaramuzza, IEEE RA-L 16](http://rpg.ifi.uzh.ch/docs/RAL16_EVO.pdf)\n- [On-Manifold Preintegration for Real-Time VIO, C. Forster, L. Carlone, F. Dellaert, D. Scaramuzza, IEEE RA-L 17](http://rpg.ifi.uzh.ch/docs/TRO16_forster.pdf) \n- [ORB_SLAM2, R Mur-Artal, JD Tardós, IEEE TRO 17](https://arxiv.org/pdf/1610.06475.pdf)\n- [Direct Sparse Odometry, J. Engel, V. Kltun, AJ Davison, PAMI 17](https://vision.in.tum.de/research/vslam/dso)\n- [Real-time VIO for Event Cameras using Keyframe-based Nonlinear Optimization, H.Rebecq, T. Horstschaefer, D. Scaramuzza, BMVC 17](http://rpg.ifi.uzh.ch/docs/BMVC17_Rebecq.pdf)    \n- ElasticFusion: Dense SLAM Without A Pose Graph\n- Dense RGB-D-Inertial SLAM with Map Deformations \n- [SVO for Monocular and Multi-Camera Systems, C. Forster, Z. Zhang, M. Gassner, M. Werlberger, D. Scaramuzza, IEEE TRO 17](http://rpg.ifi.uzh.ch/docs/TRO16_Forster-SVO.pdf)\n- [VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator, T. Qin, Tong and Li, Peiliang, Shen, Shaojie, IEEE TRO 18](https://arxiv.org/pdf/1708.03852) \n- [Ultimate SLAM?\nCombining Events, Images, and IMU for Robust\nVisual SLAM in HDR and High Speed Scenarios, T. Rosinol Vidal, H.Rebecq, T. Horstschaefer, D. Scaramuzza, IEEE RA-L 18](https://arxiv.org/pdf/1709.06310.pdf)\n- [Event-based, 6-DOF Camera Tracking from Photometric Depth Maps, Gallego, Jon E. A. Lund, E. Mueggler, H.Rebecq, T. Delbruck, D. Scaramuzza, PAMI 18](http://rpg.ifi.uzh.ch/docs/PAMI17_Gallego.pdf)\n- [Loosely-Coupled Semi-Direct Monocular SLAM, Seong Hun Lee and Javier Civera, IEEE Robotics and Automation Letters]\n(https://arxiv.org/pdf/1807.10073.pdf)\n\n<a name=\"deepslam\"></a>\n## Deep SLAM : Depth Estimation, Pose Estimation, Feature Matching, Backend etc... What ever use Deep Neural Network\n- [DeepVO: A Deep Learning approach for Monocular Visual Odometry, Vikram Mohanty, Shubh Agrawal, Shaswat Datta, Arna Ghosh, Vishnu D. Sharma, Debashish Chakravarty](https://arxiv.org/pdf/1611.06069.pdf)\n- [CNN-SLAM: Real-time dense monocular SLAM with learned depth prediction, CVPR, 2017, Keisuke Tateno, Federico Tombari, Iro Laina, Nassir Navab](http://openaccess.thecvf.com/content_cvpr_2017/papers/Tateno_CNN-SLAM_Real-Time_Dense_CVPR_2017_paper.pdf)\n- [Deep Virtual Stereo Odometry: Leveraging Deep Depth Prediction for Monocular Direct Sparse Odometry, Nan Yang, Rui Wang, J¨org St¨uckler, Daniel Cremers](http://openaccess.thecvf.com/content_ECCV_2018/papers/Nan_Yang_Deep_Virtual_Stereo_ECCV_2018_paper.pdf)\n- [UnDeepVO: Monocular Visual Odometry through Unsupervised Deep Learning](https://arxiv.org/pdf/1709.06841.pdf)\n- [SfMLearner++: Learning Monocular Depth & Ego-Motion using Meaningful Geometric Constraints, Vignesh Prasad, Brojeshwar Bhowmick](https://arxiv.org/pdf/1812.08370.pdf)\n- [CNN-SVO: Improving the Mapping in Semi-Direct Visual OdometryUsing Single-Image Depth Prediction, Shing Yan Loo, Ali Jahan, Amiri, Syamsiah Mashohor, Sai Hong Tang and Hong Zhang1](https://arxiv.org/pdf/1810.01011.pdf)\n- [Learning monocular visual odometry with dense 3D mapping from dense 3D flow, Cheng Zhao, Li Sun, Pulak Purkait, Tom Duckett and Rustam Stolkin1](https://arxiv.org/pdf/1803.02286.pdf)\n- [Learning to Prevent Monocular SLAM Failure using Reinforcement Learning, Vignesh Prasad, Karmesh Yadav, Rohitashva Singh Saurabh, Swapnil Daga, Nahas Pareekutty, K. Madhava Krishna. Balaraman Ravindran, Brojeshwar Bhowmick](https://arxiv.org/pdf/1812.09647.pdf)\n- CodeSLAM - Learning a Compact, Optimisable Representation for Dense Visual SLAM, Michael Bloesch, Jan Czarnowski, Ronald Clark, Stefan Leutenegger, Andrew J. Davison.\n- LS-Net: Learning to Solve Nonlinear Least Squares for Monocular Stereo. ECCV, 2018, Ronald Clark, Michael Bloesch, Jan Czarnowski, Stefan Leutenegger, Andrew J. Davison. \n- [DeepTAM: Deep Tracking and Mapping, Huizhong Zhou, Benjamin Ummenhofer, Thomas Brox](https://arxiv.org/pdf/1808.01900.pdf)\n- [Deep Auxiliary Learning for Visual Localization and Odometry, Abhinav Valada, Noha Radwan, Wolfram Burgard](http://ais.informatik.uni-freiburg.de/publications/papers/valada18icra.pdf)\n- [Mask-SLAM: Robust feature-based monocular SLAM by masking using semantic segmentation, CVPR 2018, Masaya Kaneko Kazuya Iwami Toru Ogawa Toshihiko Yamasaki Kiyoharu Aiza](http://openaccess.thecvf.com/content_cvpr_2018_workshops/papers/w9/Kaneko_Mask-SLAM_Robust_Feature-Based_CVPR_2018_paper.pdf)\n- [MagicVO: End-to-End Monocular Visual Odometry through Deep Bi-directional Recurrent Convolutional Neural Network, Jian Jiao, Jichao Jiao, Yaokai Mo, Weilun Liu, Zhongliang Deng](https://arxiv.org/ftp/arxiv/papers/1811/1811.10964.pdf)\n- [Global Pose Estimation with an Attention-based Recurrent Network](https://arxiv.org/pdf/1802.06857.pdf)\n- [Geometric Consistency for Self-Supervised End-to-End Visual Odometry, CVPR 2018, Ganesh Iyer, J. Krishna Murthy, Gunshi Gupta1, K. Madhava Krishna1, Liam Paull](http://openaccess.thecvf.com/content_cvpr_2018_workshops/papers/w9/Iyer_Geometric_Consistency_for_CVPR_2018_paper.pdf)\n- [DepthNet: A Recurrent Neural Network Architecture for Monocular Depth Prediction, CVPR 2018, Arun CS Kumar Suchendra M. Bhandarkar, Mukta Prasad](http://openaccess.thecvf.com/content_cvpr_2018_workshops/papers/w9/Kumar_DepthNet_A_Recurrent_CVPR_2018_paper.pdf)\n- DeepFusion: Real-Time Dense 3D Reconstruction for Monocular SLAM using Single-View Depth and Gradient Predictions. ICRA, 2019, Tristan Laidlow, Jan Czarnowski, Stefan Leutenegger. \n- KO-Fusion: Dense Visual SLAM with Tightly-Coupled Kinematic and Odometric Tracking. ICRA, 2019, Charlie Houseago, Michael Bloesch, Stefan Leutenegger. \n- DF-SLAM: A Deep-Learning Enhanced Visual SLAM System based on Deep Local Features, Rong Kang, Xueming Li, Yang Liu, Xiao Liu, Jieqi Shi \n- \n\n\n<a name=\"semanticslam\"></a>\n## Semantic SLAM, Object-level, Using Semantic Information\n- [Probabilistic Data Association for Semantic SLAM, Sean L. Bowman Nikolay Atanasov Kostas Daniilidis George J. Pappas](https://www.cis.upenn.edu/~kostas/mypub.dir/bowman17icra.pdf)\n- Fusion++: Volumetric Object-Level SLAM. 3DV, 2018, John McCormac, Ronald Clark, Michael Bloesch, Stefan Leutenegger, Andrew J. Davison. \n- [DynSLAM: Simultaneous Localization and Mapping in Dynamic Environments,Ioan Andrei Brsan and Peidong Liu and Marc Pollefeys and Andreas Geiger](https://arxiv.org/pdf/1806.05620.pdf) \n\n\n<a name=\"evaluation\"></a>\n## Evaluation\n- [Python package for evaluation of odometry and SLAM](https://github.com/MichaelGrupp/evo)\n- [uzh-rpg : rpg_trajectory_evaluation](https://github.com/uzh-rpg/rpg_trajectory_evaluation), [papers](http://rpg.ifi.uzh.ch/docs/IROS18_Zhang.pdf)\n- [TUM, useful tools for the RGBD benchmark](https://vision.in.tum.de/data/datasets/rgbd-dataset/tools) \n- [TUM, Matlab tools for evaluation](vision.in.tum.de/mono/evaluation_code_v2.zip), provided by [TUM, DSO : Direct Sparse Odometry](https://vision.in.tum.de/research/vslam/dso)\n\n<a name=\"datasets\"></a>\n## Datasets and Simulators \n- [Awesome SLAM Dataset](https://sites.google.com/view/awesome-slam-datasets/) : \n    - [2018 TUM Visual Inertial Dataset](https://vision.in.tum.de/data/datasets/visual-inertial-dataset) : Stereo,IMU,Calibrated(+Photometric)\n    - [2018 MVSEC : Multi Vehicle Stereo Event Dataset](https://daniilidis-group.github.io/mvsec/) : Stereo, Event, IMU\n    - [2016 TUM Mono Dataset](https://vision.in.tum.de/data/datasets/mono-dataset) : Mono,IMU,Photometric Calibration\n    - [2016 RPG Event Dataset](http://rpg.ifi.uzh.ch/davis_data.html) : Mono,Event,IMU\n    - [2016 EuRoC Dataset](http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets) : Stereo,IMU\n    - [2015 TUM Omni Dataset](https://vision.in.tum.de/data/datasets/omni-lsdslam) : Mono,Omni,IMU\n    - [2014 ICL-NUIM Dataset](https://www.doc.ic.ac.uk/~ahanda/VaFRIC/iclnuim.html) : Mono,RGB-D\n    - [2014 MRPT-MALAGA Dataset](https://www.mrpt.org/robotics_datasets) \n    - [2013 KITTI Dataset](http://www.cvlibs.net/datasets/kitti/index.php)\n    \n<a name=\"workshops\"></a>\n## Workshops & Tutorials\n- [2014 CVPR Workshop and Tutorials](http://frc.ri.cmu.edu/~kaess/vslam_cvpr14/)\n- [2015 ICCV Imperial college Workshop](http://wp.doc.ic.ac.uk/thefutureofslam/)\n- [2016 ICRA SLAM Tutorials](http://www.dis.uniroma1.it/~labrococo/tutorial_icra_2016/)\n- 2017 CVPR Tutorials - pages removed\n- [2018 ECCV Visual Localization Workshop](https://sites.google.com/view/visual-localization-eccv-2018/home)\n- [2018 ECCV Workshop](https://eccv2018.org/program/workshops_tutorials/) \n- [2018 IROS Workshop - Unconventional Sensing and Processing\nfor Robotic Visual Perception, No Material..](http://iros2018-uvsp.org/) \n- [2018 ECCV 3D Reconstruction meets Semantics](http://trimbot2020.webhosting.rug.nl/events/3drms/date-schedule/) \n- [2018 CVPR Tutorials - First Deep SLAM Workshop](http://visualslam.ai/)\n- 2018: http://cvpr2018.thecvf.com/program/tutorials\n- 2017: http://cvpr2017.thecvf.com/program/tutorials\n- 2016: http://cvpr2016.thecvf.com/program/tutorials\n- 2015: http://www.pamitc.org/cvpr15/tutorials.php\n- 2014: http://www.pamitc.org/cvpr14/tutorials.php\n- 2013: http://www.pamitc.org/cvpr13/tutorials.php\n\n<a name=\"books\"></a>\n## Books\n- [slambook-no en,kr translation](), [source](https://github.com/gaoxiang12/slambook)\n\n<a name=\"slamlist\"></a>\n## resource pages that I refer to create this slam list pages \n- [awesome-SLAM-list](https://github.com/OpenSLAM/awesome-SLAM-list)\n- [SFM-Visual-SLAM](https://github.com/marknabil/SFM-Visual-SLAM)\n- [Event Vision Realted Resources - ETH Zurich](https://github.com/uzh-rpg/event-based_vision_resources)\n\n<a name=\"toolkit\"></a>\n## Toolkits and Libraries for SLAM\n### Computer Vision \n- [OpenCV-Computer Vision](https://opencv.org/)\n- [MexOpenCV-Matlab mex functions for OpenCV](https://github.com/kyamagu/mexopencv) \n### Mathmatics\n- [Eigen-Linear Algebra](http://eigen.tuxfamily.org/index.php?title=Main_Page)\n- [Sophus-Lie Groups using Eigen](https://github.com/strasdat/Sophus)\n### Optimization Solver\n- [Ceres-NLLS Solver library](https://github.com/ceres-solver/ceres-solver)\n- [g2o: A General Framework for Graph Optimization](https://github.com/RainerKuemmerle/g2o)\n### 3D Data Processing\n- [Open3D](http://www.open3d.org/)\n- [Point Cloud Library](http://pointclouds.org/)\n\n<a name=\"lecture\"></a>\n## Lectures\n- [Multiple View Geometry, TUM, 2014](https://www.youtube.com/watch?v=RDkwklFGMfo&list=PLTBdjV_4f-EJn6udZ34tht9EVIW7lbeo4)\n- [Roboot Mapping, University Freiburg, 2013](https://www.youtube.com/watch?v=U6vr3iNrwRA&list=PLgnQpQtFTOGQrZ4O5QzbIHgl3b1JHimN_)\n## Videos\n- [ARKit: Understanding ARKit Tracking and Dtection](https://developer.apple.com/videos/play/wwdc2018/610/) \n\n<a name=\"visualization\"></a>\n## Visualization\n### Visualize GN-Optimization \n### Visualize Pose & 3D Map \n### Visualize Tracking\n"
  }
]