Skip to content

changh95/slam_lecture_codes

Repository files navigation

fastcampus_slam_codes

This repository contains code exercises for the following lecture series provided by @changh95 at FastCampus:

Actively reworking the repository now. Stay tuned, because A LOT OF NEW TUTORIALS are on the way!

Zero-to-Hero SLAM lectures for Physical AI and 3D Computer Vision

The course can be found here.

The course content is essentially a superset of 'Computer Vision, LiDAR processing, and Sensor Fusion for Autonomous Driving', but with a more general focus within robotics, drones, AR/VR, autonomous driving.

Table of Contents

  • Chapter 1: Introduction to SLAM
  • Chapter 2: Dive into SLAM (Front-end)
  • Chapter 3: Dive into SLAM (Back-end)
    • 3.1 Part 3 introduction
    • 3.2 Factor graph
    • 3.3 Nonlinear least squares
    • 3.4 Nonlinear optimization
    • 3.5 Optimization on manifolds
    • 3.6 Graph-based SLAM
    • 3.7 Schur complement
    • 3.8 Auto-diff
    • 3.9 Continuous-time optimization
    • 3.10 Sparsity in SLAM
    • 3.11 Bundle adjustment
    • 3.12 Nonlinear solvers
    • 3.13 g2o hands-on
    • 3.14 GTSAM hands-on
    • 3.15 Ceres-solver hands-on
    • 3.16 SymForce hands-on
    • 3.17 SLAM systems
    • 3.18 Various map representations
    • 3.19 VSLAM system architecture
    • 3.20 LiDAR SLAM system architecture
    • 3.21 RADAR SLAM system architecture
    • 3.22 Event SLAM system architecture
    • 3.23 Inertial odometry basics
    • 3.24 Leg odometry basics
    • 3.25 Sensor fusion
  • Chapter 4: Classical SLAM
    • 4.1 Part 4 introduction
    • 4.2 Feature-based VSLAM
    • 4.3 Direct VSLAM
    • 4.4 Visual-inertial odometry
    • 4.5 2D LiDAR SLAM
    • 4.6 3D LiDAR SLAM
    • 4.7 Sensor fusion SLAM
    • 4.8 ORB-SLAM 2
    • 4.9 Basalt-VIO
    • 4.10 Cartographer
    • 4.11 KISS-SLAM
    • 4.12 GLIM
    • 4.13 FAST-LIO2
    • 4.14 FAST-LIVO2
  • Chapter 5: Advanced SLAM - AI Integration and Hardware Optimization
    • 5.1 Part 5 introduction
    • 5.2 SLAM + Object detection + Segmentation
    • 5.3 SLAM + Depth estimation
    • 5.4 SLAM + Camera pose regression
    • 5.5 SLAM + Deep feature matching
    • 5.6 SLAM + Deep optical flow / scene flow
    • 5.7 SLAM + Differentiable bundle adjustment
    • 5.8 SLAM + Feed-forward 3D transformer
    • 5.9 SLAM + NeRF / Implicit neural field
    • 5.10 SLAM + Gaussian Splatting
    • 5.11 SLAM + Video generation
    • 5.12 SLAM + VLM/VLA
    • 5.13 SLAM + 3D Scene graph
    • 5.14 SLAM + Certifiably optimal algorithm
    • 5.15 SLAM + Auto-encoder / diffusion
    • 5.16 SLAM + Graph processor
    • 5.17 DSP-SLAM
    • 5.18 Kimera
    • 5.19 ConceptFusion
    • 5.20 Gaussian Splatting SLAM
    • 5.21 MASt3r-SLAM
    • 5.22 PIN-SLAM
    • 5.23 Suma++
    • 5.24 Differences between desktop, server, and embedded boards
    • 5.25 Characteristics of real-time SLAM
    • 5.26 Characteristics of auto-labeling / data-crunching SLAM
    • 5.27 C++ build configuration optimization
    • 5.28 SIMD acceleration and CPU optimization techniques
    • 5.29 SIMD acceleration hands-on
    • 5.30 Introduction to NVIDIA Jetson
    • 5.31 CUDA acceleration hands-on
  • Final projects
    • Project 1: SLAM for autonomous driving
    • Project 2: SLAM for drones
    • Project 3: SLAM for mobile scanner systems
    • Project 4: SLAM for quadruped robots
    • Project 5: SLAM for humanoid robots
    • Project 6: SLAM for VR/AR headsets

Libraries in Base Docker Image

Library Description
OpenCV 4.12 (with contrib) Computer vision, feature detection (ORB, SIFT, TEBLID), ArUco markers
Eigen 5.0 Linear algebra, matrix operations
Sophus Lie groups (SO3, SE3) for robotics
Ceres Solver Nonlinear least squares optimization
g2o Graph-based optimization for SLAM
GTSAM Factor graph optimization
PoseLib Minimal pose solvers (P3P, 5-point, homography)
OpenGV Geometric vision algorithms (relative/absolute pose, triangulation)
PCL Point cloud processing
Pangolin 3D visualization
easy_profiler CPU profiling with GUI
SymForce Symbolic computation for robotics
Rerun Modern 3D visualization for robotics

Computer Vision, LiDAR processing, and Sensor Fusion for Autonomous Driving

The course can be found here.

This course contains the following contents:

About

Code exercises for the SLAM courses

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •