Site Network: Personal | Taubin Group LEMS | Brown

Coursework and Tutorials

As a graduate student at Brown I have had the opportunity to take classes spanning EE, CS, and Applied Math. In this section of the website, I will provide links to homework solutions which I have extended into general tutorials. In addition, I will provide links to the source code for small projects (e.g., a Matlab-based decibel meter).


Computer Vision and Graphics

Augmented Video

This presentation summarizes a system for inserting virtual objects into uncalibrated video sequences. The position and pose of the camera, relative to a set of landmarks, is estimated automatically for each frame in the sequence.

 

Downloads: presentation, video1, video2, video3, video4


Exemplar-based Image Inpainting

This project involved removing large objects from images. From a user-specified mask, small patches were duplicated until all remaining gaps were filled. For more information, see Exemplar-based Image Inpainting by Criminisi et al.

 

Downloads: final presentation, source code, video1, video2


Texture Synthesis using Image Quilting

These presentations summarize my implementation of Efros and Freeman's Image Quilting algorithm – a simple, yet effective, patch-based texture synthesis procedure. My source code is also available on Matlab Central.

 

Downloads: final presentation, project proposal, source code


Bilateral Filtering and Image Abstraction

Bilateral filtering was proposed by Tomasi and Manduchi in 1998 as a non-iterative method for edge-preserving smoothing. My implementation also includes bilateral image abstraction using the method outlined by Winnemöller et al.

 

Downloads: source, album, video1, video2, video3, video4



Computational Photography and 3D Reconstruction

Build Your Own 3D Scanner

Gabriel Taubin and I co-presented an introductory course on 3D scanning at SIGGRAPH 2009. The complete course notes, lecture slides, demonstration videos, and source code are available on the course website.

 

Downloads: course website, lecture notes, source code


Structured Light for 3D Scanning

I recently implemented a conventional structured light 3D reconstruction system using commericial DLP projectors and digital cameras. Key contributions include a complete Matlab toolbox for projector-camera calibration.

 

Downloads: assignment and results, presentation (pdf, ppt)


3D Photography using Planar Shadows

As head TA for CS 220, I created an assignment in which the students implemented Bouguet's desktop 3D scanner using only a webcam, a halogen lamp, and a stick. Send an email if you'd like a copy of my Matlab implementation.

 

Downloads: assignment and results, webpage, support code

 

Computer Science

Machine Learning

This section contains my collected solutions for CS 195-5: Introduction to Machine Learning. Topics discussed include Bayesian decision theory, supervised/unsupervised learning, mutual information, HMMs/MRFs, and graphical models.

 

Downloads: hw1, hw2, hw3, hw4, hw5, hw6, source code


Design and Analysis of Algorithms

This section contains my collected homework solutions for CS 157: Design and Analysis of Algorithms. Topics discussed include greedy algorithms, complexity and running time, randomized algorithms, and dynamic programming.

 

Downloads: hw1, hw2, hw3, hw4, hw5, hw6, hw7

 

Electrical Engineering

Probability and Random Processes

This section contains my homework solutions for EN 257: Applied Stochastic Processes. Topics discussed include random processes, spectral representations, Markov random fields, Kalman filtering, and detection and estimation theory.

 

Downloads: hw1, hw2, hw3, hw4, hw5, hw6, hw7, hw8


Matlab Decibel Meter

This tutorial presents the design of a sound level meter in Matlab. The Data Acquisition Toolbox is used to implement a real-time spectrum analyzer. The decibel meter is implemented in the frequency domain using Parseval's relation.

 

Downloads: tutorial, source code, original assignment


Digital Filter Design

Originally written as a solution set for a DSP course at Brown, this tutorial discusses the design of FIR filters. Three methods are covered: (1) the window method, (2) the frequency sampling method, and (3) Parks-McClellan equiripple design.

 

Downloads: tutorial, original assignment

 

Applied Mathematics

Partial Differential Equations

This section contains my collected homework solutions for EN 202: Mathematical Methods in Engineering and Physics II. Topics discussed include PDEs, ODEs, the calculus of variations, and probability.

 

Downloads: hw1, hw2, hw3, hw4, hw5


Numerical Solution of PDEs

This section contains my homework solutions for AM 255: Numerical Solution of Partial Differential Equations I. Topics include the analysis and implementation of finite difference methods for solving time-depend initial value problems.

 

Downloads: hw1, hw2, hw3, hw4, hw5, hw6, final


Differential Geometry in Mathematica

This Mathematica notebook can be used to evaluate the properties of a parametric surface (i.e., the covariant and contravariant basis vectors, the metric and curvature tensors, and the Christoffel symbols).

 

Downloads: notebook, pdf

 

Last Updated: July 20, 2009