Project 1a:  Image Filtering

In this project, you will practice manipulating images in Matlab. You will get to experiment with image filtering and resampling, and build up some Matlab experience that will help you with later projects. In addition, some of the code you write will be useful for Project 1b, on seam carving.

Project 1b:  Seam carving

In this project, you will be implementing a version of the state of the art Computer Vision algorithm for smart, content aware image resizing, known as Seam Carving. While the full algorithms performs shrinking and enlarging, we will be focusing only on shrinking, i.e., making images smaller. You will work in this project in pairs, building on some of the code you wrote for Project 1a.

Project 2:  Eigenfaces

In this project, you will create a face recognition system. The program reduces each face image to a vector, then uses principal component analysis (PCA) to find the space of faces. This space is spanned by just a few vectors, which means each face can be defined by just a set of coefficients weighting these vectors. Your job will be to write the Matlab functions that perform PCA, projection into face space, determining if a vector represents a face, verifying a user based on a face, finding a face match given a set of user face information, and finding the sizes and positions of faces in an image.

Project 3a:  Feature Detection and Matching

In this assignment, you'll write code to detect discriminating features in an image and find the best matching features in other images.  In the second part of the project, you'll be using the matched features to stitch images together to generate a panorama. The assignment has three main parts: feature detection, descriptor building and matching. 

Project 3b:  Panoramic Mosaic Stitching (due 1:30pm Feb 26 )

In this part of the project, you will use your feature detection and matching code from project 3a to combine a series of photographs into a 360° panorama. Your software will automatically align the photographs (determine their overlap and relative positions) and then blend the resulting photos into a single seamless panorama. You will then be able to view the resulting panorama inside an interactive Web viewer.

Project 4:  Photometric Stereo (due 1:30pm March 12 )

In this project, you will be implementing a Photometric Stereo algorithm. Photometric stereo is a method for reconstruction of the depth map (the surface) and albedo of an object from several photographs of the object in a fixed position but under different lighting conditions. Your job will be to write MATLAB functions that will be able to calibrate the lighting directions, find the best fit normal and albedo at each pixel, and finally find a surface which best matches the solved normals.