ROVIO
Bloesch 2015 · Paper
One-line summary — ROVIO (Robust Visual Inertial Odometry) is a tightly-coupled monocular VIO that feeds direct pixel-intensity errors of multilevel image patches straight into an EKF as innovation terms, on a fully robocentric state with bearing-vector/inverse-distance landmarks — yielding a “power-up-and-go” estimator that needs no initialization procedure.
Problem
Feature-based VIO systems (MSCKF, OKVIS) depend on descriptor extraction and matching, which breaks down in low-texture environments and under fast-motion blur. Independently, the standard world-centric EKF keeps globally unobservable quantities (absolute position, yaw) in its state, causing gauge-freedom and consistency issues. ROVIO attacks both: photometric patch errors replace the feature-matching pipeline, and a robocentric formulation with minimal on-manifold landmark parametrization avoids representing the unobservable global position at all.
Method & architecture
- Robocentric state. With the IMU frame , world frame , and camera frame , the filter state (Eq. 1 of the paper) is where are the robocentric IMU position and velocity (expressed in ), the attitude (map ), the accelerometer/gyro biases, the online-calibrated IMU-camera extrinsics, and each landmark is a bearing vector plus a distance parameter with (inverse distance). Rotations and unit vectors use minimal boxplus differences, so a landmark costs only 3 covariance columns (2 bearing + 1 depth) and can be initialized undelayed at detection with huge depth uncertainty.
- IMU-driven propagation. With bias-corrected measurements , the continuous dynamics (Eqs. 2–4) are and each landmark’s bearing and distance evolve with the camera-frame velocities (Eqs. 9–10): and , where projects onto the tangent space of .
- Direct photometric update. Each landmark carries a multilevel patch: -pixel patches on every level of a factor-2 image pyramid (4 levels → intensity errors per feature). For level and patch pixel the intensity error (Eq. 17) is with affine warp for viewpoint distortion, per-level scale , and mean error subtracted for illumination invariance. Stacking all terms gives ; a QR decomposition compresses it to an equivalent 2D system , which enters the EKF as innovation with Jacobian — no descriptors, no explicit matching.
- Robustness machinery. Features with large predicted uncertainty (e.g. fresh ones) get a patch-based pre-alignment that improves the EKF linearization point before the update; a Mahalanobis innovation test rejects outliers/moving objects; detection uses a FAST corner detector scored by a multilevel Shi-Tomasi criterion (, minimal eigenvalue) with bucketing, and local/global tracking-quality scores govern feature replacement.
Results
Evaluated on data from a VI-Sensor (one wide-VGA global-shutter camera at 20 Hz with 120° FOV lens; ADIS16448 IMU at 200 Hz, angular random walk 0.66 deg/√Hz), max 50 features, 4 pyramid levels, motion-capture ground truth. On a ~1 min hand-held sequence (average rotation rate ~1.5 rad/s), the relative position error vs. distance traveled is similar to a reference batch-optimization framework and often slightly better; accuracy degrades noticeably only below 20 features. Per-image timings on a single core of an Intel i7-2760QM: 6.65 ms with 10 features up to 29.72 ms with 50 features — comfortably real-time at 20 Hz. On a fast-motion dataset (mean 3.5 rad/s, peaks up to 8 rad/s) attitude and robocentric velocity track ground truth within their 3σ bounds, with only the unobservable yaw drifting slowly; IMU-camera extrinsics converge online from a rough guess (translation initialized to zero). The filter also ran on-board a multirotor UAV, stabilizing flight from take-off to landing with online calibration.
Why it matters for SLAM
ROVIO showed that direct methods and Kalman filtering combine naturally: the camera becomes “just another sensor” producing intensity innovations for the EKF, and the robocentric + inverse-distance formulation removes both the initialization procedure and the unobservable global states that plague world-centric filters. It became the VIO front-end (ROVIOLI) of the maplab mapping framework and a standard EuRoC-era baseline alongside MSCKF and OKVIS, and its photometric-residual philosophy carried into later direct VIO systems such as VI-DSO and DM-VIO. Choose it when you need a lightweight, robust odometry that tolerates low texture and motion blur.