Documentation Index
Fetch the complete documentation index at: https://mintlify.com/rpng/open_vins/llms.txt
Use this file to discover all available pages before exploring further.
OpenVINS is evaluated against a broad collection of public visual-inertial benchmark datasets, spanning aerial MAVs, handheld devices, ground vehicles, and racing drones. Each dataset comes with a matched configuration file tuned for that sensor and environment. This page documents every supported dataset, its sensor specifications, sequence listing, and known caveats to be aware of before running evaluations.
If you are new to OpenVINS, start with the EuRoC MAV dataset. It has synchronized cameras and IMU, high-quality Vicon ground truth, and is the most widely used benchmark in VIO research. The provided configuration files give reasonable defaults out of the box.
EuRoC MAV
TUM-VI
RPNG Datasets
UZH-FPV
KAIST Urban
KAIST VIO
EuRoC MAV Dataset
The EuRoC MAV dataset from ETH ASL is the most commonly used benchmark in visual-inertial research. A Micro Aerial Vehicle (MAV) flies through indoor environments of varying difficulty while a synchronized stereo camera and IMU record measurements.Sensors:
- Stereo monochrome global shutter cameras (2× Aptina MT9V034) at 20 Hz
- ADIS16448 MEMS IMU at 200 Hz
- Vicon and Leica ground truth
Run script: run_ros_eth.shroslaunch ov_msckf serial.launch \
config:="euroc_mav" \
dataset:="V1_01_easy" \
bag:="/path/to/V1_01_easy.bag" \
dobag:="true" \
max_cameras:="2" \
use_stereo:="true"
V1_01_easy ground truth issue: The orientation estimate in the published V1_01_easy ground truth is inaccurate. The RPNG group has recomputed a corrected trajectory using the vicon2gt utility by jointly optimizing inertial and Vicon readings. The corrected ground truth is available at this Google Drive link and should be used for ATE evaluation. The Machine Hall sequences begin with the MAV being picked up and set down. This initial pickup phase can be skipped (see the bag_start parameters in the run script). It can be handled by the filter if SLAM features are enabled.
TUM Visual-Inertial Dataset
The TUM-VI dataset provides photometric camera calibration unavailable in other VIO benchmarks, making it particularly relevant for methods that account for radiometric effects. The room sequences include full ground truth; outdoor handheld sequences do not.Sensors:
- Stereo monochrome global shutter cameras (2× IDS uEye UI-3241LE-M-GL) at 20 Hz
- Bosch BMI160 IMU at 200 Hz
- Motion capture ground truth (room portions only)
Run script: run_ros_tumvi.shroslaunch ov_msckf serial.launch \
config:="tum_vi" \
dataset:="dataset-room1_512_16" \
bag:="/path/to/dataset-room1_512_16.bag" \
dobag:="true" \
max_cameras:="2" \
use_stereo:="true"
Standstill initialization: These datasets are handheld and have very non-static starts. The standstill-based initialization can have difficulty with this. Careful tuning of init_imu_thresh is typically needed. Enable dynamic initialization via init_dyn_use: true in your config to avoid this issue entirely.
OpenVINS focuses on the room sequences where full 6-DOF pose ground truth is available throughout the entire trajectory.
RPNG AR Table Dataset
The Indoor AR Table Visual-Inertial Datasets were collected to study the impact of estimating long-term planar surfaces within a VIO estimator. Sequences are 1–2 minutes in length with OptiTrack motion capture ground truth recovered via vicon2gt.Sensors:
- Intel RealSense D455 RGB-D at 30 Hz (depth unused)
- BMI055 IMU at 400 Hz
- OptiTrack motion capture at 100 Hz
| Dataset | Length (m) | Download | Size (GB) | Ground Truth | Config |
|---|
| table1 | 56 | rosbag | 4.77 | link | config |
| table2 | 44 | rosbag | 5.54 | link | config |
| table3 | 88 | rosbag | 13.19 | link | config |
| table4 | 91 | rosbag | 11.49 | link | config |
| table5 | 75 | rosbag | 11.66 | link | config |
| table6 | 50 | rosbag | 5.26 | link | config |
| table7 | 63 | rosbag | 9.02 | link | config |
| table8 | 125 | rosbag | 16.01 | link | config |
RPNG OpenVINS Dataset
These are RPNG-collected datasets released alongside OpenVINS. Please cite the OpenVINS paper if you use them. There are two sensor rigs:Ironsides Rig
- Stereo fisheye global shutter images at 20 Hz
- InvenSense IMU at 200 Hz
- Two Reach RTK GPS at 5 Hz
- Kalibr calibration
Most of these datasets do not have perfect calibration parameters and some are not time-synchronized. Enable online calibration (calib_cam_extrinsics: true, calib_cam_timeoffset: true) when running these sequences. No ground truth is available, but some include GPS messages for relative comparison. Monocular mode currently has issues on the Ironsides Neighborhood datasets due to near-constant velocity trajectories.
| Dataset Name | Length (m) | Download | Ground Truth | Config |
|---|
| ArUco Room 01 | 27 | rosbag | none | config |
| ArUco Room 02 | 93 | rosbag | none | config |
| ArUco Hallway 01 | 190 | rosbag | none | config |
| ArUco Hallway 02 | 105 | rosbag | none | config |
| Neighborhood 01 | 2300 | rosbag | none | config |
| Neighborhood 02 | 7400 | rosbag | none | config |
UZH-FPV Drone Racing Dataset
The UZH-FPV Drone Racing Dataset pushes VIO to its limits with extremely high-speed aggressive flight. An FPV racing quadrotor equipped with a Qualcomm Snapdragon Flight board reaches up to 23.4 m/s (54 mph) in outdoor sequences. The high optical flow makes this one of the most challenging VIO benchmarks available.Sensors:
- 2× 640×480 grayscale global shutter fisheye cameras (forward or 45°)
- Snapdragon Flight IMU
- Leica Nova MS60 laser tracker ground truth
Sensor configurations: indoor forward stereo, indoor 45° stereo, outdoor forward, outdoor 45°Run script: run_ros_uzhfpv.shroslaunch ov_msckf serial.launch \
config:="uzhfpv_indoor" \
dataset:="indoor_forward_5_snapdragon_with_gt" \
bag:="/path/to/indoor_forward_5_snapdragon_with_gt.bag" \
dobag:="true"
Ground truth rotation issue: Only Absolute Trajectory Error (ATE) should be used as a metric on this dataset. The Leica point-based measurements make it difficult to recover accurate orientation ground truth. The UZH team has published a detailed report on this issue. Do not use Relative Pose Error (RPE) for orientation on this dataset. Each sequence begins with the drone being picked up and set down, similar to EuRoC MH sequences. This can be skipped or handled with SLAM features enabled.
| Dataset Name | Length (m) | Download | Ground Truth | Config |
|---|
| Indoor 5 | 157 | rosbag | link | config |
| Indoor 6 | 204 | rosbag | link | config |
| Indoor 7 | 314 | rosbag | link | config |
| Indoor 9 | 136 | rosbag | link | config |
| Indoor 10 | 129 | rosbag | link | config |
| Indoor 45deg 2 | 207 | rosbag | link | config |
| Indoor 45deg 4 | 164 | rosbag | link | config |
| Indoor 45deg 12 | 112 | rosbag | link | config |
| Indoor 45deg 13 | 159 | rosbag | link | config |
| Indoor 45deg 14 | 211 | rosbag | link | config |
KAIST Urban Dataset
The KAIST urban dataset targets autonomous driving and localization in complex Korean urban environments. A vehicle is equipped with a rich multi-sensor suite, though OpenVINS uses only the stereo camera and Xsens IMU.Sensors:
- Stereo camera at 10 Hz
- Xsens IMU at 100 Hz
- Additional: 2D SICK LiDARs, 3D Velodyne LiDAR, fiber optic gyro, wheel encoders, RTK GPS
- Ground truth from fusion of FoG + RTK GPS + wheel encoders
Run script: run_ros_kaist.shDynamic environments: In many KAIST sequences, the majority of the camera view is occupied by other moving vehicles. OpenVINS relies on 8-point RANSAC to reject dynamic points, but performance can still suffer when dynamic objects dominate the scene.
Monocular mode: Running with a single camera on this dataset is known to fail. This is likely due to the near-constant vehicle velocity making scale unobservable in monocular VIO. Use stereo mode.
Converting to ROS bag format:The KAIST dataset uses a custom file format. Convert it to a ROS bag before use:git clone https://github.com/irapkaist/irp_sen_msgs.git
git clone https://github.com/rpng/kaist2bag.git
# Follow kaist2bag instructions to generate a .bag file
Alternatively, use the file_player to publish live. Disable the “skip stop section” option to ensure continuous sensor feeds. Process at 1.5× rate to achieve ~20 Hz effective camera rate.| Dataset | Length (km) | Download | Ground Truth | Config |
|---|
| Urban 28 | 11.47 | download | link | config |
| Urban 32 | 7.30 | download | link | config |
| Urban 38 | 11.42 | download | link | config |
| Urban 39 | 11.06 | download | link | config |
KAIST VIO Dataset
The KAIST VIO dataset focuses on MAV motion in a small indoor volume (3.15 × 3.60 × 2.50 m) performing structured trajectories: circles, figure-eights, squares, and pure rotations, each at normal and fast speeds, with and without heading changes.Sensors:
- Intel RealSense D435i at 25 Hz
- Pixhawk 4 IMU at 100 Hz
- OptiTrack motion capture ground truth at 50 Hz (marker-to-IMU transform already applied in bag files)
roslaunch ov_msckf serial.launch \
config:="kaist_vio" \
dataset:="circle" \
bag:="/path/to/circle.bag" \
dobag:="true"
| Dataset | Length (m) | Download | Ground Truth | Config |
|---|
| circle | 29.99 | download | link | config |
| circle_fast | 64.15 | download | link | config |
| circle_head | 35.05 | download | link | config |
| infinite | 29.35 | download | link | config |
| infinite_fast | 54.24 | download | link | config |
| infinite_head | 37.45 | download | link | config |
| rotation | 7.82 | download | link | config |
| rotation_fast | 14.55 | download | link | config |
| square | 41.94 | download | link | config |
| square_fast | 44.07 | download | link | config |
| square_head | 50.00 | download | link | config |