The goal of this assignment is to create hybrid
images using the approach described in the SIGGRAPH 2006 paper
by Oliva, Torralba, and Schyns. Hybrid images are static images
that change in interpretation as a function of the viewing distance. The
basic idea is that high frequency tends to dominate perception when it is
available, but, at a distance, only the low frequency (smooth) part of the
signal can be seen. By blending the high frequency portion of one image
with the low-frequency portion of another, you get a hybrid image that
leads to different interpretations at different distances.
This project is intended to familiarize you with image filtering and frequency representations. Here, you will find two sample images and some starter code that can be used to load two images and align them. The alignment is important because it affects the perceptual grouping (read the paper for details).
First, you'll need to get a few pairs of images that you want to make into hybrid images. You can use the sample images for debugging, but you should use your own images in your results. Then, you will need to write code to low-pass filter one image, high-pass filter the second image, and add (or average) the two images. For a low-pass filter, Oliva et al. suggest using a standard 2D Gaussian filter. For a high-pass filter, they suggest using the impulse filter minus the Gaussian filter (which can be computed by subtracting the Gaussian-filtered image from the original). The cutoff-frequency of each filter should be chosen with some experimentation.
For your favorite result, you should also illustrate the process through frequency analysis. Show the log magnitude of the Fourier transform of the two input images, the filtered images, and the hybrid image. In Matlab, you can compute and display the 2D Fourier transform with: imagesc(log(abs(fftshift(fft2(gray_image)))))
Try creating a variety of types of hybrid images (change of
expression, morph between different objects, change over time, etc.). This
has several examples that may inspire you.
Try using color to enhance the effect. Does it work better
to use color for the high-frequency component, the low-frequency
component, or both? (5 pts)
Illustrate the process by implementing Gaussian and
Laplacian pyramids and displaying them for your favorite result. This
should look similar to Figure 7 in the Oliva et al. paper. (15 pts)
guidelines to deliver your files.
To turn in your assignment, you will need to provide me with a zipped file containing the following:
The core assignment is worth 130 points, as follows:
You can also earn up to 20 extra points for the
bells & whistles mentioned above (5 for experimenting with color; 15
pyramids) or suggest your own extensions (check with prof first).