Need help with magsac?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

danini
172 Stars 35 Forks Other 80 Commits 7 Opened issues

Description

The MAGSAC algorithm for robust model fitting without using an inlier-outlier threshold

Services available

!
?

Need anything else?

Contributors list

# 189,135
C++
robust
Shell
pattern...
61 commits
# 16,528
C++
MATLAB
local-f...
jupyter
2 commits

The MAGSAC and MAGSAC++ algorithms for robust model fitting without using a single inlier-outlier threshold

The MAGSAC and MAGSAC++ algorithms proposed for robust model estimation without a single inlier-outlier threshold.

The MAGSAC paper is available at Link.

The MAGSAC++ available at Link.

Both methods are explained in the Latest developments in RANSAC presentation from CVPR tutorial RANSAC in 2020.

Experiments on homography, fundamental matrix, essential matrix, and 6D pose estimation are shown in the corresponding presentation from the tutorial RANSAC in 2020.

Tested on OpenCV 3.46 and 4.3. To run the executable with the examples, copy the "data" folder next to the executable or set the path in the main() function.

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 = {Conference on Computer Vision and Pattern Recognition}, year = {2020}, }

Installation C++

To build and install C++-only

MAGSAC
/
MAGSAC++
, clone or download this repository and then build the project by CMAKE.
shell
$ git clone https://github.com/danini/magsac --recursive
$ cd build
$ cmake ..
$ make

Install Python package and compile C++

python3 ./setup.py install

or

pip3 install -e .

Example project

To build the sample project showing examples of fundamental matrix, homography and essential matrix fitting, set variable

CREATE_SAMPLE_PROJECT = ON
when creating the project in CMAKE.

Next to the executable, copy the

data
folder and, also, create a
results
folder.

Jupyter Notebook example

The example for homography fitting is available at: notebook.

The example for fundamental matrix fitting is available at: notebook.

The example for essential matrix fitting is available at: notebook.

Requirements

  • Eigen 3.0 or higher
  • CMake 2.8.12 or higher
  • OpenCV 3.0 or higher
  • A modern compiler with C++17 support

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.