Awesome
RF-Net: An End-to-End Image Matching Network based on Receptive Field
This repository is a Pytorch implementation for
Xuelun Shen, Cheng Wang, Xin Li, Zenglei Yu, Jonathan Li, Chenglu Wen, Ming Cheng, Zijian He. "RF-Net: An End-to-End Image Matching Network based on Receptive Field." In the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019, pp. 8132-8140.
If you use this code in your research, please cite the paper.
Environment
This code is based on Python (3.6.2)
and Pytorch (py36_cuda9.2.148_cudnn7.1.4_1)
, and tested on Ubuntu 16.04
with GeForce RTX 2080 Ti
.
Necessary packages are listed in requirements.txt
, and please install it by
pip install -r requirements.txt
Usage
Get the data
Download datasets from this link and unzip it, then you will get a data
folder.
Get pretrained model
Download pretrained model from this link and unzip it, then you will get a runs
folder.
Prepare directory structure
Put the data
and runs
folders to the same directory same as rfnet
folder.
The directory structure should be like this:
project
│
└───rfnet
│ │ config.py
│ │ hpatch_dataset.py
│ │ ms.py
│ │ ...
│ │
│ └───model
│ │ │ rf_des.py
│ │ │ rf_det_module.py
│ │ │ rf_det_so.py
│ │ │ ...
│ │ │
│ └───utils
│ │ common_utils.py
│ │ eval_utils.py
│ │ hpatch_to_csv.py
│ │ ...
│
└───data
| │
| └───hpatch_v_sequence
| │
| └───hpatch_i_sequence
| │
| └───EFDataset
|
└───runs
Training
# the number 0 means the first GPU on your machine.
sh train.sh 0
Evaluation
# the number 0 means the first GPU on your machine.
# parameter 'root' represents the path to your runs folder
# parameter 'date' represents the date when you saved your model
# parameter 'model' represents the model name
sh ms.sh 0 $root $date $model
# if you try to run the pretrained model
# the command should be like:
sh ms.sh 0 /home/sxl/DL/runs 10_24_09_25 e121_NN_0.480_NNT_0.655_NNDR_0.813_MeanMS_0.649.pth.tar
Acknowledgement
We would like to thank
EF dataset [1]
HPatches dataset [2]
for providing the image data.
[1] Zitnick, C.L., & Ramnath, K. (2011). Edge foci interest points. 2011 International Conference on Computer Vision (ICCV), 359-366.
[2] Balntas, V., Lenc, K., Vedaldi, A., & Mikolajczyk, K. (2017). HPatches: A Benchmark and Evaluation of Handcrafted and Learned Local Descriptors. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 3852-3861.