How fast can image matching be?
This repository aims to combine the fastest feature extraction and matching methods, i.e. XFeat and LightGlue, and evaluate their performance on laptop and service devices.
git clone https://github.com/LuoXubo/FastMatch.gitconda create -n fastmatch python=3.8 -y
conda activate fastmatch
pip install -r requirements.txtSee demo.ipynb for a quick start.
- Test device: Ubuntu 20.04, RTX 3090 Ti
- Test image size: 800x600
| Method | Feature Extraction | Matching | Total Time |
|---|---|---|---|
| SP + LG | 0.060s | 0.020s | 0.0800s |
| Efficient LoFTR | - | - | 0.0630s |
| XFeat + mnn (sparse) | 0.016s | 0.0007s | 0.0167s |
| XFeat + mnn (semi-dense) | 0.170s | 0.007s | 0.1770s |
| XFeat + LightGlue | 0.024s | 0.0202s | 0.0442s |
Notice: These methods are tested in a jupyter notebook, so the actual runing speed may be faster than the results.
Test on Orin Nano:
- Test device: Nvidia Jetson Orin Nano
- Test image size: 4000x4000
| Method | Feature Extraction | Matching | Total Time |
|---|---|---|---|
| XFeat + mnn (sparse) | 12.146s | 0.025s | 12.171s |
- Test device: Ubuntu 20.04, RTX 3090 Ti
- Test video size: 1280x720, 30fps, shot by iPhone 13
- Test video length: 12s
XFeat + mnn
SuperPoint + LightGlue
Efficient LoFTR
XFeat + LighterGlue
Usage:
python video_matching.py --ref=assets/groot/groot.jpg --tgt=assets/groot/groot.mp4 --method=sp+lg --save_path=assets/groot/groot_sp+lg.mp4This project is licensed under the MIT License - see the LICENSE.md file for details.



