Tools for processing 360° video with embedded IMU and GPS data into VIO SLAM inputs, visualizing and aligning the resulting trajectory to GPS, and exporting for NeRF or COLMAP.
Place input .mp4 files in data/videos/, then run from the repo root:
.\.venv\Scripts\activate.ps1
python .\scripts\preprocessing\preprocess_video.py --name <sequence_name> --start <seconds or HH:MM:SS> --duration <seconds> --overwrite
Interim files are written to data/tmp_interim_components/. Final VIO inputs are written to results/<sequence_name>/<sequence_name>/.
See Preprocessing Guide for individual script usage, rotation calibration, and external tool setup.
pip install -r requirements.txt
The preprocessing runner also requires ffmpeg, ffprobe, and exiftool on PATH (or passed via --ffmpeg, --ffprobe, --exiftool). Install via conda:
conda install -c conda-forge ffmpeg exiftool
After running the VIO program, copy estimated_trajectory.txt into results/<sequence_name>/, then run:
# Align trajectory to GPS
python .\scripts\postprocessing\align_vio_to_gps.py --sequence <sequence_name>
# Plot overview + animated video
python .\scripts\postprocessing\plot_estimated_trajectory.py --sequence <sequence_name> --no-show --animate
See Postprocessing Guide for GPS alignment options, trajectory visualization, NeRF export, and COLMAP reference image generation.