Code for "Salient Deconvolutional Networks, Aravindh Mahendran, Andrea Vedaldi, ECCV 2016"

Overview

deconvnet_analysis

Code for "Salient Deconvolutional Networks, Aravindh Mahendran, Andrea Vedaldi, ECCV 2016"

Parts of this code

  1. Generate figures in the paper
  2. Segmentation code for table 1 and .mat files required to generate figure 8.
  3. Supplementary material figures.

Parts 1 and 2 are complete and documented. Part 3 is mainly an extension of part 1 with more images

How to run this code

Follow these steps. ROOT refers to the main directory containing the file generate_all_figures.m

  1. Copy and install matconvnet into ROOT/matconvnet . Delete ROOT/matconvnet/matlab/simplenn/vl_simplenn.m
  2. Copy vlfeat into ROOT/vlfeat
  3. Download the alexnet model - imagenet-caffe-alex from http://www.vlfeat.org/matconvnet/pretrained/ into ROOT/models
  4. Similarly download the vgg-verydeep-16 model - imagenet-vgg-verydeep-16 into ROOT/models
  5. Download the imagenet validation dataset into ROOT/imagenet12-val .
  6. Download and install gsc-1.2 from https://www.robots.ox.ac.uk/~vgg/software/iseg/ into ROOT/saliency/gsc
  7. Download gtsegs_ijcv.mat from http://groups.inf.ed.ac.uk/calvin/proj-imagenet/data/ into saliency/data/ferrari
  8. Start matlab and change directory to ROOT/saliency. Run exp_seg_unpack() - this will unpack gtsegs_ijcv.mat and compute the imdb.mat for the Ferrari dataset [4].
  9. Explore ROOT/saliency/run_2.m to run different segmentation experiments to get numbers in Table 1 of the paper.
  10. Explore and run ROOT/generate_all_figures.m to get figures from the paper. They will be saved into the ROOT/genfigs folder.

Note that step 9 assumes all the experiments for segmentation in ROOT/saliency/run_2.m were run. This assumption applies only when generating figure 8. You can also uncomment segmentation_qualitative_results_figure to skip it.

Research code

If anything doesn't work then please post the issue and I'll try to fix it. This is research code and comes with no WARRANTY or GUARANTY of any sort.

References

  1. Guillaumin, M., Küttel, D., Ferrari, V.: Imagenet auto-annotation with segmentation propagation. In: IJCV (2014)
  2. Noh, H., Hong, S., Han, B.: Learning deconvolution network for semantic segmentation. In: Proc. ICCV (2015)
  3. Simonyan, K., Vedaldi, A., Zisserman, A.: Deep inside convolutional networks: Visualising image classification models and saliency maps. In: ICLR (2014)
  4. Springenberg, J.T., Dosovitskiy, A., Brox, T., Riedmiller, M.: Striving for simplicity: The all convolutional net. In: ICLR Workshop (2015)
  5. Zeiler, M.D., Fergus, R.: Visualizing and understanding convolutional networks. In: Proc. ECCV (2014)
  6. V. Gulshan, C. Rother, A. Criminisi, A. Blake and A. Zisserman.: Geodesic star convexity for interactive image segmentation. In: Proc. CVPR (2010)
Owner
Aravindh Mahendran
Aravindh Mahendran
PipeCat - A command line Youtube music player written in python.

A command line Youtube music player written in python. It's an app written for Linux. It also supports offline playlists that are stored in a

34 Nov 27, 2022
🎄 Advent of Code command-line tool.

🎄 advent-cli advent-cli is a command-line tool for interacting with Advent of Code, specifically geared toward writing solutions in Python. It can be

Christian Ferguson 6 Dec 01, 2022
CLI tool to develop StarkNet projects written in Cairo

⛵ Nile Navigate your StarkNet projects written in Cairo. Installation pip install cairo-nile Usage Install Cairo Use nile to install a given version o

Martín Triay 305 Dec 30, 2022
Wordle breaker: A CLI tool to help you solve Wordle

Wordle Breaker A CLI tool to help you solve Wordle I decided to code a solution

Alex 4 Apr 27, 2022
TUIFIManager - A cross-platform terminal-based file manager

TUIFI Manager A cross-platform terminal-based file manager (and component), mean

142 Dec 26, 2022
👻 Ghoul is an easy to use information service, allowing you to get/add information on someone or something directly from your terminal.

👻 Ghoul is an easy to use information service, allowing you to get/add information on someone or something directly from your terminal. It c

Billy 11 Nov 10, 2021
A VIM-inspired filemanager for the console

ranger 1.9.3 ranger is a console file manager with VI key bindings. It provides a minimalistic and nice curses interface with a view on the directory

12.6k Dec 30, 2022
Generate your name in Ascii modular type art through the terminal

ASCII Name Generator Designed and developed by Eduardo Aire The ASCII Art Name Generator is a simple program that helps you to have a practical Shell/

Eduardo Aire 1 Nov 17, 2021
Official AIdea command line tool

AIdea CLI Official AIdea command line tool for https://aidea-web.tw. Installation Make sure you have installed both Python 3 and pip package manager.

AIdea 5 Dec 15, 2021
Themes for the kitty terminal emulator

Themes for the kitty terminal This is a collection of themes for the kitty terminal emulator. The themes were initially imported from dexpota/kitty-th

Kovid Goyal 190 Jan 05, 2023
電通大のCLIツールです

uecli 電通大のCLIツールです。コマンドラインからシラバス検索、成績参照、図書館の貸出リストなどを見ることができます インストール pip install uecli 使い方 シラバスを検索 uecli syllabus search -s 'コンピュータサイエンス' シラバスを取得し、Mar

UEC World Dominators 2 Oct 31, 2021
Salesforce object access auditor

Salesforce object access auditor Released as open source by NCC Group Plc - https://www.nccgroup.com/ Developed by Jerome Smith @exploresecurity (with

NCC Group Plc 90 Sep 19, 2022
Simple subcommand CLIs with argparse

multicommand Simple subcommand CLIs with argparse. multicommand uses only the standard library and is ~150 lines of code (modulo comments and whitespa

Andrew Ross 10 Aug 01, 2022
Access hacksec.in from your command-line

Access hacksec.in from your command-line

hacksec.in 3 Oct 26, 2022
jrnl is a simple journal application for the command line.

jrnl To get help, submit an issue on Github. jrnl is a simple journal application for the command line. You can use it to easily create, search, and v

jrnl 5.7k Dec 31, 2022
Fast as FUCK nvim completion. SQLite, concurrent scheduler, hundreds of hours of optimization.

Fast as FUCK nvim completion. SQLite, concurrent scheduler, hundreds of hours of optimization.

i love my dog 2.8k Jan 05, 2023
Notion-cli-list-manager - A simple command-line tool for managing Notion databases

A simple command-line tool for managing Notion List databases. ✨

Giacomo Salici 75 Dec 04, 2022
Terminal epub reader with inline images

nuber Inspired by epy, nuber is an Epub terminal reader with inline images written with Rust and Python using Überzug. Features Display images in term

Moshe Sherman 73 Oct 12, 2022
Package installer for python

This is a package that adds a JSON file to your project that records all of the packages used in it and allows people to install it with a single command.

Anmol Malik 1 May 23, 2022
A terminal application for managing images and artifacts in Azure Container Registry.

acr-browser acr-browser is a terminal-based user interface for managing container images and artifacts in Azure Container Registry. 🚀 This project ow

Sam Dobson 5 Jul 30, 2022