COS 429 - Computer Vision

Fall 2017

Course home Outline and Lecture Notes Assignments Featured Projects


Assignment 4: Deep Learning

Due Sunday, Dec. 18


Part III. Learning MatConvNet

There are several open-source Convolution Neural Network packages available, including TensorFlow, Torch, Caffe, Theano, and MatConvNet. It is possible to define and train all the network architectures we looked at in class using most of these packages, though for large networks & data sets, an NVIDIA GPU (with CUDA) is a must. For this assignment we will be training only smaller networks, where the CPU-only implementation should be sufficient. Here we will use MatConvNet from Oxford, because it is the most powerful package written in Matlab. If you have not successfully installed MatConvNet yet, please see assignment 0, part 2.

For this part of the assignment, follow the tutorial for MatConvNet available from: http://www.robots.ox.ac.uk/~vgg/practicals/cnn/index.html . Feel free to skip section 4.7; it requires an NVIDIA GPU and the CUDA development libraries.

Please complete and submit short answers for all of the questions labeled as "Question:".

If you do not have access to the image processing toolbox, you can define these replacement functions (by putting each into a .m file):

function x = im2single(x)
  x = single(x)/255;
end

function m = strel(shape, r, varargin)
  assert(isequal(shape,'disk'));
  [X,Y] = meshgrid(-r:r, -r:r);
  m = (X.^2+Y.^2)<=r^2;
end

function d_im=imdilate(im, mask)
  d_im=conv2(double(im), double(mask), 'same')>0;
end
What to turn in:






Last update 20-Nov-2017 22:59:29