Template-based Sketch Recognition using Hidden Markov Models
MSc Thesis, UBC
Sketch recognition is the process by which the objects in a hand-drawn diagram can be recognized and identified. We provide a method to recognize objects in sketches by casting the problem in terms of searching for known 2D template shapes in the sketch.
CPSC320 - Intermediate Algorithm Design and Analysis
Sketch Matching and Classification
CS525 (Image Understanding)
The problem of being able to correctly and efficiently identify and classify an object in an image is an important one. In the case of sketches, several simple strokes can be used to define internal and external features of an object, which can then be used to find the shape and type of the object represented by the sketch. The focus of my work is to use sketches to perform a category level classification by extracting features from a sketch in the form of edges and comparing a given sketch to several templates to determine what type of object it represents.
Combining Color Filter Array Design with LCDs
CS514 (Computer Graphics: Rendering)
Digital cameras sample the color spectrum using an array of color filters
laid over a light sensitive sensor array (for example a charged couple device).
In order to display the image captured by these samples, they are first interpolated
according to the pattern of the original color filters and then resampled on the display device
according to the pattern of the display subpixels. One of the most commonly used displays
is the Liquid Crystal Display (LCD), where the subpixels are arranged in a rectangular striped pattern.In this paper we will introduce
new patterns both for the color filter arrays on cameras and the subpixel arrays on
the displays and determine if the quality of images resampled between the two can
be improved by making the patterns more similar. In particular we will focus on
using the Bayer pattern, and LCD subpixel arrangement.
Gaussian Process Regression for Character Animation
CS540 (Machine Learning)
The goal of this project is to use methods such
as Gaussian Process regression and Automatic Relevance
Determination (ARD) in order to find an
underlying predictor function for a set of high dimensional
data (based on character animation) mapped to
a two dimensional output space, which will be used
to make a simulated character walk.
Mesh editing and simplification using Laplacian coordinates
CS533D (Digital Geometry)
Mesh editing and simplification are both important processes that
can be applied to meshes and are useful for modeling as well as
manipulating the shape and appearance of meshes. The focus of my
work was to use a relative coordinate system over a mesh, as given
by determining its Laplacian coordinates, and develop a simple and
efficient framework under which both editing and simplification of
a mesh could be performed.
Bipedal Walking Controller
CS526 (Computer Animation)
Designed and implemented a bipedal walking controller using the Open Dynamics Engine (ODE)
Non-photorealistic Rendering Styles
Research Assistant at Dynamic Graphics Project lab under Professor Aaron Hertzmann, Summer 2004
Developed and implemented several artistic styles for non-photorealistic rendering including watercolor and oil paint
Coded my own Raytracer in C++ and OpenGL. Does reflections, refractions and hard shadows.

