Models
Glue Factory models are typically built using the TwoViewPipeline meta-architecture.
TwoViewPipeline
This pipeline decomposes the matching process into modular components:
- Extractor: Detects keypoints and extracts descriptors (e.g., SuperPoint, SIFT).
- Matcher: estimates correspondences between features (e.g., LightGlue, SuperGlue, NearestNeighbor).
- Filter: (Optional) Filters outlier matches.
- Solver: (Optional) Estimates geometry (Homography, Pose).
- Ground Truth: Generates ground truth labels for training supervision.
Available Extractors
extractors.superpoint_open: Open-source re-implementation of SuperPoint.gluefactory_nonfree.superpoint: Wrapper for the original SuperPoint weights.extractors.sift: SIFT (OpenCV or PyCOLMAP backend).extractors.aliked: ALIKED local features.extractors.disk_kornia: DISK features.lines.wireframe: Pipeline for line extraction (combining points and lines).
Available Matchers
matchers.lightglue: The LightGlue model (trainable).matchers.lightglue_pretrained: Wrapper for official pre-trained LightGlue.gluefactory_nonfree.superglue: Original SuperGlue.matchers.nearest_neighbor_matcher: Simple NN matching with mutual check.matchers.gluestick: Joint point and line matching.matchers.roma: RoMA dense matching.
Configuration Example
To combine ALIKED with Nearest Neighbor matching:
model:
name: two_view_pipeline
extractor:
name: extractors.aliked
max_num_keypoints: 2048
matcher:
name: matchers.nearest_neighbor_matcher