You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
.
+-- core
| +-- invert_nn.m - The core optimization lies here
+-- helpers - Several auxiliary functions that may be useful in general
+-- experiments - All the code to replicate our experiments
| +-- networks
| | +-- hog_net.m - The hog and hogb networks are created using this
| | +-- dsift_net.m - The dense sift neural network is here
| | +-- Other networks used in our experiments can be downloaded from https://www.robots.ox.ac.uk/~aravindh/networks.html
| +-- data
| | +-- hog/img.png - Image used for HOG and DSIFT qualitative results
| | +-- stock/ - Contains some more figures for reproducing qualitative results.
+-- ihog - either copy or soft link ihog from Vondrick et. al. This is required to run our experiments with hoggle.
+-- matconvnet - either copy or soft link matconvnet code here. If this is not here, then the setup function will not work.
+-- vlfeat - again either copy or soft copy. If this is not here, then the setup function will not work.
Experiments from the paper
To run the experiments used for our publication and replicate their results please follow the instructions below
Get the images
Download/soft link the imagenet validation images into experiments/data/imagenet12-val
Download/soft link the stock abstrack images into experiments/data/stock
Compile ihog, vlfeat and matconvnet as per the instructions given at their respective webpages.
It will generate mean and std of the normalized reconstruction error across 100 images.
For this it will compute pre-images for 100 images and this will take a very long time.
Setting up and running your own networks
Create a network (net) that is compatible with matconvnet vl_simplenn function.
Run dg_setup.m in matlab
Run the network forward to generate a target reference representation y0
Call res = invert_nn(net, y0, [options]);
res.output{end} is the required reconstruction.
About
Source code for "Understanding Deep Image Representations by Inverting Them", CVPR 2015