VI

vincentqyw/image-matching-webui

Developer tools
1.3์ฒœย stars ํ’ˆ์งˆ 46 ํŠธ๋ Œ๋“œ 46

๐Ÿค— image matching webui

๊ฐœ์š”

Image Matching WebUI Matching Keypoints between two images Image Matching WebUI (IMCUI) efficiently matches image pairs using multiple famous image matching algorithms. The tool features a Graphical User Interface (GUI) designed using gradio. You can effortlessly select two images and a matching algorithm and obtain a precise matching result. : the images source can be either local images or webcam images. https://github.com/Vincentqyw/image-matching-webui/assets/18531182/263534692-c3484d1b-cc00-4fdc-9b31-e5b7af07ecd9 The tool currently supports various popular image matching algorithms, namely: or deploy it locally following the instructions below. Update: now support install from pip, just run: More Docker Compose Commands (click to expand) Deploy to Railway, setting up a Custom Start Command in Deploy section:

README

Image Matching WebUI Matching Keypoints between two images

Description

Image Matching WebUI (IMCUI) efficiently matches image pairs using multiple famous image matching algorithms. The tool features a Graphical User Interface (GUI) designed using gradio. You can effortlessly select two images and a matching algorithm and obtain a precise matching result. Note: the images source can be either local images or webcam images.

Try it on

Here is a demo of the tool:

https://github.com/Vincentqyw/image-matching-webui/assets/18531182/263534692-c3484d1b-cc00-4fdc-9b31-e5b7af07ecd9

The tool currently supports various popular image matching algorithms, namely:

Algorithm Supported Conference/Journal Year GitHub Link
LoMa โœ… ECCV 2026 Link
RaCo โœ… 3DV 2026 Link
RIPE โœ… ICCV 2025 Link
RDD โœ… CVPR 2025 Link
LiftFeat โœ… ICRA 2025 Link
DaD โœ… ARXIV 2025 Link
MINIMA โœ… ARXIV 2024 Link
XoFTR โœ… CVPR 2024 Link
EfficientLoFTR โœ… CVPR 2024 Link
MASt3R โœ… CVPR 2024 Link
DUSt3R โœ… CVPR 2024 Link
OmniGlue โœ… CVPR 2024 Link
XFeat โœ… CVPR 2024 Link
RoMa โœ… CVPR 2024 Link
DeDoDe โœ… 3DV 2024 Link
Mickey โŒ CVPR 2024 Link
GIM โœ… ICLR 2024 Link
ALIKED โœ… ICCV 2023 Link
LightGlue โœ… ICCV 2023 Link
DarkFeat โœ… AAAI 2023 Link
SFD2 โœ… CVPR 2023 Link
SphereGlue โœ… CVPRW 2023 Link
IMP โœ… CVPR 2023 Link
ASTR โŒ CVPR 2023 Link
SEM โŒ CVPR 2023 Link
DeepLSD โŒ CVPR 2023 Link
GlueStick โœ… ICCV 2023 Link
ConvMatch โŒ AAAI 2023 Link
LoFTR โœ… CVPR 2021 Link
SOLD2 โœ… CVPR 2021 Link
LineTR โŒ RA-L 2021 Link
DKM โœ… CVPR 2023 Link
NCMNet โŒ CVPR 2023 Link
TopicFM โœ… AAAI 2023 Link
AspanFormer โœ… ECCV 2022 Link
LANet โœ… ACCV 2022 Link
LISRD โœ… ECCV 2022 Link
REKD โŒ CVPR 2022 Link
CoTR โœ… ICCV 2021 Link
ALIKE โœ… TMM 2022 Link
RoRD โœ… IROS 2021 Link
SGMNet โœ… ICCV 2021 Link
SuperPoint โœ… CVPRW 2018 Link
SuperGlue โœ… CVPR 2020 Link
D2Net โœ… CVPR 2019 Link
R2D2 โœ… NeurIPS 2019 Link
DISK โœ… NeurIPS 2020 Link
Key.Net โŒ ICCV 2019 Link
OANet โŒ ICCV 2019 Link
SOSNet โœ… CVPR 2019 Link
HardNet โœ… NeurIPS 2017 Link
SIFT โœ… IJCV 2004 Link

How to use

HuggingFace / Lightning AI

Just try it on

or deploy it locally following the instructions below.

Requirements

Install from pip [NEW]

Update: now support install from pip, just run:

pip install imcui

Install from source

git clone --recursive https://github.com/Vincentqyw/image-matching-webui.git
cd image-matching-webui
conda env create -f environment.yaml
conda activate imcui
pip install -e .

or using docker:

docker pull vincentqin/image-matching-webui:latest

# Start the WebUI service
docker-compose up webui

# Or run in the background
docker-compose up -d webui

Deploy to Railway

Deploy to Railway, setting up a Custom Start Command in Deploy section:

python -m imcui.api.server

Run demo

# Using the package CLI (recommended)
imcui

# Or using the direct script
python app.py

then open http://localhost:7860 in your browser.

Command Line Interface

The imcui package provides a powerful command-line interface with various options:

Basic Usage

Command Line Options

Add your own feature / matcher

I provide an example to add local feature in imcui/hloc/extractors/example.py. Then add feature settings in confs in file imcui/hloc/extract_features.py. Last step is adding some settings to matcher_zoo in your configuration file.

For a detailed step-by-step guide, see CLAUDE.md and the integrate-matcher skill at .claude/skills/integrate-matcher/SKILL.md.

Configuration file locations (in priority order):

  1. Custom config file specified with --config parameter
  2. config.yaml in current directory
  3. config/config.yaml in current directory
  4. Package default config (imcui/config/app.yaml)

Upload models

IMCUI hosts all models on Huggingface. You can upload your model to Huggingface and add it to the Realcat/imcui_checkpoints repository.

Contributions welcome!

External contributions are very much welcome. Please follow the PEP8 style guidelines using a linter like flake8. This is a non-exhaustive list of features that might be valuable additions:

  • [x] support pip install command
  • [x] add CPU CI
  • [x] add webcam support
  • [x] add line feature matching algorithms
  • [x] example to add a new feature extractor / matcher
  • [x] ransac to filter outliers
  • [ ] add rotation images options before matching
  • [ ] support export matches to colmap (#issue 6)
  • [x] add config file to set default parameters
  • [x] dynamically load models and reduce GPU overload

Adding local features / matchers as submodules is very easy. For example, to add the GlueStick:

git submodule add https://github.com/cvg/GlueStick.git imcui/third_party/GlueStick

If remote submodule repositories are updated, donโ€™t forget to pull submodules with:

git submodule update --init --recursive  # init and download
git submodule update --remote  # update

If you only want to update one submodule, use git submodule update --remote imcui/third_party/GlueStick.

To remove a submodule, follow these steps:

To format code before committing, run:

pre-commit run -a  # Auto-checks and fixes

Contributors

Resources

Acknowledgement

This code is built based on Hierarchical-Localization. We express our gratitude to the authors for their valuable source code.

View this README on GitHub

์ถ”์ฒœ ๋„๊ตฌ

๋‹ค๋ฅธ ํ‚ค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ํ•„ํ„ฐ๋ฅผ ์ œ๊ฑฐํ•ด ๋ณด์„ธ์š”.

์„ค์น˜

npx skillfish add vincentqyw/image-matching-webui