{"adoption": {"forks": 358, "observed_at": "2026-08-28T04:03:38.197229+00:00", "stars": 1114}, "canonical_url": "https://ross.abutalabs.com/products/gms-feature-matcher", "card": {"archived": false, "artifact_type": "library", "description": "GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence (CVPR 17 & IJCV 20)", "domain": ["computer-vision", "image-processing", "robotics"], "enriched": true, "function": ["computer-vision", "image-processing"], "health_score": 20, "homepage": "http://jwbian.net/gms", "language": "Python", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["JiawangBian/GMS-Feature-Matcher"], "name": "JiawangBian/GMS-Feature-Matcher", "platform": ["cpp", "python", "cross-platform"], "pushed_at": "2020-06-10T06:30:44+00:00", "repo": "JiawangBian/GMS-Feature-Matcher", "stars": 1114, "tags": ["feature-matching", "gms", "slam", "sfm", "orb", "sift", "opencv", "cvpr"], "topics": ["gms", "sfm", "feature", "matching", "slam"], "urls": [], "use_cases": ["filter out bad feature matches between two images", "robust feature correspondence for SLAM or visual odometry", "match ORB or SIFT features quickly", "find image correspondences for structure from motion", "remove outliers from nearest-neighbor feature matches", "integrate a fast match filter into an OpenCV pipeline"], "what_it_is": "GMS (Grid-based Motion Statistics) is a fast, robust feature correspondence algorithm for filtering feature matches between images, published at CVPR 2017 and IJCV 2020. It provides C++, Python, and Matlab implementations and has been integrated into OpenCV's xfeatures2d module.", "when_to_avoid": ["you need deep-learning-based matchers for extreme viewpoint or appearance changes", "you need a maintained project with recent updates - the repo has not been updated since 2020", "you need matching across image collections rather than image pairs"], "when_to_choose": ["you need fast, robust filtering of feature matches in real-time vision systems like SLAM", "you want a lightweight alternative to RANSAC for match outlier rejection", "you are already using OpenCV and can leverage the built-in matchGMS"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gms-feature-matcher", "repo": "JiawangBian/GMS-Feature-Matcher", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.197229+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:42:12.656420+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e8628a7d1f12012d864820c38bb46bfe3f692a35b44eb731b79843bcf36a29ad", "fetched_at": "2026-08-28T04:03:38.197229+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiawangBian/GMS-Feature-Matcher"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.197229+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:42:12.656420+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e8628a7d1f12012d864820c38bb46bfe3f692a35b44eb731b79843bcf36a29ad", "fetched_at": "2026-08-28T04:03:38.197229+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiawangBian/GMS-Feature-Matcher"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:42:12.656420+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e8628a7d1f12012d864820c38bb46bfe3f692a35b44eb731b79843bcf36a29ad", "fetched_at": "2026-08-28T04:03:38.197229+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiawangBian/GMS-Feature-Matcher"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.197229+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.197229+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.197229+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:42:12.656420+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e8628a7d1f12012d864820c38bb46bfe3f692a35b44eb731b79843bcf36a29ad", "fetched_at": "2026-08-28T04:03:38.197229+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiawangBian/GMS-Feature-Matcher"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.197229+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.197229+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:42:12.656420+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e8628a7d1f12012d864820c38bb46bfe3f692a35b44eb731b79843bcf36a29ad", "fetched_at": "2026-08-28T04:03:38.197229+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiawangBian/GMS-Feature-Matcher"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.197229+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.197229+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.197229+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:42:12.656420+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e8628a7d1f12012d864820c38bb46bfe3f692a35b44eb731b79843bcf36a29ad", "fetched_at": "2026-08-28T04:03:38.197229+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiawangBian/GMS-Feature-Matcher"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.197229+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.197229+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:42:12.656420+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e8628a7d1f12012d864820c38bb46bfe3f692a35b44eb731b79843bcf36a29ad", "fetched_at": "2026-08-28T04:03:38.197229+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiawangBian/GMS-Feature-Matcher"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:42:12.656420+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e8628a7d1f12012d864820c38bb46bfe3f692a35b44eb731b79843bcf36a29ad", "fetched_at": "2026-08-28T04:03:38.197229+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiawangBian/GMS-Feature-Matcher"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:42:12.656420+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e8628a7d1f12012d864820c38bb46bfe3f692a35b44eb731b79843bcf36a29ad", "fetched_at": "2026-08-28T04:03:38.197229+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiawangBian/GMS-Feature-Matcher"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:42:12.656420+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e8628a7d1f12012d864820c38bb46bfe3f692a35b44eb731b79843bcf36a29ad", "fetched_at": "2026-08-28T04:03:38.197229+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JiawangBian/GMS-Feature-Matcher"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3598, "days_push": 2275, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}