🔗 Competition Link: Image Matching Challenge 2022
- Ensemble of LoFTR, SuperGlue: The framework employs an ensemble of LoFTR and SuperGlue with the resize calibration and appropriate number of keypoints for each model.
- Resize Image: Images are Resized by try and error.
- TTA Transformations: Augmentations like the original, horizontal flip, and rotation are applied to the images before matching.
- Usage of the Partial Function: The
functools.partial
function is used to fix arguments required by each matching algorithm, ensuring flexibility and modularity. - Diverse Matching Algorithms: Algorithms like LoFTR and SuperGlue are employed to match feature points between images.
- Keypoint Aggregation: Extract keypoints from all the models.
- Concatenation: Merge the keypoints from different models.
- RANSAC Application: Apply the RANSAC algorithm to the concatenated keypoints for robust matching.
Note: We also experimented with concatenating keypoints after multiple RANSAC runs. However, this approach was slower and resulted in a lower score.
The optimal selection of the number of keypoints is crucial for maximizing the performance of the ensemble. The default values for the number of keypoints can vary significantly among models, which might be why ensembles may not work effectively for some.
While not all models offer a strict parameter for the number of final keypoints, here's how to adjust them for better performance:
- LoFTR: Adjust
max_keypoints
in the config from 1024 to 2048. - SuperGlue: Modify
max_keypoints
in the config from 1024 to 2048.