Convolutional Hough Matching Networks
This is the implementation of the paper "Convolutional Hough Matching Network" by J. Min and M. Cho. Implemented on Python 3.7 and PyTorch 1.3.1.
For more information, check out project [website] and the paper on [arXiv]
Overall architecture:
Requirements
- Python 3.7
- PyTorch 1.3.1
- cuda 10.1
- pandas
- requests
Conda environment settings:
conda create -n chm python=3.7
conda activate chm
conda install pytorch=1.3.1 torchvision cudatoolkit=10.1 -c pytorch
conda install -c anaconda requests
conda install -c conda-forge tensorflow
pip install tensorboardX
conda install -c anaconda pandas
Training
The code provides three types of CHM kernel: position-sensitive isotropic (psi), isotropic (iso), vanilla Nd (full).
python train.py --ktype {psi, iso, full}
--benchmark {spair, pfpascal}
Testing
Trained models are available on [Google drive].
python test.py --ktype {psi, iso, full}
--benchmark {spair, pfpascal, pfwillow}
--load 'path_to_trained_model'
For example, to reproduce our results in Table 1, refer following scripts.
python test.py --ktype psi --benchmark spair --load 'path_to_trained_model/spr_psi.pt'
python test.py --ktype psi --benchmark spair --load 'path_to_trained_model/pas_psi.pt'
python test.py --ktype psi --benchmark pfpascal --load 'path_to_trained_model/pas_psi.pt'
python test.py --ktype psi --benchmark pfwillow --load 'path_to_trained_model/pas_psi.pt'
BibTeX
If you use this code for your research, please consider citing:
@InProceedings{min2021chm,
author = {Min, Juhong and Cho, Minsu},
title = {Convolutional Hough Matching Networks},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2021},
pages = {2940-2950}
}