kornia-slam 0.1.0

Real-time visual-inertial SLAM in Rust, built on kornia-rs.
Documentation

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
cargo run --release -p kornia-slam-app -- euroc --data /path/to/MH_01_easy

# stereo + IMU, with evaluation against ground truth
cargo run --release -p kornia-slam-app -- euroc --data /path/to/MH_01_easy --stereo --imu --evaluate

More sources and options: apps/kornia-slam-app.

Integrations

Development

With Pixi, which sets up the toolchain for you:

pixi run rust-lint           # fmt + clippy + check
pixi run rust-test           # workspace tests
pixi shell                   # drop into the environment

Or with a Rust toolchain (1.91+; the library crates alone need 1.89) installed yourself:

cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
cargo test --workspace

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