This repo contains code for paper "Are Minimal Radial Distortion Solvers Necessary for Relative Pose Estimation?" (under review in IJCV) which is an extension of our previous work at ECCVW with the same title (arxiv: http://arxiv.org/abs/2410.05984)
Create an environment with pytorch and packages from requirements.txt.
Install PoseLib fork with robust radial distortion estimators into the environment:
git clone https://github.com/kocurvik/PoseLib
git cd PoseLib
git checkout rdnet
pip install .Before running the python scripts make sure that the repo is in your python path (e.g. export PYTHONPATH=/path/to/repo/rdnet)
We use five datasets:
- Rotunda and Cathedral - RD Benchmark
- Phototourism - download from the IMC2020 challenge website
- ETH3D - download the multiview undistorted train data from the dataset website.
- PragueParks - TBA
- EuRoC MAV - TBA
You can download the all used matches and GeoCalib Predictions at here.
To prepare matches for Rotunda, Cathedral datasets you can run:
# generates all matches
python prepare_bundler.py -f superpoint /path/to/stored_matches/rotunda_new /path/to/dataset/rotunda_new
# generates only matches with the same camera in both views
python prepare_bundler.py -f superpoint -e /path/to/stored_matches/rotunda_new /path/to/dataset/rotunda_new
python prepare_bundler.py -n 10000 -f superpoint /path/to/stored_matches/cathedral /path/to/dataset/cathedral
python prepare_bundler.py -n 10000 -f superpoint -e /path/to/stored_matches/cathedral /path/to/dataset/cathedralTo run the experiments you should modify experiments.sh as described in the script comments and run it.
Tables and figures are generated using utils/tables.py, and utils/vis.py.
TBA