Dataset Overview
The TUM-VI dataset provides:- Two synchronized fisheye cameras (stereo, 20 Hz)
- IMU measurements (200 Hz gyroscope, 200 Hz accelerometer)
- Partial ground truth (available in starting room)
- Indoor and outdoor sequences
- Challenging scenarios with lighting changes and fast motion
Key Features
Fisheye Lenses
Wide field-of-view cameras (190°) for better tracking in indoor environments.
Varied Environments
Sequences recorded in rooms, corridors, and outdoor areas.
Sliding Windows
Long sequences requiring multi-map capabilities.
CLAHE Enhancement
Images benefit from histogram equalization for better feature extraction.
Download Instructions
Visit the dataset website
Download sequences from:
https://vision.in.tum.de/data/datasets/visual-inertial-dataset
Select sequences
Available sequences:
dataset-room1_512_16- Room with various motionsdataset-room2_512_16- Different roomdataset-room3_512_16- Third roomdataset-room4_512_16- Fourth roomdataset-room5_512_16- Fifth roomdataset-room6_512_16- Sixth roomdataset-corridor1_512_16- Corridor sequencedataset-magistrale1_512_16- Long corridordataset-outdoors1_512_16- Outdoor sequence
Fisheye Camera Model
TUM-VI uses fisheye cameras with the Kannala-Brandt camera model (KB4).Key Differences from Pinhole
- Projection
- Advantages
- Configuration
Fisheye uses radial distortion model:This allows for wide-angle views (>180°).
ORB-SLAM3 works directly with fisheye images - no rectification needed.
Running Monocular Examples
Run monocular SLAM with a single fisheye camera:Image Enhancement
The monocular example (mono_tum_vi.cc:136) applies CLAHE (Contrast Limited Adaptive Histogram Equalization):CLAHE significantly improves feature extraction in challenging lighting conditions common in TUM-VI sequences.
Running Stereo Examples
Run stereo SLAM with both fisheye cameras:Running Monocular-Inertial Examples
Fuse monocular fisheye vision with IMU:Why Visual-Inertial Matters for Fisheye
Fisheye cameras have:- High distortion at image edges
- Variable feature quality across the image
- IMU helps maintain tracking when features degrade
Running Stereo-Inertial Examples
The most robust configuration for TUM-VI:- Wide field-of-view stereo vision
- IMU for scale and fast motion handling
- Best accuracy and robustness
Running All Sequences
Use the batch script to process all sequences:Evaluation
TUM-VI provides limited ground truth - only available in the room where sequences start and end.Evaluation Strategy
Since ground truth is only available at start/end points, the evaluation measures drift over the entire sequence rather than continuous trajectory error.
Running Evaluation
Manual Evaluation
Configuration Files
TUM-VI examples use fisheye-specific settings:- Camera Type
- Image Processing
- ORB Settings
- IMU Parameters
Handling ROS Bags (Optional)
TUM-VI rosbags may have chunk size issues. Rebag them if needed:
Performance Comparison
| Sequence | Monocular | Stereo | Mono-Inertial | Stereo-Inertial |
|---|---|---|---|---|
| room1 | Good | Excellent | Excellent | Best |
| corridor1 | Moderate | Good | Good | Excellent |
| outdoors1 | Challenging | Good | Excellent | Excellent |
Stereo-Inertial configuration is highly recommended for TUM-VI sequences due to challenging lighting and fast motion.
Troubleshooting
Poor Feature Tracking
Poor Feature Tracking
Solutions:
- Enable CLAHE equalization
- Increase
ORBextractor.nFeatures - Verify fisheye distortion parameters
- Use stereo or visual-inertial mode
Initialization Failed
Initialization Failed
Fisheye initialization tips:
- Ensure sufficient parallax
- Move camera slowly at start
- Check that distortion model is correct
- Try stereo mode for faster initialization
Tracking Lost in Corridors
Tracking Lost in Corridors
Long corridors are challenging:
- Use visual-inertial mode
- Increase feature count
- Ensure good lighting
- Accept that some drift is normal
Image Distortion Issues
Image Distortion Issues
If images appear warped:
- Verify
Camera.type: "KannalaBrandt8" - Check distortion coefficients (k1-k4)
- Ensure using correct TUM-VI.yaml file
- Do NOT try to undistort images manually
Advanced: Multi-Map SLAM
TUM-VI sequences are ideal for testing multi-map capabilities:- Build first map in room1
- Save the map
- Load and extend the atlas for room2
- Potentially merge maps if overlap detected
Next Steps
EuRoC Dataset
Compare with pinhole camera examples
Fisheye Calibration
Calibrate your own fisheye camera
Multi-Map SLAM
Learn about atlas and map management
RealSense Examples
Try real-time fisheye SLAM