• Stars
    star
    203
  • Rank 192,890 (Top 4 %)
  • Language
    Jupyter Notebook
  • License
    Other
  • Created about 6 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A PyTorch implementation of "DGC-Net: Dense Geometric Correspondence Network"

DGC-Net: Dense Geometric Correspondence Network

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.

License

Shield: CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License, available only for non-commercial use.

CC BY-NC-SA 4.0

Installation

  • 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

Getting started

  • eval.py demonstrates the results on the HPatches dataset To be able to run eval.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:

    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

How to cite

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)}
}

More Repositories

1

ADVIO

An Authentic Dataset for Visual-Inertial Odometry
Python
239
star
2

relativeCameraPose

Relative Camera Pose Estimation Using Convolutional Neural Networks
Lua
71
star
3

hscnet

Hierarchical Scene Coordinate Classification and Regression for Visual Localization
Python
71
star
4

deep-speed-constrained-ins

Codes for Deep Learning Based Speed Estimation for Constraining Strapdown Inertial Navigation on Smartphones
Python
54
star
5

camera-relocalisation

Implementation of "Camera Relocalization by Computing Pairwise Relative Poses Using Convolutional Neural Network" by Z.Laskar et al.
Lua
42
star
6

camera-gyro-calibration

Robust Gyroscope-Aided Camera Self-Calibration (codes)
MATLAB
39
star
7

realant-rl

Reinforcement learning with RealAnt: an open-source low-cost quadruped
Python
29
star
8

CL_HSCNet

[ICCV 2021] Continual Learning for Image-Based Camera Localization.
Python
22
star
9

RelPoseNet

A PyTorch implementation of "Camera Relocalization by Computing Pairwise Relative Poses Using Convolutional Neural Network" by Z.Laskar et al.
Python
20
star
10

DGC-GNN-release

Python
18
star
11

Object-Retrieval

Particular object retrieval using CNN
Python
17
star
12

MaskMVS

Unstructured multi-view depth estimation using mask-based multiplane representation
Jupyter Notebook
14
star
13

dgc-net-site

Project page: DGC-Net: Dense geometric correspondence network
HTML
11
star
14

surface-curvature-estimator

Python
11
star
15

warped-skipconnection-nvs

Code for paper Novel View Synthesis via Depth-guided Skip Connections
Python
10
star
16

TangoIndoorMapApp

iOS indoor map app for Aalto University
Swift
10
star
17

CV_course_py

CS-E4850 Computer Vision Course - Python assignments
Jupyter Notebook
9
star
18

CV-course-py-2020

CS-E4850 Computer Vision Course 2020 - Python assignments
8
star
19

CV-course-py

8
star
20

CV_course_py_2019

CS-E4850 Computer Vision Course 2019 - Python assignments
6
star
21

balanced-pioneer

Towards Photographic Image Manipulation with Balanced Growing of Generative Autoencoders
Jupyter Notebook
5
star
22

realsense-capture

Program to capture output from Intel RealSense devices
C++
4
star
23

donkeycar-dreamer

Python
2
star
24

CV_course_py_2019_notebooks

Notebooks for CS-E4850 Computer Vision Course 2019 - Python assignments
Jupyter Notebook
2
star
25

tagbench

Measure small-scale visual accuracy of VIO-estimated poses
C++
2
star
26

mika

Software for an autonomous RC car.
Python
2
star
27

movement-induced-prior

Python
1
star
28

jsonl-recorder

A simple C++ JSONL logger for sensor data
C++
1
star
29

vio-gnss-dataset

Benchmarking Dataset for Sensor Fusion of Visual Inertial Odometry and GNSS Positioning
1
star
30

PIVO

Project page: Probabilistic inertial-visual odometry for occlusion-robust navigation
SCSS
1
star
31

CV-course-py-data

1
star
32

vio-gnss-recorder

Automatisation of SpectacularAI's GNSS + VIO demo (https://github.com/SpectacularAI/docs/blob/main/pdf/GNSS-VIO_OAK-D_Python.pdf)
Python
1
star