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]
- 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
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}
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'
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}
}