Here are some of the projects that I have worked on as a Graduate Student. Some of them are from classes, others are specific to my research. Most all of the source is C++.

Research

Alternative Surface Description for Optical Systems

(In Preparation for Optics Express)

Learning Geometry-Free Face Re-lighting

(Submitted to PACV 2007)

In this paper we describe a method for learning the illumination model for a class of images. Once the model is learnt it is then used to render new images of the same class under the new illumination. Results are shown for both synthetic and real images. The key contribution of this work is that images of known objects can be re-illuminated using small patches of image data and relatively simple kernel regression models. Additionally, our approach does not require any knowledge of the geometry of the class of objects under consideration making it relatively straightforward to implement.

Selected Coursework

+ Visual context for place recognition

The problem of place or location recognition is a problem that is difficult and largely unsolved. It is also fundamental to the way in which we interpret our world and therefore we would like any machine learning system to be able to do the same. We propose to implement a system that will learn the underlying features of a location and use these features to identify these locations when they are encountered again. [Proposal] [Final Report] [Source Code]

+ Single View Metrology

This is an implementation of the Single View Metrology method described in Criminisi, et al . Single View Metrology is a process by which the three dimensional geometry of a scene can be recovered from a single image. This geometry is generated from accurate height and length measurements of objects in the image that have been transformed via a perspective transformation. [Final Report] [Source Code]

+ Scale Invariant Feature Transform (SIFT)

This is an C++ implementation of the Scale Invariant Feature Transform (SIFT) described in Lowe. [Final Report] [Source Code]

+ Object tracking using SIFT

This program does object tracking using SIFT. [Final Report] [Source Code]

+ Geodesic active regions and level set methods for supervised texture segmentation

Image segmentation using level sets. [Final Report] [Source Code]

+ Background Subtraction

This is Background Subtraction using a single Gaussian model for each pixel. [Final Report] [Source Code]

+ Medial Axis Transform

This is a implementation of the Medial Axis Transform. [Final Report] [Source Code]

+ Affine and Metric Rectification

This program performs Affine and Metric Rectification of planar images. [Final Report] [Source Code]

+ Fisher Linear Discriminant & Bayes Classifier

This project looked at statistical pattern recognition using 1 dimensional random vectors and was broken in to two “Task” sections. Task 1 looked at the response of the Bayes Classifier for univariate and multi-variate cases. Task 2 dealt with the response of the Fisher Linear Discriminant for both the two and three category cases. [Final Report] [Source Code]

+ NeuroEvolution of Augmenting Topologies (NEAT)

This is an implementation of NEAT by Dr. Kenneth Stanley applied to audio signal processing. This project was a collaboration with Wade Spires

The automatic generation of dynamic or complex audio signals has a wide range of applications, from sound effects design to virtual instrument implementation. Techniques for the creation of content in these domains typically involve searching though large input spaces in order to find combinations that produce interesting results. These input spaces can be viewed as all the possible input signals, filter types, filter settings, etc., that might be used in order to generate a new signal. Our goal is to automate this search process. We present an audio generation system that combines simple FM Synthesis with a complexifiying neural network based on the NEAT system.[Final Report] [Source Code]

+ Hierarchical Model-Based Motion Estimation

This is an implementation of the optical flow model presented in Anandan et al. [Final Report] [Source Code]

+ Canny Edge Detection

The Canny algorithm is a four stage process for detecting edges in images. Edges are locations in an image where there is a large change of intensity from pixel to pixel.[Final Report] [Source Code]

+ Histogram Based Image Segmentation

[Final Report] [Source Code]

Recent Updates

[08/20/2007] Still working on Optics Express Paper

[07/30/2007] Submitted Face relighting Paper to PACV2007 conference