This is a caffe implementation to visualize the learnt model.
Part of a class project at Georgia Tech
Problem Statement Pdf
Simonyan, K., Vedaldi, A., Zisserman, A.: Deep inside convolutional networks: Visualising image classification models and saliency maps Pdf
###Results:
Class Model visualization of Cat
In this exercise, we will use the method suggested in the “Deep inside convolutional
networks: Visualising image classification models and saliency maps” to visualize the class
model learnt by a convolutional network. We will use caffe for this exercise and visualize
the class model learnt by the “bvlc_reference_caffenet.caffemodel”.
Another aspect pointed out by the paper is that, the unnormalized Image score needs to be maximized instead of the
probability. For this reason, we will be drop the final softmax layer(as the output here is
the probability) and maximize the score at the inner product layer “fc8”.
Class Saliency extraction
The core idea behind this approach is to use the gradients at the image
layer for a given image and class, to find the pixels which need to be changed the least
i.e, the pixels for which the gradients have the smallest values. Also since our image is
a 3 channel image, for each pixel, there will three different gradients. The maximum of
these three will be considered the class saliency extraction.
Understanding backpropagation Here we simply visuzlize the gradients at different layers
- Install Caffe-rc2 tag
- Copy the deploy_fc8.prototxt file to /models/bvlc_reference_caffenet/
- Copy all the py files to /examples/
- the just run
python visualize.py