This is a PyTorch implementation of our work "DGC-Net: Dense Geometric Correspondence Network"
TL;DR A CNN-based approach to obtain dense pixel correspondences between two views.
- create and activate conda environment with Python 3.x
conda create -n my_fancy_env python=3.7
source activate my_fancy_env
- install Pytorch v1.0.0 and torchvision library
pip install torch torchvision
- install all dependencies by running the following command:
pip install -r requirements.txt
-
eval.py
demonstrates the results on the HPatches dataset To be able to runeval.py
script:- Download an archive with pre-trained models click and extract it to the project folder
- Download HPatches dataset (Full image sequences). The dataset is available here at the end of the page
- Run the following command:
python eval.py --image-data-path /path/to/hpatches-geometry
-
train.py
is a script to train DGC-Net/DGCM-Net model from scratch. To run this script, please follow the next procedure:- Download the TokyoTimeMachine dataset
- Run the command:
python train.py --image-data-path /path/to/TokyoTimeMachine
Performance on HPatches dataset
Method / HPatches ID | Viewpoint 1 | Viewpoint 2 | Viewpoint 3 | Viewpoint 4 | Viewpoint 5 |
---|---|---|---|---|---|
PWC-Net | 4.43 | 11.44 | 15.47 | 20.17 | 28.30 |
GM best model | 9.59 | 18.55 | 21.15 | 27.83 | 35.19 |
DGC-Net (paper) | 1.55 | 5.53 | 8.98 | 11.66 | 16.70 |
DGCM-Net (paper) | 2.97 | 6.85 | 9.95 | 12.87 | 19.13 |
DGC-Net (repo) | 1.74 | 5.88 | 9.07 | 12.14 | 16.50 |
DGCM-Net (repo) | 2.33 | 5.62 | 9.55 | 11.59 | 16.48 |
Note: There is a difference in numbers presented in the original paper and obtained by the models of this repo. It might be related to the fact that both models (DGC-Net and DGCM-Net) have been trained using Pytorch v0.3
.
More qualitative results are presented on the project page
If you use this software in your own research, please cite our publication:
@inproceedings{Melekhov+Tiulpin+Sattler+Pollefeys+Rahtu+Kannala:2018,
title = {{DGC-Net}: Dense geometric correspondence network},
author = {Melekhov, Iaroslav and Tiulpin, Aleksei and
Sattler, Torsten, and
Pollefeys, Marc and
Rahtu, Esa and Kannala, Juho},
year = {2019},
booktitle = {Proceedings of the IEEE Winter Conference on
Applications of Computer Vision (WACV)}
}