Giter Site home page Giter Site logo

navrobot / gms-feature-matcher Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jiawangbian/gms-feature-matcher

0.0 0.0 0.0 11.59 MB

GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence (CVPR 17 & IJCV 20)

Home Page: http://jwbian.net/gms

License: BSD 3-Clause "New" or "Revised" License

C++ 42.35% CMake 0.82% MATLAB 3.81% Python 53.02%

gms-feature-matcher's Introduction

GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence

alt tag

Publication:

JiaWang Bian, Wen-Yan Lin, Yasuyuki Matsushita, Sai-Kit Yeung, Tan Dat Nguyen, Ming-Ming Cheng, GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence, CVPR 2017, [Project Page] [pdf] [Bib] [Code] [Youtube]

JiaWang Bian, Wen-Yan Lin, Yun Liu, Le Zhang, Sai-Kit Yeung, Ming-Ming Cheng, Ian Reid, GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence, IJCV 2020, [pdf]

Other Resouces

The method has been integrated into OpenCV library (see xfeatures2d.matchGMS).

More experiments are shown in FM-Bench.

The paper was selected and reviewed by Computer Vision News.

If you find this work useful in your research, please consider citing our paper:

@article{Bian2020gms,
	title={{GMS}: Grid-based Motion Statistics for Fast, Ultra-Robust Feature Correspondence},
	author={Bian, JiaWang and Lin, Wen-Yan and Liu, Yun and Zhang, Le and Yeung, Sai-Kit and Cheng, Ming-Ming and Reid, Ian},
	journal={International Journal of Computer Vision (IJCV)},
	year={2020}
}

Usage

Requirement:

1.OpenCV 3.0 or later (for ORB features, necessary)

2.cudafeatures2d module(for gpu nearest neighbor, optional)

3.OpenCV xfeatures2D moudle (if using the opencv built-in GMS function) 

C++ Example:

See src/demo.cpp

Python Example:

Go to "python" folder. Run "python3 opencv_demo.py". 
(You need install opencv_contrib by "pip install opencv-contrib-python")

Matlab Example:

1. Go to "matlab" folder. Compile the code with OpenCV ('Compile.m'), and run 'demo.m'.

External Examples:

OpenCV C++ demo and Mexopencv example

Tuning Parameters:

In src/demo.cpp
	1.	#define USE_GPU" (need cudafeatures2d module) 
			using cpu mode by commenting it.
			
	2.	We suggest using SIFT features for accuracy, and using ORB features for speed.


In gms_matcher.h
			
	2.	#define THRESH_FACTOR 6		
			Set it higher for more input matches, and lower for the fewer input matches.
			Often 6 for ORB all matches, and 4 or 3 for SIFT matches (after ratio test).
			
	3. 	int GetInlierMask(vector<bool> &vbInliers, bool WithScale = false, bool WithRotation = false)
			Set WithScale to be true for wide-baseline matching and false for video matching.
			Set WithRotation to be true if images have significant reative rotations.

Related projects

  • FM-Bench (BMVC 2019, More evaluation details for GMS.)

gms-feature-matcher's People

Contributors

jiawangbian avatar kczarnota avatar mpkuse avatar suruoxi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.