Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Aug 29, 2018
...
Sep 14, 2018
src
Aug 27, 2019
May 17, 2017

README.md

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.)

About

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

Topics

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.