Skip to content
A Lasagne and Theano implementation of the paper "Convolutional neural network architecture for geometric matching" by Ignacio Rocco, Relja Arandjelović, and Josef Sivic
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images
weights Add gitignore to create weights directory. May 10, 2017
.gitignore
LICENSE
README.markdown
theano_funcs.py
train_geometric_matching.py
utils.py Removed unnecessary imwrite. May 10, 2017
vgg16.py
warp_images.py

README.markdown

A Lasagne and Theano implementation of the paper Convolutional neural network architecture for geometric matching by Ignacio Rocco, Relja Arandjelović, and Josef Sivic.

Download the Pascal VOC dataset.

(Optional) Download the Proposal Flow dataset.

Download the pre-trained weights for VGG16.

(Optional) Download the learned weights if you don't want to train your own model from scratch (NOTE: These weights won't reproduce the figures from the paper, because I haven't implemented the thin-plate-spline transform yet).

Get the code necessary for generating random transformation matrices from this repo.

This is a work-in-progress. Pull requests are welcome. Contact me if you run into issues using the code.

The thin-plate-spline has not yet been implemented. The model has not been trained properly yet, either. The images below were taken from the validation set after training for 300 epochs (about 17 hours on a TITAN X). The image on the left is the center crop, the image in the middle is the result of applying the ground-truth transformation to the center crop, and the image on the right is the result of applying the predicted transformation to the warped image (in other words, the pose of the rightmost image should resemble that of the leftmost image).

Similarly, the images below are from the Proposal Flow dataset:

You can’t perform that action at this time.