Skip to content

chicleee/EDM

Repository files navigation

EDM: Efficient Deep Feature Matching

arXiv Open In Colab Open in Spaces

edm_video_demo.mp4

Installation

conda env create -f environment.yaml
conda activate edm
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia -y
pip install -r requirements.txt 

We provide our pretrained model and a fixed onnx model in google drive and Baidu Netdisk. Please place ckpt in folder weights/ and onnx model in folder deploy/.

Demo

See demo_single_pair.ipynb

Deployment

See subdirectory deploy

ONNX Model

Exporting onnx model first:

cd deploy
pip install -r requirements_deploy.txt 
python export_onnx.py

Run demo on ONNX Runtime using TensorRT backend:

python run_onnx.py

C++ Inference demo

Refer to edm_onnx_cpp

Testing

Setup the testing subsets of ScanNet and MegaDepth first.

The test and training can be downloaded by download link provided by LoFTR.

Create symlinks from the previously downloaded datasets to data/{{dataset}}/test.

# set up symlinks
ln -s /path/to/scannet-1500-testset/* data/scannet/test
ln -s /path/to/megadepth-1500-testset/* data/megadepth/test

MegaDepth dataset

bash scripts/reproduce_test/outdoor.sh

ScanNet dataset

bash scripts/reproduce_test/indoor.sh

Training

Prepare training data according to the settings of LoFTR.

bash scripts/reproduce_train/outdoor.sh

Acknowledgement

Part of the code is based on EfficientLoFTR and RLE. We thank the authors for their useful source code.

Citation

If you find this project useful, please cite:

@article{li2025edm,
  title={EDM: Efficient Deep Feature Matching},
  author={Li, Xi and Rao, Tong and Pan, Cihui},
  journal={arXiv preprint arXiv:2503.05122},
  year={2025}
}

About

[ICCV 2025 Highlight] EDM: Efficient Deep Feature Matching

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published