ducha-aiki / pymagsac

MAGSAC: marginalizing sample consensus, python version
Other
72 stars 14 forks source link

This repo is deprecated! The Python wrapper is now merged to the main repo that you can find at Link.

MAGSAC++'s Python Wrapper

This repository contains an Python wrapper of MAGSAC and MAGSAC++.

The main repository is at https://github.com/danini/magsac

If you use the algorithm, please cite

@inproceedings{barath2019magsac,
    author = {Barath, Daniel and Matas, Jiri and Noskova, Jana},
    title = {{MAGSAC}: marginalizing sample consensus},
    booktitle = {Conference on Computer Vision and Pattern Recognition},
    year = {2019},
}

@inproceedings{barath2019magsacplusplus,
    author = {Barath, Daniel and Noskova, Jana and Ivashechkin, Maksym and Matas, Jiri},
    title = {{MAGSAC}++, a fast, reliable and accurate robust estimator},
    booktitle = {arXiv preprint:1912.05909},
    year = {2019},
}

If you use it for fundamental matrix estimation with DEGENSAC turned on, please cite

@inproceedings{Chum2005,
  author = {Chum, Ondrej and Werner, Tomas and Matas, Jiri},
  title = {Two-View Geometry Estimation Unaffected by a Dominant Plane},
  booktitle = {CVPR},
  year = {2005},
}

Performance of MAGSAC++

MAGSAC++ is the state of the art according to "RANSAC in 2020" CVPR tutorial's experiments.

Performance of MAGSAC

MAGSAC is the state of the art according to the recent study Yin et.al."Image Matching across Wide Baselines: From Paper to Practice", 2020.

IMW-benchmark

IMW-Challenge

Installation

To build and install python_cpp_example, clone or download this repository and then, from within the repository, run:

python3 ./setup.py install

or

pip3 install .

Example of usage

import pymagsac
H, mask = pymagsac.findHomography(src_pts, dst_pts, 3.0)
F, mask = pymagsac.findFundamentalMatrix(src_pts, dst_pts, 3.0)

See also this notebook

Requirements

Acknowledgements

This wrapper part is based on great Benjamin Jack python_cpp_example.