MSCKF

Mourikis 2007 · Paper

One-line summary — The Multi-State Constraint Kalman Filter achieves efficient monocular VIO by keeping a sliding window of camera poses (not landmarks) in the EKF state and projecting feature measurements onto the left null space of the landmark Jacobian, so complexity stays linear in the number of features.

Problem

Classic EKF-SLAM puts every 3D landmark position in the state vector, so covariance updates scale quadratically with map size — prohibitive for vision-aided inertial navigation, where feature extractors routinely track hundreds of points per image. Pairwise alternatives (epipolar constraints, relative-pose measurements between image pairs) discard information and reuse the same pixels in statistically correlated constraints. The question MSCKF answered: can a feature track observed from multiple camera poses constrain the trajectory optimally, without the feature ever becoming a state variable?

Method & architecture

The filter follows a three-step loop (Algorithm 1 of the paper): propagate on every IMU sample, augment on every image, update when feature tracks complete.

Total cost: linear in features, at most cubic in the (bounded) number of windowed poses.

Results

Evaluated on a real-world urban drive in Minneapolis: a Pointgrey FireFly camera (640×480 @ 3 Hz) and an ISIS IMU (100 Hz) on a car, 1598 images over about 9 minutes, SIFT features, at most 30 camera poses in the state. Along the 3.2 km trajectory, 142,903 feature tracks were used for EKF updates, processed at 14 Hz on a single core of a 2 GHz Intel T7200 — faster than the 3 Hz sensor rate. The final position error was approximately 10 m, i.e. 0.31% of the traveled distance, with no loop closure and no motion priors; estimated 3σ accuracy was better than 1° in attitude and 0.35 m/s in velocity.

Why it matters for SLAM

MSCKF founded the filter-based branch of VIO and its structureless measurement model became standard well beyond filtering (e.g., smart factors in GTSAM/Kimera). It is the direct ancestor of S-MSCKF (stereo), ROVIO-era EKF designs, and OpenVINS, and the follow-up literature on its linearization behavior produced the observability/consistency analysis (First-Estimate Jacobians) that all modern filter-based VIO relies on. Its efficiency profile is why MSCKF-style estimators are widely associated with deployed AR/VR tracking stacks. When accuracy-per-CPU-cycle matters more than absolute accuracy, MSCKF is still the reference design.