syncrodazt / pymagsac

MAGSAC: marginalizing sample consensus, python version

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

  • Python 3
  • CMake 2.8.12 or higher
  • OpenCV 3.4
  • A modern compiler with C++14 support

Acknowledgements

This wrapper part is based on great Benjamin Jack python_cpp_example.

About

MAGSAC: marginalizing sample consensus, python version

License:Other


Languages

Language:C++ 95.5%Language:Python 3.6%Language:CMake 0.8%Language:Makefile 0.1%Language:Shell 0.0%