VIOVIO Survey BenchmarkGitHub Pages reproducible benchmark

EPICA / EPA

Evaluation workflow

EPA is the primary pipeline for trajectory parsing, alignment, timestamp association, metrics, plots, batch summaries, and publication-ready tables.

Commands

Single case to public summary

The same workflow supports one-pair debugging and later batch promotion into public result tables.

01

Install EPA environment

Use a clean Python 3.10+ environment before running single-case or batch evaluation.

conda create -n epa python=3.10 -y
conda activate epa
python -m pip install epica
02

Prepare trajectory pairs

Store reference and estimate files in an EPA-supported trajectory format.

# timestamp(s) tx ty tz qx qy qz qw
epa_traj --format auto --save-as tum --out-dir outputs/traj_exports <gt> <est>
03

Run one case

Validate parsing, timestamp association, alignment, plots, and metric output.

epa <gt_file> <est_file>
epa <gt_file> <est_file> --gt-format tum --est-format tum
04

Run benchmark batch

Use the batch harness once case folders and artifact conventions are ready.

export EPA_DATA_ROOT=/workspace/epa_data
epa_bench /workspace/epa_data/benchmark_cases --jobs auto
epa_benchall /workspace/epa_data/benchmark_cases
05

Promote validated outputs

Only update public result tables after EPA output files and resource logs are present.

epa_rerun --run-dir outputs/<benchmark>_bench --case <case_id>
epa_latex_summary --summary-csv outputs/<benchmark>_bench/run_xxx/summary.csv

Compatibility

OpenVINS-style wrappers are compatibility references

The website preserves OpenVINS-style evaluation familiarity while keeping EPA as the primary source of public result artifacts.

OpenVINS-style comparison

python -m epa.ov_eval_compat error_comparison se3 /path/to/gt_folder /path/to/algorithm_pose_folder

Single run compatibility

python -m epa.ov_eval_compat error_singlerun se3 /path/to/gt.txt /path/to/est.txt