changh95/visual-slam-roadmap: A Level-Graded Reading Path, Not a Curriculum
Roadmap to become a Visual-SLAM developer in 2026
At a glance
- What is it?
- An MIT-licensed Astro site that organises Visual-SLAM study material into 11 levels, from linear algebra to world models. It is a map of topics with links, not a course with exercises, and the difference matters when you decide whether to use it.
- Who is it for?
- Use this roadmap if you already know you want to work on visual SLAM and need the topic list plus a reading order, or if you are mentoring someone and want a shared vocabulary of levels. Do not use it as your only resource if you need runnable code, datasets or graded exercises; the README lists topics and links, and the depth per topic is not documented in the material available here.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 58 days ago.
- What is it written in?
- Mainly Astro, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The gap this repository fills, and the gap it leaves
The README states the problem directly: Visual-SLAM is portrayed as difficult, many believe good C++ skills and deep mathematics are prerequisites, and there are not many courses for beginners, especially in non-English languages. The author frames the actual barrier differently. In the note to beginners, the claim is that SLAM has a high entry barrier not because the mathematics is hard but because it requires equipping yourself with various types of skills. That reframing is the useful part. A reader who has been told to master Lie groups before touching a dataset gets a different instruction here: progress topic by topic and do not try to learn everything at once.
The audience is therefore narrow and specific. This is for someone who has decided to enter visual SLAM, either as an engineer or a researcher, and who needs a sequence. It is not for someone choosing between robotics subfields, and it is not a tutorial. The README describes its own purpose as giving an idea about the general overview and guiding you if you are confused about where to start. A guide to starting is a different product from a guide to finishing, and the repository is honest about which one it is.
How the 11 levels are ordered and what each one assumes
The table of contents defines the whole architecture. Eleven levels, each with a stated focus. Level 1 covers mathematics, programming and camera or image fundamentals. Level 2 moves to geometry, optimisation and the anatomy of a SLAM system. Level 3 is classical monocular SLAM, split into feature-based, direct, semi-direct, structure-from-motion and dynamic scenes. Level 4 is RGB-D, described as dense tracking and volumetric or surfel fusion with depth sensors. Level 5 is deep learning applied to SLAM: learned frontends, differentiable backends, end-to-end systems, foundation-model and neural SLAM, scene understanding. Level 6 is VIO and VINS, framed as filtering versus optimisation. Level 7 is stereo and metric scale. Level 8 is collaborative and multi-robot SLAM. Level 9 is LiDAR and visual-LiDAR fusion. Level 10 is event cameras. Level 11 is world models and spatial AI.
The ordering is not strictly linear in difficulty once you pass level 4. Levels 6 through 10 are largely parallel sensor or system variants, and a reader working on stereo rigs has little reason to finish the event-camera material first. The README does not say the levels must be consumed in order, but the numbering implies it. Treat the numbers as a suggested entry order for the first four levels and as a taxonomy after that.
The level-01 breakdown is the most concrete part of the material. It lists basic probability and statistics with Gaussian distribution and Bayes' theorem, basic linear algebra with SVD and eigenvalues, logarithm and exponential, basic calculus with differentiation and Taylor expansion. Under projective geometry: pinhole camera model, camera calibration with intrinsic and extrinsic parameters and lens distortion, rigid body motion with Euler angles, quaternions and rotation matrices, epipolar geometry leading to the essential and fundamental matrices, triangulation, and camera models beyond pinhole including fisheye with the Kannala-Brandt model, double-sphere, omnidirectional, plus rolling-shutter awareness. That is a specific and defensible list. It is also where the density is highest, which suggests the early levels received the most attention.
The Level 2 dependency list is the real filter
Level 2 is where the roadmap stops being a mathematics syllabus. The programming core lists C++ with OOP, modern C++, data structures and algorithms, compilers, CMake, Makefile and Ninja, design patterns, and OpenCV C++. It adds C, Git and GitHub, OpenCV through opencv-python, Python for deep learning, graph plots and system scripts, Bash and Linux with ssh and CLI text editors such as Vim and tmux, math libraries naming Eigen, Ceres Solver, GTSAM and g2o, C++ and Python interop through PyBind11 and nanobind, ROS and ROS2, and Docker.
A separate optional block is labelled engineering skills for SLAM jobs. It contains concurrency with SIMD SSE, AVX and Neon, OpenMP and CUDA; edge deployment with TensorRT and ONNX export of learned frontends plus Jetson benchmarking; mobile work in Android with Java or Kotlin and iOS with Objective-C or Swift; C# for Unity AR and Microsoft HoloLens; CI/CD with GitHub Actions; and simulation with Gazebo and Isaac Sim.
That optional block is the most informative editorial choice in the repository. It concedes that the gap between a working SLAM prototype and a shipped product is filled by deployment tooling, not by more geometry. If you are evaluating this roadmap for a hiring or training plan, the optional list is the part that maps to job requirements, and the core list is the part that maps to interviews.
What you actually get: links, an Astro site, and no releases
The repository is an Astro project. The primary language field says Astro, and the topics include awesome and awesome-list, so the intended shape is a curated list rendered as a site. The homepage is cv-learn.com/visual-slam-roadmap, which the README mirrors as a rendered version of the same content. The licence is MIT and the default branch is main.
The material retrieved shows no releases. That is consistent with a content repository: there is no versioned artefact to install, no package to pin, and no changelog to read before upgrading. Your "upgrade" is a git pull, and the risk of pulling is that internal links move. The level-01 list already references paths such as level-02-getting-familiar/cpp.md from inside the Level 1 section, so the folder naming does not match the level numbering. A link like that breaks silently if a directory is renamed, and nothing in the retrieved material indicates automated link checking.
The MIT licence is permissive and imposes no conditions beyond retaining the notice. Nothing in the repository suggests it bundles third-party course content under a different licence, but the README links out to external resources, and those carry their own terms. If you fork this for an internal training page, the repository's own text is the only part MIT covers.
Where the roadmap stops being enough
The failure mode is predictable for a topic list. A reader finishes level 1, recognises every term, and cannot implement any of them. Harris corners, Sobel and Canny edge detection, Gaussian blur and thresholding are named as topics with links, but the README does not describe exercises, expected outputs or reference implementations. Whether the linked pages contain derivations, code or only prose cannot be determined from the material available here.
There is a second limitation in the level structure itself. Levels 9 through 11 (LiDAR and visual-LiDAR fusion, event cameras, world models and spatial AI) are the areas moving fastest in research, and they are the hardest to keep current in a static list. The repository was last pushed in July 2026 and carries a 2026 title, so the author is maintaining it, but a roadmap that names foundation-model SLAM and world models as level-05 and level-11 topics will date faster than the level-01 geometry, which has been stable for decades. If your interest is in the later levels, this roadmap gives you vocabulary and a starting point, not a settled reading list.
A third case: if you are looking for a benchmark or a comparison of open-source SLAM systems, this is the wrong repository. It does not evaluate implementations, and the retrieved material contains no performance numbers, no datasets and no system comparisons.
How this differs from a course or a textbook
The obvious alternative is a structured course with assignments, such as a university robotics or computer-vision module, or a textbook that derives the estimators end to end. The difference is in what is fixed. A course fixes the pace, the exercises and the assessment; a textbook fixes the derivation. This roadmap fixes only the topic list and the order. That makes it cheaper to maintain and easier to skim, and it makes it useless as a substitute for either. You cannot be examined against it, and you cannot follow a derivation through it.
A second alternative is a curated list of open-source SLAM implementations, which answers a different question: which codebase do I read first. This roadmap answers which concepts do I need before the code makes sense. They are complementary, and the README treats them that way by linking to libraries such as Ceres Solver, GTSAM and g2o under math libraries rather than presenting them as study material.
The practical difference: with a course you pay in time and get feedback. With this roadmap you pay in self-direction and get a checklist. If you already have a project or a supervisor who will tell you when you are wrong, the checklist is enough. If you do not, the missing feedback loop is the thing you have to build yourself.
Maintenance cost and the licence boundary
There is nothing to install. The Astro site is the delivery mechanism; the content is markdown. If you consume it on the homepage, your maintenance cost is zero and your upgrade risk is that the site changes underneath you. If you fork it, your cost is keeping the links alive and keeping the level-05 and level-11 sections current, which is the part that requires actual research reading.
For an internal fork, the MIT terms mean you keep the copyright notice and the permission text. That is the whole obligation. It does not cover the external resources the README points to, and it does not cover images: the README references img/title.png, and the retrieved material does not state the provenance of that asset. If you republish the repository in a commercial training product, check that asset separately.
The repository has no releases, so there is no version to freeze. If you need a fixed snapshot for a cohort, take one at a commit hash and archive it rather than pointing learners at the live site mid-course.
Editorial conclusion
Use this roadmap if you already know you want to work on visual SLAM and need the topic list plus a reading order, or if you are mentoring someone and want a shared vocabulary of levels. Do not use it as your only resource if you need runnable code, datasets or graded exercises; the README lists topics and links, and the depth per topic is not documented in the material available here. Before adopting it, open the repository and check two things: how many of the level-01 and level-02 links resolve to actual files rather than headings, and whether the level-05 and level-11 sections carry the same density as level-01. Those two checks tell you whether the roadmap is a finished artefact or a growing one.
Community notes