Epitome Images

This was a class project. I implemented a Gibbs sampler version of Jojic and Frey's epitome scheme. The basic idea of finding the epitome of an image is to find a small image that best "summarizes" the features of the larger image(s). More precisely, we find a small image which has a high probability of containing many patches which are very similar to many patches in the larger image. The Gibbs sampler approach seems to work about as well as their EM technique, and is nice because you get more variety out of it (despite the slowness and convergence problems). Here are source, a couple of examples, the paper, and a movie showing convergence. Have fun.

Landscape Generation

A class project. I came up with a simple technique to generate height-field landscapes. "Plasma" fractals are a well-known technique used to generate height fields. In high school I came up with the idea of using Brownian motion to make a heightfield, which could then be smoothed to generate a realistic looking landscape. I find that this tends to create nicer features than the fractal approaches, which tend to be either very rough or very smooth. Here is the (potentially broken and very old) project (with source).

Wavelet Audio Compression

Wavelets are frequently used for image and video compression, but I haven't seen many references to wavelet audio compression (or at least there weren't many when I did this project). Instead of using the DCT to break down audio signals, I used wavelets, then implemented a really simple quantization scheme. Even without perceptual coding, it seemed to have as good or better performance than MP3 for low bit rates. Source and summary (samples are broken).