GithubHelp home page GithubHelp logo

datnt88 / deep-goggle Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aravindhm/deep-goggle

0.0 2.0 0.0 184 KB

Source code for "Understanding Deep Image Representations by Inverting Them", CVPR 2015

License: BSD 2-Clause "Simplified" License

MATLAB 99.74% M 0.26%

deep-goggle's Introduction

Directory Structure

.
+-- core
|   +-- invert_nn.m - The core optimization lies here
+-- helpers - Several auxilary 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 http://www.robots.ox.ac.uk/~aravindh/networks.html
+-- 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

For any of the cases below you need to run the following in matlab

cd experiments;
experiment_setup;

I) Experiment for a single reconstruction across all layers of

experiment_cnn;

See the results in data/results/ #TODO - List of the files relevant here TODO - Add experiment_xxx files here as and when they are documented.

Setting up and running your own networks

  1. Create a network (net) that is compatible with matconvnet vl_simplenn function.
  2. Run dg_setup.m in matlab
  3. Run the network forward to generate a target reference representation y0
  4. Call res = invert_nn(net, y0, [options]);
  5. res.output{end} is the required reconstruction.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.