{"id":15027706,"url":"https://github.com/jiawangbian/gms-feature-matcher","last_synced_at":"2025-05-16T14:02:45.678Z","repository":{"id":39380248,"uuid":"71983227","full_name":"JiawangBian/GMS-Feature-Matcher","owner":"JiawangBian","description":"GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence (CVPR 17 \u0026 IJCV 20)","archived":false,"fork":false,"pushed_at":"2020-06-10T06:30:44.000Z","size":11873,"stargazers_count":1084,"open_issues_count":9,"forks_count":360,"subscribers_count":58,"default_branch":"master","last_synced_at":"2024-10-30T04:47:13.081Z","etag":null,"topics":["feature","gms","matching","sfm","slam"],"latest_commit_sha":null,"homepage":"http://jwbian.net/gms","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JiawangBian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-10-26T08:37:06.000Z","updated_at":"2024-10-24T12:39:12.000Z","dependencies_parsed_at":"2022-07-12T17:53:30.966Z","dependency_job_id":null,"html_url":"https://github.com/JiawangBian/GMS-Feature-Matcher","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JiawangBian%2FGMS-Feature-Matcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JiawangBian%2FGMS-Feature-Matcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JiawangBian%2FGMS-Feature-Matcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JiawangBian%2FGMS-Feature-Matcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JiawangBian","download_url":"https://codeload.github.com/JiawangBian/GMS-Feature-Matcher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248544890,"owners_count":21122050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["feature","gms","matching","sfm","slam"],"created_at":"2024-09-24T20:06:55.634Z","updated_at":"2025-04-12T09:24:35.640Z","avatar_url":"https://github.com/JiawangBian.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence\n\n![alt tag](http://mmcheng.net/wp-content/uploads/2017/03/dog_ours.jpg)\n\n\n\n## Publication:\n\n[JiaWang Bian](http://jwbian.net), 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](http://jwbian.net/gms)] [[pdf](http://jwbian.net/Papers/GMS_CVPR17.pdf)] [[Bib](http://jwbian.net/Papers/bian2017gms.txt)] [[Code](https://github.com/JiawangBian/GMS-Feature-Matcher)] [[Youtube](https://youtu.be/3SlBqspLbxI)]\n\n[JiaWang Bian](http://jwbian.net), 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](https://link.springer.com/content/pdf/10.1007%2Fs11263-019-01280-3.pdf)] \n\n\n## Other Resouces\n\n  The method has been integrated into OpenCV library (see [xfeatures2d.matchGMS](https://docs.opencv.org/master/db/dd9/group__xfeatures2d__match.html)).\n  \n  More experiments are shown in [FM-Bench](https://jwbian.net/fm-bench).\n\n  The paper was selected and reviewed by [Computer Vision News](http://www.rsipvision.com/ComputerVisionNews-2017August/#48).\n\n\n## If you find this work useful in your research, please consider citing our paper:\n\t\n\t@article{Bian2020gms,\n  \t\ttitle={{GMS}: Grid-based Motion Statistics for Fast, Ultra-Robust Feature Correspondence},\n  \t\tauthor={Bian, JiaWang and Lin, Wen-Yan and Liu, Yun and Zhang, Le and Yeung, Sai-Kit and Cheng, Ming-Ming and Reid, Ian},\n  \t\tjournal={International Journal of Computer Vision (IJCV)},\n  \t\tyear={2020}\n\t}\n\n\n## Usage\n\nRequirement:\n\n\t1.OpenCV 3.0 or later (for ORB features, necessary)\n\n\t2.cudafeatures2d module(for gpu nearest neighbor, optional)\n\t\n\t3.OpenCV xfeatures2D moudle (if using the opencv built-in GMS function) \n\nC++ Example:\n\n\tSee src/demo.cpp\n\n\nPython Example:\n\t\n\tGo to \"python\" folder. Run \"python3 opencv_demo.py\". \n\t(You need install opencv_contrib by \"pip install opencv-contrib-python\")\n\t\n\t\nMatlab Example:\n\t\n\t1. Go to \"matlab\" folder. Compile the code with OpenCV ('Compile.m'), and run 'demo.m'.\n\nExternal Examples:\n\n   [OpenCV C++ demo](https://github.com/opencv/opencv_contrib/blob/master/modules/xfeatures2d/samples/gms_matcher.cpp) and [Mexopencv example](http://amroamroamro.github.io/mexopencv/opencv_contrib/gms_matcher_img_demo.html)\n\n\nTuning Parameters:\n\n\tIn src/demo.cpp\n\t\t1.\t#define USE_GPU\" (need cudafeatures2d module) \n\t\t\t\tusing cpu mode by commenting it.\n\t\t\t\t\n\t\t2.\tWe suggest using SIFT features for accuracy, and using ORB features for speed.\n\n\t\n\tIn gms_matcher.h\n\t\t\t\t\n\t\t2.\t#define THRESH_FACTOR 6\t\t\n\t\t\t\tSet it higher for more input matches, and lower for the fewer input matches.\n\t\t\t\tOften 6 for ORB all matches, and 4 or 3 for SIFT matches (after ratio test).\n\t\t\t\t\n\t\t3. \tint GetInlierMask(vector\u003cbool\u003e \u0026vbInliers, bool WithScale = false, bool WithRotation = false)\n\t\t\t\tSet WithScale to be true for wide-baseline matching and false for video matching.\n\t\t\t\tSet WithRotation to be true if images have significant reative rotations.\n\t\t\t\t\n\n## Related projects\n\n * [FM-Bench](https://github.com/JiawangBian/FM-Bench) (BMVC 2019, More evaluation details for GMS.)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiawangbian%2Fgms-feature-matcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjiawangbian%2Fgms-feature-matcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiawangbian%2Fgms-feature-matcher/lists"}