kornia-slam
Real-time visual-inertial SLAM in Rust, built on kornia-rs.
v0.1 — early release. The API will change between minor versions.
Stereo + IMU at 2× speed. Each shows the map and trajectory, the left camera with its ORB keypoints, and a follow view.
Features
- Monocular, stereo, and visual-inertial ORB SLAM
- Local bundle adjustment, including visual-inertial BA
- Place recognition (DBoW2) and loop closure with pose-graph optimization
- Sources: EuRoC, Hilti, MCAP, OAK-D, UVC webcams
- Terminal UI, Rerun streaming, ATE/RPE evaluation
See ROADMAP.md for what's next.
Quick start
Download a EuRoC sequence (ASL format), then:
# monocular
# stereo + IMU, with evaluation against ground truth
More sources and options: apps/kornia-slam-app.
Integrations
- Copper: stereo visual-inertial odometry as Copper tasks via cu-kornia-vio. See INTEGRATIONS.md for setup, graph wiring and timing requirements.
Development
With Pixi, which sets up the toolchain for you:
Or with a Rust toolchain (1.91+; the library crates alone need 1.89) installed yourself:
Paper
Kornia-SLAM: An End-to-End Visual-Inertial SLAM System in Rust
Christie J. Purackal, Edgar Riba, Astik Srivastava.
Rust for Robotics workshop at IROS 2026 (preprint).
Paper (PDF) · Poster (PDF)
The paper's EuRoC results come from the August 2026 code, before v0.1.0. To cite kornia-slam, use GitHub's "Cite this repository" button, which reads CITATION.cff.
License
Apache-2.0