It seems to me that the convolutional neural networks here are very similar to the filterbank + histogram + SVD methods that we are currently doing for our Assignment 5. Could a ConvNet be thought of as basically performing some of these heuristic-based algorithms/techniques, but instead of tuning the parameters by hand, we are letting the NN do it for us?
On that same note, are there cases where a set of known filterbanks are combined for use in an NN; for example Gaussian filters or LoG filters or Sobel filters (or other fancy ones) which could be helpful in giving a better response than the filters "trained out" by the NN?
mpotoole
Yes, definitely! Rather than selecting a bunch of filters, extracting visual words from an image, computing a dictionary through kMeans, and classifying an image using NN or kNN, this can all be done with a single network.
In a neural net, you don't typically use a fixed filterbank. The first layer of a CNN actually learns the set of filters used on an image (since the first layer is represented by a convolution between the original image and a bunch of filters). And often, these learnt filters have features that look a lot like those in standard filterbanks.
It seems to me that the convolutional neural networks here are very similar to the filterbank + histogram + SVD methods that we are currently doing for our Assignment 5. Could a ConvNet be thought of as basically performing some of these heuristic-based algorithms/techniques, but instead of tuning the parameters by hand, we are letting the NN do it for us?
On that same note, are there cases where a set of known filterbanks are combined for use in an NN; for example Gaussian filters or LoG filters or Sobel filters (or other fancy ones) which could be helpful in giving a better response than the filters "trained out" by the NN?
Yes, definitely! Rather than selecting a bunch of filters, extracting visual words from an image, computing a dictionary through kMeans, and classifying an image using NN or kNN, this can all be done with a single network.
In a neural net, you don't typically use a fixed filterbank. The first layer of a CNN actually learns the set of filters used on an image (since the first layer is represented by a convolution between the original image and a bunch of filters). And often, these learnt filters have features that look a lot like those in standard filterbanks.